<?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>64791</bug_id>
          
          <creation_ts>2011-07-19 04:19:46 -0700</creation_ts>
          <short_desc>MediaStream API: Update the tracklists to the latest spec</short_desc>
          <delta_ts>2011-07-20 07:55:22 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>56459</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>leandrogracia</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>439088</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-19 04:19:46 -0700</bug_when>
    <thetext>ExclusiveTrackList, MultipleTrackList and TrackList are now history and are replaced by MediaStreamTrackList / MediaStreamTrack.

http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439092</commentid>
    <comment_count>1</comment_count>
      <attachid>101300</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-19 04:38:05 -0700</bug_when>
    <thetext>Created attachment 101300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439093</commentid>
    <comment_count>2</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-19 04:40:03 -0700</bug_when>
    <thetext>Had to upload a manual patch again even though I explicitly deleted the old files first before created the new ones!?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439114</commentid>
    <comment_count>3</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-19 06:16:49 -0700</bug_when>
    <thetext>Doh, that&apos;s how git works (automatic rename detection)


(In reply to comment #2)
&gt; Had to upload a manual patch again even though I explicitly deleted the old files first before created the new ones!?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439153</commentid>
    <comment_count>4</comment_count>
      <attachid>101300</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-07-19 08:10:24 -0700</bug_when>
    <thetext>Comment on attachment 101300
Patch

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

LGTM with a few comments and previously checking if the old TrackList/ExclusiveTrackList/MultipleTrackList objects are not required by the implementers of the Media Elements.

&gt; Source/WebCore/dom/LocalMediaStream.h:50
&gt; +    virtual bool isLocalMediaStream() const { return true; }

I think this may be introducing a regression. The reason of why a boolean was passed to the MediaStream constructor instead of using a virtual method here is because this value may be required by methods triggered during destruction. Please check that it&apos;s not the case.

&gt; Source/WebCore/dom/MediaStreamTrack.cpp:28
&gt; +#if ENABLE(MEDIA_STREAM) || ENABLE(VIDEO_TRACK)

VIDEO_TRACK is not required anymore since the spec proposes a different kind of track lists for them now: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#audiotracklist
Because of this reason and since now the MediaStreamTracks are MediaStream API-specific, we should probably put the entire file inside a single ENABLE(MEDIA_STREAM).

&gt; Source/WebCore/dom/MediaStreamTrack.cpp:68
&gt; +#if ENABLE(MEDIA_STREAM)

Remove as commented before.

&gt; Source/WebCore/dom/MediaStreamTrack.h:28
&gt; +#if ENABLE(MEDIA_STREAM) || ENABLE(VIDEO_TRACK)

Same as before.

&gt; Source/WebCore/dom/MediaStreamTrack.h:63
&gt; +#endif // ENABLE(MEDIA_STREAM) || ENABLE(VIDEO_TRACK)

Remove VIDEO_TRACK also here in the comments.

&gt; Source/WebCore/dom/MediaStreamTrack.idl:28
&gt; +        Conditional=MEDIA_STREAM|VIDEO_TRACK,

VIDEO_TRACK not needed anymore.

&gt; Source/WebCore/dom/MediaStreamTrackList.h:46
&gt; +    void associateStream(const String&amp; label) { m_associatedStreamLabel = label; }

No problem here, but we should be careful about the implications of this track -&gt; media stream association when this forking-inheritance thing is introduced.

&gt; Source/WebCore/dom/MediaStreamTrackList.idl:29
&gt; +        Conditional=MEDIA_STREAM|VIDEO_TRACK,

VIDEO_TRACK not required anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439707</commentid>
    <comment_count>5</comment_count>
      <attachid>101300</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-20 03:31:41 -0700</bug_when>
    <thetext>Comment on attachment 101300
Patch

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

&gt;&gt; Source/WebCore/dom/LocalMediaStream.h:50
&gt;&gt; +    virtual bool isLocalMediaStream() const { return true; }
&gt; 
&gt; I think this may be introducing a regression. The reason of why a boolean was passed to the MediaStream constructor instead of using a virtual method here is because this value may be required by methods triggered during destruction. Please check that it&apos;s not the case.

Reintroduced.

&gt;&gt; Source/WebCore/dom/MediaStreamTrack.cpp:28
&gt;&gt; +#if ENABLE(MEDIA_STREAM) || ENABLE(VIDEO_TRACK)
&gt; 
&gt; VIDEO_TRACK is not required anymore since the spec proposes a different kind of track lists for them now: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#audiotracklist
&gt; Because of this reason and since now the MediaStreamTracks are MediaStream API-specific, we should probably put the entire file inside a single ENABLE(MEDIA_STREAM).

Done.

&gt;&gt; Source/WebCore/dom/MediaStreamTrack.cpp:68
&gt;&gt; +#if ENABLE(MEDIA_STREAM)
&gt; 
&gt; Remove as commented before.

Done.

&gt;&gt; Source/WebCore/dom/MediaStreamTrack.h:28
&gt;&gt; +#if ENABLE(MEDIA_STREAM) || ENABLE(VIDEO_TRACK)
&gt; 
&gt; Same as before.

Done.

&gt;&gt; Source/WebCore/dom/MediaStreamTrack.h:63
&gt;&gt; +#endif // ENABLE(MEDIA_STREAM) || ENABLE(VIDEO_TRACK)
&gt; 
&gt; Remove VIDEO_TRACK also here in the comments.

Done.

&gt;&gt; Source/WebCore/dom/MediaStreamTrack.idl:28
&gt;&gt; +        Conditional=MEDIA_STREAM|VIDEO_TRACK,
&gt; 
&gt; VIDEO_TRACK not needed anymore.

Done.

&gt;&gt; Source/WebCore/dom/MediaStreamTrackList.h:46
&gt;&gt; +    void associateStream(const String&amp; label) { m_associatedStreamLabel = label; }
&gt; 
&gt; No problem here, but we should be careful about the implications of this track -&gt; media stream association when this forking-inheritance thing is introduced.

Done.

&gt;&gt; Source/WebCore/dom/MediaStreamTrackList.idl:29
&gt;&gt; +        Conditional=MEDIA_STREAM|VIDEO_TRACK,
&gt; 
&gt; VIDEO_TRACK not required anymore.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439708</commentid>
    <comment_count>6</comment_count>
      <attachid>101445</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-20 03:32:06 -0700</bug_when>
    <thetext>Created attachment 101445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439715</commentid>
    <comment_count>7</comment_count>
      <attachid>101445</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-07-20 03:43:02 -0700</bug_when>
    <thetext>Comment on attachment 101445
Patch

Attachment 101445 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9201236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439719</commentid>
    <comment_count>8</comment_count>
      <attachid>101445</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-20 03:49:48 -0700</bug_when>
    <thetext>Comment on attachment 101445
Patch

Attachment 101445 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9191208</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439725</commentid>
    <comment_count>9</comment_count>
      <attachid>101445</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-07-20 04:00:28 -0700</bug_when>
    <thetext>Comment on attachment 101445
Patch

Attachment 101445 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9208180</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439744</commentid>
    <comment_count>10</comment_count>
      <attachid>101450</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-20 04:47:59 -0700</bug_when>
    <thetext>Created attachment 101450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439748</commentid>
    <comment_count>11</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-07-20 05:03:20 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=101450) [details]
&gt; Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439768</commentid>
    <comment_count>12</comment_count>
      <attachid>101450</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-07-20 06:29:33 -0700</bug_when>
    <thetext>Comment on attachment 101450
Patch

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

&gt; Source/WebCore/dom/MediaStreamTrackList.cpp:28
&gt; +#if ENABLE(MEDIA_STREAM) || ENABLE(VIDEO_TRACK)

Is ENABLE(VIDEO_TRACK) still necessary here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439779</commentid>
    <comment_count>13</comment_count>
      <attachid>101450</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-20 06:42:56 -0700</bug_when>
    <thetext>Comment on attachment 101450
Patch

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

&gt;&gt; Source/WebCore/dom/MediaStreamTrackList.cpp:28
&gt;&gt; +#if ENABLE(MEDIA_STREAM) || ENABLE(VIDEO_TRACK)
&gt; 
&gt; Is ENABLE(VIDEO_TRACK) still necessary here?

No, removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439781</commentid>
    <comment_count>14</comment_count>
      <attachid>101463</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-07-20 06:44:31 -0700</bug_when>
    <thetext>Created attachment 101463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439806</commentid>
    <comment_count>15</comment_count>
      <attachid>101463</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-20 07:55:16 -0700</bug_when>
    <thetext>Comment on attachment 101463
Patch

Clearing flags on attachment: 101463

Committed r91364: &lt;http://trac.webkit.org/changeset/91364&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439807</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-20 07:55:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101300</attachid>
            <date>2011-07-19 04:38:05 -0700</date>
            <delta_ts>2011-07-20 03:31:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>126015</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCA4M2QxZDQyLi45NTM0ZTFlIDEwMDY0NAotLS0gU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0xNTUsMTQgKzE1NSwxNCBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vRXJyb3JF
dmVudC5pZGwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAgICAgZG9tL0V2ZW50LmlkbAot
ICAgIGRvbS9FeGNsdXNpdmVUcmFja0xpc3QuaWRsCiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5p
ZGwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5pZGwKKyAgICBkb20vTWVkaWFTdHJlYW1UcmFjay5p
ZGwKKyAgICBkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsCiAgICAgZG9tL01lc3NhZ2VDaGFu
bmVsLmlkbAogICAgIGRvbS9NZXNzYWdlRXZlbnQuaWRsCiAgICAgZG9tL01lc3NhZ2VQb3J0Lmlk
bAogICAgIGRvbS9Nb3VzZUV2ZW50LmlkbAotICAgIGRvbS9NdWx0aXBsZVRyYWNrTGlzdC5pZGwK
ICAgICBkb20vTXV0YXRpb25FdmVudC5pZGwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbAogICAg
IGRvbS9Ob2RlRmlsdGVyLmlkbApAQCAtMTgyLDcgKzE4Miw2IEBAIFNFVChXZWJDb3JlX0lETF9G
SUxFUwogICAgIGRvbS9Ub3VjaEV2ZW50LmlkbAogICAgIGRvbS9Ub3VjaC5pZGwKICAgICBkb20v
VG91Y2hMaXN0LmlkbAotICAgIGRvbS9UcmFja0xpc3QuaWRsCiAgICAgZG9tL1RyZWVXYWxrZXIu
aWRsCiAgICAgZG9tL1VJRXZlbnQuaWRsCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50Lmlk
bApAQCAtNTQxLDE2ICs1NDAsMTYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9FeGNl
cHRpb25CYXNlLmNwcAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmNwcAogICAgIGRvbS9FeGNlcHRp
b25Db2RlUGxhY2Vob2xkZXIuY3BwCi0gICAgZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAKICAg
ICBkb20vSWNvblVSTC5jcHAKICAgICBkb20vS2V5Ym9hcmRFdmVudC5jcHAKKyAgICBkb20vTWVk
aWFTdHJlYW1UcmFjay5jcHAKKyAgICBkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwCiAgICAg
ZG9tL01lc3NhZ2VDaGFubmVsLmNwcAogICAgIGRvbS9NZXNzYWdlRXZlbnQuY3BwCiAgICAgZG9t
L01lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAKICAgICBkb20vTWVzc2FnZVBvcnQuY3BwCiAgICAgZG9t
L01vdXNlRXZlbnQuY3BwCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcAotICAgIGRvbS9N
dWx0aXBsZVRyYWNrTGlzdC5jcHAKICAgICBkb20vTXV0YXRpb25FdmVudC5jcHAKICAgICBkb20v
TmFtZWROb2RlTWFwLmNwcAogICAgIGRvbS9OYW1lTm9kZUxpc3QuY3BwCkBAIC01OTQsNyArNTkz
LDYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9Ub3VjaC5jcHAKICAgICBkb20vVG91
Y2hFdmVudC5jcHAKICAgICBkb20vVG91Y2hMaXN0LmNwcAotICAgIGRvbS9UcmFja0xpc3QuY3Bw
CiAgICAgZG9tL1RyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwCiAgICAgZG9tL1RyYXZlcnNhbC5j
cHAKICAgICBkb20vVHJlZVNjb3BlLmNwcApkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdkNDVlNS4uNjZiMzdhZCAxMDA2
NDQKLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTEtMDctMTkgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9t
bXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBVcGRhdGUgdGhlIHRy
YWNrbGlzdHMgdG8gdGhlIGxhdGVzdCBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NDc5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSB0ZXN0IGhhcm5lc3Mgd2lsbCBiZSBmb3J0aGNvbWluZyB2
ZXJ5IHNvb24gbm93LCBpbnRyb2R1Y2luZyB0ZXN0cyBmb3IgdGhpcy4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIENvZGVHZW5lcmF0b3JzLnByaToKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAg
ICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
ajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNFdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VjhET01XcmFwcGVyOjpjb252ZXJ0RXZlbnRUYXJnZXRUb1Y4T2JqZWN0KToKKyAgICAg
ICAgKiBkb20vRE9NQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5jcHA6
CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Lmg6CisgICAgICAgICogZG9tL0xvY2FsTWVkaWFT
dHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxNZWRpYVN0cmVhbTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06OkxvY2FsTWVkaWFTdHJlYW0pOgor
ICAgICAgICAoV2ViQ29yZTo6TG9jYWxNZWRpYVN0cmVhbTo6c3RyZWFtRW5kZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6TG9jYWxNZWRpYVN0cmVhbTo6c3RvcCk6CisgICAgICAgICogZG9tL0xvY2Fs
TWVkaWFTdHJlYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06OmlzTG9j
YWxNZWRpYVN0cmVhbSk6CisgICAgICAgICogZG9tL0xvY2FsTWVkaWFTdHJlYW0uaWRsOgorICAg
ICAgICAqIGRvbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpNZWRpYVN0cmVhbSk6
CisgICAgICAgICogZG9tL01lZGlhU3RyZWFtLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbTo6dHJhY2tzKToKKyAgICAgICAgKiBkb20vTWVkaWFTdHJlYW0uaWRsOgorICAgICAgICAq
IGRvbS9NZWRpYVN0cmVhbVRyYWNrLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9FeGNsdXNpdmVUcmFja0xpc3QuY3BwLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1U
cmFjazo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlh
U3RyZWFtVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6fk1lZGlh
U3RyZWFtVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6a2luZCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpsYWJlbCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjplbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2s6OnNldEVuYWJsZWQpOgorICAgICAgICAqIGRvbS9NZWRpYVN0cmVhbVRy
YWNrLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vTXVsdGlwbGVUcmFja0xpc3Qu
aC4KKyAgICAgICAgKiBkb20vTWVkaWFTdHJlYW1UcmFjay5pZGw6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJhY2tMaXN0LmlkbC4KKyAgICAgICAgKiBkb20vTWVk
aWFTdHJlYW1UcmFja0xpc3QuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9tL0V4
Y2x1c2l2ZVRyYWNrTGlzdC5oLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xp
c3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrTGlzdDo6TWVk
aWFTdHJlYW1UcmFja0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xp
c3Q6On5NZWRpYVN0cmVhbVRyYWNrTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bVRyYWNrTGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tM
aXN0OjppdGVtKToKKyAgICAgICAgKiBkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuaWRsLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1UcmFja0xpc3Q6OmFzc29jaWF0ZVN0cmVhbSk6CisgICAgICAgICogZG9t
L01lZGlhU3RyZWFtVHJhY2tMaXN0LmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9NdWx0aXBsZVRyYWNrTGlzdC5pZGwuCisgICAgICAgICogZG9tL011bHRpcGxlVHJhY2tMaXN0
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vVHJhY2tMaXN0LmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBkb20vVHJhY2tMaXN0Lmg6IFJlbW92ZWQuCisgICAgICAgICogcGFnZS9NZWRpYVN0
cmVhbUNsaWVudC5oOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c2V0TWVkaWFTdHJlYW1U
cmFja0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Db250cm9sbGVyOjpz
dHJlYW1HZW5lcmF0ZWQpOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmg6
CisgICAgICAgICogcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c2V0TWVkaWFTdHJlYW1UcmFj
a0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6
OnN0cmVhbUdlbmVyYXRlZCk6CisgICAgICAgICogcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6Ok1l
ZGlhU3RyZWFtQ2xpZW50OjpNZWRpYVN0cmVhbUNsaWVudCk6CisKIDIwMTEtMDctMTkgIFJhcGhh
ZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0g
QWNjb3VudCBmb3IgdGhlIGludmFsaWQgcG9pbnRlciBjYXNlIGluIFdlYkNvcmU6OnNjcmVlblJl
Y3QoKQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaSBTb3VyY2Uv
V2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKaW5kZXggMWI3ODI5YS4uYjkxMmZlYSAxMDA2NDQK
LS0tIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQorKysgU291cmNlL1dlYkNvcmUv
Q29kZUdlbmVyYXRvcnMucHJpCkBAIC0xMzksMTcgKzEzOSwxNyBAQCBJRExfQklORElOR1MgKz0g
XAogICAgIGRvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAogIyAgICBkb20vRXZlbnRMaXN0ZW5lci5p
ZGwgXAogIyAgICBkb20vRXZlbnRUYXJnZXQuaWRsIFwKLSAgICBkb20vRXhjbHVzaXZlVHJhY2tM
aXN0LmlkbCBcCiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogICAgIGRvbS9LZXlib2Fy
ZEV2ZW50LmlkbCBcCiAgICAgZG9tL0xvY2FsTWVkaWFTdHJlYW0uaWRsIFwKICAgICBkb20vTWVk
aWFTdHJlYW0uaWRsIFwKICAgICBkb20vTWVkaWFTdHJlYW1MaXN0LmlkbCBcCisgICAgZG9tL01l
ZGlhU3RyZWFtVHJhY2suaWRsIFwKKyAgICBkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsIFwK
ICAgICBkb20vTW91c2VFdmVudC5pZGwgXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5pZGwgXAog
ICAgIGRvbS9NZXNzYWdlRXZlbnQuaWRsIFwKICAgICBkb20vTWVzc2FnZVBvcnQuaWRsIFwKLSAg
ICBkb20vTXVsdGlwbGVUcmFja0xpc3QuaWRsIFwKICAgICBkb20vTXV0YXRpb25FdmVudC5pZGwg
XAogICAgIGRvbS9OYW1lZE5vZGVNYXAuaWRsIFwKICAgICBkb20vTm9kZS5pZGwgXApAQCAtMTcx
LDcgKzE3MSw2IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZG9tL1RvdWNoLmlkbCBcCiAgICAg
ZG9tL1RvdWNoRXZlbnQuaWRsIFwKICAgICBkb20vVG91Y2hMaXN0LmlkbCBcCi0gICAgZG9tL1Ry
YWNrTGlzdC5pZGwgXAogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbCBcCiAgICAgZG9tL1VJRXZlbnQu
aWRsIFwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCmluZGV4IDY4MDI2MWYuLjNmZWVkZWYgMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApA
QCAtMTE0LDcgKzExNCw2IEBACiAjaW5jbHVkZSAiSlNFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNF
dmVudEV4Y2VwdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNFdmVudFNvdXJjZS5jcHAiCi0jaW5jbHVk
ZSAiSlNFeGNsdXNpdmVUcmFja0xpc3QuY3BwIgogI2luY2x1ZGUgIkpTRmlsZS5jcHAiCiAjaW5j
bHVkZSAiSlNGaWxlQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRmlsZUVudHJ5LmNwcCIKQEAg
LTIzMyw2ICsyMzIsOCBAQAogI2luY2x1ZGUgIkpTTWVkaWFMaXN0LmNwcCIKICNpbmNsdWRlICJK
U01lZGlhU3RyZWFtLmNwcCIKICNpbmNsdWRlICJKU01lZGlhU3RyZWFtTGlzdC5jcHAiCisjaW5j
bHVkZSAiSlNNZWRpYVN0cmVhbVRyYWNrLmNwcCIKKyNpbmNsdWRlICJKU01lZGlhU3RyZWFtVHJh
Y2tMaXN0LmNwcCIKICNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0LmNwcCIKICNpbmNsdWRlICJK
U01lbW9yeUluZm8uY3BwIgogI2luY2x1ZGUgIkpTTWVzc2FnZUNoYW5uZWwuY3BwIgpAQCAtMjQx
LDcgKzI0Miw2IEBACiAjaW5jbHVkZSAiSlNNZXRhZGF0YS5jcHAiCiAjaW5jbHVkZSAiSlNNZXRh
ZGF0YUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU01vdXNlRXZlbnQuY3BwIgotI2luY2x1ZGUg
IkpTTXVsdGlwbGVUcmFja0xpc3QuY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVudC5jcHAi
CiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXAuY3BwIgogI2luY2x1ZGUgIkpTTmF2aWdhdG9yLmNw
cCIKQEAgLTQ0Myw3ICs0NDMsNiBAQAogI2luY2x1ZGUgIkpTVG91Y2guY3BwIgogI2luY2x1ZGUg
IkpTVG91Y2hFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaExpc3QuY3BwIgotI2luY2x1ZGUg
IkpTVHJhY2tMaXN0LmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXIuY3BwIgogI2luY2x1ZGUg
IkpTVWludDE2QXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTVWludDMyQXJyYXkuY3BwIgpkaWZmIC0t
Z2l0IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQppbmRleCBhZDBmOTk2Li5lM2RhMGNmIDEwMDY0NAotLS0gU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMTg3LDcgKzE4Nyw2IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEV2ZW50
TGlzdGVuZXIgXAogICAgIEV2ZW50U291cmNlIFwKICAgICBFdmVudFRhcmdldCBcCi0gICAgRXhj
bHVzaXZlVHJhY2tMaXN0IFwKICAgICBGaWxlIFwKICAgICBGaWxlQ2FsbGJhY2sgXAogICAgIEZp
bGVFbnRyeSBcCkBAIC0zMDMsNiArMzAyLDggQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lciBcCiAgICAgTWVkaWFTdHJlYW0gXAogICAgIE1lZGlhU3RyZWFtTGlz
dCBcCisgICAgTWVkaWFTdHJlYW1UcmFjayBcCisgICAgTWVkaWFTdHJlYW1UcmFja0xpc3QgXAog
ICAgIE1lbW9yeUluZm8gXAogICAgIE1lc3NhZ2VDaGFubmVsIFwKICAgICBNZXNzYWdlRXZlbnQg
XApAQCAtMzEwLDcgKzMxMSw2IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE1ldGFkYXRhIFwKICAg
ICBNZXRhZGF0YUNhbGxiYWNrIFwKICAgICBNb3VzZUV2ZW50IFwKLSAgICBNdWx0aXBsZVRyYWNr
TGlzdCBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTmFtZWROb2RlTWFwIFwKICAgICBOYXZp
Z2F0b3IgXApAQCAtNTMwLDcgKzUzMCw2IEBAIERPTV9DTEFTU0VTID0gXAogICAgIFRvdWNoIFwK
ICAgICBUb3VjaEV2ZW50IFwKICAgICBUb3VjaExpc3QgXAotICAgIFRyYWNrTGlzdCBcCiAgICAg
VHJlZVdhbGtlciBcCiAgICAgVUlFdmVudCBcCiAgICAgVmFsaWRpdHlTdGF0ZSBcCmRpZmYgLS1n
aXQgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDQzMzFhZGEuLmIzNzRlNDggMTAwNjQ0Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0xNjAsOCArMTYwLDYgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0V2ZW50U291cmNlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50
U291cmNlLmggXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFeGNsdXNpdmVUcmFja0xpc3Qu
Y3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXhjbHVzaXZlVHJhY2tMaXN0LmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0ZpbGVFcnJvci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlRXJy
b3IuaCBcCkBAIC0zNTksNiArMzU3LDEwIEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtLmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNNZWRpYVN0cmVhbUxpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTWVkaWFTdHJlYW1MaXN0LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0
cmVhbVRyYWNrLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtVHJh
Y2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNw
cCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtVHJhY2tMaXN0LmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTWVtb3J5SW5mby5jcHAgXApAQCAtMzcxLDggKzM3Myw2IEBAIHdlYmNvcmVfYnVpbHRf
c291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lc3NhZ2VQb3J0LmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb3VzZUV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuaCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011
bHRpcGxlVHJhY2tMaXN0LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011bHRpcGxl
VHJhY2tMaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011dGF0aW9uRXZlbnQuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hbWVkTm9kZU1hcC5jcHAgXApAQCAtNDg3LDggKzQ4Nyw2IEBA
IHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Rv
dWNoLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaExpc3QuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hMaXN0LmggXAotCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNUcmFja0xpc3QuY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJhY2tMaXN0
LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1RyZWVXYWxrZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1VJRXZlbnQuY3BwIFwKQEAgLTExNzYsOCArMTE3NCw2IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Rv
bS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL0V4Y2x1
c2l2ZVRyYWNrTGlzdC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xp
c3QuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbi5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVt
ZW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5o
IFwKQEAgLTExOTQsNiArMTE5MCwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NZWRpYVN0cmVhbUNvbnRhaW5lci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
TWVkaWFTdHJlYW1MaXN0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtTGlz
dC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5jcHAgXAorCVNvdXJj
ZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrLmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9N
ZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVh
bVRyYWNrTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUNoYW5uZWwuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUNoYW5uZWwuaCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL01lc3NhZ2VFdmVudC5jcHAgXApAQCAtMTIwNiw4ICsxMjA2LDYgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTW91
c2VSZWxhdGVkRXZlbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0
LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011
dGF0aW9uRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAgXApA
QCAtMTMwMCw4ICsxMjk4LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vVGV4dEV2ZW50SW5wdXRUeXBlLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaExpc3QuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9t
L1RyYWNrTGlzdC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuaCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9UcmF2ZXJz
YWwuY3BwIFwKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDY2NDk2NGIuLjI5Y2FmN2EgMTAwNjQ0Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTE2MSwxNyArMTE2MSwxNyBAQAogICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5p
ZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcsCiAgICAgICAgICAgICAn
ZG9tL0V2ZW50VGFyZ2V0LmlkbCcsCi0gICAgICAgICAgICAnZG9tL0V4Y2x1c2l2ZVRyYWNrTGlz
dC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vS2V5Ym9hcmRFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Mb2NhbE1lZGlh
U3RyZWFtLmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lZGlhU3RyZWFtLmlkbCcsCiAgICAgICAg
ICAgICAnZG9tL01lZGlhU3RyZWFtTGlzdC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NZWRpYVN0
cmVhbVRyYWNrLmlkbCcsCisgICAgICAgICAgICAnZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmlkbCcsCiAgICAgICAgICAgICAn
ZG9tL01lc3NhZ2VFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlUG9ydC5pZGwn
LAogICAgICAgICAgICAgJ2RvbS9Nb3VzZUV2ZW50LmlkbCcsCi0gICAgICAgICAgICAnZG9tL011
bHRpcGxlVHJhY2tMaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vTmFtZWROb2RlTWFwLmlkbCcsCiAgICAgICAgICAgICAnZG9t
L05vZGUuaWRsJywKQEAgLTExOTQsNyArMTE5NCw2IEBACiAgICAgICAgICAgICAnZG9tL1RvdWNo
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RvdWNoRXZlbnQuaWRsJywKICAgICAgICAgICAgICdk
b20vVG91Y2hMaXN0LmlkbCcsCi0gICAgICAgICAgICAnZG9tL1RyYWNrTGlzdC5pZGwnLAogICAg
ICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQu
aWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKQEAgLTI1
MDYsOCArMjUwNSw2IEBACiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuaCcsCiAgICAg
ICAgICAgICAnZG9tL0V4Y2VwdGlvbkNvZGUuY3BwJywKICAgICAgICAgICAgICdkb20vRXhjZXB0
aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCi0gICAgICAgICAgICAnZG9tL0V4Y2x1c2l2ZVRyYWNr
TGlzdC5jcHAnLAotICAgICAgICAgICAgJ2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuaCcsCiAgICAg
ICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5oJywKICAgICAgICAgICAgICdkb20vSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCcsCiAgICAgICAgICAgICAnZG9tL0lj
b25VUkwuY3BwJywKQEAgLTI1MjAsNiArMjUxNywxMCBAQAogICAgICAgICAgICAgJ2RvbS9NZWRp
YVN0cmVhbUNvbnRhaW5lci5oJywKICAgICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1MaXN0LmNw
cCcsCiAgICAgICAgICAgICAnZG9tL01lZGlhU3RyZWFtTGlzdC5oJywKKyAgICAgICAgICAgICdk
b20vTWVkaWFTdHJlYW1UcmFjay5jcHAnLAorICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbVRy
YWNrLmgnLAorICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAnLAorICAg
ICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5oJywKICAgICAgICAgICAgICdkb20v
TWVzc2FnZUNoYW5uZWwuY3BwJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZUNoYW5uZWwuaCcs
CiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VFdmVudC5jcHAnLApAQCAtMjUyOCw4ICsyNTI5LDYg
QEAKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnRDaGFubmVsLmNwcCcsCiAgICAgICAgICAg
ICAnZG9tL01vdXNlRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vTW91c2VSZWxhdGVkRXZl
bnQuY3BwJywKLSAgICAgICAgICAgICdkb20vTXVsdGlwbGVUcmFja0xpc3QuY3BwJywKLSAgICAg
ICAgICAgICdkb20vTXVsdGlwbGVUcmFja0xpc3QuaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0
aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5oJywKICAgICAg
ICAgICAgICdkb20vTmFtZU5vZGVMaXN0LmNwcCcsCkBAIC0yNjE3LDggKzI2MTYsNiBAQAogICAg
ICAgICAgICAgJ2RvbS9Ub3VjaEV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9Ub3VjaExpc3Qu
Y3BwJywKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmgnLAotICAgICAgICAgICAgJ2RvbS9U
cmFja0xpc3QuY3BwJywKLSAgICAgICAgICAgICdkb20vVHJhY2tMaXN0LmgnLAogICAgICAgICAg
ICAgJ2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCcsCiAgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybVNv
dXJjZUxpYnhzbHQuY3BwJywKICAgICAgICAgICAgICdkb20vVHJhbnNmb3JtU291cmNlUXQuY3Bw
JywKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwppbmRleCBlYTY2NjgzLi43ZDAxYWFlIDEwMDY0NAotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8KKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC00OTgsMTYg
KzQ5OCwxNiBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5jcHAgXAogICAg
IGRvbS9FeGNlcHRpb25Db2RlLmNwcCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRl
ci5jcHAgXAotICAgIGRvbS9FeGNsdXNpdmVUcmFja0xpc3QuY3BwIFwKICAgICBkb20vSWNvblVS
TC5jcHAgXAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmNwcCBcCisgICAgZG9tL01lZGlhU3RyZWFt
VHJhY2suY3BwIFwKKyAgICBkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIFwKICAgICBkb20v
TWVzc2FnZUNoYW5uZWwuY3BwIFwKICAgICBkb20vTWVzc2FnZUV2ZW50LmNwcCBcCiAgICAgZG9t
L01lc3NhZ2VQb3J0LmNwcCBcCiAgICAgZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAgXAogICAg
IGRvbS9Nb3VzZUV2ZW50LmNwcCBcCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCBcCi0g
ICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmNwcCBcCiAgICAgZG9tL011dGF0aW9uRXZlbnQuY3Bw
IFwKICAgICBkb20vTmFtZWROb2RlTWFwLmNwcCBcCiAgICAgZG9tL05hbWVOb2RlTGlzdC5jcHAg
XApAQCAtNTUyLDcgKzU1Miw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Ub3VjaC5jcHAgXAog
ICAgIGRvbS9Ub3VjaEV2ZW50LmNwcCBcCiAgICAgZG9tL1RvdWNoTGlzdC5jcHAgXAotICAgIGRv
bS9UcmFja0xpc3QuY3BwIFwKICAgICBkb20vVHJhdmVyc2FsLmNwcCBcCiAgICAgZG9tL1RyZWVT
Y29wZS5jcHAgXAogICAgIGRvbS9UcmVlV2Fsa2VyLmNwcCBcCkBAIC0xNDg3LDE2ICsxNDg2LDE2
IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5oIFwKICAgICBkb20vRXhjZXB0
aW9uQmFzZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oIFwKLSAgICBkb20vRXhjbHVzaXZl
VHJhY2tMaXN0LmggXAogICAgIGRvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCiAg
ICAgZG9tL0tleWJvYXJkRXZlbnQuaCBcCisgICAgZG9tL01lZGlhU3RyZWFtVHJhY2suaCBcCisg
ICAgZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmggXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5o
IFwKICAgICBkb20vTWVzc2FnZUV2ZW50LmggXAogICAgIGRvbS9NZXNzYWdlUG9ydENoYW5uZWwu
aCBcCiAgICAgZG9tL01lc3NhZ2VQb3J0LmggXAogICAgIGRvbS9Nb3VzZUV2ZW50LmggXAogICAg
IGRvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oIFwKLSAgICBkb20vTXVsdGlwbGVUcmFja0xpc3QuaCBc
CiAgICAgZG9tL011dGF0aW9uRXZlbnQuaCBcCiAgICAgZG9tL05hbWVkTm9kZU1hcC5oIFwKICAg
ICBkb20vTmFtZU5vZGVMaXN0LmggXApAQCAtMTUzNyw3ICsxNTM2LDYgQEAgSEVBREVSUyArPSBc
CiAgICAgZG9tL1RvdWNoLmggXAogICAgIGRvbS9Ub3VjaEV2ZW50LmggXAogICAgIGRvbS9Ub3Vj
aExpc3QuaCBcCi0gICAgZG9tL1RyYWNrTGlzdC5oIFwKICAgICBkb20vVHJhbnNmb3JtU291cmNl
LmggXAogICAgIGRvbS9UcmF2ZXJzYWwuaCBcCiAgICAgZG9tL1RyZWVEZXB0aExpbWl0LmggXApk
aWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGM1NDViOWYu
LmNkZTdhOGUgMTAwNzU1Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
QEAgLTQ4NzgsNjIgKzQ4NzgsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCIKLQkJCQk+Ci0JCQkJPEZp
bGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZp
bGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0J
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0J
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0V4Y2x1c2l2ZVRy
YWNrTGlzdC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRmlsZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMTEwOTQs
NyArMTEwMzgsNyBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTTWVtb3J5SW5mby5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVkaWFTdHJl
YW1UcmFjay5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiIKQEAgLTExMTQ2LDExICsxMTA5MCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lbW9y
eUluZm8uaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZWRpYVN0cmVhbVRyYWNrLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdlQ2hh
bm5lbC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuY3Bw
IgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIi
CkBAIC0xMTIwMiwxMSArMTExNDYsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdlQ2hhbm5lbC5o
IgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmgiCiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdlRXZlbnQu
Y3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lbW9yeUluZm8uY3BwIgogCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC0xMTI1OCwxMSAr
MTEyMDIsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdlRXZlbnQuaCIKKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNNZW1vcnlJbmZvLmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdlUG9ydC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
TWVzc2FnZUNoYW5uZWwuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCkBAIC0xMTMxNCwxMSArMTEyNTgsMTEgQEAKIAkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNNZXNzYWdlUG9ydC5oIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lc3NhZ2VDaGFubmVsLmgi
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXRh
ZGF0YS5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50LmNwcCIKIAkJCQk+
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtMTEz
NzAsMTEgKzExMzE0LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuaCIKKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNNZXNzYWdlRXZlbnQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhQ2FsbGJhY2suY3BwIgorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU01lc3NhZ2VQb3J0LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
CiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtMTE0MjYsMTEgKzExMzcwLDExIEBACiAJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTTWV0YWRhdGFDYWxsYmFjay5oIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lc3Nh
Z2VQb3J0LmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNNb3VzZUV2ZW50LmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXRhZGF0YS5jcHAi
CiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIK
QEAgLTExNDgyLDExICsxMTQyNiw2NyBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01vdXNlRXZlbnQuaCIKKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXRhZGF0YS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGFDYWxsYmFjay5jcHAiCisJCQkJPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXRh
ZGF0YUNhbGxiYWNrLmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
TW91c2VFdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKQEAgLTExNTM4LDcgKzExNTM4LDcgQEAKIAkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNdWx0
aXBsZVRyYWNrTGlzdC5oIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01vdXNlRXZlbnQuaCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQpAQCAtMjE5MDIsNjIgKzIxOTAyLDYgQEAKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1RyYWNrTGlzdC5j
cHAiCi0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
LQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9v
bAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4K
LQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0i
RGVidWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgot
CQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgot
CQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNUcmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU1RyZWVXYWxrZXIuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KQEAgLTQ1NTEwLDcgKzQ1NDU0LDcgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAiCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCIKIAkJCQk+
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtNDU1
NjIsNyArNDU1MDYsMTUgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFeGNlcHRpb25Db2RlUGxhY2Vob2xk
ZXIuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRl
ci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cSGFzaENoYW5nZUV2ZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxJY29uVVJMLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1
cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtNDU2MTQsMTEgKzQ1NTY2LDE1IEBA
CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxkb21cSWNvblVSTC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCIKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGRvbVxJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
S2V5Ym9hcmRFdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1NjcwLDE1ICs0NTYyNiwxMSBAQAogCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXEV4Y2x1c2l2ZVRyYWNrTGlzdC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cSGFzaENoYW5nZUV2ZW50LmgiCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxkb21cS2V5Ym9hcmRFdmVudC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cSWNvblVSTC5jcHAiCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxkb21cTG9jYWxNZWRpYVN0cmVhbS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1NzMwLDE1ICs0NTY4MiwxNSBAQAog
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXEljb25VUkwuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxMb2Nh
bE1lZGlhU3RyZWFtLmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGRvbVxJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIgor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1hcHBlZEF0dHJpYnV0ZUVudHJ5LmgiCiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxLZXlib2FyZEV2
ZW50LmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0cmVhbS5jcHAiCiAJCQkJ
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1
NzkwLDExICs0NTc0MiwxNSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEtleWJvYXJkRXZlbnQuaCIKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0cmVhbS5oIgogCQkJCT4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTG9jYWxNZWRpYVN0cmVhbS5jcHAi
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW1Db250YWluZXIuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3Ry
ZWFtTGlzdC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiIKQEAgLTQ1ODQ2LDE1ICs0NTgwMiwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXExv
Y2FsTWVkaWFTdHJlYW0uaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXE1hcHBlZEF0dHJpYnV0ZUVudHJ5LmgiCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxkb21cTWVkaWFTdHJlYW1MaXN0LmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0cmVhbS5jcHAiCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxkb21cTWVkaWFTdHJlYW1UcmFjay5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1OTA2LDE1ICs0NTg1OCwxMSBA
QAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cTWVkaWFTdHJlYW1UcmFjay5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW1Db250YWluZXIuaCIKLQkJCQk+Ci0JCQk8
L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtTGlz
dC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW1UcmFja0xpc3QuY3Bw
IgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIi
CkBAIC00NTk2Niw3ICs0NTkxNCw3IEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW1MaXN0
LmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW1UcmFja0xpc3QuaCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQpAQCAtNDYzMDYsNjIgKzQ2MjU0LDYgQEAKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE11bHRpcGxl
VHJhY2tMaXN0LmNwcCIKLQkJCQk+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJ
CQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8
VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+
Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJ
CQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0J
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJ
CQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXE11bHRpcGxlVHJhY2tMaXN0LmgiCi0JCQkJPgotCQkJPC9G
aWxlPgotCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNdXRhdGlvbkV2ZW50LmNw
cCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC00ODY1NCw2MiArNDg1NDYsNiBA
QAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
VHJhY2tMaXN0LmNwcCIKLQkJCQk+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJ
CQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8
VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+
Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJ
CQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0J
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJ
CQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXFRyYWNrTGlzdC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJ
CTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cVHJhbnNmb3JtU291cmNlLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMDk1Mjc1OC4uY2RmOWE2NyAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTQ5LDYgKzExNDksMTQgQEAKIAkJ
NDlDN0I5RkMxMDQyRDM2NTAwMDlENDQ3IC8qIEdyYXBoaWNzQ29udGV4dDNELmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlGQjEwNDJEMzY1MDAw
OUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUM3QkE3OTEwNDJFRkFFMDAwOUQ0NDcgLyogT3BlbkdM
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5QzdCQTc4MTA0MkVGQUUwMDA5RDQ0NyAvKiBPcGVuR0wuZnJhbWV3b3JrICovOyB9Owog
CQk0OUM3QkE4RDEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QkE4QzEwNDJGNUIx
MDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5jcHAgKi87IH07CisJCTQ5QzlGMzIzMTNENTc0
RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDOUYzMUQxM0Q1NzRGODAwNTI2MDBBIC8qIE1l
ZGlhU3RyZWFtVHJhY2tMaXN0LmggKi87IH07CisJCTQ5QzlGMzI0MTNENTc0RjkwMDUyNjAwQSAv
KiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUM5RjMxRTEzRDU3NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1U
cmFja0xpc3QuY3BwICovOyB9OworCQk0OUM5RjMyNjEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFT
dHJlYW1UcmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDlDOUYzMjAxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaCAqLzsgfTsK
KwkJNDlDOUYzMjcxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDOUYzMjExM0Q1NzRG
OTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suY3BwICovOyB9OworCQk0OUM5RjQ4RTEzRDU3
RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzlGNDhBMTNENTdEMzIwMDUyNjAwQSAvKiBK
U01lZGlhU3RyZWFtVHJhY2suY3BwICovOyB9OworCQk0OUM5RjQ4RjEzRDU3RDMyMDA1MjYwMEEg
LyogSlNNZWRpYVN0cmVhbVRyYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OUM5RjQ4QjEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRy
YWNrLmggKi87IH07CisJCTQ5QzlGNDkwMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFt
VHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5QzlGNDhDMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNw
cCAqLzsgfTsKKwkJNDlDOUY0OTExM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFj
a0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
QzlGNDhEMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmggKi87IH07
CiAJCTQ5RDVEQzJCMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUQ1
REMyNzBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uY3BwICov
OyB9OwogCQk0OUQ1REMyQzBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVy
YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
RDVEQzI4MEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5RDVEQzJE
MEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUQ1REMyOTBGNDIz
QTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwICovOyB9OwpA
QCAtNDAxNywxOCArNDAyNSw2IEBACiAJCUFCRERGRTc5MEE1QzZFNzAwMEEzRTExRCAvKiBSZW5k
ZXJNZW51TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBQkRERkU3MzBBNUM2RTZGMDBBM0UxMUQgLyogUmVuZGVyTWVudUxpc3QuY3BwICovOyB9
OwogCQlBQkRERkU3QTBBNUM2RTcwMDBBM0UxMUQgLyogUmVuZGVyTWVudUxpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCRERGRTc0MEE1QzZFNzAw
MEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5oICovOyB9OwogCQlBRERGMUFENzEyNTdDRDlBMDAw
M0E3NTkgLyogUmVuZGVyU1ZHUGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQURERjFBRDUxMjU3Q0Q5QTAwMDNBNzU5IC8qIFJlbmRlclNWR1BhdGgu
aCAqLzsgfTsKLQkJQjEyRDIzM0UxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlz
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJE
MjMzNTEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCAqLzsgfTsKLQkJ
QjEyRDIzM0YxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIzMzYxMzU2MDI4MjAw
MkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5oICovOyB9OwotCQlCMTJEMjM0MTEzNTYwMjgy
MDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIzMzgxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRp
cGxlVHJhY2tMaXN0LmNwcCAqLzsgfTsKLQkJQjEyRDIzNDIxMzU2MDI4MjAwMkEyOEQ0IC8qIE11
bHRpcGxlVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMTJEMjMzOTEzNTYwMjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuaCAq
LzsgfTsKLQkJQjEyRDIzNDQxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjMzQjEzNTYwMjgy
MDAyQTI4RDQgLyogVHJhY2tMaXN0LmNwcCAqLzsgfTsKLQkJQjEyRDIzNDUxMzU2MDI4MjAwMkEy
OEQ0IC8qIFRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjEyRDIzM0MxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5oICovOyB9Owot
CQlCMTJEMjM2NTEzNTYwMzMwMDAyQTI4RDQgLyogSlNUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIzNjMxMzU2MDMyRjAwMkEy
OEQ0IC8qIEpTVHJhY2tMaXN0LmNwcCAqLzsgfTsKLQkJQjEyRDIzNjYxMzU2MDMzMDAwMkEyOEQ0
IC8qIEpTVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMTJEMjM2NDEzNTYwMzMwMDAyQTI4RDQgLyogSlNUcmFja0xpc3QuaCAqLzsgfTsK
LQkJQjEyRDIzNjkxMzU2MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzY3MTM1
NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQy
MzZBMTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIzNjgxMzU2MDMzRjAwMkEy
OEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0LmggKi87IH07Ci0JCUIxMkQyMzZEMTM1NjAzNEQw
MDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzZCMTM1NjAzNEQwMDJBMjhENCAvKiBKU011
bHRpcGxlVHJhY2tMaXN0LmNwcCAqLzsgfTsKLQkJQjEyRDIzNkUxMzU2MDM0RDAwMkEyOEQ0IC8q
IEpTTXVsdGlwbGVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxMkQyMzZDMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tM
aXN0LmggKi87IH07CiAJCUIxNDM1M0Q0MTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUNv
bnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjE0MzUzRDAxMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtQ29udGFpbmVyLmggKi87IH07
CiAJCUIxNDM1M0Q1MTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3QuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjE0MzUzRDExMzhFQThF
RDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5jcHAgKi87IH07CiAJCUIxNDM1M0Q2MTM4RUE4
RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0QyMTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0
cmVhbUxpc3QuaCAqLzsgfTsKQEAgLTc2NjUsNiArNzY2MSwxNiBAQAogCQk0OUM3QjlGQjEwNDJE
MzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR3JhcGhpY3NDb250ZXh0M0QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDlDN0JBNzgxMDQyRUZBRTAwMDlENDQ3IC8qIE9wZW5HTC5mcmFtZXdvcmsgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1l
d29yazsgbmFtZSA9IE9wZW5HTC5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9Owog
CQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RvY3VtZW50Q3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlDOUYzMUMxM0Q1NzRGODAwNTI2MDBBIC8qIE1l
ZGlhU3RyZWFtVHJhY2tMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYVN0cmVh
bVRyYWNrTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGMzFEMTNE
NTc0RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0OUM5RjMxRTEzRDU3NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFj
a0xpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJl
YW1UcmFja0xpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUM5RjMxRjEz
RDU3NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTWVkaWFTdHJlYW1UcmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQ5QzlGMzIwMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU3RyZWFtVHJhY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDlDOUYzMjExM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFt
VHJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJl
YW1UcmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGNDhBMTNENTdE
MzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYVN0cmVhbVRyYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDlDOUY0OEIxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1U
cmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhU3RyZWFtVHJh
Y2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlDOUY0OEMxM0Q1N0QzMjAwNTI2
MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ5QzlGNDhEMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFt
VHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFTdHJl
YW1UcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlENURDMjcwRjQy
M0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNw
cDsgcGF0aCA9IHRyYW5zZm9ybXMvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUQ1REMyODBGNDIzQTczMDA4RjIwRkQgLyogTWF0
cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaDsgcGF0aCA9IHRyYW5zZm9ybXMvTWF0cml4
M0RUcmFuc2Zvcm1PcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlE
NURDMjkwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBlcnNwZWN0aXZlVHJhbnNm
b3JtT3BlcmF0aW9uLmNwcDsgcGF0aCA9IHRyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1P
cGVyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA0NjEsMjEgKzEw
NDY3LDYgQEAKIAkJQUJEREZFNzQwQTVDNkU3MDAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJNZW51TGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBRERGMUFENDEyNTdDRDlBMDAwM0E3NTkgLyogUmVu
ZGVyU1ZHUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJTVkdQYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQURERjFBRDUxMjU3
Q0Q5QTAwMDNBNzU5IC8qIFJlbmRlclNWR1BhdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVuZGVyU1ZHUGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlC
MTJEMjMzNTEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzM2MTM1NjAyODIwMDJBMjhENCAvKiBF
eGNsdXNpdmVUcmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhj
bHVzaXZlVHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzM3
MTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEV4Y2x1c2l2ZVRyYWNrTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUIxMkQyMzM4MTM1NjAyODIwMDJBMjhENCAvKiBNdWx0aXBsZVRyYWNrTGlzdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNdWx0aXBsZVRyYWNrTGlzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzM5MTM1NjAyODIwMDJBMjhE
NCAvKiBNdWx0aXBsZVRyYWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNdWx0aXBsZVRyYWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJE
MjMzQTEzNTYwMjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE11bHRpcGxlVHJhY2tMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQjEyRDIzM0IxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFja0xpc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzQzEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYWNrTGlzdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzRDEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tM
aXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUcmFja0xpc3QuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjM2MzEzNTYwMzJGMDAyQTI4RDQgLyogSlNUcmFja0xp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmFja0xpc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjM2NDEzNTYwMzMwMDAyQTI4
RDQgLyogSlNUcmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNU
cmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNjcxMzU2MDMz
RjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXhjbHVzaXZlVHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNjgxMzU2MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZl
VHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXhjbHVzaXZl
VHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzZCMTM1NjAz
NEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTTXVsdGlwbGVUcmFja0xpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlCMTJEMjM2QzEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRy
YWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU011bHRpcGxlVHJh
Y2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxNDM1M0QwMTM4RUE4RUQw
MEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUNvbnRhaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZWRpYVN0cmVhbUNvbnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCMTQzNTNEMTEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFtTGlzdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxNDM1M0QyMTM4RUE4RUQwMEQ1MzI3NiAv
KiBNZWRpYVN0cmVhbUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVk
aWFTdHJlYW1MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzEzOSw4ICsx
NzEzMCw2IEBACiAJCQkJNjVERjMyMkUwOUQxRERCQzAwMEJFMzI1IC8qIEpTRW50aXR5LmggKi8s
CiAJCQkJOTNGOUI3NzIwQkE1RkREQzAwODU0MDY0IC8qIEpTRW50aXR5UmVmZXJlbmNlLmNwcCAq
LywKIAkJCQk5M0Y5Qjc3MzBCQTVGRERDMDA4NTQwNjQgLyogSlNFbnRpdHlSZWZlcmVuY2UuaCAq
LywKLQkJCQlCMTJEMjM2NzEzNTYwMzNGMDAyQTI4RDQgLyogSlNFeGNsdXNpdmVUcmFja0xpc3Qu
Y3BwICovLAotCQkJCUIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNr
TGlzdC5oICovLAogCQkJCUZFODBEQTVGMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9u
LmNwcCAqLywKIAkJCQlGRTgwREE2MDBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5o
ICovLAogCQkJCUZFODBEQTYxMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb3Bvc2l0aW9uLmNwcCAq
LywKQEAgLTE3MTUxLDggKzE3MTQwLDEwIEBACiAJCQkJQjFFNTQ1RDgxMzQ2MkIwQjAwOTJBNTQ1
IC8qIEpTTWVkaWFTdHJlYW0uaCAqLywKIAkJCQlCMTQzNTNGNjEzOEVBOTVCMDBENTMyNzYgLyog
SlNNZWRpYVN0cmVhbUxpc3QuY3BwICovLAogCQkJCUIxNDM1M0Y3MTM4RUE5NUIwMEQ1MzI3NiAv
KiBKU01lZGlhU3RyZWFtTGlzdC5oICovLAotCQkJCUIxMkQyMzZCMTM1NjAzNEQwMDJBMjhENCAv
KiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCAqLywKLQkJCQlCMTJEMjM2QzEzNTYwMzREMDAyQTI4
RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5oICovLAorCQkJCTQ5QzlGNDhBMTNENTdEMzIwMDUy
NjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suY3BwICovLAorCQkJCTQ5QzlGNDhCMTNENTdEMzIw
MDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suaCAqLywKKwkJCQk0OUM5RjQ4QzEzRDU3RDMy
MDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgKi8sCisJCQkJNDlDOUY0OEQx
M0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuaCAqLywKIAkJCQlCQ0Q5
QzJCQzBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuY3BwICovLAogCQkJCUJDRDlD
MkJEMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5oICovLAogCQkJCTE0REMwRDM1
MDlGRUQwNzMwMDdCMDIzNSAvKiBKU05vZGUuY3BwICovLApAQCAtMTcxODEsOCArMTcxNzIsNiBA
QAogCQkJCTQ5QTg1Qjc2MTM4RDU4RUUwMEVDQjdCMyAvKiBKU1N0cmVhbUV2ZW50LmggKi8sCiAJ
CQkJNjVERjMxRUYwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5jcHAgKi8sCiAJCQkJNjVERjMx
RjAwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5oICovLAotCQkJCUIxMkQyMzYzMTM1NjAzMkYw
MDJBMjhENCAvKiBKU1RyYWNrTGlzdC5jcHAgKi8sCi0JCQkJQjEyRDIzNjQxMzU2MDMzMDAwMkEy
OEQ0IC8qIEpTVHJhY2tMaXN0LmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IENvcmU7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk2NDgsOSArMTk2MzcsNiBAQAogCQkJCTkzNUZCQ0Yx
MDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRpb25Db2RlLmggKi8sCiAJCQkJQTdDQUNEQjAxM0NF
ODc1QjAwQkJCRTNGIC8qIEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgKi8sCiAJCQkJQTc0
QkI3NkExM0JEQTg2MzAwRkY3QkYwIC8qIEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oICovLAot
CQkJCUIxMkQyMzM1MTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuY3BwICov
LAotCQkJCUIxMkQyMzM2MTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaCAq
LywKLQkJCQlCMTJEMjMzNzEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0Lmlk
bCAqLywKIAkJCQlBODUzMTIzQzExRDA0NzFCMDBENEQwNzcgLyogRnJhZ21lbnRTY3JpcHRpbmdQ
ZXJtaXNzaW9uLmggKi8sCiAJCQkJMjQ0MkJCRjgxMTk0QzlEMzAwRDQ5NDY5IC8qIEhhc2hDaGFu
Z2VFdmVudC5oICovLAogCQkJCTg0ODJCNzQ0MTE5OEMzMkUwMEJGQjAwNSAvKiBIYXNoQ2hhbmdl
RXZlbnQuaWRsICovLApAQCAtMTk2NzEsNiArMTk2NTcsMTIgQEAKIAkJCQlCMTQzNTNEMTEzOEVB
OEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0LmNwcCAqLywKIAkJCQlCMTQzNTNEMjEzOEVB
OEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0LmggKi8sCiAJCQkJQjE0MzUzRDMxMzhFQThF
RDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5pZGwgKi8sCisJCQkJNDlDOUYzMUYxM0Q1NzRG
ODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaWRsICovLAorCQkJCTQ5QzlGMzIwMTNENTc0
RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmggKi8sCisJCQkJNDlDOUYzMjExM0Q1NzRG
OTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suY3BwICovLAorCQkJCTQ5QzlGMzFDMTNENTc0
RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5pZGwgKi8sCisJCQkJNDlDOUYzMUQx
M0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0LmggKi8sCisJCQkJNDlDOUYz
MUUxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCAqLywKIAkJCQlF
MUFERUNDRDBFNzZBRDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuY3BwICovLAogCQkJCUUx
QURFQ0NDMEU3NkFEOEIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hhbm5lbC5oICovLAogCQkJCUUxQURF
Q0QwMEU3NkFEQUIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hhbm5lbC5pZGwgKi8sCkBAIC0xOTY4Nyw5
ICsxOTY3OSw2IEBACiAJCQkJMTQxQjk0RTUwOUVDNDIyMzAwMEU5NDEzIC8qIE1vdXNlRXZlbnQu
aWRsICovLAogCQkJCTg1MDMxQjMxMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRFdmVu
dC5jcHAgKi8sCiAJCQkJODUwMzFCMzIwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2
ZW50LmggKi8sCi0JCQkJQjEyRDIzMzgxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tM
aXN0LmNwcCAqLywKLQkJCQlCMTJEMjMzOTEzNTYwMjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFj
a0xpc3QuaCAqLywKLQkJCQlCMTJEMjMzQTEzNTYwMjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFj
a0xpc3QuaWRsICovLAogCQkJCTg1MDMxQjMzMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQk4NTAzMUIzNDBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVu
dC5oICovLAogCQkJCTkzRUVDMUYzMDlDMjg3NzcwMEM1MTVEMSAvKiBNdXRhdGlvbkV2ZW50Lmlk
bCAqLywKQEAgLTE5ODAzLDkgKzE5NzkyLDYgQEAKIAkJCQk5MzNBMTQyRDBCN0QxODg2MDBBNTNG
RkQgLyogVGV4dEV2ZW50LmggKi8sCiAJCQkJOTMzQTE0MkMwQjdEMTg4NjAwQTUzRkZEIC8qIFRl
eHRFdmVudC5pZGwgKi8sCiAJCQkJQTc3QjQxOUYxMkU2NzVBOTAwNTQzNDNEIC8qIFRleHRFdmVu
dElucHV0VHlwZS5oICovLAotCQkJCUIxMkQyMzNCMTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xp
c3QuY3BwICovLAotCQkJCUIxMkQyMzNDMTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuaCAq
LywKLQkJCQlCMTJEMjMzRDEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0LmlkbCAqLywKIAkJ
CQk1REIxQkM2ODEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8sCiAJCQkJ
NURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwICov
LAogCQkJCTg1NEZFNzJDMEEyMjk3QkUwMDU4RDdBRCAvKiBUcmF2ZXJzYWwuY3BwICovLApAQCAt
MjExNDUsNyArMjExMzEsNiBAQAogCQkJCTkzNUZCQ0YyMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNl
cHRpb25Db2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzRCQjc2QjEzQkRBODYzMDBGRjdCRjAg
LyogRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDhBRkRB
NTBBRjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0aW9uSGFuZGxlcnMuaCBpbiBIZWFkZXJzICovLAot
CQkJCUIxMkQyMzNGMTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZFNjdEMkE5MTI4MEU4QkQwMDg3NThGNyAvKiBFeHRlbnNpb25zM0Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCTZFNjdEMkE3MTI4MEU4QTQwMDg3NThGNyAvKiBFeHRlbnNp
b25zM0RPcGVuR0wuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NUU4Qjg5MEUxREUyRDYwMDdGMjQ4
MSAvKiBGRUJsZW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTIxNjU4LDcgKzIxNjQzLDYgQEAKIAkJ
CQlFMEZFRjM3MkIzN0M1M0VBQzFDMUZCRUUgLyogSlNFdmVudFNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM2MDkwMUYwRTkxQjhFQzAwMEM2OEI1IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJh
c2UuaCBpbiBIZWFkZXJzICovLAotCQkJCUIxMkQyMzZBMTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4
Y2x1c2l2ZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMEYwMTUwRTBBMTg5NTAw
RkQwNEUzIC8qIEpTRmlsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODkzQzQ3QjgxMjM4QTA5OTAw
MkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3ODVCMTEy
MkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuaCBpbiBIZWFkZXJzICovLApAQCAtMjE3OTQs
NyArMjE3NzgsNiBAQAogCQkJCTg5ODc4NUI3MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRh
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3ODVCOTEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRh
ZGF0YUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODY2MjlEMTA5REEyQjQ4MDA5NjMz
QTUgLyogSlNNb3VzZUV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCMTJEMjM2RTEzNTYwMzRE
MDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVE
RjMxRkMwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNEOUMyQzEwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOUQyNDdGODBENzU3RTM0MDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuaCBp
biBIZWFkZXJzICovLApAQCAtMjIwMDIsNyArMjE5ODUsNiBAQAogCQkJCTkzM0ExNEI5MEI3RDFE
NTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRjQ1RjYw
RTY4N0I1QzAwMUMxMjg3IC8qIEpTVGV4dE1ldHJpY3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0
NDYxNDFCMENENjgyNjkwMEZBREE3NSAvKiBKU1RpbWVSYW5nZXMuaCBpbiBIZWFkZXJzICovLAot
CQkJCUIxMkQyMzY2MTM1NjAzMzAwMDJBMjhENCAvKiBKU1RyYWNrTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUE3NTBENUQwQTkwREVFMTAwMEZGMjE1IC8qIEpTVHJlZVdhbGtlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg2NjI5Q0YwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDlFRUNGMEQxMDUwNzBDNDAwMDk5RkFCIC8qIEpTVWludDE2QXJy
YXkuaCBpbiBIZWFkZXJzICovLApAQCAtMjIxNTcsNyArMjIxMzksNiBAQAogCQkJCTkzNUM0NzYz
MDlBQzRDRTYwMEE2QUFCNCAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4NTAzMUI0ODBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VSZWxhdGVkRXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5REZDMDk5RTY0OTIwMDU2RTU4MSAvKiBNb3Zl
U2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQjEyRDIzNDIxMzU2MDI4MjAw
MkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMUFENEU2
MzEzQTEyQTBCMDA4NDZCMjcgLyogTXV0YWJsZVRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MTg3MjIzMDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lZE5vZGVNYXAuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjI5MzcsNyArMjI5MTgsNiBAQAogCQkJCTkzMDVCMjREMDk4RjFCNkIw
MEMyODg1NSAvKiBUaW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjEzQjAwQ0Q2MzMxMDAw
RkFEQTc1IC8qIFRpbWVSYW5nZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMkFFMEVGQUM5
MDYwMDlEMENBRiAvKiBUaW1pbmdGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQjEyRDIz
NDUxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlF
OTExQzQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0OUU5MTFDRTBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFEMDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNm
b3JtT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzEwNCw2ICsyMzA4NCwxMCBAQAog
CQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDk0NUJGRDQxM0NGODA5MDAwQ0MzQjM4IC8qIFRyYW5zZm9ybVN0YXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTY5QjBGMzEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVzdGluZ1RyYW5z
Zm9ybVN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUM5RjMyMzEzRDU3NEY5MDA1MjYwMEEg
LyogTWVkaWFTdHJlYW1UcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QzlGMzI2MTNE
NTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
OUM5RjQ4RjEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0OUM5RjQ5MTEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNr
TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNDA2Nyw3ICsyNDA1MSw2IEBACiAJCQkJOTM4MzFC
NTcwRDA4N0Q2MDAwRTVDOTg0IC8qIEV4Y2VwdGlvbkNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTdDQUNEQjExM0NFODc1QzAwQkJCRTNGIC8qIEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDhBRkRBNjBBRjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0
aW9uSGFuZGxlcnMubW0gaW4gU291cmNlcyAqLywKLQkJCQlCMTJEMjMzRTEzNTYwMjgyMDAyQTI4
RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFNjdEMkE2
MTI4MEU4QTQwMDg3NThGNyAvKiBFeHRlbnNpb25zM0RPcGVuR0wuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTc1RThCODgwRTFERTJENjAwN0YyNDgxIC8qIEZFQmxlbmQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTc1RThCOEEwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29sb3JNYXRyaXguY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yNDU3NSw3ICsyNDU1OCw2IEBACiAJCQkJQkMyNzVCODExMUM1RDJC
NDAwQzkyMDZDIC8qIEpTRXZlbnRTb3VyY2VDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM2MDkwMjAwRTkxQjhFQzAwMEM2OEI1IC8qIEpTRXZlbnRUYXJnZXQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQlCMTJEMjM2OTEzNTYwMzNGMDAyQTI4RDQgLyogSlNFeGNsdXNp
dmVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwMEYwMTQwRTBBMTg5NTAwRkQw
NEUzIC8qIEpTRmlsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTNDNDdCNzEyMzhBMDk5MDAy
QjNEODYgLyogSlNGaWxlQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1QjAx
MjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZUVudHJ5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ3
NDUsNyArMjQ3MjcsNiBAQAogCQkJCTg5ODc4NUI2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFk
YXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5ODc4NUI4MTIyQ0EyQTcwMDNBQUJEQSAvKiBK
U01ldGFkYXRhQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDIwOURBMkI0
ODAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCMTJEMjM2
RDEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk2NURGMzFGQjA5RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlvbkV2ZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDRDlDMkMwMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9k
ZU1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzI2MzBDMTdBQTY3MDA1QzkwQTIgLyog
SlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNDk3NCw3ICsyNDk1
NSw2IEBACiAJCQkJOTMzQTE0QjgwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDRUY0NUY1MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRy
aWNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxNDFBMENENjgyNjkwMEZBREE3NSAvKiBK
U1RpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjEyRDIzNjUxMzU2MDMzMDAwMkEy
OEQ0IC8qIEpTVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNzUwRDVDMEE5MERF
RTEwMDBGRjIxNSAvKiBKU1RyZWVXYWxrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2QkI3
OTQwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTVHJlZVdhbGtlckN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBODY2MjlEMDA5REEyQjQ4MDA5NjMzQTUgLyogSlNVSUV2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMjUxMzQsNyArMjUxMTQsNiBAQAogCQkJCTkzRUIzNTVGMDlFMzdGRDYwMEY0
Mzc5OSAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg1MDMxQjQ3MEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRFdmVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5MzMwOURGQjA5OUU2NDkyMDA1NkU1ODEgLyogTW92ZVNlbGVjdGlv
bkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjEyRDIzNDExMzU2MDI4MjAwMkEyOEQ0
IC8qIE11bHRpcGxlVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIxQUQ0RTYyMTNB
MTJBMEIwMDg0NkIyNyAvKiBNdXRhYmxlVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTg1MDMxQjQ5MEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDRjM0QTM3MTFBMjMxQ0QwMEM3MTgwNCAvKiBOYW1lZE5vZGVNYXAuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yNTczOCw3ICsyNTcxNyw2IEBACiAJCQkJNzU1M0NGRTkxMDhGNDcz
RjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5MzMwOUVBNDA5OUVCNzhDMDA1NkU1ODEgLyogVGltZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTQ0NjEzQUYwQ0Q2MzMxMDAwRkFEQTc1IC8qIFRpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJQjEyRDIzNDQxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0OUU5MTFDMzBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25N
YXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0QkM0MEQxMkFFREQ5RTAwNzQzQkQyIC8q
IFRyYW5zZm9ybWF0aW9uTWF0cml4Q0EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjI3NTM1NTgw
QjA1MzgxNDAwMkNFNjRGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4Q0cuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yNTg3NSw2ICsyNTg1MywxMCBAQAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTQ1QkZEMzEzQ0Y4MDkwMDBD
QzNCMzggLyogVHJhbnNmb3JtU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk2OUIwRjIx
M0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk0OUM5RjMyNDEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDlDOUYzMjcxM0Q1NzRGOTAwNTI2MDBBIC8qIE1l
ZGlhU3RyZWFtVHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDlDOUY0OEUxM0Q1N0QzMjAw
NTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0OUM5
RjQ5MDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFy
Z2V0LmNwcCBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcAppbmRl
eCBlODE2M2UyLi4yZjNmNjFiIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNFdmVudFRhcmdldC5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRU
YXJnZXQuY3BwCkBAIC0xMDUsMTIgKzEwNSw2IEBACiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNL
KQotI2luY2x1ZGUgIkV4Y2x1c2l2ZVRyYWNrTGlzdC5oIgotI2luY2x1ZGUgIk11bHRpcGxlVHJh
Y2tMaXN0LmgiCi0jaW5jbHVkZSAiVHJhY2tMaXN0LmgiCi0jZW5kaWYKLQogdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjA4LDE3ICsyMDIsNiBAQCBKU1Zh
bHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBFdmVudFRhcmdldCogdGFyZwogICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmpl
Y3QsIHN0cmVhbSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJM
RShWSURFT19UUkFDSykKLSAgICBpZiAoTXVsdGlwbGVUcmFja0xpc3QqIG11bHRpcGxlVHJhY2tM
aXN0ID0gdGFyZ2V0LT50b011bHRpcGxlVHJhY2tMaXN0KCkpCi0gICAgICAgIHJldHVybiB0b0pT
KGV4ZWMsIGdsb2JhbE9iamVjdCwgbXVsdGlwbGVUcmFja0xpc3QpOwotCi0gICAgaWYgKEV4Y2x1
c2l2ZVRyYWNrTGlzdCogZXhjbHVzaXZlVHJhY2tMaXN0ID0gdGFyZ2V0LT50b0V4Y2x1c2l2ZVRy
YWNrTGlzdCgpKQotICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIGV4Y2x1
c2l2ZVRyYWNrTGlzdCk7Ci0KLSAgICBpZiAoVHJhY2tMaXN0KiB0cmFja0xpc3QgPSB0YXJnZXQt
PnRvVHJhY2tMaXN0KCkpCi0gICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwg
dHJhY2tMaXN0KTsKLSNlbmRpZgotCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0
dXJuIGpzTnVsbCgpOwogfQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV3JhcHBlci5jcHAgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNw
cAppbmRleCA0NmNmYmVkLi4wMzRkNTQ3IDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XcmFwcGVyLmNwcAorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhE
T01XcmFwcGVyLmNwcApAQCAtNDcsNyArNDcsNiBAQAogI2luY2x1ZGUgIlY4RXZlbnRMaXN0ZW5l
ci5oIgogI2luY2x1ZGUgIlY4RXZlbnRMaXN0ZW5lckxpc3QuaCIKICNpbmNsdWRlICJWOEV2ZW50
U291cmNlLmgiCi0jaW5jbHVkZSAiVjhFeGNsdXNpdmVUcmFja0xpc3QuaCIKICNpbmNsdWRlICJW
OEZpbGVSZWFkZXIuaCIKICNpbmNsdWRlICJWOEZpbGVXcml0ZXIuaCIKICNpbmNsdWRlICJWOEhU
TUxDb2xsZWN0aW9uLmgiCkBAIC02MSw3ICs2MCw2IEBACiAjaW5jbHVkZSAiVjhMb2NhdGlvbi5o
IgogI2luY2x1ZGUgIlY4TWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJWOE1lc3NhZ2VDaGFubmVs
LmgiCi0jaW5jbHVkZSAiVjhNdWx0aXBsZVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIlY4TmFtZWRO
b2RlTWFwLmgiCiAjaW5jbHVkZSAiVjhOb2RlLmgiCiAjaW5jbHVkZSAiVjhOb2RlRmlsdGVyQ29u
ZGl0aW9uLmgiCkBAIC03MSw3ICs2OSw2IEBACiAjaW5jbHVkZSAiVjhTaGFyZWRXb3JrZXIuaCIK
ICNpbmNsdWRlICJWOFNoYXJlZFdvcmtlckNvbnRleHQuaCIKICNpbmNsdWRlICJWOFN0eWxlU2hl
ZXQuaCIKLSNpbmNsdWRlICJWOFRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIlY4V2ViU29ja2V0Lmgi
CiAjaW5jbHVkZSAiVjhXb3JrZXIuaCIKICNpbmNsdWRlICJWOFdvcmtlckNvbnRleHQuaCIKQEAg
LTQ1OSwxNyArNDU2LDYgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV3JhcHBlcjo6Y29u
dmVydEV2ZW50VGFyZ2V0VG9WOE9iamVjdChFdmVudFRhcmdldCogdGEKICAgICAgICAgcmV0dXJu
IHRvVjgoc3RyZWFtKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5B
QkxFKFZJREVPX1RSQUNLKQotICAgIGlmIChNdWx0aXBsZVRyYWNrTGlzdCogbXVsdGlwbGVUcmFj
a0xpc3QgPSB0YXJnZXQtPnRvTXVsdGlwbGVUcmFja0xpc3QoKSkKLSAgICAgICAgcmV0dXJuIHRv
VjgobXVsdGlwbGVUcmFja0xpc3QpOwotCi0gICAgaWYgKEV4Y2x1c2l2ZVRyYWNrTGlzdCogZXhj
bHVzaXZlVHJhY2tMaXN0ID0gdGFyZ2V0LT50b0V4Y2x1c2l2ZVRyYWNrTGlzdCgpKQotICAgICAg
ICByZXR1cm4gdG9WOChleGNsdXNpdmVUcmFja0xpc3QpOwotCi0gICAgaWYgKFRyYWNrTGlzdCog
dHJhY2tMaXN0ID0gdGFyZ2V0LT50b1RyYWNrTGlzdCgpKQotICAgICAgICByZXR1cm4gdG9WOCh0
cmFja0xpc3QpOwotI2VuZGlmCi0KICAgICBBU1NFUlQoMCk7CiAgICAgcmV0dXJuIG5vdEhhbmRs
ZWRCeUludGVyY2VwdG9yKCk7CiB9CmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL0RPTUFs
bEluT25lLmNwcCBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IDljYjA5
OGUuLmYyOTM5ODkgMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3Bw
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCkBAIC03NiwxOCArNzYsMTgg
QEAKICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIgotI2luY2x1ZGUg
IkV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAiCiAjaW5jbHVkZSAiSWNvblVSTC5jcHAiCiAjaW5jbHVk
ZSAiS2V5Ym9hcmRFdmVudC5jcHAiCiAjaW5jbHVkZSAiTG9jYWxNZWRpYVN0cmVhbS5jcHAiCiAj
aW5jbHVkZSAiTWVkaWFTdHJlYW0uY3BwIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suY3Bw
IgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCIKICNpbmNsdWRlICJNZXNzYWdl
Q2hhbm5lbC5jcHAiCiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmNwcCIKICNpbmNsdWRlICJNZXNz
YWdlUG9ydC5jcHAiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnRDaGFubmVsLmNwcCIKICNpbmNsdWRl
ICJNb3VzZUV2ZW50LmNwcCIKICNpbmNsdWRlICJNb3VzZVJlbGF0ZWRFdmVudC5jcHAiCi0jaW5j
bHVkZSAiTXVsdGlwbGVUcmFja0xpc3QuY3BwIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQuY3Bw
IgogI2luY2x1ZGUgIk5hbWVOb2RlTGlzdC5jcHAiCiAjaW5jbHVkZSAiTm9kZUZpbHRlci5jcHAi
CkBAIC0xMjksNyArMTI5LDYgQEAKICNpbmNsdWRlICJUb3VjaC5jcHAiCiAjaW5jbHVkZSAiVG91
Y2hFdmVudC5jcHAiCiAjaW5jbHVkZSAiVG91Y2hMaXN0LmNwcCIKLSNpbmNsdWRlICJUcmFja0xp
c3QuY3BwIgogI2luY2x1ZGUgIlRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwIgogI2luY2x1ZGUg
IlRyYXZlcnNhbC5jcHAiCiAjaW5jbHVkZSAiVHJlZVNjb3BlLmNwcCIKZGlmZiAtLWdpdCBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldC5jcHAKaW5kZXggMTVmMzgyMS4uYTI4YmRiMSAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldC5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5j
cHAKQEAgLTIxNywyMyArMjE3LDYgQEAgTG9jYWxNZWRpYVN0cmVhbSogRXZlbnRUYXJnZXQ6OnRv
TG9jYWxNZWRpYVN0cmVhbSgpCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
IHx8IEVOQUJMRShWSURFT19UUkFDSykKLVRyYWNrTGlzdCogRXZlbnRUYXJnZXQ6OnRvVHJhY2tM
aXN0KCkKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotTXVsdGlwbGVUcmFja0xpc3QqIEV2ZW50VGFy
Z2V0Ojp0b011bHRpcGxlVHJhY2tMaXN0KCkKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotRXhjbHVz
aXZlVHJhY2tMaXN0KiBFdmVudFRhcmdldDo6dG9FeGNsdXNpdmVUcmFja0xpc3QoKQotewotICAg
IHJldHVybiAwOwotfQotI2VuZGlmCi0KIGJvb2wgRXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlzdGVu
ZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4gbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSkKIHsKICAgICBFdmVudFRhcmdldERhdGEqIGQg
PSBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaCBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBhZTJh
NjRlLi5iY2M3NThjIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC00Nyw3ICs0Nyw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBFdmVudDsKICAgICBjbGFzcyBFdmVudExpc3Rl
bmVyOwogICAgIGNsYXNzIEV2ZW50U291cmNlOwotICAgIGNsYXNzIEV4Y2x1c2l2ZVRyYWNrTGlz
dDsKICAgICBjbGFzcyBGaWxlUmVhZGVyOwogICAgIGNsYXNzIEZpbGVXcml0ZXI7CiAgICAgY2xh
c3MgSURCRGF0YWJhc2U7CkBAIC01OCwxNCArNTcsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIExvY2FsTWVkaWFTdHJlYW07CiAgICAgY2xhc3MgTWVkaWFTdHJlYW07CiAgICAg
Y2xhc3MgTWVzc2FnZVBvcnQ7Ci0gICAgY2xhc3MgTXVsdGlwbGVUcmFja0xpc3Q7CiAgICAgY2xh
c3MgTm9kZTsKICAgICBjbGFzcyBOb3RpZmljYXRpb247CiAgICAgY2xhc3MgU1ZHRWxlbWVudElu
c3RhbmNlOwogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgU2hh
cmVkV29ya2VyOwogICAgIGNsYXNzIFNoYXJlZFdvcmtlckNvbnRleHQ7Ci0gICAgY2xhc3MgVHJh
Y2tMaXN0OwogICAgIGNsYXNzIFdlYlNvY2tldDsKICAgICBjbGFzcyBXb3JrZXI7CiAgICAgY2xh
c3MgWE1MSHR0cFJlcXVlc3Q7CkBAIC0xNTcsMTIgKzE1NCw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCBMb2NhbE1lZGlhU3RyZWFtKiB0b0xvY2FsTWVkaWFTdHJlYW0o
KTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RS
QUNLKQotICAgICAgICB2aXJ0dWFsIFRyYWNrTGlzdCogdG9UcmFja0xpc3QoKTsKLSAgICAgICAg
dmlydHVhbCBNdWx0aXBsZVRyYWNrTGlzdCogdG9NdWx0aXBsZVRyYWNrTGlzdCgpOwotICAgICAg
ICB2aXJ0dWFsIEV4Y2x1c2l2ZVRyYWNrTGlzdCogdG9FeGNsdXNpdmVUcmFja0xpc3QoKTsKLSNl
bmRpZgotCiAgICAgICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpIGNvbnN0ID0gMDsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgYWRkRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVu
dExpc3RlbmVyPiwgYm9vbCB1c2VDYXB0dXJlKTsKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9k
b20vRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJh
Y2tMaXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjk2ZDIyOC4uMDAwMDAw
MAotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw4OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0jaW5jbHVkZSAiRXhjbHVzaXZlVHJhY2tMaXN0LmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0KLSNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzUmVmUHRyPEV4
Y2x1c2l2ZVRyYWNrTGlzdD4gRXhjbHVzaXZlVHJhY2tMaXN0OjpjcmVhdGUoY29uc3QgVHJhY2tW
ZWN0b3ImIHRyYWNrcywgbG9uZyBzZWxlY3RlZEluZGV4KQotewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgRXhjbHVzaXZlVHJhY2tMaXN0KHRyYWNrcywgc2VsZWN0ZWRJbmRleCkpOwotfQotCi1F
eGNsdXNpdmVUcmFja0xpc3Q6OkV4Y2x1c2l2ZVRyYWNrTGlzdChjb25zdCBUcmFja1ZlY3RvciYg
dHJhY2tzLCBsb25nIHNlbGVjdGVkSW5kZXgpCi0gICAgOiBUcmFja0xpc3QodHJhY2tzKQotICAg
ICwgbV9zZWxlY3RlZEluZGV4KHNlbGVjdGVkSW5kZXgpCi17Ci0gICAgQVNTRVJUKG1fc2VsZWN0
ZWRJbmRleCA+PSBOb1NlbGVjdGlvbiAmJiBtX3NlbGVjdGVkSW5kZXggPCBzdGF0aWNfY2FzdDxs
b25nPihsZW5ndGgoKSkpOwotfQotCi1FeGNsdXNpdmVUcmFja0xpc3Q6On5FeGNsdXNpdmVUcmFj
a0xpc3QoKQotewotfQotCi12b2lkIEV4Y2x1c2l2ZVRyYWNrTGlzdDo6Y2xlYXIoKQotewotICAg
IG1fc2VsZWN0ZWRJbmRleCA9IE5vU2VsZWN0aW9uOwotICAgIFRyYWNrTGlzdDo6Y2xlYXIoKTsK
LX0KLQotdm9pZCBFeGNsdXNpdmVUcmFja0xpc3Q6OnNlbGVjdChsb25nIGluZGV4LCBFeGNlcHRp
b25Db2RlJiBlYykKLXsKLSAgICBpZiAoIWNoZWNrSW5kZXgoaW5kZXgsIGVjLCBOb1NlbGVjdGlv
bikpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fc2VsZWN0ZWRJbmRleCA9IGluZGV4OwotCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBpZiAobWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIoKSkKLSAgICAgICAgbWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+c2VsZWN0VmlkZW9U
cmFjayhhc3NvY2lhdGVkU3RyZWFtTGFiZWwoKSwgaW5kZXgpOwotI2VuZGlmCi0KLSAgICBwb3N0
Q2hhbmdlRXZlbnQoKTsKLX0KLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi12b2lkIEV4Y2x1
c2l2ZVRyYWNrTGlzdDo6dHJhY2tGYWlsZWQodW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICBp
ZiAobV9zZWxlY3RlZEluZGV4ID09IHN0YXRpY19jYXN0PGxvbmc+KGluZGV4KSkKLSAgICAgICAg
bV9zZWxlY3RlZEluZGV4ID0gTm9TZWxlY3Rpb247Ci0KLSAgICBUcmFja0xpc3Q6OnRyYWNrRmFp
bGVkKGluZGV4KTsKLX0KLSNlbmRpZgotCi1FeGNsdXNpdmVUcmFja0xpc3QqIEV4Y2x1c2l2ZVRy
YWNrTGlzdDo6dG9FeGNsdXNpdmVUcmFja0xpc3QoKQotewotICAgIHJldHVybiB0aGlzOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFN
KSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL0V4
Y2x1c2l2ZVRyYWNrTGlzdC5oIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3Qu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWMzN2QxZS4uMDAwMDAwMAotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5oCisrKyAvZGV2L251bGwKQEAgLTEs
NjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0g
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBFeGNsdXNpdmVUcmFja0xpc3RfaAot
I2RlZmluZSBFeGNsdXNpdmVUcmFja0xpc3RfaAotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkg
fHwgRU5BQkxFKFZJREVPX1RSQUNLKQotCi0jaW5jbHVkZSAiVHJhY2tMaXN0LmgiCi0jaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEV4Y2x1c2l2
ZVRyYWNrTGlzdCA6IHB1YmxpYyBUcmFja0xpc3QgewotcHVibGljOgotICAgIHN0YXRpYyBjb25z
dCBsb25nIE5vU2VsZWN0aW9uID0gLTE7Ci0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxFeGNsdXNp
dmVUcmFja0xpc3Q+IGNyZWF0ZShjb25zdCBUcmFja1ZlY3RvciYsIGxvbmcgc2VsZWN0ZWRJbmRl
eCA9IE5vU2VsZWN0aW9uKTsKLSAgICB2aXJ0dWFsIH5FeGNsdXNpdmVUcmFja0xpc3QoKTsKLQot
ICAgIGludCBzZWxlY3RlZEluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9zZWxlY3RlZEluZGV4OyB9
Ci0gICAgdm9pZCBzZWxlY3QobG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwotCi0gICAgdmly
dHVhbCB2b2lkIGNsZWFyKCk7Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIHZpcnR1
YWwgdm9pZCB0cmFja0ZhaWxlZCh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSNlbmRpZgotCi0gICAg
Ly8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCi0gICAgdmlydHVhbCBFeGNsdXNpdmVUcmFj
a0xpc3QqIHRvRXhjbHVzaXZlVHJhY2tMaXN0KCk7Ci0KLXByaXZhdGU6Ci0gICAgRXhjbHVzaXZl
VHJhY2tMaXN0KGNvbnN0IFRyYWNrVmVjdG9yJiwgbG9uZyBzZWxlY3RlZEluZGV4KTsKLQotICAg
IGxvbmcgbV9zZWxlY3RlZEluZGV4OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQotCi0j
ZW5kaWYgLy8gRXhjbHVzaXZlVHJhY2tMaXN0X2gKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9k
b20vRXhjbHVzaXZlVHJhY2tMaXN0LmlkbCBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJh
Y2tMaXN0LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTY4OWI5OC4uMDAwMDAw
MAotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5pZGwKKysrIC9kZXYv
bnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUgY29yZSB7Ci0KLSAg
ICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU18VklERU9fVFJB
Q0ssCi0gICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50cywKLSAgICAgICAgR2Vu
ZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgXSBFeGNsdXNpdmVUcmFja0xpc3QgOiBUcmFja0xp
c3QgewotICAgICAgICAvLyBGSVhNRTogdGhlIHNwZWMgc2F5cyB1bnNpZ25lZCBsb25nLCBidXQg
LTEgaXMgdXNlZCB3aGVuIG5vdGhpbmcgaXMgc2VsZWN0ZWQuCi0gICAgICAgIC8vIEEgYnVnIGhh
cyBiZWVuIGFscmVhZHkgc3VibWl0dGVkIHRvIHRoZSBzcGVjIGRyYWZ0LgotICAgICAgICAvLyBo
dHRwOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MTI2MDAKLSAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgc2VsZWN0ZWRJbmRleDsKLSAgICAgICAgdm9pZCBz
ZWxlY3QoaW4gbG9uZyBpbmRleCkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwot
ICAgIH07Ci0KLX0KZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVh
bS5jcHAgU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkMGJm
NTQuLmRlYTI3OGQgMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVh
bS5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcApAQCAtMjks
OSArMjksNyBAQAogCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
Ci0jaW5jbHVkZSAiRXhjbHVzaXZlVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJNdWx0aXBsZVRyYWNrTGlzdC5oIgogI2luY2x1
ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTksMjAgKzU3LDE0IEBAIHB1YmxpYzoKICAgICBDYWxsYmFjayBtX2NhbGxiYWNrOwogfTsKIAot
UGFzc1JlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUoTWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBs
YWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MsIFBhc3NSZWZQ
dHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcykKK1Bhc3NSZWZQdHI8TG9jYWxNZWRp
YVN0cmVhbT4gTG9jYWxNZWRpYVN0cmVhbTo6Y3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwsIFBhc3NSZWZQdHI8TWVk
aWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IExv
Y2FsTWVkaWFTdHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCwgYXVkaW9UcmFja3MsIHZpZGVv
VHJhY2tzKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBMb2NhbE1lZGlhU3RyZWFtKGZyYW1l
Q29udHJvbGxlciwgbGFiZWwsIHRyYWNrcykpOwogfQogCi1Mb2NhbE1lZGlhU3RyZWFtOjpMb2Nh
bE1lZGlhU3RyZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIs
IGNvbnN0IFN0cmluZyYgbGFiZWwsIFBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGF1ZGlv
VHJhY2tzLCBQYXNzUmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3MpCi0gICAg
OiBNZWRpYVN0cmVhbShmcmFtZUNvbnRyb2xsZXIsIGxhYmVsLCB0cnVlKQotICAgICwgbV9hdWRp
b1RyYWNrcyhhdWRpb1RyYWNrcykKLSAgICAsIG1fdmlkZW9UcmFja3ModmlkZW9UcmFja3MpCitM
b2NhbE1lZGlhU3RyZWFtOjpMb2NhbE1lZGlhU3RyZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwsIFBhc3NSZWZQdHI8TWVk
aWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcykKKyAgICA6IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJv
bGxlciwgbGFiZWwsIHRyYWNrcykKIHsKLSAgICBBU1NFUlQobV9hdWRpb1RyYWNrcyk7Ci0gICAg
QVNTRVJUKG1fdmlkZW9UcmFja3MpOwotICAgIG1fYXVkaW9UcmFja3MtPmFzc29jaWF0ZVN0cmVh
bShsYWJlbCk7Ci0gICAgbV92aWRlb1RyYWNrcy0+YXNzb2NpYXRlU3RyZWFtKGxhYmVsKTsKIH0K
IAogTG9jYWxNZWRpYVN0cmVhbTo6fkxvY2FsTWVkaWFTdHJlYW0oKQpAQCAtOTQsMzAgKzg2LDE1
IEBAIHZvaWQgTG9jYWxNZWRpYVN0cmVhbTo6ZGV0YWNoRW1iZWRkZXIoKQogCiB2b2lkIExvY2Fs
TWVkaWFTdHJlYW06OnN0cmVhbUVuZGVkKCkKIHsKLSAgICBtX2F1ZGlvVHJhY2tzLT5jbGVhcigp
OwotICAgIG1fdmlkZW9UcmFja3MtPmNsZWFyKCk7Ci0KICAgICBNZWRpYVN0cmVhbTo6c3RyZWFt
RW5kZWQoKTsKIH0KIAotUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gTG9jYWxNZWRpYVN0
cmVhbTo6YXVkaW9UcmFja3MoKSBjb25zdAotewotICAgIHJldHVybiBtX2F1ZGlvVHJhY2tzOwot
fQotCi1QYXNzUmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gTG9jYWxNZWRpYVN0cmVhbTo6dmlk
ZW9UcmFja3MoKSBjb25zdAotewotICAgIHJldHVybiBtX3ZpZGVvVHJhY2tzOwotfQotCiB2b2lk
IExvY2FsTWVkaWFTdHJlYW06OnN0b3AoKQogewogICAgIGlmICghbWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXIoKSB8fCBtX3JlYWR5U3RhdGUgPT0gRU5ERUQpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCktPnN0b3BHZW5lcmF0ZWRTdHJlYW0obGFi
ZWwoKSk7Ci0gICAgbV9hdWRpb1RyYWNrcy0+Y2xlYXIoKTsKLSAgICBtX3ZpZGVvVHJhY2tzLT5j
bGVhcigpOwogCiAgICAgbV9yZWFkeVN0YXRlID0gRU5ERUQ7CiAKZGlmZiAtLWdpdCBTb3VyY2Uv
V2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVhbS5oIFNvdXJjZS9XZWJDb3JlL2RvbS9Mb2NhbE1l
ZGlhU3RyZWFtLmgKaW5kZXggY2FiNDc3ZS4uNmM4NTQwOCAxMDA2NDQKLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmgKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Mb2NhbE1l
ZGlhU3RyZWFtLmgKQEAgLTMyLDE5ICszMiwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEV4Y2x1c2l2ZVRyYWNrTGlzdDsKLWNsYXNzIE11bHRpcGxlVHJhY2tMaXN0OwotCiBj
bGFzcyBMb2NhbE1lZGlhU3RyZWFtIDogcHVibGljIE1lZGlhU3RyZWFtIHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBjcmVhdGUoTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxl
VHJhY2tMaXN0PiBhdWRpb1RyYWNrcywgUGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZp
ZGVvVHJhY2tzKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBjcmVh
dGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFja3MpOwogICAgIHZpcnR1YWwgfkxvY2Fs
TWVkaWFTdHJlYW0oKTsKIAogICAgIHZvaWQgc3RvcCgpOwogCi0gICAgUGFzc1JlZlB0cjxNdWx0
aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MoKSBjb25zdDsKLSAgICBQYXNzUmVmUHRyPEV4Y2x1
c2l2ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3MoKSBjb25zdDsKLQogICAgIC8vIE1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGllbnQgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVh
bCB2b2lkIGRldGFjaEVtYmVkZGVyKCk7CiAgICAgdmlydHVhbCB2b2lkIHN0cmVhbUVuZGVkKCk7
CkBAIC01MiwxNSArNDYsMTUgQEAgcHVibGljOgogICAgIC8vIEV2ZW50VGFyZ2V0LgogICAgIHZp
cnR1YWwgTG9jYWxNZWRpYVN0cmVhbSogdG9Mb2NhbE1lZGlhU3RyZWFtKCk7CiAKK3Byb3RlY3Rl
ZDoKKyAgICB2aXJ0dWFsIGJvb2wgaXNMb2NhbE1lZGlhU3RyZWFtKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQorCiBwcml2YXRlOgotICAgIExvY2FsTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxlVHJh
Y2tMaXN0PiBhdWRpb1RyYWNrcywgUGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVv
VHJhY2tzKTsKKyAgICBMb2NhbE1lZGlhU3RyZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
KiwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4g
dHJhY2tzKTsKICAgICBjbGFzcyBEaXNwYXRjaFVwZGF0ZVRhc2s7CiAgICAgZnJpZW5kIGNsYXNz
IERpc3BhdGNoVXBkYXRlVGFzazsKIAogICAgIHZvaWQgb25TdG9wKCk7Ci0KLSAgICBSZWZQdHI8
TXVsdGlwbGVUcmFja0xpc3Q+IG1fYXVkaW9UcmFja3M7Ci0gICAgUmVmUHRyPEV4Y2x1c2l2ZVRy
YWNrTGlzdD4gbV92aWRlb1RyYWNrczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVhbS5pZGwgU291cmNlL1dl
YkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaWRsCmluZGV4IDFmOGZlMjYuLmU0NzI1YTAgMTAw
NjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVhbS5pZGwKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbApAQCAtMjMsMTYgKzIzLDEzIEBACiAg
Ki8KIAogbW9kdWxlIGNvcmUgeworCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKICAgICAg
ICAgRXZlbnRUYXJnZXQKICAgICBdIExvY2FsTWVkaWFTdHJlYW0gOiBNZWRpYVN0cmVhbSB7CiAg
ICAgICAgIHZvaWQgc3RvcCgpOwotCi0gICAgICAgIC8vIFRyYWNrIGNvbnRyb2wuCi0gICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBNdWx0aXBsZVRyYWNrTGlzdCBhdWRpb1RyYWNrczsKLSAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEV4Y2x1c2l2ZVRyYWNrTGlzdCB2aWRlb1RyYWNrczsKICAg
ICB9OwogCiB9CmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmNwcCBT
b3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDgyOTcyMDQuLmNiZmM2NmUg
MTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uY3BwCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uY3BwCkBAIC0zMiwxNCArMzIsMTUgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBNZWRpYVN0cmVhbTo6Y3Jl
YXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0
cmluZyYgbGFiZWwpCitQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBNZWRpYVN0cmVhbTo6Y3JlYXRl
KE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0cmlu
ZyYgbGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcykKIHsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwp
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwg
bGFiZWwsIHRyYWNrcykpOwogfQogCi1NZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0oTWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwg
Ym9vbCBpc0xvY2FsTWVkaWFTdHJlYW0pCi0gICAgOiBNZWRpYVN0cmVhbUNsaWVudChmcmFtZUNv
bnRyb2xsZXIsIGxhYmVsLCBpc0xvY2FsTWVkaWFTdHJlYW0pCitNZWRpYVN0cmVhbTo6TWVkaWFT
dHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3Qg
U3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKQor
ICAgIDogTWVkaWFTdHJlYW1DbGllbnQoZnJhbWVDb250cm9sbGVyLCBsYWJlbCkKICAgICAsIG1f
cmVhZHlTdGF0ZShMSVZFKQorICAgICwgbV90cmFja3ModHJhY2tzKQogewogfQogCmRpZmYgLS1n
aXQgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmggU291cmNlL1dlYkNvcmUvZG9tL01l
ZGlhU3RyZWFtLmgKaW5kZXggZWY1MjBkMy4uNDZjMTI5NiAxMDA2NDQKLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9NZWRpYVN0cmVhbS5oCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0u
aApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJF
dmVudFRhcmdldC5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgiCisj
aW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja0xpc3QuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgpAQCAtNDcsMTYgKzQ4LDE2IEBAIHB1YmxpYzoKICAgICAgICAgRU5ERUQgPSAy
CiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBjcmVhdGUoTWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsKTsKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gY3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyKiwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlz
dD4gdHJhY2tzKTsKICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbSgpOwogCi0gICAgLy8gRklYTUU6
IGltcGxlbWVudCB0aGUgcmVjb3JkIG1ldGhvZCB3aGVuIE1lZGlhU3RyZWFtUmVjb3JkZXIgaXMg
YXZhaWxhYmxlLgotCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlbmRlZCk7
CiAKICAgICB1bnNpZ25lZCBzaG9ydCByZWFkeVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZWFk
eVN0YXRlOyB9CiAgICAgY29uc3QgU3RyaW5nJiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIGNsaWVu
dElkKCk7IH0KIAorICAgIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcygp
IHsgcmV0dXJuIG1fdHJhY2tzOyB9CisKICAgICAvLyBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
cjo6TWVkaWFTdHJlYW1DbGllbnQgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVhbCB2b2lkIHN0
cmVhbUVuZGVkKCk7CiAKQEAgLTY4LDcgKzY5LDcgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZkNv
dW50ZWQ8TWVkaWFTdHJlYW0+OjpkZXJlZjsKIAogcHJvdGVjdGVkOgotICAgIE1lZGlhU3RyZWFt
KE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3RyaW5nJiBsYWJlbCwgYm9vbCBp
c0xvY2FsTWVkaWFTdHJlYW0gPSBmYWxzZSk7CisgICAgTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2tMaXN0PiB0cmFja3MpOwogCiAgICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRp
b24uCiAgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpOwpAQCAt
ODQsNiArODUsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0
KCkgeyBkZXJlZigpOyB9CiAKICAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7
CisKKyAgICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IG1fdHJhY2tzOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0
cmVhbS5pZGwgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbAppbmRleCBlOGY4NDE1
Li5lMzIxMmNlIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbAor
KysgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbApAQCAtMjMsMTIgKzIzLDE1IEBA
CiAgKi8KIAogbW9kdWxlIGNvcmUgeworCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgTGVnYWN5
RGVmYXVsdE9wdGlvbmFsQXJndW1lbnRzLAogICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJF
QU0sCiAgICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBNZWRpYVN0cmVhbSB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBNZWRpYVN0cmVhbVRyYWNrTGlzdCB0cmFja3M7CisKICAgICAgICAgLy8gRklYTUU6IGlt
cGxlbWVudCB0aGUgcmVjb3JkIG1ldGhvZCB3aGVuIE1lZGlhU3RyZWFtUmVjb3JkZXIgaXMgYXZh
aWxhYmxlLgogCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IExJVkUgPSAxOwpkaWZmIC0t
Z2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBTb3VyY2UvV2ViQ29y
ZS9kb20vTWVkaWFTdHJlYW1UcmFjay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZmEzOGRjMQotLS0gL2Rldi9udWxsCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFT
dHJlYW1UcmFjay5jcHAKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKKworI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IE1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0
ZShjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFi
ZWwpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbVRyYWNrKGlkLCBraW5k
LCBsYWJlbCkpOworfQorCitNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKGNvbnN0
IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCkKKyAg
ICA6IG1faWQoaWQpCisgICAgLCBtX2tpbmQoa2luZCkKKyAgICAsIG1fbGFiZWwobGFiZWwpCisg
ICAgLCBtX2VuYWJsZWQodHJ1ZSkKK3sKK30KKworTWVkaWFTdHJlYW1UcmFjazo6fk1lZGlhU3Ry
ZWFtVHJhY2soKQoreworfQorCitjb25zdCBTdHJpbmcmIE1lZGlhU3RyZWFtVHJhY2s6OmtpbmQo
KSBjb25zdAoreworICAgIHJldHVybiBtX2tpbmQ7Cit9CisKK2NvbnN0IFN0cmluZyYgTWVkaWFT
dHJlYW1UcmFjazo6bGFiZWwoKSBjb25zdAoreworICAgIHJldHVybiBtX2xhYmVsOworfQorCiti
b29sIE1lZGlhU3RyZWFtVHJhY2s6OmVuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBtX2Vu
YWJsZWQ7Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c2V0RW5hYmxlZChib29sIGVuYWJs
ZWQpCit7CisgICAgbV9lbmFibGVkID0gZW5hYmxlZDsKKworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisgICAgaWYgKG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCkpCisgICAgICAgIG1lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyKCktPnNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKG1faWQs
IGVuYWJsZWQpOworI2VuZGlmCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKZGlmZiAtLWdp
dCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5oIFNvdXJjZS9XZWJDb3JlL2Rv
bS9NZWRpYVN0cmVhbVRyYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ODU2OGEyNAotLS0gL2Rldi9udWxsCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1U
cmFjay5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVkaWFTdHJl
YW1UcmFja19oCisjZGVmaW5lIE1lZGlhU3RyZWFtVHJhY2tfaAorCisjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFTdHJl
YW1UcmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtVHJhY2s+LAorICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1YmxpYyBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6R2VuZXJp
Y0NsaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFj
az4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3Ry
aW5nJiBsYWJlbCk7CisgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1UcmFjaygpOworCisgICAgY29u
c3QgU3RyaW5nJiBraW5kKCkgY29uc3Q7CisgICAgY29uc3QgU3RyaW5nJiBsYWJlbCgpIGNvbnN0
OworCisgICAgYm9vbCBlbmFibGVkKCkgY29uc3Q7CisgICAgdm9pZCBzZXRFbmFibGVkKGJvb2wg
ZW5hYmxlZCk7CisKK3ByaXZhdGU6CisgICAgTWVkaWFTdHJlYW1UcmFjayhjb25zdCBTdHJpbmcm
IGlkLCBjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwpOworCisgICAgU3Ry
aW5nIG1faWQ7CisgICAgU3RyaW5nIG1fa2luZDsKKyAgICBTdHJpbmcgbV9sYWJlbDsKKyAgICBi
b29sIG1fZW5hYmxlZDsKK307CisKK3R5cGVkZWYgVmVjdG9yPFJlZlB0cjxNZWRpYVN0cmVhbVRy
YWNrPiA+IFRyYWNrVmVjdG9yOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNlbmRpZiAv
LyBNZWRpYVN0cmVhbVRyYWNrX2gKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFT
dHJlYW1UcmFjay5pZGwgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZWY0ODUKLS0tIC9kZXYvbnVsbAor
KysgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsCkBAIC0wLDAgKzEsMzUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
CisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTXxWSURFT19UUkFDSywKKyAgICBdIE1lZGlhU3Ry
ZWFtVHJhY2sgeworICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBraW5kOworICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsYWJlbDsKKyAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBib29sZWFuIGVuYWJsZWQ7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IFNvdXJjZS9X
ZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgU291cmNlL1dlYkNvcmUvZG9tL01l
ZGlhU3RyZWFtVHJhY2tMaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jMjk0ZjY4Ci0tLSAvZGV2L251bGwKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVh
bVRyYWNrTGlzdC5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tMaXN0LmgiCisKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gTWVkaWFTdHJlYW1UcmFj
a0xpc3Q6OmNyZWF0ZShjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzKQoreworICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgTWVkaWFTdHJlYW1UcmFja0xpc3QodHJhY2tzKSk7Cit9CisKK01lZGlhU3Ry
ZWFtVHJhY2tMaXN0OjpNZWRpYVN0cmVhbVRyYWNrTGlzdChjb25zdCBUcmFja1ZlY3RvciYgdHJh
Y2tzKQorICAgIDogbV90cmFja3ModHJhY2tzKQoreworfQorCitNZWRpYVN0cmVhbVRyYWNrTGlz
dDo6fk1lZGlhU3RyZWFtVHJhY2tMaXN0KCkKK3sKK30KKwordW5zaWduZWQgTWVkaWFTdHJlYW1U
cmFja0xpc3Q6Omxlbmd0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fdHJhY2tzLnNpemUoKTsK
K30KKworUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBNZWRpYVN0cmVhbVRyYWNrTGlzdDo6
aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPCBtX3RyYWNrcy5z
aXplKCkpCisgICAgICAgIHJldHVybiBtX3RyYWNrcy5hdChpbmRleCk7CisgICAgZWxzZQorICAg
ICAgICByZXR1cm4gUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPigpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFC
TEUoVklERU9fVFJBQ0spCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFt
VHJhY2tMaXN0LmggU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVmZTZhZQotLS0gL2Rldi9udWxsCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaApAQCAtMCwwICsxLDU5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlhU3RyZWFtVHJhY2tMaXN0X2gKKyNkZWZp
bmUgTWVkaWFTdHJlYW1UcmFja0xpc3RfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
I2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tMaXN0IDogcHVi
bGljIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gY3JlYXRlKGNvbnN0IFRyYWNrVmVj
dG9yJiBtX3RyYWNrcyk7CisgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1UcmFja0xpc3QoKTsKKwor
ICAgIC8vIERPTSBtZXRob2RzICYgYXR0cmlidXRlcyBmb3IgTWVkaWFTdHJlYW1UcmFja0xpc3QK
KyAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPE1lZGlhU3RyZWFt
VHJhY2s+IGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworCisgICAgdm9pZCBhc3NvY2lhdGVT
dHJlYW0oY29uc3QgU3RyaW5nJiBsYWJlbCkgeyBtX2Fzc29jaWF0ZWRTdHJlYW1MYWJlbCA9IGxh
YmVsOyB9CisKK3ByaXZhdGU6CisgICAgTWVkaWFTdHJlYW1UcmFja0xpc3QoY29uc3QgVHJhY2tW
ZWN0b3ImIG1fdHJhY2tzKTsKKworICAgIFRyYWNrVmVjdG9yIG1fdHJhY2tzOworICAgIFN0cmlu
ZyBtX2Fzc29jaWF0ZWRTdHJlYW1MYWJlbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBNZWRpYVN0cmVh
bVRyYWNrTGlzdF9oCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJh
Y2tMaXN0LmlkbCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzZmQwZTUKLS0tIC9kZXYvbnVsbAor
KysgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmlkbApAQCAtMCwwICsx
LDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWwor
ICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCisgICAgICAgIENvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTXxWSURFT19UUkFDSywKKyAgICAgICAgSGFzSW5kZXhHZXR0ZXIKKyAg
ICBdIE1lZGlhU3RyZWFtVHJhY2tMaXN0IHsKKyAgICAgICAgTWVkaWFTdHJlYW1UcmFjayBpdGVt
KGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKKworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IFNv
dXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5jcHAgU291cmNlL1dlYkNvcmUvZG9t
L011bHRpcGxlVHJhY2tMaXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZThl
MzcxOS4uMDAwMDAwMAotLS0gU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDEwNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTXVsdGlwbGVUcmFja0xpc3QuaCIKLQotI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLQotI2luY2x1ZGUgIkV2ZW50
LmgiCi0jaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBh
c3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IE11bHRpcGxlVHJhY2tMaXN0OjpjcmVhdGUoY29u
c3QgVHJhY2tWZWN0b3ImIHRyYWNrcywgY29uc3QgRW5hYmxlZFRyYWNrcyYgZW5hYmxlZFRyYWNr
cykKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE11bHRpcGxlVHJhY2tMaXN0KHRyYWNrcywg
ZW5hYmxlZFRyYWNrcykpOwotfQotCi1NdWx0aXBsZVRyYWNrTGlzdDo6TXVsdGlwbGVUcmFja0xp
c3QoY29uc3QgVHJhY2tWZWN0b3ImIHRyYWNrcywgY29uc3QgRW5hYmxlZFRyYWNrcyYgZW5hYmxl
ZFRyYWNrcykKLSAgICA6IFRyYWNrTGlzdCh0cmFja3MpCi0gICAgLCBtX2lzRW5hYmxlZChlbmFi
bGVkVHJhY2tzKQotewotICAgIEFTU0VSVChtX2lzRW5hYmxlZC5zaXplKCkgPT0gbGVuZ3RoKCkp
OwotfQotCi1NdWx0aXBsZVRyYWNrTGlzdDo6fk11bHRpcGxlVHJhY2tMaXN0KCkKLXsKLX0KLQot
dm9pZCBNdWx0aXBsZVRyYWNrTGlzdDo6Y2xlYXIoKQotewotICAgIG1faXNFbmFibGVkLmNsZWFy
KCk7Ci0gICAgVHJhY2tMaXN0OjpjbGVhcigpOwotfQotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKLXZvaWQgTXVsdGlwbGVUcmFja0xpc3Q6OnRyYWNrRmFpbGVkKHVuc2lnbmVkIGxvbmcgaW5k
ZXgpCi17Ci0gICAgVHJhY2tMaXN0Ojp0cmFja0ZhaWxlZChpbmRleCk7Ci0gICAgbV9pc0VuYWJs
ZWQucmVtb3ZlKGluZGV4KTsKLX0KLSNlbmRpZgotCi1ib29sIE11bHRpcGxlVHJhY2tMaXN0Ojpp
c0VuYWJsZWQodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGNoZWNrSW5kZXgoaW5kZXgsIGVjKSA/IG1faXNFbmFibGVkW2luZGV4XSA6
IGZhbHNlOwotfQotCi12b2lkIE11bHRpcGxlVHJhY2tMaXN0OjplbmFibGUodW5zaWduZWQgbG9u
ZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKCFjaGVja0luZGV4KGluZGV4
LCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faXNFbmFibGVkW2luZGV4XSA9IHRydWU7
Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGlmIChtZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcigpKQotICAgICAgICBtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpLT5lbmFibGVB
dWRpb1RyYWNrKGFzc29jaWF0ZWRTdHJlYW1MYWJlbCgpLCBpbmRleCk7Ci0jZW5kaWYKLQotICAg
IHBvc3RDaGFuZ2VFdmVudCgpOwotfQotCi12b2lkIE11bHRpcGxlVHJhY2tMaXN0OjpkaXNhYmxl
KHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghY2hl
Y2tJbmRleChpbmRleCwgZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2lzRW5hYmxlZFtp
bmRleF0gPSBmYWxzZTsKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgaWYgKG1lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyKCkpCi0gICAgICAgIG1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyKCktPmRpc2FibGVBdWRpb1RyYWNrKGFzc29jaWF0ZWRTdHJlYW1MYWJlbCgpLCBpbmRleCk7
Ci0jZW5kaWYKLQotICAgIHBvc3RDaGFuZ2VFdmVudCgpOwotfQotCi1NdWx0aXBsZVRyYWNrTGlz
dCogTXVsdGlwbGVUcmFja0xpc3Q6OnRvTXVsdGlwbGVUcmFja0xpc3QoKQotewotICAgIHJldHVy
biB0aGlzOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCmRpZmYgLS1naXQgU291cmNlL1dl
YkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmggU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxl
VHJhY2tMaXN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkYjAyOWIuLjAwMDAw
MDAKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5oCisrKyAvZGV2L251
bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBNdWx0aXBsZVRyYWNr
TGlzdF9oCi0jZGVmaW5lIE11bHRpcGxlVHJhY2tMaXN0X2gKLQotI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLQotI2luY2x1ZGUgIlRyYWNrTGlzdC5oIgot
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi10eXBlZGVm
IFZlY3Rvcjxib29sPiBFbmFibGVkVHJhY2tzOwotCi1jbGFzcyBNdWx0aXBsZVRyYWNrTGlzdCA6
IHB1YmxpYyBUcmFja0xpc3QgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE11bHRp
cGxlVHJhY2tMaXN0PiBjcmVhdGUoY29uc3QgVHJhY2tWZWN0b3ImLCBjb25zdCBFbmFibGVkVHJh
Y2tzJik7Ci0gICAgdmlydHVhbCB+TXVsdGlwbGVUcmFja0xpc3QoKTsKLQotICAgIGJvb2wgaXNF
bmFibGVkKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKLSAgICB2
b2lkIGVuYWJsZSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9p
ZCBkaXNhYmxlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKLQotICAgIHZp
cnR1YWwgdm9pZCBjbGVhcigpOwotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICB2aXJ0
dWFsIHZvaWQgdHJhY2tGYWlsZWQodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0jZW5kaWYKLQotICAg
IC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgTXVsdGlwbGVUcmFj
a0xpc3QqIHRvTXVsdGlwbGVUcmFja0xpc3QoKTsKLQotcHJpdmF0ZToKLSAgICBNdWx0aXBsZVRy
YWNrTGlzdChjb25zdCBUcmFja1ZlY3RvciYsIGNvbnN0IEVuYWJsZWRUcmFja3MmKTsKLQotICAg
IFZlY3Rvcjxib29sPiBtX2lzRW5hYmxlZDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykK
LQotI2VuZGlmIC8vIE11bHRpcGxlVHJhY2tMaXN0X2gKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29y
ZS9kb20vTXVsdGlwbGVUcmFja0xpc3QuaWRsIFNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRy
YWNrTGlzdC5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiNDZhOGIuLjAwMDAw
MDAKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5pZGwKKysrIC9kZXYv
bnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUgY29yZSB7Ci0KLSAg
ICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU18VklERU9fVFJB
Q0ssCi0gICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50cywKLSAgICAgICAgR2Vu
ZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgXSBNdWx0aXBsZVRyYWNrTGlzdCA6IFRyYWNrTGlz
dCB7Ci0gICAgICAgIGJvb2xlYW4gaXNFbmFibGVkKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi0g
ICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCBlbmFibGUoaW4g
dW5zaWduZWQgbG9uZyBpbmRleCkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwot
ICAgICAgICB2b2lkIGRpc2FibGUoaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKLSAgICAgICAgICAg
IHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgIH07Ci0KLX0KZGlmZiAtLWdpdCBTb3VyY2UvV2Vi
Q29yZS9kb20vVHJhY2tMaXN0LmNwcCBTb3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWI4ZDFjNC4uMDAwMDAwMAotLS0gU291cmNl
L1dlYkNvcmUvZG9tL1RyYWNrTGlzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxODMgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
LSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlRyYWNrTGlz
dC5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQot
Ci0jaW5jbHVkZSAiRXZlbnQuaCIKLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzUmVmUHRyPFRyYWNrPiBUcmFjazo6Y3JlYXRlKGNv
bnN0IFN0cmluZyYgaWQsIGNvbnN0IEF0b21pY1N0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBs
YWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFRyYWNrKGlkLCBraW5kLCBsYWJlbCwgbGFuZ3VhZ2UpKTsKLX0KLQotVHJhY2s6OlRyYWNrKGNv
bnN0IFN0cmluZyYgaWQsIGNvbnN0IEF0b21pY1N0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBs
YWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKLSAgICA6IG1faWQoaWQpCi0gICAgLCBtX2tp
bmQoa2luZCkKLSAgICAsIG1fbGFiZWwobGFiZWwpCi0gICAgLCBtX2xhbmd1YWdlKGxhbmd1YWdl
KQotewotfQotCi1QYXNzUmVmUHRyPFRyYWNrTGlzdD4gVHJhY2tMaXN0OjpjcmVhdGUoY29uc3Qg
VHJhY2tWZWN0b3ImIHRyYWNrcykKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRyYWNrTGlz
dCh0cmFja3MpKTsKLX0KLQotVHJhY2tMaXN0OjpUcmFja0xpc3QoY29uc3QgVHJhY2tWZWN0b3Im
IHRyYWNrcykKLSAgICA6IG1fdHJhY2tzKHRyYWNrcykKLXsKLX0KLQotVHJhY2tMaXN0Ojp+VHJh
Y2tMaXN0KCkKLXsKLX0KLQotdW5zaWduZWQgbG9uZyBUcmFja0xpc3Q6Omxlbmd0aCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fdHJhY2tzLnNpemUoKTsKLX0KLQotYm9vbCBUcmFja0xpc3Q6OmNo
ZWNrSW5kZXgobG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMsIGxvbmcgYWxsb3dlZCkgY29u
c3QKLXsKLSAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8bG9uZz4obGVuZ3RoKCkpIHx8IChp
bmRleCA8IDAgJiYgaW5kZXggIT0gYWxsb3dlZCkpIHsKLSAgICAgICAgZWMgPSBJTkRFWF9TSVpF
X0VSUjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGVjID0gMDsKLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQotY29uc3QgU3RyaW5nJiBUcmFja0xpc3Q6OmdldElEKHVuc2lnbmVk
IGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAotewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3RyaW5nLCBudWxsU3RyaW5nLCAoKSk7Ci0gICAgcmV0dXJuIGNoZWNrSW5kZXgo
aW5kZXgsIGVjKSA/IG1fdHJhY2tzW2luZGV4XS0+aWQoKSA6IG51bGxTdHJpbmc7Ci19Ci0KLWNv
bnN0IEF0b21pY1N0cmluZyYgVHJhY2tMaXN0OjpnZXRLaW5kKHVuc2lnbmVkIGxvbmcgaW5kZXgs
IEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRv
bWljU3RyaW5nLCBudWxsU3RyaW5nLCAoKSk7Ci0gICAgcmV0dXJuIGNoZWNrSW5kZXgoaW5kZXgs
IGVjKSA/IG1fdHJhY2tzW2luZGV4XS0+a2luZCgpIDogbnVsbFN0cmluZzsKLX0KLQotY29uc3Qg
U3RyaW5nJiBUcmFja0xpc3Q6OmdldExhYmVsKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlv
bkNvZGUmIGVjKSBjb25zdAotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBudWxs
U3RyaW5nLCAoKSk7Ci0gICAgcmV0dXJuIGNoZWNrSW5kZXgoaW5kZXgsIGVjKSA/IG1fdHJhY2tz
W2luZGV4XS0+bGFiZWwoKSA6IG51bGxTdHJpbmc7Ci19Ci0KLWNvbnN0IFN0cmluZyYgVHJhY2tM
aXN0OjpnZXRMYW5ndWFnZSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykg
Y29uc3QKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgbnVsbFN0cmluZywgKCkp
OwotICAgIHJldHVybiBjaGVja0luZGV4KGluZGV4LCBlYykgPyBtX3RyYWNrc1tpbmRleF0tPmxh
bmd1YWdlKCkgOiBudWxsU3RyaW5nOwotfQotCi12b2lkIFRyYWNrTGlzdDo6Y2xlYXIoKQotewot
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgbV9hc3NvY2lhdGVkU3RyZWFtTGFiZWwgPSBT
dHJpbmcoKTsKLSNlbmRpZgotCi0gICAgaWYgKG1fdHJhY2tzLmlzRW1wdHkoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgbV90cmFja3MuY2xlYXIoKTsKLQotICAgIHBvc3RDaGFuZ2VFdmVudCgp
OwotfQotCi12b2lkIFRyYWNrTGlzdDo6cG9zdENoYW5nZUV2ZW50KCkKLXsKLSAgICAvLyBEaXNw
YXRjaCBhIGNoYW5nZSBldmVudCBhc3luY2hyb25vdXNseS4gRG9uJ3QgYXNzZXJ0IHNpbmNlIHRo
aXMgbWF5IGJlIGNhbGxlZCBkdXJpbmcgc2h1dGRvd24sCi0gICAgLy8gYW5kIHRoZSBTY3JpcHRF
eGVjdXRpb25Db250ZXh0IG1heSBiZSBub3QgYXZhaWxhYmxlIGluIHRoZSBNZWRpYSBTdHJlYW0g
Y2FzZS4KLSAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhyZWFk
KCkpOwotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soRGlzcGF0Y2hUYXNr
PFRyYWNrTGlzdCwgaW50Pjo6Y3JlYXRlKHRoaXMsICZUcmFja0xpc3Q6OmRpc3BhdGNoQ2hhbmdl
RXZlbnQsIDApKTsKLX0KLQotdm9pZCBUcmFja0xpc3Q6OmRpc3BhdGNoQ2hhbmdlRXZlbnQoaW50
KQotewotICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2hhbmdl
RXZlbnQsIGZhbHNlLCBmYWxzZSkpOwotfQotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLXZv
aWQgVHJhY2tMaXN0Ojphc3NvY2lhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBsYWJlbCkKLXsKLSAg
ICBBU1NFUlQobV9hc3NvY2lhdGVkU3RyZWFtTGFiZWwuaXNOdWxsKCkpOwotICAgIG1fYXNzb2Np
YXRlZFN0cmVhbUxhYmVsID0gbGFiZWw7Ci19Ci0KLWNvbnN0IFN0cmluZyYgVHJhY2tMaXN0Ojph
c3NvY2lhdGVkU3RyZWFtTGFiZWwoKSBjb25zdAotewotICAgIHJldHVybiBtX2Fzc29jaWF0ZWRT
dHJlYW1MYWJlbDsKLX0KLQotdm9pZCBUcmFja0xpc3Q6OnRyYWNrRmFpbGVkKHVuc2lnbmVkIGxv
bmcgaW5kZXgpCi17Ci0gICAgQVNTRVJUKGluZGV4IDwgbGVuZ3RoKCkpOwotICAgIG1fdHJhY2tz
LnJlbW92ZShpbmRleCk7Ci0gICAgcG9zdENoYW5nZUV2ZW50KCk7Ci19Ci0jZW5kaWYKLQotVHJh
Y2tMaXN0KiBUcmFja0xpc3Q6OnRvVHJhY2tMaXN0KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0K
LQotU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogVHJhY2tMaXN0OjpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkgY29uc3QKLXsKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGlmIChtZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlcigpKQotICAgICAgICByZXR1cm4gbWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXIoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotI2VuZGlmCi0KLSAgICAvLyBG
SVhNRTogcHJvdmlkZSBhbiBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQgZm9yIEhUTUwgTWVkaWEg
RWxlbWVudCB1c2UgY2FzZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjExMjcKLSAgICByZXR1cm4gMDsKLX0KLQotRXZlbnRUYXJnZXREYXRhKiBUcmFj
a0xpc3Q6OmV2ZW50VGFyZ2V0RGF0YSgpCi17Ci0gICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0
YTsKLX0KLQotRXZlbnRUYXJnZXREYXRhKiBUcmFja0xpc3Q6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0
YSgpCi17Ci0gICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKLX0KLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJ
REVPX1RSQUNLKQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuaCBTb3Vy
Y2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDhmNjc5OWIuLjAwMDAwMDAKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuaAorKysg
L2Rldi9udWxsCkBAIC0xLDE0NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
LSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFRyYWNr
TGlzdF9oCi0jZGVmaW5lIFRyYWNrTGlzdF9oCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSB8
fCBFTkFCTEUoVklERU9fVFJBQ0spCi0KLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVk
ZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5o
IgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKLSNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFRyYWNrIDogcHVibGljIFJlZkNv
dW50ZWQ8VHJhY2s+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxUcmFjaz4gY3Jl
YXRlKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IEF0b21pY1N0cmluZyYga2luZCwgY29uc3QgU3Ry
aW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7Ci0KLSAgICBjb25zdCBTdHJpbmcm
IGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQotICAgIGNvbnN0IEF0b21pY1N0cmluZyYga2lu
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQotICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBj
b25zdCB7IHJldHVybiBtX2xhYmVsOyB9Ci0gICAgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbGFuZ3VhZ2U7IH0KLQotcHJpdmF0ZToKLSAgICBUcmFjayhjb25zdCBT
dHJpbmcmIGlkLCBjb25zdCBBdG9taWNTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWws
IGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpOwotCi0gICAgU3RyaW5nIG1faWQ7Ci0gICAgQXRvbWlj
U3RyaW5nIG1fa2luZDsKLSAgICBTdHJpbmcgbV9sYWJlbDsKLSAgICBTdHJpbmcgbV9sYW5ndWFn
ZTsKLX07Ci0KLXR5cGVkZWYgVmVjdG9yPFJlZlB0cjxUcmFjaz4gPiBUcmFja1ZlY3RvcjsKLQot
Y2xhc3MgVHJhY2tMaXN0IDogcHVibGljIFJlZkNvdW50ZWQ8VHJhY2tMaXN0PiwKLSNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQotICAgICAgICAgICAgICAgICAgcHVibGljIE1lZGlhU3RyZWFtRnJh
bWVDb250cm9sbGVyOjpHZW5lcmljQ2xpZW50LAotI2VuZGlmCi0gICAgICAgICAgICAgICAgICBw
dWJsaWMgRXZlbnRUYXJnZXQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRyYWNr
TGlzdD4gY3JlYXRlKGNvbnN0IFRyYWNrVmVjdG9yJik7Ci0gICAgdmlydHVhbCB+VHJhY2tMaXN0
KCk7Ci0KLSAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCgpIGNvbnN0OwotICAgIGNvbnN0IFN0cmlu
ZyYgZ2V0SUQodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwotICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgZ2V0S2luZCh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRp
b25Db2RlJikgY29uc3Q7Ci0gICAgY29uc3QgU3RyaW5nJiBnZXRMYWJlbCh1bnNpZ25lZCBsb25n
IGluZGV4LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7Ci0gICAgY29uc3QgU3RyaW5nJiBnZXRMYW5n
dWFnZSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7Ci0KLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNoYW5nZSk7Ci0KLSAgICB2aXJ0dWFsIHZv
aWQgY2xlYXIoKTsKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgdm9pZCBhc3NvY2lh
dGVTdHJlYW0oY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCk7Ci0gICAgY29uc3QgU3RyaW5nJiBh
c3NvY2lhdGVkU3RyZWFtTGFiZWwoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgdHJhY2tGYWls
ZWQodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0jZW5kaWYKLQotICAgIC8vIEV2ZW50VGFyZ2V0IGlt
cGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgVHJhY2tMaXN0KiB0b1RyYWNrTGlzdCgpOwotICAg
IHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IGNvbnN0OwotCi0gICAgdXNpbmcgUmVmQ291bnRlZDxUcmFja0xpc3Q+OjpyZWY7Ci0gICAgdXNp
bmcgUmVmQ291bnRlZDxUcmFja0xpc3Q+OjpkZXJlZjsKLQotICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBULCB0eXBlbmFtZSBVPgotICAgIGNsYXNzIERpc3BhdGNoVGFzayA6IHB1YmxpYyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHR5cGVkZWYgdm9p
ZCAoVDo6KkNhbGxiYWNrKShVKTsKLQotICAgICAgICBzdGF0aWMgUGFzc093blB0cjxEaXNwYXRj
aFRhc2s+IGNyZWF0ZShQYXNzUmVmUHRyPFQ+IG9iamVjdCwgQ2FsbGJhY2sgY2FsbGJhY2ssIFUg
YXJncykKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEaXNwYXRj
aFRhc2sob2JqZWN0LCBjYWxsYmFjaywgYXJncykpOwotICAgICAgICB9Ci0KLSAgICAgICAgdmly
dHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQotICAgICAgICB7
Ci0gICAgICAgICAgICAobV9vYmplY3QuZ2V0KCktPiptX2NhbGxiYWNrKShtX2FyZ3MpOwotICAg
ICAgICB9Ci0KLSAgICBwdWJsaWM6Ci0gICAgICAgIERpc3BhdGNoVGFzayhQYXNzUmVmUHRyPFQ+
IG9iamVjdCwgQ2FsbGJhY2sgY2FsbGJhY2ssIFUgYXJncykKLSAgICAgICAgICAgIDogbV9vYmpl
Y3Qob2JqZWN0KQotICAgICAgICAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQotICAgICAgICAg
ICAgLCBtX2FyZ3MoYXJncykgeyB9Ci0KLSAgICAgICAgUmVmUHRyPFQ+IG1fb2JqZWN0OwotICAg
ICAgICBDYWxsYmFjayBtX2NhbGxiYWNrOwotICAgICAgICBVIG1fYXJnczsKLSAgICB9OwotCi1w
cm90ZWN0ZWQ6Ci0gICAgVHJhY2tMaXN0KGNvbnN0IFRyYWNrVmVjdG9yJik7Ci0gICAgYm9vbCBj
aGVja0luZGV4KGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmLCBsb25nIGFsbG93ZWQgPSAwKSBj
b25zdDsKLSAgICB2b2lkIHBvc3RDaGFuZ2VFdmVudCgpOwotCi0gICAgLy8gRXZlbnRUYXJnZXQg
aW1wbGVtZW50YXRpb24uCi0gICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0
RGF0YSgpOwotICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERh
dGEoKTsKLQotcHJpdmF0ZToKLSAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KLSAg
ICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigpOyB9Ci0gICAgdmlydHVhbCB2
b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KLQotICAgIHZvaWQgZGlzcGF0Y2hD
aGFuZ2VFdmVudChpbnQpOwotCi0gICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRh
OwotICAgIFRyYWNrVmVjdG9yIG1fdHJhY2tzOwotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
LSAgICBTdHJpbmcgbV9hc3NvY2lhdGVkU3RyZWFtTGFiZWw7Ci0jZW5kaWYKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVO
QUJMRShWSURFT19UUkFDSykKLQotI2VuZGlmIC8vIFRyYWNrTGlzdF9oCmRpZmYgLS1naXQgU291
cmNlL1dlYkNvcmUvZG9tL1RyYWNrTGlzdC5pZGwgU291cmNlL1dlYkNvcmUvZG9tL1RyYWNrTGlz
dC5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxNjBkYWUuLjAwMDAwMDAKLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsNDUg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotbW9kdWxlIGNvcmUgewotCi0gICAgaW50ZXJmYWNlIFsK
LSAgICAgICAgTGVnYWN5RGVmYXVsdE9wdGlvbmFsQXJndW1lbnRzLAotICAgICAgICBDb25kaXRp
b25hbD1NRURJQV9TVFJFQU18VklERU9fVFJBQ0ssCi0gICAgICAgIEV2ZW50VGFyZ2V0Ci0gICAg
XSBUcmFja0xpc3QgewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBs
ZW5ndGg7Ci0gICAgICAgIERPTVN0cmluZyBnZXRJRChpbiB1bnNpZ25lZCBsb25nIGluZGV4KQot
ICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIERPTVN0cmluZyBnZXRL
aW5kKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKLSAgICAgICAgRE9NU3RyaW5nIGdldExhYmVsKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgp
Ci0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgRE9NU3RyaW5nIGdl
dExhbmd1YWdlKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi0gICAgICAgICAgICByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKLQotICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNoYW5nZTsK
LSAgICB9OwotCi19CmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNs
aWVudC5oIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaAppbmRleCBiM2Vm
NzQwLi4wM2RlZGZkIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNs
aWVudC5oCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ2xpZW50LmgKQEAgLTUy
LDEyICs1Miw4IEBAIHB1YmxpYzoKICAgICAvLyBTdG9wIGEgZ2VuZXJhdGVkIHN0cmVhbS4KICAg
ICB2aXJ0dWFsIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxh
YmVsKSA9IDA7CiAKLSAgICAvLyBFbmFibGUvZGlzYWJsZSBhbiBhdWRpbyB0cmFjayBpbiBhIGdl
bmVyYXRlZCBzdHJlYW0uCi0gICAgdmlydHVhbCB2b2lkIGVuYWJsZUF1ZGlvVHJhY2soY29uc3Qg
U3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBkaXNhYmxlQXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNp
Z25lZCBsb25nIGluZGV4KSA9IDA7Ci0KLSAgICAvLyBTZWxlY3QgYSB2aWRlbyB0cmFjayBpbiBh
IGdlbmVyYXRlZCBzdHJlYW0uCi0gICAgdmlydHVhbCB2b2lkIHNlbGVjdFZpZGVvVHJhY2soY29u
c3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgbG9uZyBpbmRleCkgPSAwOworICAgIC8vIEVuYWJsZS9k
aXNhYmxlIGFuIHRyYWNrLgorICAgIHZpcnR1YWwgdm9pZCBzZXRNZWRpYVN0cmVhbVRyYWNrRW5h
YmxlZChjb25zdCBTdHJpbmcmIHRyYWNrSWQsIGJvb2wgZW5hYmxlZCkgPSAwOwogCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1DbGllbnQoKSB7IH0KZGlmZiAtLWdpdCBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAgU291cmNlL1dlYkNvcmUv
cGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCmluZGV4IDA0MzIyZTguLmFhZGNmNjAgMTAw
NjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcApAQCAtMjcsOSAr
MjcsOCBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAotI2luY2x1ZGUgIkV4Y2x1c2l2
ZVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgiCi0j
aW5jbHVkZSAiTXVsdGlwbGVUcmFja0xpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbVRyYWNr
TGlzdC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCkBAIC0xMTksMjIgKzExOCwxMiBAQCB2b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6
c3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKQogICAgIG1fY2xp
ZW50LT5zdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVhbUxhYmVsKTsKIH0KIAotdm9pZCBNZWRpYVN0
cmVhbUNvbnRyb2xsZXI6OmVuYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJl
bCwgdW5zaWduZWQgbG9uZyBpbmRleCkKK3ZvaWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzZXRN
ZWRpYVN0cmVhbVRyYWNrRW5hYmxlZChjb25zdCBTdHJpbmcmIHRyYWNrSWQsIGJvb2wgZW5hYmxl
ZCkKIHsKLSAgICBtX2NsaWVudC0+ZW5hYmxlQXVkaW9UcmFjayhzdHJlYW1MYWJlbCwgaW5kZXgp
OworICAgIG1fY2xpZW50LT5zZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZCh0cmFja0lkLCBlbmFi
bGVkKTsKIH0KIAotdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OmRpc2FibGVBdWRpb1RyYWNr
KGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi17Ci0gICAg
bV9jbGllbnQtPmRpc2FibGVBdWRpb1RyYWNrKHN0cmVhbUxhYmVsLCBpbmRleCk7Ci19Ci0KLXZv
aWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzZWxlY3RWaWRlb1RyYWNrKGNvbnN0IFN0cmluZyYg
c3RyZWFtTGFiZWwsIGxvbmcgaW5kZXgpCi17Ci0gICAgbV9jbGllbnQtPnNlbGVjdFZpZGVvVHJh
Y2soc3RyZWFtTGFiZWwsIGluZGV4KTsKLX0KLQotdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6
OnN0cmVhbUdlbmVyYXRlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBz
dHJlYW1MYWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MsIFBh
c3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcykKK3ZvaWQgTWVkaWFTdHJl
YW1Db250cm9sbGVyOjpzdHJlYW1HZW5lcmF0ZWQoaW50IGNvbnRyb2xsZXJSZXF1ZXN0SWQsIGNv
bnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+
IHRyYWNrcykKIHsKICAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGZyYW1lIGNvbnRyb2xs
ZXIgY2FuIGhhdmUgYmVlbiBkZXN0cm95ZWQgd2hpbGUgdGhlIHJlcXVlc3QgcmVwbHkgd2FzIGNv
bWluZyBiYWNrLgogICAgIGlmIChtX3JlcXVlc3RzLmNvbnRhaW5zKGNvbnRyb2xsZXJSZXF1ZXN0
SWQpKSB7CkBAIC0xNDIsNyArMTMxLDcgQEAgdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0
cmVhbUdlbmVyYXRlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgY29uc3QgU3RyaW4KICAgICAg
ICAgcmVnaXN0ZXJTdHJlYW0oc3RyZWFtTGFiZWwsIHJlcXVlc3QuZnJhbWVDb250cm9sbGVyKCkp
OwogICAgICAgICBtX3JlcXVlc3RzLnJlbW92ZShjb250cm9sbGVyUmVxdWVzdElkKTsKICAgICAg
ICAgQVNTRVJUKHJlcXVlc3QuZnJhbWVDb250cm9sbGVyKCkpOwotICAgICAgICByZXF1ZXN0LmZy
YW1lQ29udHJvbGxlcigpLT5zdHJlYW1HZW5lcmF0ZWQocmVxdWVzdC5sb2NhbElkKCksIHN0cmVh
bUxhYmVsLCBhdWRpb1RyYWNrcywgdmlkZW9UcmFja3MpOworICAgICAgICByZXF1ZXN0LmZyYW1l
Q29udHJvbGxlcigpLT5zdHJlYW1HZW5lcmF0ZWQocmVxdWVzdC5sb2NhbElkKCksIHN0cmVhbUxh
YmVsLCB0cmFja3MpOwogICAgIH0KIH0KIApAQCAtMTYzLDIwICsxNTIsNiBAQCB2b2lkIE1lZGlh
U3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwp
CiAgICAgICAgIG1fc3RyZWFtcy5nZXQoc3RyZWFtTGFiZWwpLT5zdHJlYW1GYWlsZWQoc3RyZWFt
TGFiZWwpOwogfQogCi12b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6YXVkaW9UcmFja0ZhaWxl
ZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KQotewotICAg
IC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgZnJhbWUgY29udHJvbGxlciBjYW4gaGF2ZSBiZWVu
IGRlc3Ryb3llZCBieSB0aGUgdGltZSB0aGlzIGlzIGNhbGxlZC4KLSAgICBpZiAobV9zdHJlYW1z
LmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkKLSAgICAgICAgbV9zdHJlYW1zLmdldChzdHJlYW1MYWJl
bCktPmF1ZGlvVHJhY2tGYWlsZWQoc3RyZWFtTGFiZWwsIGluZGV4KTsKLX0KLQotdm9pZCBNZWRp
YVN0cmVhbUNvbnRyb2xsZXI6OnZpZGVvVHJhY2tGYWlsZWQoY29uc3QgU3RyaW5nJiBzdHJlYW1M
YWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICAvLyBEb24ndCBhc3NlcnQgc2luY2Ug
dGhlIGZyYW1lIGNvbnRyb2xsZXIgY2FuIGhhdmUgYmVlbiBkZXN0cm95ZWQgYnkgdGhlIHRpbWUg
dGhpcyBpcyBjYWxsZWQuCi0gICAgaWYgKG1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1MYWJlbCkp
Ci0gICAgICAgIG1fc3RyZWFtcy5nZXQoc3RyZWFtTGFiZWwpLT52aWRlb1RyYWNrRmFpbGVkKHN0
cmVhbUxhYmVsLCBpbmRleCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvcGFnZS9N
ZWRpYVN0cmVhbUNvbnRyb2xsZXIuaCBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29u
dHJvbGxlci5oCmluZGV4IGIyZDU2YzIuLjEwYWM0Y2UgMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL01l
ZGlhU3RyZWFtQ29udHJvbGxlci5oCkBAIC0zNiwxMCArMzYsOSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIEV4Y2x1c2l2ZVRyYWNrTGlzdDsKIGNsYXNzIE1lZGlhU3RyZWFtQ2xp
ZW50OwogY2xhc3MgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI7Ci1jbGFzcyBNdWx0aXBsZVRy
YWNrTGlzdDsKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tMaXN0OwogY2xhc3MgU2VjdXJpdHlPcmln
aW47CiAKIGNsYXNzIE1lZGlhU3RyZWFtQ29udHJvbGxlciB7CkBAIC01MywxNSArNTIsMTMgQEAg
cHVibGljOgogCiAgICAgdm9pZCBnZW5lcmF0ZVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlciosIGludCByZXF1ZXN0SWQsIEdlbmVyYXRlU3RyZWFtT3B0aW9uRmxhZ3MsIFBhc3NSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+KTsKICAgICB2b2lkIHN0b3BHZW5lcmF0ZWRTdHJlYW0oY29uc3Qg
U3RyaW5nJiBzdHJlYW1MYWJlbCk7Ci0gICAgdm9pZCBlbmFibGVBdWRpb1RyYWNrKGNvbnN0IFN0
cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgZGlzYWJs
ZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRl
eCk7Ci0gICAgdm9pZCBzZWxlY3RWaWRlb1RyYWNrKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWws
IGxvbmcgaW5kZXgpOwogCi0gICAgdm9pZCBzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwg
Y29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4g
YXVkaW9UcmFja3MsIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcyk7
CisgICAgLy8gRW5hYmxlL2Rpc2FibGUgYW4gdHJhY2suCisgICAgdm9pZCBzZXRNZWRpYVN0cmVh
bVRyYWNrRW5hYmxlZChjb25zdCBTdHJpbmcmIHRyYWNrSWQsIGJvb2wgZW5hYmxlZCk7CisKKyAg
ICB2b2lkIHN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHN0cmVh
bUxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFja3MpOwogICAgIHZv
aWQgc3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVzdElkLCBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcjo6RXJyb3JDb2RlKTsKICAgICB2b2lkIHN0cmVhbUZhaWxlZChjb25zdCBTdHJpbmcm
IHN0cmVhbUxhYmVsKTsKLSAgICB2b2lkIGF1ZGlvVHJhY2tGYWlsZWQoY29uc3QgU3RyaW5nJiBz
dHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCB2aWRlb1RyYWNrRmFp
bGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCiBw
cml2YXRlOgogICAgIGludCByZWdpc3RlclJlcXVlc3QoaW50IGxvY2FsUmVxdWVzdElkLCBNZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlciopOwpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCmluZGV4IDVlOTRiODIuLjkyMDUzMzggMTAwNjQ0Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAKQEAgLTI5
LDExICsyOSwxMCBAQAogCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKLSNpbmNsdWRlICJFeGNsdXNpdmVUcmFja0xpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5o
IgogI2luY2x1ZGUgIkxvY2FsTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbUNv
bnRyb2xsZXIuaCIKLSNpbmNsdWRlICJNdWx0aXBsZVRyYWNrTGlzdC5oIgorI2luY2x1ZGUgIk1l
ZGlhU3RyZWFtVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjay5oIgogI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTMwNywzNyArMzA2LDEzIEBAIHZvaWQgTWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXI6OnN0b3BHZW5lcmF0ZWRTdHJlYW0oY29uc3QgU3RyaW5nJiBzdHJl
YW1MYWJlbCkKICAgICAgICAgcGFnZUNvbnRyb2xsZXIoKS0+c3RvcEdlbmVyYXRlZFN0cmVhbShz
dHJlYW1MYWJlbCk7CiB9CiAKLXZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmVuYWJs
ZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRl
eCkKK3ZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnNldE1lZGlhU3RyZWFtVHJhY2tF
bmFibGVkKGNvbnN0IFN0cmluZyYgdHJhY2tJZCwgYm9vbCBlbmFibGVkKQogewotICAgIC8vIERv
bid0IGFzc2VydCBzaW5jZSB0aGUgYXVkaW8gdHJhY2tzIGRvbid0IG5lY2Vzc2FyaWx5IGtlZXAg
YWxpdmUgdGhlaXIgYXNzb2NpYXRlZCBnZW5lcmF0ZWQgc3RyZWFtIG9iamVjdC4KLSAgICBpZiAo
IW1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1MYWJlbCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmIChpc0NsaWVudEF2YWlsYWJsZSgpKQotICAgICAgICBwYWdlQ29udHJvbGxlcigpLT5lbmFi
bGVBdWRpb1RyYWNrKHN0cmVhbUxhYmVsLCBpbmRleCk7Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXI6OmRpc2FibGVBdWRpb1RyYWNrKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFi
ZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi17Ci0gICAgLy8gRG9uJ3QgYXNzZXJ0IHNpbmNlIHRo
ZSBhdWRpbyB0cmFja3MgZG9uJ3QgbmVjZXNzYXJpbHkga2VlcCBhbGl2ZSB0aGVpciBhc3NvY2lh
dGVkIGdlbmVyYXRlZCBzdHJlYW0gb2JqZWN0LgotICAgIGlmICghbV9zdHJlYW1zLmNvbnRhaW5z
KHN0cmVhbUxhYmVsKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGlzQ2xpZW50QXZhaWxh
YmxlKCkpCi0gICAgICAgIHBhZ2VDb250cm9sbGVyKCktPmRpc2FibGVBdWRpb1RyYWNrKHN0cmVh
bUxhYmVsLCBpbmRleCk7Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnNl
bGVjdFZpZGVvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgbG9uZyBpbmRleCkKLXsK
LSAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGF1ZGlvIHRyYWNrcyBkb24ndCBuZWNlc3Nh
cmlseSBrZWVwIGFsaXZlIHRoZWlyIGFzc29jaWF0ZWQgZ2VuZXJhdGVkIHN0cmVhbSBvYmplY3Qu
Ci0gICAgaWYgKCFtX3N0cmVhbXMuY29udGFpbnMoc3RyZWFtTGFiZWwpKQotICAgICAgICByZXR1
cm47Ci0KICAgICBpZiAoaXNDbGllbnRBdmFpbGFibGUoKSkKLSAgICAgICAgcGFnZUNvbnRyb2xs
ZXIoKS0+c2VsZWN0VmlkZW9UcmFjayhzdHJlYW1MYWJlbCwgaW5kZXgpOworICAgICAgICBwYWdl
Q29udHJvbGxlcigpLT5zZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZCh0cmFja0lkLCBlbmFibGVk
KTsKIH0KIAotdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVk
KGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIFBhc3NSZWZQdHI8TXVsdGlwbGVU
cmFja0xpc3Q+IGF1ZGlvVHJhY2tzUGFyYW0sIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0
PiB2aWRlb1RyYWNrc1BhcmFtKQordm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3Ry
ZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrc1BhcmFtKQogewogICAgIC8vIERvbid0IGFz
c2VydCBzaW5jZSB0aGUgcmVxdWVzdCBjYW4gaGF2ZSBiZWVuIGFib3J0ZWQgYXMgYSByZXN1bHQg
b2YgZW1iZWRkZXIgZGV0YWNobWVudC4KICAgICBpZiAoIW1fcmVxdWVzdHMuY29udGFpbnMocmVx
dWVzdElkKSkKQEAgLTM0NSwyMiArMzIwLDE5IEBAIHZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRy
b2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIGxhCiAK
ICAgICBBU1NFUlQobV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS0+aXNHZW5lcmF0ZVN0cmVhbVJl
cXVlc3QoKSk7CiAgICAgQVNTRVJUKCFsYWJlbC5pc051bGwoKSk7Ci0gICAgQVNTRVJUKGF1ZGlv
VHJhY2tzUGFyYW0pOwotICAgIEFTU0VSVCh2aWRlb1RyYWNrc1BhcmFtKTsKKyAgICBBU1NFUlQo
dHJhY2tzUGFyYW0pOwogCi0gICAgUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBhdWRpb1RyYWNr
cyA9IGF1ZGlvVHJhY2tzUGFyYW07Ci0gICAgUmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlk
ZW9UcmFja3MgPSB2aWRlb1RyYWNrc1BhcmFtOworICAgIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNr
TGlzdD4gdHJhY2tzID0gdHJhY2tzUGFyYW07CiAKLSAgICBpbnQgYXVkaW9UcmFja3NDbGllbnRJ
ZCA9IG1fY2xpZW50cy5nZXROZXh0SWQoKTsKLSAgICBhdWRpb1RyYWNrcy0+YXNzb2NpYXRlRnJh
bWVDb250cm9sbGVyKHRoaXMsIGF1ZGlvVHJhY2tzQ2xpZW50SWQpOwotICAgIG1fY2xpZW50cy5h
ZGQoYXVkaW9UcmFja3NDbGllbnRJZCwgYXVkaW9UcmFja3MuZ2V0KCkpOwotCi0gICAgaW50IHZp
ZGVvVHJhY2tzQ2xpZW50SWQgPSBtX2NsaWVudHMuZ2V0TmV4dElkKCk7Ci0gICAgdmlkZW9UcmFj
a3MtPmFzc29jaWF0ZUZyYW1lQ29udHJvbGxlcih0aGlzLCB2aWRlb1RyYWNrc0NsaWVudElkKTsK
LSAgICBtX2NsaWVudHMuYWRkKHZpZGVvVHJhY2tzQ2xpZW50SWQsIHZpZGVvVHJhY2tzLmdldCgp
KTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdHJhY2tzLT5sZW5ndGgoKTsgKytpKSB7
CisgICAgICAgIGludCB0cmFja0NsaWVudElkID0gbV9jbGllbnRzLmdldE5leHRJZCgpOworICAg
ICAgICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gdHJhY2sgPSB0cmFja3MtPml0ZW0oaSk7Cisg
ICAgICAgIHRyYWNrLT5hc3NvY2lhdGVGcmFtZUNvbnRyb2xsZXIodGhpcywgdHJhY2tDbGllbnRJ
ZCk7CisgICAgICAgIG1fY2xpZW50cy5hZGQodHJhY2tDbGllbnRJZCwgdHJhY2suZ2V0KCkpOwor
ICAgIH0KIAogICAgIFJlZlB0cjxHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q+IHN0cmVhbVJlcXVlc3Qg
PSBzdGF0aWNfY2FzdDxHZW5lcmF0ZVN0cmVhbVJlcXVlc3QqPihtX3JlcXVlc3RzLmdldChyZXF1
ZXN0SWQpLmdldCgpKTsKLSAgICBSZWZQdHI8TG9jYWxNZWRpYVN0cmVhbT4gZ2VuZXJhdGVkU3Ry
ZWFtID0gTG9jYWxNZWRpYVN0cmVhbTo6Y3JlYXRlKHRoaXMsIGxhYmVsLCBhdWRpb1RyYWNrcy5y
ZWxlYXNlKCksIHZpZGVvVHJhY2tzLnJlbGVhc2UoKSk7CisgICAgUmVmUHRyPExvY2FsTWVkaWFT
dHJlYW0+IGdlbmVyYXRlZFN0cmVhbSA9IExvY2FsTWVkaWFTdHJlYW06OmNyZWF0ZSh0aGlzLCBs
YWJlbCwgdHJhY2tzLnJlbGVhc2UoKSk7CiAgICAgbV9zdHJlYW1zLmFkZChsYWJlbCwgZ2VuZXJh
dGVkU3RyZWFtLmdldCgpKTsKICAgICBtX3JlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOwogICAg
IHN0cmVhbVJlcXVlc3QtPnN1Y2Nlc3NDYWxsYmFjaygpLT5oYW5kbGVFdmVudChnZW5lcmF0ZWRT
dHJlYW0uZ2V0KCkpOwpAQCAtMzg4LDIwICszNjAsNiBAQCB2b2lkIE1lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyOjpzdHJlYW1GYWlsZWQoY29uc3QgU3RyaW5nJiBsYWJlbCkKICAgICBnZXRTdHJl
YW1Gcm9tTGFiZWwobGFiZWwpLT5zdHJlYW1FbmRlZCgpOwogfQogCi12b2lkIE1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyOjphdWRpb1RyYWNrRmFpbGVkKGNvbnN0IFN0cmluZyYgbGFiZWwsIHVu
c2lnbmVkIGxvbmcgaW5kZXgpCi17Ci0gICAgTWVkaWFTdHJlYW0qIHN0cmVhbSA9IGdldFN0cmVh
bUZyb21MYWJlbChsYWJlbCk7Ci0gICAgQVNTRVJUKHN0cmVhbS0+aXNMb2NhbE1lZGlhU3RyZWFt
KCkpOwotICAgIHN0YXRpY19jYXN0PExvY2FsTWVkaWFTdHJlYW0qPihzdHJlYW0pLT5hdWRpb1Ry
YWNrcygpLT50cmFja0ZhaWxlZChpbmRleCk7Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXI6OnZpZGVvVHJhY2tGYWlsZWQoY29uc3QgU3RyaW5nJiBsYWJlbCwgdW5zaWduZWQg
bG9uZyBpbmRleCkKLXsKLSAgICBNZWRpYVN0cmVhbSogc3RyZWFtID0gZ2V0U3RyZWFtRnJvbUxh
YmVsKGxhYmVsKTsKLSAgICBBU1NFUlQoc3RyZWFtLT5pc0xvY2FsTWVkaWFTdHJlYW0oKSk7Ci0g
ICAgc3RhdGljX2Nhc3Q8TG9jYWxNZWRpYVN0cmVhbSo+KHN0cmVhbSktPnZpZGVvVHJhY2tzKCkt
PnRyYWNrRmFpbGVkKGluZGV4KTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmggU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlci5oCmluZGV4IDc1MDJlZWQuLmJkMDY2NDIgMTAwNjQ0Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaApAQCAtMzcsMTIgKzM3
LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRXhjbHVzaXZlVHJhY2tMaXN0
OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBMb2NhbE1lZGlhU3RyZWFtOwogY2xhc3MgTWVkaWFTdHJl
YW07CiBjbGFzcyBNZWRpYVN0cmVhbUNvbnRyb2xsZXI7Ci1jbGFzcyBNdWx0aXBsZVRyYWNrTGlz
dDsKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tMaXN0OwogY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjazsKIGNsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazsK
IGNsYXNzIFBhZ2U7CkBAIC03Niw3ICs3NSw3IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2
b2lkIGRldGFjaEVtYmVkZGVyKCkgeyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIC8vIFVz
ZWQgZm9yIG9iamVjdHMgdGhhdCBhcmUgb3B0aW9uYWxseSBhc3NvY2lhdGVkIHRvIHRoZSBmcmFt
ZSBjb250cm9sbGVyIGFmdGVyIGNvbnN0cnVjdGlvbiwgbGlrZSB0aGUgdHJhY2sgbGlzdHMuCisg
ICAgICAgIC8vIFVzZWQgZm9yIG9iamVjdHMgdGhhdCBhcmUgb3B0aW9uYWxseSBhc3NvY2lhdGVk
IHRvIHRoZSBmcmFtZSBjb250cm9sbGVyIGFmdGVyIGNvbnN0cnVjdGlvbiwgbGlrZSB0aGUgTWVk
aWFTdHJlYW1UcmFja3MuCiAgICAgICAgIHZvaWQgYXNzb2NpYXRlRnJhbWVDb250cm9sbGVyKE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IElkVHlwZSYg
aWQpCiAgICAgICAgIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9mcmFtZUNvbnRyb2xsZXIgJiYg
IW1fY2xpZW50SWQpOwpAQCAtMTA2LDIzICsxMDUsMTggQEAgcHVibGljOgogCiAgICAgY2xhc3Mg
TWVkaWFTdHJlYW1DbGllbnQgOiBwdWJsaWMgQ2xpZW50QmFzZTxTdHJpbmc+IHsKICAgICBwdWJs
aWM6Ci0gICAgICAgIE1lZGlhU3RyZWFtQ2xpZW50KE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
KiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGJvb2wgaXNMb2NhbE1lZGlh
U3RyZWFtKQotICAgICAgICAgICAgOiBDbGllbnRCYXNlPFN0cmluZz4oZnJhbWVDb250cm9sbGVy
LCBsYWJlbCkKLSAgICAgICAgICAgICwgbV9pc0xvY2FsTWVkaWFTdHJlYW0oaXNMb2NhbE1lZGlh
U3RyZWFtKSB7IH0KKyAgICAgICAgTWVkaWFTdHJlYW1DbGllbnQoTWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkKKyAgICAgICAg
ICAgIDogQ2xpZW50QmFzZTxTdHJpbmc+KGZyYW1lQ29udHJvbGxlciwgbGFiZWwpIHsgfQogCiAg
ICAgICAgIHZpcnR1YWwgfk1lZGlhU3RyZWFtQ2xpZW50KCkgeyB1bnJlZ2lzdGVyKCk7IH0KIAog
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYVN0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KIAotICAgICAgICAvLyBBY2Nlc3NlZCBieSB0aGUgZGVzdHJ1Y3Rvci4KLSAgICAgICAgdmly
dHVhbCBib29sIGlzTG9jYWxNZWRpYVN0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2NhbE1l
ZGlhU3RyZWFtOyB9Ci0KICAgICAgICAgLy8gU3RyZWFtIGhhcyBlbmRlZCBmb3Igc29tZSBleHRl
cm5hbCByZWFzb24uCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1FbmRlZCgpID0gMDsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyKCkgeyB1bnJlZ2lz
dGVyQ2xpZW50KHRoaXMpOyB9Ci0gICAgICAgIGJvb2wgbV9pc0xvY2FsTWVkaWFTdHJlYW07CiAg
ICAgfTsKIAogICAgIC8vIEdlbmVyaWMgY2xpZW50cyBhcmUgb2JqZWN0cyB0aGF0IHJlcXVpcmUg
YWNjZXNzIHRvIHRoZSBmcmFtZSBjb250cm9sbGVyIGJ1dCBkb24ndCBoYXZlIGEgZ2xvYmFsIGlk
IChsaWtlIHN0cmVhbXMgZG8pCkBAIC0xNTUsMjAgKzE0OSwxNiBAQCBwdWJsaWM6CiAgICAgLy8g
Q3JlYXRlIGEgbmV3IGdlbmVyYXRlZCBzdHJlYW0gYXN5bmNocm9ub3VzbHkgd2l0aCB0aGUgcHJv
dmlkZWQgb3B0aW9ucy4KICAgICB2b2lkIGdlbmVyYXRlU3RyZWFtKGNvbnN0IFN0cmluZyYgb3B0
aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LCBQYXNz
UmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJik7
CiAKLSAgICAvLyBTdG9wIGEgZ2VuZXJhdGVkIHN0cmVhbS4KKyAgICAvLyBTdG9wIGEgbG9jYWwg
bWVkaWEgc3RyZWFtLgogICAgIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcm
IHN0cmVhbUxhYmVsKTsKIAotICAgIC8vIEVuYWJsZS9kaXNhYmxlIGFuIGF1ZGlvIHRyYWNrIGlu
IGEgZ2VuZXJhdGVkIHN0cmVhbS4KLSAgICB2b2lkIGVuYWJsZUF1ZGlvVHJhY2soY29uc3QgU3Ry
aW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCBkaXNhYmxl
QXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4
KTsKLQotICAgIC8vIFNlbGVjdCBhIHZpZGVvIHRyYWNrIGluIGEgZ2VuZXJhdGVkIHN0cmVhbS4K
LSAgICB2b2lkIHNlbGVjdFZpZGVvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgbG9u
ZyBpbmRleCk7CisgICAgLy8gRW5hYmxlL2Rpc2FibGUgYW4gdHJhY2suCisgICAgdm9pZCBzZXRN
ZWRpYVN0cmVhbVRyYWNrRW5hYmxlZChjb25zdCBTdHJpbmcmIHRyYWNrSWQsIGJvb2wgZW5hYmxl
ZCk7CiAKICAgICAvLyAtLS0gQ2FsbHMgY29taW5nIGJhY2sgZnJvbSB0aGUgY29udHJvbGxlci4g
LS0tIC8vCiAKICAgICAvLyBSZXBvcnQgdGhlIGdlbmVyYXRpb24gb2YgYSBuZXcgbG9jYWwgc3Ry
ZWFtLgotICAgIHZvaWQgc3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmlu
ZyYgc3RyZWFtTGFiZWwsIFBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGF1ZGlvVHJhY2tz
LCBQYXNzUmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3MpOworICAgIHZvaWQg
c3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWws
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcyk7CiAKICAgICAvLyBSZXBv
cnQgYSBmYWlsdXJlIGluIHRoZSBnZW5lcmF0aW9uIG9mIGEgbmV3IHN0cmVhbS4KICAgICB2b2lk
IHN0cmVhbUdlbmVyYXRpb25GYWlsZWQoaW50IHJlcXVlc3RJZCwgTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3I6OkVycm9yQ29kZSk7CkBAIC0xNzYsMTAgKzE2Niw2IEBAIHB1YmxpYzoKICAgICAvLyBS
ZXBvcnQgdGhlIGVuZCBvZiBhIHN0cmVhbSBmb3IgZXh0ZXJuYWwgcmVhc29ucy4KICAgICB2b2lk
IHN0cmVhbUZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKTsKIAotICAgIC8vIFJlcG9y
dCB0aGUgdW5leHBlY3RlZCB1bmF2YWlsYWJpbGl0eSBvZiBhIGxpdmUgbWVkaWEgdHJhY2suCi0g
ICAgdm9pZCBhdWRpb1RyYWNrRmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgdmlkZW9UcmFja0ZhaWxlZChjb25zdCBTdHJpbmcm
IHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLQogcHJpdmF0ZToKICAgICBjbGFz
cyBSZXF1ZXN0OwogICAgIGNsYXNzIEdlbmVyYXRlU3RyZWFtUmVxdWVzdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101445</attachid>
            <date>2011-07-20 03:32:06 -0700</date>
            <delta_ts>2011-07-20 04:47:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64791-20110720123204.patch</filename>
            <type>text/plain</type>
            <size>102700</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEzNDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMTFiNDRi
ODMwNGZkNTVjMTc3YWI3ZDY5YWVmODE5NTNlOThhN2I1YS4uNDYxNzJhMzliYmQyMDJiZjY1Y2Vj
NDg1MTcxZGNkOTY2ZjQzMmQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1NSwxNCArMTU1
LDEyIEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9FcnJvckV2ZW50LmlkbAogICAg
IGRvbS9FdmVudEV4Y2VwdGlvbi5pZGwKICAgICBkb20vRXZlbnQuaWRsCi0gICAgZG9tL0V4Y2x1
c2l2ZVRyYWNrTGlzdC5pZGwKICAgICBkb20vSGFzaENoYW5nZUV2ZW50LmlkbAogICAgIGRvbS9L
ZXlib2FyZEV2ZW50LmlkbAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5pZGwKICAgICBkb20vTWVz
c2FnZUV2ZW50LmlkbAogICAgIGRvbS9NZXNzYWdlUG9ydC5pZGwKICAgICBkb20vTW91c2VFdmVu
dC5pZGwKLSAgICBkb20vTXVsdGlwbGVUcmFja0xpc3QuaWRsCiAgICAgZG9tL011dGF0aW9uRXZl
bnQuaWRsCiAgICAgZG9tL05hbWVkTm9kZU1hcC5pZGwKICAgICBkb20vTm9kZUZpbHRlci5pZGwK
QEAgLTE4Miw3ICsxODAsNiBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vVG91Y2hF
dmVudC5pZGwKICAgICBkb20vVG91Y2guaWRsCiAgICAgZG9tL1RvdWNoTGlzdC5pZGwKLSAgICBk
b20vVHJhY2tMaXN0LmlkbAogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbAogICAgIGRvbS9VSUV2ZW50
LmlkbAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwKQEAgLTU0MSw3ICs1MzgsNiBA
QCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuY3BwCiAgICAgZG9t
L0V4Y2VwdGlvbkNvZGUuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAK
LSAgICBkb20vRXhjbHVzaXZlVHJhY2tMaXN0LmNwcAogICAgIGRvbS9JY29uVVJMLmNwcAogICAg
IGRvbS9LZXlib2FyZEV2ZW50LmNwcAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5jcHAKQEAgLTU1
MCw3ICs1NDYsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL01lc3NhZ2VQb3J0LmNw
cAogICAgIGRvbS9Nb3VzZUV2ZW50LmNwcAogICAgIGRvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAK
LSAgICBkb20vTXVsdGlwbGVUcmFja0xpc3QuY3BwCiAgICAgZG9tL011dGF0aW9uRXZlbnQuY3Bw
CiAgICAgZG9tL05hbWVkTm9kZU1hcC5jcHAKICAgICBkb20vTmFtZU5vZGVMaXN0LmNwcApAQCAt
NTk0LDcgKzU4OSw2IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vVG91Y2guY3BwCiAg
ICAgZG9tL1RvdWNoRXZlbnQuY3BwCiAgICAgZG9tL1RvdWNoTGlzdC5jcHAKLSAgICBkb20vVHJh
Y2tMaXN0LmNwcAogICAgIGRvbS9UcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcAogICAgIGRvbS9U
cmF2ZXJzYWwuY3BwCiAgICAgZG9tL1RyZWVTY29wZS5jcHAKQEAgLTIwMjIsMTYgKzIwMTYsMjAg
QEAgSUYgKEVOQUJMRV9NRURJQV9TVFJFQU0pCiAgICAgICAgIGRvbS9Mb2NhbE1lZGlhU3RyZWFt
LmNwcAogICAgICAgICBkb20vTWVkaWFTdHJlYW0uY3BwCiAgICAgICAgIGRvbS9NZWRpYVN0cmVh
bUxpc3QuY3BwCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorICAgICAgICBkb20v
TWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwCiAgICAgICAgIGRvbS9TdHJlYW1FdmVudC5jcHAKICAg
ICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCiAgICAgICAgIHBhZ2UvTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCiAgICAgKQogCiAgICAgTElTVChBUFBFTkQgV2ViQ29y
ZV9JRExfRklMRVMKLSAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwKLSAgICAgICAgZG9t
L1N0cmVhbS5pZGwKKyAgICAgICAgZG9tL0xvY2FsTWVkaWFTdHJlYW0uaWRsCisgICAgICAgIGRv
bS9NZWRpYVN0cmVhbS5pZGwKKyAgICAgICAgZG9tL01lZGlhU3RyZWFtTGlzdC5pZGwKKyAgICAg
ICAgZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbVRyYWNr
TGlzdC5pZGwKICAgICAgICAgZG9tL1N0cmVhbUV2ZW50LmlkbAotICAgICAgICBkb20vU3RyZWFt
TGlzdC5pZGwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwKICAgICAp
CiBFTkRJRiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI2NDJhMGM1ZmE2ZDVjZTg2ZWE1NjhjZDdmMzRhNWE1
NGM4NjY1OTkuLjM1ZGFkNTUzMTk2NjY1NTIwZTUwNTEyNjQ4OGU0MTkzNTQzMjNkNTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw3NSBAQAorMjAxMS0wNy0yMCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0
b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IFVwZGF0ZSB0aGUg
dHJhY2tsaXN0cyB0byB0aGUgbGF0ZXN0IHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIHRlc3QgaGFybmVzcyB3aWxsIGJlIGZvcnRoY29taW5n
IHZlcnkgc29vbiBub3csIGludHJvZHVjaW5nIHRlc3RzIGZvciB0aGlzLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
SlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOERPTVdyYXBwZXI6OmNvbnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3QpOgorICAg
ICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNw
cDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKiBkb20vRXhjbHVzaXZl
VHJhY2tMaXN0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vTG9jYWxNZWRpYVN0cmVhbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6TG9jYWxNZWRpYVN0cmVhbTo6TG9jYWxNZWRpYVN0cmVhbSk6CisgICAgICAg
IChXZWJDb3JlOjpMb2NhbE1lZGlhU3RyZWFtOjpzdHJlYW1FbmRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpMb2NhbE1lZGlhU3RyZWFtOjpzdG9wKToKKyAgICAgICAgKiBkb20vTG9jYWxNZWRpYVN0
cmVhbS5oOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxNZWRpYVN0cmVhbTo6aXNMb2NhbE1lZGlh
U3RyZWFtKToKKyAgICAgICAgKiBkb20vTG9jYWxNZWRpYVN0cmVhbS5pZGw6CisgICAgICAgICog
ZG9tL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06Ok1lZGlhU3RyZWFtKToKKyAgICAg
ICAgKiBkb20vTWVkaWFTdHJlYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjp0
cmFja3MpOgorICAgICAgICAqIGRvbS9NZWRpYVN0cmVhbS5pZGw6CisgICAgICAgICogZG9tL01l
ZGlhU3RyZWFtVHJhY2suY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVz
aXZlVHJhY2tMaXN0LmguCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6TWVkaWFTdHJlYW1UcmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp+TWVkaWFTdHJlYW1UcmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpraW5kKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmxhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2s6OmVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1U
cmFjazo6c2V0RW5hYmxlZCk6CisgICAgICAgICogZG9tL01lZGlhU3RyZWFtVHJhY2suaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5oLgorICAgICAg
ICAqIGRvbS9NZWRpYVN0cmVhbVRyYWNrLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuaWRsLgorICAgICAgICAqIGRvbS9NZWRpYVN0cmVhbVRy
YWNrTGlzdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJh
Y2tMaXN0LmguCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrTGlzdDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tMaXN0OjpNZWRpYVN0cmVhbVRy
YWNrTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrTGlzdDo6fk1lZGlh
U3RyZWFtVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tMaXN0
OjpsZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xpc3Q6Oml0ZW0p
OgorICAgICAgICAqIGRvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvZG9tL1RyYWNrTGlzdC5pZGwuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbVRyYWNrTGlzdDo6YXNzb2NpYXRlU3RyZWFtKToKKyAgICAgICAgKiBkb20vTWVkaWFTdHJl
YW1UcmFja0xpc3QuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxl
VHJhY2tMaXN0LmlkbC4KKyAgICAgICAgKiBkb20vTXVsdGlwbGVUcmFja0xpc3QuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGRvbS9UcmFja0xpc3QuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGRv
bS9UcmFja0xpc3QuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtQ2xpZW50
Lmg6CisgICAgICAgICogcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW1Db250cm9sbGVyOjpzZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVy
YXRlZCk6CisgICAgICAgICogcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuaDoKKyAgICAgICAg
KiBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3RyZWFtR2Vu
ZXJhdGVkKToKKyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmg6CisK
IDIwMTEtMDctMjAgIEJvcmlzIFNtdXMgIDxzbXVzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBB
ZGQgYSByZXNvdXJjZUxpbmsgYXVkaXQgZm9ybWF0dGVyIHRvIG1ha2UgaXQgcG9zc2libGUgZm9y
IGRldnRvb2xzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKaW5kZXggOGNjNGU5NWY0ZTE4NTYx
MzM0NDY1OTg2YmNjZDY1OWNjOWUxYzY0MS4uZjI5ZjRmNTllODg5YWE5MDVlOGViZjlmYTI1MDU5
NjY3NThiYjE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQpAQCAtMTM5LDE3ICsxMzks
MTcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICMg
ICAgZG9tL0V2ZW50TGlzdGVuZXIuaWRsIFwKICMgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCi0g
ICAgZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5pZGwgXAogICAgIGRvbS9IYXNoQ2hhbmdlRXZlbnQu
aWRsIFwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5pZGwgXAogICAgIGRvbS9Mb2NhbE1lZGlhU3Ry
ZWFtLmlkbCBcCiAgICAgZG9tL01lZGlhU3RyZWFtLmlkbCBcCiAgICAgZG9tL01lZGlhU3RyZWFt
TGlzdC5pZGwgXAorICAgIGRvbS9NZWRpYVN0cmVhbVRyYWNrLmlkbCBcCisgICAgZG9tL01lZGlh
U3RyZWFtVHJhY2tMaXN0LmlkbCBcCiAgICAgZG9tL01vdXNlRXZlbnQuaWRsIFwKICAgICBkb20v
TWVzc2FnZUNoYW5uZWwuaWRsIFwKICAgICBkb20vTWVzc2FnZUV2ZW50LmlkbCBcCiAgICAgZG9t
L01lc3NhZ2VQb3J0LmlkbCBcCi0gICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmlkbCBcCiAgICAg
ZG9tL011dGF0aW9uRXZlbnQuaWRsIFwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbCBcCiAgICAg
ZG9tL05vZGUuaWRsIFwKQEAgLTE3MSw3ICsxNzEsNiBAQCBJRExfQklORElOR1MgKz0gXAogICAg
IGRvbS9Ub3VjaC5pZGwgXAogICAgIGRvbS9Ub3VjaEV2ZW50LmlkbCBcCiAgICAgZG9tL1RvdWNo
TGlzdC5pZGwgXAotICAgIGRvbS9UcmFja0xpc3QuaWRsIFwKICAgICBkb20vVHJlZVdhbGtlci5p
ZGwgXAogICAgIGRvbS9VSUV2ZW50LmlkbCBcCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50
LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggOWIwYmE4MzQ0ZWQxOTA5YTI4
NGRiN2JhMjgwMGY1NjJmZDY4Y2RkMi4uMzFhM2U4MDlkOWQ0MjkyNjNkMTA5MWJiZmI0MzUwMmUy
ZmIzNmExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTE0LDcgKzExNCw2IEBA
CiAjaW5jbHVkZSAiSlNFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNFdmVudEV4Y2VwdGlvbi5jcHAi
CiAjaW5jbHVkZSAiSlNFdmVudFNvdXJjZS5jcHAiCi0jaW5jbHVkZSAiSlNFeGNsdXNpdmVUcmFj
a0xpc3QuY3BwIgogI2luY2x1ZGUgIkpTRmlsZS5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlQ2FsbGJh
Y2suY3BwIgogI2luY2x1ZGUgIkpTRmlsZUVudHJ5LmNwcCIKQEAgLTIzMyw2ICsyMzIsOCBAQAog
I2luY2x1ZGUgIkpTTWVkaWFMaXN0LmNwcCIKICNpbmNsdWRlICJKU01lZGlhU3RyZWFtLmNwcCIK
ICNpbmNsdWRlICJKU01lZGlhU3RyZWFtTGlzdC5jcHAiCisjaW5jbHVkZSAiSlNNZWRpYVN0cmVh
bVRyYWNrLmNwcCIKKyNpbmNsdWRlICJKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCIKICNpbmNs
dWRlICJKU01lZGlhUXVlcnlMaXN0LmNwcCIKICNpbmNsdWRlICJKU01lbW9yeUluZm8uY3BwIgog
I2luY2x1ZGUgIkpTTWVzc2FnZUNoYW5uZWwuY3BwIgpAQCAtMjQxLDcgKzI0Miw2IEBACiAjaW5j
bHVkZSAiSlNNZXRhZGF0YS5jcHAiCiAjaW5jbHVkZSAiSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIK
ICNpbmNsdWRlICJKU01vdXNlRXZlbnQuY3BwIgotI2luY2x1ZGUgIkpTTXVsdGlwbGVUcmFja0xp
c3QuY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNOYW1l
ZE5vZGVNYXAuY3BwIgogI2luY2x1ZGUgIkpTTmF2aWdhdG9yLmNwcCIKQEAgLTQ0Niw3ICs0NDYs
NiBAQAogI2luY2x1ZGUgIkpTVG91Y2guY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hFdmVudC5jcHAi
CiAjaW5jbHVkZSAiSlNUb3VjaExpc3QuY3BwIgotI2luY2x1ZGUgIkpTVHJhY2tMaXN0LmNwcCIK
ICNpbmNsdWRlICJKU1RyZWVXYWxrZXIuY3BwIgogI2luY2x1ZGUgIkpTVWludDE2QXJyYXkuY3Bw
IgogI2luY2x1ZGUgIkpTVWludDMyQXJyYXkuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggNDkyZDEyYjI0YjA3YzI1MjRhYWJkMWZkYTY1Y2U0MmQyYTZmMmI0OC4uNjFlYjdm
NTllYzAzOTNjZGMxMTU5MTIyZTk0YTFmYTdkMTc5ZjA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC0xODgsNyArMTg4LDYgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRXZlbnRM
aXN0ZW5lciBcCiAgICAgRXZlbnRTb3VyY2UgXAogICAgIEV2ZW50VGFyZ2V0IFwKLSAgICBFeGNs
dXNpdmVUcmFja0xpc3QgXAogICAgIEZpbGUgXAogICAgIEZpbGVDYWxsYmFjayBcCiAgICAgRmls
ZUVudHJ5IFwKQEAgLTMwNCw2ICszMDMsOCBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyIFwKICAgICBNZWRpYVN0cmVhbSBcCiAgICAgTWVkaWFTdHJlYW1MaXN0
IFwKKyAgICBNZWRpYVN0cmVhbVRyYWNrIFwKKyAgICBNZWRpYVN0cmVhbVRyYWNrTGlzdCBcCiAg
ICAgTWVtb3J5SW5mbyBcCiAgICAgTWVzc2FnZUNoYW5uZWwgXAogICAgIE1lc3NhZ2VFdmVudCBc
CkBAIC0zMTEsNyArMzEyLDYgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgTWV0YWRhdGEgXAogICAg
IE1ldGFkYXRhQ2FsbGJhY2sgXAogICAgIE1vdXNlRXZlbnQgXAotICAgIE11bHRpcGxlVHJhY2tM
aXN0IFwKICAgICBNdXRhdGlvbkV2ZW50IFwKICAgICBOYW1lZE5vZGVNYXAgXAogICAgIE5hdmln
YXRvciBcCkBAIC01MzQsNyArNTM0LDYgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgVG91Y2ggXAog
ICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNoTGlzdCBcCi0gICAgVHJhY2tMaXN0IFwKICAgICBU
cmVlV2Fsa2VyIFwKICAgICBVSUV2ZW50IFwKICAgICBWYWxpZGl0eVN0YXRlIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDg5ODVhN2FiOWVkNmYwZTU0MjU5NTdiODU1YTAyMjlm
ZDQ2YzNlMmYuLmEwODI3ZTFjZGJlNjQwODAwOTA1NDEwMmNkZGYxMDkzMGQ0ODc1OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTYwLDggKzE2MCw2IEBAIHdlYmNvcmVfYnVp
bHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudFNvdXJjZS5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNFdmVudFNvdXJjZS5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXhj
bHVzaXZlVHJhY2tMaXN0LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V4Y2x1c2l2
ZVRyYWNrTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZS5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlRXJyb3IuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRmlsZUVycm9yLmggXApAQCAtMzU5LDYgKzM1NywxMCBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbS5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTdHJlYW1MaXN0LmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtTGlzdC5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTWVkaWFTdHJlYW1UcmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNZWRpYVN0cmVhbVRyYWNrLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0
cmVhbVRyYWNrTGlzdC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVh
bVRyYWNrTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFRdWVyeUxpc3Qu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFRdWVyeUxpc3QuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lbW9yeUluZm8uY3BwIFwKQEAgLTM3MSw4ICszNzMsNiBA
QCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNN
ZXNzYWdlUG9ydC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVudC5jcHAg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb3VzZUV2ZW50LmggXAotCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgXAotCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNdWx0aXBsZVRyYWNrTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TXV0YXRpb25FdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2
ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuY3BwIFwKQEAg
LTQ4Nyw4ICs0ODcsNiBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNUb3VjaC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hM
aXN0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoTGlzdC5oIFwKLQlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTVHJhY2tMaXN0LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1RyYWNrTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtl
ci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50LmNwcCBcCkBAIC0xMTc2LDggKzExNzQsNiBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmggXAotCVNvdXJjZS9X
ZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20v
RXhjbHVzaXZlVHJhY2tMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlw
dGluZ1Blcm1pc3Npb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudEluY3JlbWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25D
b2RlUGxhY2Vob2xkZXIuaCBcCkBAIC0xMTk0LDYgKzExOTAsMTAgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1Db250YWluZXIuaCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtTGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Rv
bS9NZWRpYVN0cmVhbUxpc3QuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJh
Y2suY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9kb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01lc3Nh
Z2VDaGFubmVsLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmggXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwIFwKQEAgLTEyMDYsOCArMTIwNiw2
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQu
aCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9N
dWx0aXBsZVRyYWNrTGlzdC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNr
TGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9OYW1l
ZE5vZGVNYXAuY3BwIFwKQEAgLTEzMDAsOCArMTI5OCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudElucHV0VHlwZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vVGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hMaXN0LmggXAotCVNv
dXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20vVHJh
Y2tMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vVHJhdmVyc2FsLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNTZmNGUxNDU1Zjgz
NGE3MTgwYmEwNTAzMWFmZWFjNTllYjkwYTIyMy4uODU3NzVjNWJlMzVjZWRhNmQ3N2MyODFjODZk
MjNjMzVmYmViNjY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTE2MSwxNyArMTE2MSwxNyBAQAog
ICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9F
dmVudExpc3RlbmVyLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0V2ZW50VGFyZ2V0LmlkbCcsCi0g
ICAgICAgICAgICAnZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9IYXNoQ2hhbmdlRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vS2V5Ym9hcmRFdmVudC5p
ZGwnLAogICAgICAgICAgICAgJ2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbCcsCiAgICAgICAgICAg
ICAnZG9tL01lZGlhU3RyZWFtLmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lZGlhU3RyZWFtTGlz
dC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbVRyYWNrLmlkbCcsCisgICAgICAg
ICAgICAnZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01l
c3NhZ2VDaGFubmVsLmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9NZXNzYWdlUG9ydC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Nb3Vz
ZUV2ZW50LmlkbCcsCi0gICAgICAgICAgICAnZG9tL011bHRpcGxlVHJhY2tMaXN0LmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTmFt
ZWROb2RlTWFwLmlkbCcsCiAgICAgICAgICAgICAnZG9tL05vZGUuaWRsJywKQEAgLTExOTQsNyAr
MTE5NCw2IEBACiAgICAgICAgICAgICAnZG9tL1RvdWNoLmlkbCcsCiAgICAgICAgICAgICAnZG9t
L1RvdWNoRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmlkbCcsCi0gICAg
ICAgICAgICAnZG9tL1RyYWNrTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2Vy
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20v
V2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKQEAgLTI1MTAsOCArMjUwOSw2IEBACiAgICAgICAg
ICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuaCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkNv
ZGUuY3BwJywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcs
Ci0gICAgICAgICAgICAnZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAnLAotICAgICAgICAgICAg
J2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuaCcsCiAgICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VF
dmVudC5oJywKICAgICAgICAgICAgICdkb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIuaCcsCiAgICAgICAgICAgICAnZG9tL0ljb25VUkwuY3BwJywKQEAgLTI1MjQsNiAr
MjUyMSwxMCBAQAogICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbUNvbnRhaW5lci5oJywKICAg
ICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1MaXN0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL01l
ZGlhU3RyZWFtTGlzdC5oJywKKyAgICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1UcmFjay5jcHAn
LAorICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbVRyYWNrLmgnLAorICAgICAgICAgICAgJ2Rv
bS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVh
bVRyYWNrTGlzdC5oJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZUNoYW5uZWwuY3BwJywKICAg
ICAgICAgICAgICdkb20vTWVzc2FnZUNoYW5uZWwuaCcsCiAgICAgICAgICAgICAnZG9tL01lc3Nh
Z2VFdmVudC5jcHAnLApAQCAtMjUzMiw4ICsyNTMzLDYgQEAKICAgICAgICAgICAgICdkb20vTWVz
c2FnZVBvcnRDaGFubmVsLmNwcCcsCiAgICAgICAgICAgICAnZG9tL01vdXNlRXZlbnQuY3BwJywK
ICAgICAgICAgICAgICdkb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwJywKLSAgICAgICAgICAgICdk
b20vTXVsdGlwbGVUcmFja0xpc3QuY3BwJywKLSAgICAgICAgICAgICdkb20vTXVsdGlwbGVUcmFj
a0xpc3QuaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAg
ICAgICdkb20vTXV0YXRpb25FdmVudC5oJywKICAgICAgICAgICAgICdkb20vTmFtZU5vZGVMaXN0
LmNwcCcsCkBAIC0yNjIxLDggKzI2MjAsNiBAQAogICAgICAgICAgICAgJ2RvbS9Ub3VjaEV2ZW50
LmgnLAogICAgICAgICAgICAgJ2RvbS9Ub3VjaExpc3QuY3BwJywKICAgICAgICAgICAgICdkb20v
VG91Y2hMaXN0LmgnLAotICAgICAgICAgICAgJ2RvbS9UcmFja0xpc3QuY3BwJywKLSAgICAgICAg
ICAgICdkb20vVHJhY2tMaXN0LmgnLAogICAgICAgICAgICAgJ2RvbS9UcmFuc2Zvcm1Tb3VyY2Uu
aCcsCiAgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwJywKICAgICAg
ICAgICAgICdkb20vVHJhbnNmb3JtU291cmNlUXQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggNzNh
OGU3MGQ2YTQ3YzdhZTI1Y2FmMjZmMmJiMWE0OTVhNDgyZWQ2Ni4uOGY0ZGI1MjM5M2FiODkzY2Zl
MzAxYzEwNjI4MDBmZDIxYTU3MzE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQ5OCw3ICs0OTgsNiBA
QCBTT1VSQ0VTICs9IFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5jcHAgXAogICAgIGRvbS9FeGNl
cHRpb25Db2RlLmNwcCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgXAot
ICAgIGRvbS9FeGNsdXNpdmVUcmFja0xpc3QuY3BwIFwKICAgICBkb20vSWNvblVSTC5jcHAgXAog
ICAgIGRvbS9LZXlib2FyZEV2ZW50LmNwcCBcCiAgICAgZG9tL01lc3NhZ2VDaGFubmVsLmNwcCBc
CkBAIC01MDcsNyArNTA2LDYgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL01lc3NhZ2VQb3J0Q2hh
bm5lbC5jcHAgXAogICAgIGRvbS9Nb3VzZUV2ZW50LmNwcCBcCiAgICAgZG9tL01vdXNlUmVsYXRl
ZEV2ZW50LmNwcCBcCi0gICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmNwcCBcCiAgICAgZG9tL011
dGF0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vTmFtZWROb2RlTWFwLmNwcCBcCiAgICAgZG9tL05h
bWVOb2RlTGlzdC5jcHAgXApAQCAtNTUyLDcgKzU1MCw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGRv
bS9Ub3VjaC5jcHAgXAogICAgIGRvbS9Ub3VjaEV2ZW50LmNwcCBcCiAgICAgZG9tL1RvdWNoTGlz
dC5jcHAgXAotICAgIGRvbS9UcmFja0xpc3QuY3BwIFwKICAgICBkb20vVHJhdmVyc2FsLmNwcCBc
CiAgICAgZG9tL1RyZWVTY29wZS5jcHAgXAogICAgIGRvbS9UcmVlV2Fsa2VyLmNwcCBcCkBAIC0x
NDg4LDcgKzE0ODUsNiBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQuaCBcCiAg
ICAgZG9tL0V4Y2VwdGlvbkJhc2UuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGUuaCBcCi0gICAg
ZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5oIFwKICAgICBkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJt
aXNzaW9uLmggXAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmggXAogICAgIGRvbS9NZXNzYWdlQ2hh
bm5lbC5oIFwKQEAgLTE0OTcsNyArMTQ5Myw2IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9NZXNz
YWdlUG9ydC5oIFwKICAgICBkb20vTW91c2VFdmVudC5oIFwKICAgICBkb20vTW91c2VSZWxhdGVk
RXZlbnQuaCBcCi0gICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmggXAogICAgIGRvbS9NdXRhdGlv
bkV2ZW50LmggXAogICAgIGRvbS9OYW1lZE5vZGVNYXAuaCBcCiAgICAgZG9tL05hbWVOb2RlTGlz
dC5oIFwKQEAgLTE1MzgsNyArMTUzMyw2IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9Ub3VjaC5o
IFwKICAgICBkb20vVG91Y2hFdmVudC5oIFwKICAgICBkb20vVG91Y2hMaXN0LmggXAotICAgIGRv
bS9UcmFja0xpc3QuaCBcCiAgICAgZG9tL1RyYW5zZm9ybVNvdXJjZS5oIFwKICAgICBkb20vVHJh
dmVyc2FsLmggXAogICAgIGRvbS9UcmVlRGVwdGhMaW1pdC5oIFwKQEAgLTMyMzAsNiArMzIyNCw4
IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJFQU09MSkgewogICAgICAgICBk
b20vTWVkaWFTdHJlYW0uaCBcCiAgICAgICAgIGRvbS9NZWRpYVN0cmVhbUNvbnRhaW5lci5oIFwK
ICAgICAgICAgZG9tL01lZGlhU3RyZWFtTGlzdC5oIFwKKyAgICAgICAgZG9tL01lZGlhU3RyZWFt
VHJhY2suaCBcCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5oIFwKICAgICAgICAg
ZG9tL1N0cmVhbUV2ZW50LmggXAogICAgICAgICBwYWdlL0NhbGxiYWNrVGFzay5oIFwKICAgICAg
ICAgcGFnZS9NZWRpYVN0cmVhbUNsaWVudC5oIFwKQEAgLTMyNDMsNiArMzIzOSw4IEBAIGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJFQU09MSkgewogICAgICAgICBkb20vTG9jYWxN
ZWRpYVN0cmVhbS5jcHAgXAogICAgICAgICBkb20vTWVkaWFTdHJlYW0uY3BwIFwKICAgICAgICAg
ZG9tL01lZGlhU3RyZWFtTGlzdC5jcHAgXAorICAgICAgICBkb20vTWVkaWFTdHJlYW1UcmFjay5j
cHAgXAorICAgICAgICBkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIFwKICAgICAgICAgZG9t
L1N0cmVhbUV2ZW50LmNwcCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNw
cCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDA4MzYzYjIwMWUy
NGIzMjhiNjI3Y2Q0NmRkNDg1OTUxOTVlOWQ2ZWEuLmY0MmIyNjJlNGNjYWQ4YTBlNmFjMjFhYjEy
ZDNhNjlhMWM3NzQyYjUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCkBAIC00ODc4LDYyICs0ODc4LDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAiCi0JCQkJ
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRv
b2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9v
bAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9u
fFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9v
bAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNF
eGNsdXNpdmVUcmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0ZpbGUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
QEAgLTExMDk0LDcgKzExMDM4LDcgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU01lbW9yeUluZm8uY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U01lZGlhU3RyZWFtVHJhY2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC0xMTE0NiwxMSArMTEwOTAsMTEgQEAKIAkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNNZW1vcnlJbmZvLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVkaWFTdHJlYW1UcmFj
ay5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
TWVzc2FnZUNoYW5uZWwuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhU3RyZWFtVHJh
Y2tMaXN0LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIgpAQCAtMTEyMDIsMTEgKzExMTQ2LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2Fn
ZUNoYW5uZWwuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5o
IgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVz
c2FnZUV2ZW50LmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZW1vcnlJbmZvLmNwcCIKIAkJ
CQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAt
MTEyNTgsMTEgKzExMjAyLDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50LmgiCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTTWVtb3J5SW5mby5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZVBvcnQuY3BwIgorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU01lc3NhZ2VDaGFubmVsLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0
aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtMTEzMTQsMTEgKzExMjU4LDExIEBACiAJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTWVzc2FnZVBvcnQuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdl
Q2hhbm5lbC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTTWV0YWRhdGEuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lc3NhZ2VFdmVudC5j
cHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKQEAgLTExMzcwLDExICsxMTMxNCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhLmgiCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50LmgiCiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIKKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdlUG9ydC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTExNDI2LDExICsxMTM3MCwx
MSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhQ2FsbGJhY2suaCIKKwkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNNZXNzYWdlUG9ydC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTTW91c2VFdmVudC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0
YWRhdGEuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVi
dWd8V2luMzIiCkBAIC0xMTQ4MiwxMSArMTE0MjYsNjcgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNb3VzZUV2
ZW50LmgiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhQ2FsbGJhY2suY3Bw
IgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRl
YnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJv
ZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTTWV0YWRhdGFDYWxsYmFjay5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTXVsdGlwbGVUcmFja0xpc3QuY3BwIgorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU01vdXNlRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
IAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC0xMTUzOCw3ICsxMTUzOCw3IEBACiAJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTTXVsdGlwbGVUcmFja0xpc3QuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNb3VzZUV2
ZW50LmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTIyMDcwLDYyICsyMjA3MCw2
IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNU
cmFja0xpc3QuY3BwIgotCQkJCT4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0i
RGVidWd8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJ
CTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxU
b29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4K
LQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0i
UmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJ
CQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0J
CQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
Ci0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJ
CS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJ
CQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
Ci0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJ
CS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTVHJhY2tMaXN0LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNUcmVlV2Fsa2VyLmNwcCIKIAkJCQk+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCkBAIC00NTY3OCw3ICs0NTYyMiw3IEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFeGNsdXNpdmVUcmFja0xpc3Qu
Y3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5j
cHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKQEAgLTQ1NzMwLDcgKzQ1Njc0LDE1IEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRXhjZXB0aW9uQ29k
ZVBsYWNlaG9sZGVyLmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFeGNlcHRpb25Db2Rl
UGxhY2Vob2xkZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXEhhc2hDaGFuZ2VFdmVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cSWNvblVSTC5jcHAiCiAJCQkJPgogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1NzgyLDExICs0
NTczNCwxNSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEljb25VUkwuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAi
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXEtleWJvYXJkRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00NTgzOCwxNSArNDU3OTQsMTEgQEAKIAkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGRvbVxFeGNsdXNpdmVUcmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0J
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEhhc2hDaGFuZ2VFdmVudC5oIgorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXEtleWJvYXJkRXZlbnQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEljb25VUkwuY3BwIgorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXExvY2FsTWVkaWFTdHJlYW0uY3BwIgogCQkJCT4KIAkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00NTg5OCwxNSArNDU4
NTAsMTUgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxJY29uVVJMLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIu
Llxkb21cTG9jYWxNZWRpYVN0cmVhbS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVt
ZW50ZXIuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNYXBwZWRBdHRyaWJ1dGVFbnRyeS5o
IgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
S2V5Ym9hcmRFdmVudC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0u
Y3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCkBAIC00NTk1OCwxMSArNDU5MTAsMTUgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxLZXlib2FyZEV2
ZW50LmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0uaCIKIAkJCQk+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXExvY2FsTWVkaWFT
dHJlYW0uY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtQ29udGFpbmVy
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRv
bVxNZWRpYVN0cmVhbUxpc3QuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00NjAxNCwxNSArNDU5NzAsMTEgQEAKIAkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGRvbVxMb2NhbE1lZGlhU3RyZWFtLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNYXBwZWRBdHRyaWJ1dGVFbnRyeS5oIgorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtTGlzdC5oIgogCQkJCT4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0uY3BwIgorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2suY3BwIgogCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00NjA3NCwxNSAr
NDYwMjYsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0cmVhbS5oIgorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2suaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtQ29udGFpbmVyLmgiCi0J
CQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRp
YVN0cmVhbUxpc3QuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJh
Y2tMaXN0LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIgpAQCAtNDYxMzQsNyArNDYwODIsNyBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlh
U3RyZWFtTGlzdC5oIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2tM
aXN0LmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTQ2NDc0LDYyICs0NjQyMiw2
IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRv
bVxNdWx0aXBsZVRyYWNrTGlzdC5jcHAiCi0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0J
CQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+
Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJ
CT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0J
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNdWx0aXBsZVRyYWNrTGlzdC5oIgotCQkJ
CT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTXV0YXRp
b25FdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNDg4MjIsNjIg
KzQ4NzE0LDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXFRyYWNrTGlzdC5jcHAiCi0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0J
CQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+
Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJ
CT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0J
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxUcmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8
L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFRyYW5zZm9ybVNvdXJj
ZS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4N2I3NWFiNGZjOGM5OTUyNDAxOWJlOWMxOGQ5
NzdjYTUyNmVkODRlLi4yMGQwOTVlNWE4NTMxYjllZmFkZTZlMGFkZTJiN2Q1MDUxYzk4NTgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xMTc2LDYgKzExNzYsMTQgQEAKIAkJNDlDN0I5RkMxMDQyRDM2NTAwMDlENDQ3IC8qIEdy
YXBoaWNzQ29udGV4dDNELmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0OUM3QjlGQjEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUM3QkE3
OTEwNDJFRkFFMDAwOUQ0NDcgLyogT3BlbkdMLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCQTc4MTA0MkVGQUUwMDA5RDQ0NyAv
KiBPcGVuR0wuZnJhbWV3b3JrICovOyB9OwogCQk0OUM3QkE4RDEwNDJGNUIxMDAwOUQ0NDcgLyog
SlNEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5j
cHAgKi87IH07CisJCTQ5QzlGMzIzMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNr
TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlD
OUYzMUQxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0LmggKi87IH07CisJ
CTQ5QzlGMzI0MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM5RjMxRTEzRDU3
NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwICovOyB9OworCQk0OUM5RjMy
NjEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDOUYzMjAxM0Q1NzRGOTAwNTI2MDBBIC8q
IE1lZGlhU3RyZWFtVHJhY2suaCAqLzsgfTsKKwkJNDlDOUYzMjcxM0Q1NzRGOTAwNTI2MDBBIC8q
IE1lZGlhU3RyZWFtVHJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDlDOUYzMjExM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2su
Y3BwICovOyB9OworCQk0OUM5RjQ4RTEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRy
YWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
QzlGNDhBMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suY3BwICovOyB9Owor
CQk0OUM5RjQ4RjEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM5RjQ4QjEzRDU3RDMy
MDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmggKi87IH07CisJCTQ5QzlGNDkwMTNENTdE
MzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzlGNDhDMTNENTdEMzIwMDUyNjAwQSAv
KiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCAqLzsgfTsKKwkJNDlDOUY0OTExM0Q1N0QzMjAw
NTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzlGNDhEMTNENTdEMzIwMDUyNjAwQSAvKiBKU01l
ZGlhU3RyZWFtVHJhY2tMaXN0LmggKi87IH07CiAJCTQ5RDVEQzJCMEY0MjNBNzMwMDhGMjBGRCAv
KiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUQ1REMyNzBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4
M0RUcmFuc2Zvcm1PcGVyYXRpb24uY3BwICovOyB9OwogCQk0OUQ1REMyQzBGNDIzQTczMDA4RjIw
RkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RDVEQzI4MEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRy
aXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ5RDVEQzJEMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2
ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OUQ1REMyOTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFu
c2Zvcm1PcGVyYXRpb24uY3BwICovOyB9OwpAQCAtNDA0NiwxOCArNDA1NCw2IEBACiAJCUFCRERG
RTc5MEE1QzZFNzAwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQkRERkU3MzBBNUM2RTZGMDBBM0UxMUQg
LyogUmVuZGVyTWVudUxpc3QuY3BwICovOyB9OwogCQlBQkRERkU3QTBBNUM2RTcwMDBBM0UxMUQg
LyogUmVuZGVyTWVudUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFCRERGRTc0MEE1QzZFNzAwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5oICov
OyB9OwogCQlBRERGMUFENzEyNTdDRDlBMDAwM0E3NTkgLyogUmVuZGVyU1ZHUGF0aC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQURERjFBRDUxMjU3Q0Q5
QTAwMDNBNzU5IC8qIFJlbmRlclNWR1BhdGguaCAqLzsgfTsKLQkJQjEyRDIzM0UxMzU2MDI4MjAw
MkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjMzNTEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVz
aXZlVHJhY2tMaXN0LmNwcCAqLzsgfTsKLQkJQjEyRDIzM0YxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4
Y2x1c2l2ZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjEyRDIzMzYxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5o
ICovOyB9OwotCQlCMTJEMjM0MTEzNTYwMjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIz
MzgxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0LmNwcCAqLzsgfTsKLQkJQjEy
RDIzNDIxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjMzOTEzNTYwMjgyMDAyQTI4
RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuaCAqLzsgfTsKLQkJQjEyRDIzNDQxMzU2MDI4MjAwMkEy
OEQ0IC8qIFRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMTJEMjMzQjEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0LmNwcCAqLzsg
fTsKLQkJQjEyRDIzNDUxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIzM0MxMzU2MDI4MjAwMkEy
OEQ0IC8qIFRyYWNrTGlzdC5oICovOyB9OwotCQlCMTJEMjM2NTEzNTYwMzMwMDAyQTI4RDQgLyog
SlNUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjEyRDIzNjMxMzU2MDMyRjAwMkEyOEQ0IC8qIEpTVHJhY2tMaXN0LmNwcCAqLzsgfTsK
LQkJQjEyRDIzNjYxMzU2MDMzMDAwMkEyOEQ0IC8qIEpTVHJhY2tMaXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjM2NDEzNTYwMzMwMDAyQTI4
RDQgLyogSlNUcmFja0xpc3QuaCAqLzsgfTsKLQkJQjEyRDIzNjkxMzU2MDMzRjAwMkEyOEQ0IC8q
IEpTRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxMkQyMzY3MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRy
YWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzZBMTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1
c2l2ZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjEyRDIzNjgxMzU2MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0Lmgg
Ki87IH07Ci0JCUIxMkQyMzZEMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQy
MzZCMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCAqLzsgfTsKLQkJ
QjEyRDIzNkUxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzZDMTM1NjAzNEQw
MDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmggKi87IH07CiAJCUIxNDM1M0Q0MTM4RUE4
RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjE0MzUzRDAxMzhFQThFRDAwRDUzMjc2IC8qIE1l
ZGlhU3RyZWFtQ29udGFpbmVyLmggKi87IH07CiAJCUIxNDM1M0Q1MTM4RUE4RUQwMEQ1MzI3NiAv
KiBNZWRpYVN0cmVhbUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjE0MzUzRDExMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5j
cHAgKi87IH07CiAJCUIxNDM1M0Q2MTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0Qy
MTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3QuaCAqLzsgfTsKQEAgLTc3MzMsNiAr
NzcyOSwxNiBAQAogCQk0OUM3QjlGQjEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0
M0QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR3JhcGhpY3NDb250ZXh0M0Qu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlDN0JBNzgxMDQyRUZBRTAwMDlENDQ3
IC8qIE9wZW5HTC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IE9wZW5HTC5mcmFtZXdvcms7
IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrOyBzb3Vy
Y2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyog
SlNEb2N1bWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0RvY3VtZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlD
OUYzMUMxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBNZWRpYVN0cmVhbVRyYWNrTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ5QzlGMzFEMTNENTc0RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRy
YWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbVRy
YWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUM5RjMxRTEzRDU3NEY4
MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0OUM5RjMxRjEzRDU3NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1U
cmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFTdHJlYW1UcmFjay5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGMzIwMTNENTc0RjkwMDUyNjAwQSAvKiBN
ZWRpYVN0cmVhbVRyYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
U3RyZWFtVHJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlDOUYzMjExM0Q1
NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1UcmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ5QzlGNDhBMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJh
Y2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYVN0cmVh
bVRyYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlDOUY0OEIxM0Q1N0Qz
MjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU01lZGlhU3RyZWFtVHJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDlDOUY0OEMxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3Qu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYVN0cmVhbVRy
YWNrTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGNDhEMTNENTdE
MzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDlENURDMjcwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNm
b3JtT3BlcmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1h
dHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcDsgcGF0aCA9IHRyYW5zZm9ybXMvTWF0cml4M0RU
cmFuc2Zvcm1PcGVyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUQ1
REMyODBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24u
aDsgcGF0aCA9IHRyYW5zZm9ybXMvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlENURDMjkwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNw
ZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcDsgcGF0aCA9IHRyYW5z
Zm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTA1MzEsMjEgKzEwNTM3LDYgQEAKIAkJQUJEREZFNzQwQTVDNkU3MDAw
QTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZW5kZXJNZW51TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBRERG
MUFENDEyNTdDRDlBMDAwM0E3NTkgLyogUmVuZGVyU1ZHUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdQYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQURERjFBRDUxMjU3Q0Q5QTAwMDNBNzU5IC8qIFJlbmRlclNWR1BhdGgu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUGF0aC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzNTEzNTYwMjgyMDAyQTI4RDQgLyogRXhj
bHVzaXZlVHJhY2tMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIx
MkQyMzM2MTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhjbHVzaXZlVHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzM3MTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVU
cmFja0xpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEV4Y2x1c2l2ZVRyYWNrTGlzdC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzM4MTM1NjAyODIwMDJBMjhE
NCAvKiBNdWx0aXBsZVRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNdWx0aXBsZVRyYWNrTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUIxMkQyMzM5MTM1NjAyODIwMDJBMjhENCAvKiBNdWx0aXBsZVRyYWNrTGlzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdWx0aXBsZVRyYWNrTGlzdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzQTEzNTYwMjgyMDAyQTI4RDQgLyogTXVsdGlw
bGVUcmFja0xpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE11bHRpcGxlVHJhY2tMaXN0
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzM0IxMzU2MDI4MjAwMkEy
OEQ0IC8qIFRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUcmFja0xpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzQzEz
NTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFRyYWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMz
RDEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBUcmFja0xpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjM2MzEz
NTYwMzJGMDAyQTI4RDQgLyogSlNUcmFja0xpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNUcmFja0xpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCMTJEMjM2NDEzNTYwMzMwMDAyQTI4RDQgLyogSlNUcmFja0xpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNUcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQjEyRDIzNjcxMzU2MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tM
aXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXhjbHVzaXZl
VHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNjgxMzU2
MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRXhjbHVzaXZlVHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUIxMkQyMzZCMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tM
aXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTXVsdGlwbGVU
cmFja0xpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjM2QzEzNTYw
MzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU011bHRpcGxlVHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIxNDM1M0QwMTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUNvbnRhaW5l
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbUNvbnRhaW5l
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMTQzNTNEMTEzOEVBOEVEMDBENTMy
NzYgLyogTWVkaWFTdHJlYW1MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lZGlhU3RyZWFtTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUIxNDM1M0QyMTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1MaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNzIzNiw4ICsxNzIyNyw2IEBACiAJCQkJNjVERjMyMkUwOUQxRERC
QzAwMEJFMzI1IC8qIEpTRW50aXR5LmggKi8sCiAJCQkJOTNGOUI3NzIwQkE1RkREQzAwODU0MDY0
IC8qIEpTRW50aXR5UmVmZXJlbmNlLmNwcCAqLywKIAkJCQk5M0Y5Qjc3MzBCQTVGRERDMDA4NTQw
NjQgLyogSlNFbnRpdHlSZWZlcmVuY2UuaCAqLywKLQkJCQlCMTJEMjM2NzEzNTYwMzNGMDAyQTI4
RDQgLyogSlNFeGNsdXNpdmVUcmFja0xpc3QuY3BwICovLAotCQkJCUIxMkQyMzY4MTM1NjAzM0Yw
MDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oICovLAogCQkJCUZFODBEQTVGMEU5QzQ3
MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmNwcCAqLywKIAkJCQlGRTgwREE2MDBFOUM0NzAz
MDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5oICovLAogCQkJCUZFODBEQTYxMEU5QzQ3MDMwMDBE
NkY3NSAvKiBKU0dlb3Bvc2l0aW9uLmNwcCAqLywKQEAgLTE3MjQ4LDggKzE3MjM3LDEwIEBACiAJ
CQkJQjFFNTQ1RDgxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTWVkaWFTdHJlYW0uaCAqLywKIAkJCQlC
MTQzNTNGNjEzOEVBOTVCMDBENTMyNzYgLyogSlNNZWRpYVN0cmVhbUxpc3QuY3BwICovLAogCQkJ
CUIxNDM1M0Y3MTM4RUE5NUIwMEQ1MzI3NiAvKiBKU01lZGlhU3RyZWFtTGlzdC5oICovLAotCQkJ
CUIxMkQyMzZCMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCAqLywK
LQkJCQlCMTJEMjM2QzEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5oICov
LAorCQkJCTQ5QzlGNDhBMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suY3Bw
ICovLAorCQkJCTQ5QzlGNDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2su
aCAqLywKKwkJCQk0OUM5RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNr
TGlzdC5jcHAgKi8sCisJCQkJNDlDOUY0OEQxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJl
YW1UcmFja0xpc3QuaCAqLywKIAkJCQlCQ0Q5QzJCQzBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1l
ZE5vZGVNYXAuY3BwICovLAogCQkJCUJDRDlDMkJEMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05hbWVk
Tm9kZU1hcC5oICovLAogCQkJCTE0REMwRDM1MDlGRUQwNzMwMDdCMDIzNSAvKiBKU05vZGUuY3Bw
ICovLApAQCAtMTcyNzgsOCArMTcyNjksNiBAQAogCQkJCTQ5QTg1Qjc2MTM4RDU4RUUwMEVDQjdC
MyAvKiBKU1N0cmVhbUV2ZW50LmggKi8sCiAJCQkJNjVERjMxRUYwOUQxQ0M2MDAwMEJFMzI1IC8q
IEpTVGV4dC5jcHAgKi8sCiAJCQkJNjVERjMxRjAwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5o
ICovLAotCQkJCUIxMkQyMzYzMTM1NjAzMkYwMDJBMjhENCAvKiBKU1RyYWNrTGlzdC5jcHAgKi8s
Ci0JCQkJQjEyRDIzNjQxMzU2MDMzMDAwMkEyOEQ0IC8qIEpTVHJhY2tMaXN0LmggKi8sCiAJCQkp
OwogCQkJbmFtZSA9IENvcmU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk3NTUs
OSArMTk3NDQsNiBAQAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRpb25D
b2RlLmggKi8sCiAJCQkJQTdDQUNEQjAxM0NFODc1QjAwQkJCRTNGIC8qIEV4Y2VwdGlvbkNvZGVQ
bGFjZWhvbGRlci5jcHAgKi8sCiAJCQkJQTc0QkI3NkExM0JEQTg2MzAwRkY3QkYwIC8qIEV4Y2Vw
dGlvbkNvZGVQbGFjZWhvbGRlci5oICovLAotCQkJCUIxMkQyMzM1MTM1NjAyODIwMDJBMjhENCAv
KiBFeGNsdXNpdmVUcmFja0xpc3QuY3BwICovLAotCQkJCUIxMkQyMzM2MTM1NjAyODIwMDJBMjhE
NCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaCAqLywKLQkJCQlCMTJEMjMzNzEzNTYwMjgyMDAyQTI4
RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmlkbCAqLywKIAkJCQlBODUzMTIzQzExRDA0NzFCMDBE
NEQwNzcgLyogRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggKi8sCiAJCQkJMjQ0MkJCRjgx
MTk0QzlEMzAwRDQ5NDY5IC8qIEhhc2hDaGFuZ2VFdmVudC5oICovLAogCQkJCTg0ODJCNzQ0MTE5
OEMzMkUwMEJGQjAwNSAvKiBIYXNoQ2hhbmdlRXZlbnQuaWRsICovLApAQCAtMTk3NzgsNiArMTk3
NjQsMTIgQEAKIAkJCQlCMTQzNTNEMTEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0
LmNwcCAqLywKIAkJCQlCMTQzNTNEMjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0
LmggKi8sCiAJCQkJQjE0MzUzRDMxMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5p
ZGwgKi8sCisJCQkJNDlDOUYzMUYxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2su
aWRsICovLAorCQkJCTQ5QzlGMzIwMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNr
LmggKi8sCisJCQkJNDlDOUYzMjExM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2su
Y3BwICovLAorCQkJCTQ5QzlGMzFDMTNENTc0RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNr
TGlzdC5pZGwgKi8sCisJCQkJNDlDOUYzMUQxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFt
VHJhY2tMaXN0LmggKi8sCisJCQkJNDlDOUYzMUUxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmNwcCAqLywKIAkJCQlFMUFERUNDRDBFNzZBRDhCMDA0QTFBNUUgLyogTWVz
c2FnZUNoYW5uZWwuY3BwICovLAogCQkJCUUxQURFQ0NDMEU3NkFEOEIwMDRBMUE1RSAvKiBNZXNz
YWdlQ2hhbm5lbC5oICovLAogCQkJCUUxQURFQ0QwMEU3NkFEQUIwMDRBMUE1RSAvKiBNZXNzYWdl
Q2hhbm5lbC5pZGwgKi8sCkBAIC0xOTc5NCw5ICsxOTc4Niw2IEBACiAJCQkJMTQxQjk0RTUwOUVD
NDIyMzAwMEU5NDEzIC8qIE1vdXNlRXZlbnQuaWRsICovLAogCQkJCTg1MDMxQjMxMEE0NEVGQzcw
MEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRFdmVudC5jcHAgKi8sCiAJCQkJODUwMzFCMzIwQTQ0RUZD
NzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2ZW50LmggKi8sCi0JCQkJQjEyRDIzMzgxMzU2MDI4
MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0LmNwcCAqLywKLQkJCQlCMTJEMjMzOTEzNTYw
MjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuaCAqLywKLQkJCQlCMTJEMjMzQTEzNTYw
MjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuaWRsICovLAogCQkJCTg1MDMxQjMzMEE0
NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmNwcCAqLywKIAkJCQk4NTAzMUIzNDBBNDRF
RkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVudC5oICovLAogCQkJCTkzRUVDMUYzMDlDMjg3Nzcw
MEM1MTVEMSAvKiBNdXRhdGlvbkV2ZW50LmlkbCAqLywKQEAgLTE5OTEwLDkgKzE5ODk5LDYgQEAK
IAkJCQk5MzNBMTQyRDBCN0QxODg2MDBBNTNGRkQgLyogVGV4dEV2ZW50LmggKi8sCiAJCQkJOTMz
QTE0MkMwQjdEMTg4NjAwQTUzRkZEIC8qIFRleHRFdmVudC5pZGwgKi8sCiAJCQkJQTc3QjQxOUYx
MkU2NzVBOTAwNTQzNDNEIC8qIFRleHRFdmVudElucHV0VHlwZS5oICovLAotCQkJCUIxMkQyMzNC
MTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuY3BwICovLAotCQkJCUIxMkQyMzNDMTM1NjAy
ODIwMDJBMjhENCAvKiBUcmFja0xpc3QuaCAqLywKLQkJCQlCMTJEMjMzRDEzNTYwMjgyMDAyQTI4
RDQgLyogVHJhY2tMaXN0LmlkbCAqLywKIAkJCQk1REIxQkM2ODEwNzE1QTY0MDBFRkFBNDkgLyog
VHJhbnNmb3JtU291cmNlLmggKi8sCiAJCQkJNURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRy
YW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwICovLAogCQkJCTg1NEZFNzJDMEEyMjk3QkUwMDU4RDdB
RCAvKiBUcmF2ZXJzYWwuY3BwICovLApAQCAtMjEyNjcsNyArMjEyNTMsNiBAQAogCQkJCTkzNUZC
Q0YyMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRpb25Db2RlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNzRCQjc2QjEzQkRBODYzMDBGRjdCRjAgLyogRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxNDhBRkRBNTBBRjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0aW9u
SGFuZGxlcnMuaCBpbiBIZWFkZXJzICovLAotCQkJCUIxMkQyMzNGMTM1NjAyODIwMDJBMjhENCAv
KiBFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFNjdEMkE5MTI4MEU4
QkQwMDg3NThGNyAvKiBFeHRlbnNpb25zM0QuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFNjdEMkE3
MTI4MEU4QTQwMDg3NThGNyAvKiBFeHRlbnNpb25zM0RPcGVuR0wuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE3NUU4Qjg5MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUJsZW5kLmggaW4gSGVhZGVycyAqLywK
QEAgLTIxNzgwLDcgKzIxNzY1LDYgQEAKIAkJCQlFMEZFRjM3MkIzN0M1M0VBQzFDMUZCRUUgLyog
SlNFdmVudFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2MDkwMUYwRTkxQjhFQzAwMEM2
OEI1IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMTRBQ0VDMTA4OTIw
ODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCBpbiBIZWFkZXJzICovLAotCQkJCUIxMkQy
MzZBMTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMwMEYwMTUwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmlsZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODkzQzQ3QjgxMjM4QTA5OTAwMkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4OTg3ODVCMTEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnku
aCBpbiBIZWFkZXJzICovLApAQCAtMjE5MTYsNyArMjE5MDAsNiBAQAogCQkJCTg5ODc4NUI3MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3ODVC
OTEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBODY2MjlEMTA5REEyQjQ4MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmggaW4gSGVhZGVy
cyAqLywKLQkJCQlCMTJEMjM2RTEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlz
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRkMwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0
YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEOUMyQzEwQzE3QjY5RTAwNUM5MEEy
IC8qIEpTTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOUQyNDdGODBENzU3RTM0
MDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjIxMjcsNyArMjIx
MTAsNiBAQAogCQkJCTkzM0ExNEI5MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNFRjQ1RjYwRTY4N0I1QzAwMUMxMjg3IC8qIEpTVGV4dE1ldHJp
Y3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDFCMENENjgyNjkwMEZBREE3NSAvKiBKU1Rp
bWVSYW5nZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCUIxMkQyMzY2MTM1NjAzMzAwMDJBMjhENCAv
KiBKU1RyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE3NTBENUQwQTkwREVFMTAwMEZG
MjE1IC8qIEpTVHJlZVdhbGtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5Q0YwOURBMkI0
NzAwOTYzM0E1IC8qIEpTVUlFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFRUNGMEQxMDUw
NzBDNDAwMDk5RkFCIC8qIEpTVWludDE2QXJyYXkuaCBpbiBIZWFkZXJzICovLApAQCAtMjIyODIs
NyArMjIyNjQsNiBAQAogCQkJCTkzNUM0NzYzMDlBQzRDRTYwMEE2QUFCNCAvKiBNb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0ODBBNDRFRkM3
MDBGOTkyRTAgLyogTW91c2VSZWxhdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5
REZDMDk5RTY0OTIwMDU2RTU4MSAvKiBNb3ZlU2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJQjEyRDIzNDIxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMUFENEU2MzEzQTEyQTBCMDA4NDZCMjcgLyogTXV0YWJsZVRl
eHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUwIC8q
IE11dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjIzMDk3N0QzQzAwMDU4
MjZEOSAvKiBOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLApAQCAtMjMwNjUsNyArMjMwNDYs
NiBAQAogCQkJCTkzMDVCMjREMDk4RjFCNkIwMEMyODg1NSAvKiBUaW1lci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTQ0NjEzQjAwQ0Q2MzMxMDAwRkFEQTc1IC8qIFRpbWVSYW5nZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ5RTkxMkFFMEVGQUM5MDYwMDlEMENBRiAvKiBUaW1pbmdGdW5jdGlvbi5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQjEyRDIzNDUxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlz
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQzQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5z
Zm9ybWF0aW9uTWF0cml4LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFDRTBFRjg2RDQ3MDA5
RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFE
MDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yMzIzNyw2ICsyMzIxNywxMCBAQAogCQkJCUZEN0YyOTk3MTNENEMwQ0IwMEFEOTUzNSAv
KiBXYXZlU2hhcGVyUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDgyRDdGODEzRDRD
OEJEMDA0RTQzNzIgLyogSlNXYXZlU2hhcGVyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTkx
M0EyNDIxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDlDOUYzMjMxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUM5RjMyNjEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFT
dHJlYW1UcmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDlDOUY0OEYxM0Q1N0QzMjAwNTI2MDBB
IC8qIEpTTWVkaWFTdHJlYW1UcmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDlDOUY0OTExM0Q1
N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMjQyMDAsNyArMjQxODQsNiBAQAogCQkJCTkzODMxQjU3MEQwODdENjAwMEU1Qzk4NCAvKiBF
eGNlcHRpb25Db2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Q0FDREIxMTNDRTg3NUMwMEJC
QkUzRiAvKiBFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MTQ4QUZEQTYwQUY1ODM2MDAwOENDNzAwIC8qIEV4Y2VwdGlvbkhhbmRsZXJzLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJQjEyRDIzM0UxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTY3RDJBNjEyODBFOEE0MDA4NzU4RjcgLyogRXh0
ZW5zaW9uczNET3BlbkdMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NUU4Qjg4MEUxREUyRDYw
MDdGMjQ4MSAvKiBGRUJsZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NUU4QjhBMEUxREUy
RDYwMDdGMjQ4MSAvKiBGRUNvbG9yTWF0cml4LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ3MDgs
NyArMjQ2OTEsNiBAQAogCQkJCUJDMjc1QjgxMTFDNUQyQjQwMEM5MjA2QyAvKiBKU0V2ZW50U291
cmNlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjA5MDIwMEU5MUI4RUMwMDBDNjhC
NSAvKiBKU0V2ZW50VGFyZ2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzMTRBQ0VCMTA4OTIw
ODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjEy
RDIzNjkxMzU2MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDMDBGMDE0MEUwQTE4OTUwMEZEMDRFMyAvKiBKU0ZpbGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJODkzQzQ3QjcxMjM4QTA5OTAwMkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5ODc4NUIwMTIyQ0EyQTcwMDNBQUJEQSAvKiBKU0Zp
bGVFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI0ODc4LDcgKzI0ODYwLDYgQEAKIAkJCQk4
OTg3ODVCNjEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk4OTg3ODVCODEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE4NjYyOUQyMDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjEyRDIzNkQxMzU2MDM0RDAwMkEyOEQ0IC8qIEpT
TXVsdGlwbGVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMxRkIwOUQxQ0M2
MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5
QzJDMDBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNEOUMyNjMwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjUxMDcsNyArMjUwODgsNiBAQAogCQkJCTkzM0ExNEI4MEI3
RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VG
NDVGNTBFNjg3QjVDMDAxQzEyODcgLyogSlNUZXh0TWV0cmljcy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlFNDQ2MTQxQTBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCUIxMkQyMzY1MTM1NjAzMzAwMDJBMjhENCAvKiBKU1RyYWNrTGlzdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQTc1MEQ1QzBBOTBERUUxMDAwRkYyMTUgLyogSlNUcmVlV2Fs
a2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNkJCNzk0MENFOTFFNjgwMDUxMkY3OSAvKiBK
U1RyZWVXYWxrZXJDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDAwOURBMkI0
ODAwOTYzM0E1IC8qIEpTVUlFdmVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1MjY3LDcgKzI1
MjQ3LDYgQEAKIAkJCQk5M0VCMzU1RjA5RTM3RkQ2MDBGNDM3OTkgLyogTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NTAzMUI0NzBBNDRFRkM3MDBG
OTkyRTAgLyogTW91c2VSZWxhdGVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlE
RkIwOTlFNjQ5MjAwNTZFNTgxIC8qIE1vdmVTZWxlY3Rpb25Db21tYW5kLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCUIxMkQyMzQxMTM1NjAyODIwMDJBMjhENCAvKiBNdWx0aXBsZVRyYWNrTGlzdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUFENEU2MjEzQTEyQTBCMDA4NDZCMjcgLyogTXV0YWJs
ZVRleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NTAzMUI0OTBBNDRFRkM3MDBGOTky
RTAgLyogTXV0YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0YzNEEzNzExQTIz
MUNEMDBDNzE4MDQgLyogTmFtZWROb2RlTWFwLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjU4NzEs
NyArMjU4NTAsNiBAQAogCQkJCTc1NTNDRkU5MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJl
Y29yZEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlFQTQwOTlFQjc4QzAwNTZF
NTgxIC8qIFRpbWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0FGMENENjMzMTAwMEZB
REE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUIxMkQyMzQ0MTM1NjAy
ODIwMDJBMjhENCAvKiBUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlFOTExQzMw
RUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTQ5NEJDNDBEMTJBRUREOUUwMDc0M0JEMiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeENB
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUzNTU4MEIwNTM4MTQwMDJDRTY0RiAvKiBUcmFu
c2Zvcm1hdGlvbk1hdHJpeENHLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjYwMjMsNiArMjYwMDEs
MTAgQEAKIAkJCQkyNEQ5MTJCMDEzQ0E5QTFGMDBEMjE5MTUgLyogU1ZHQWx0R2x5cGhEZWZFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI0RDkxMkI3MTNDQTlBNjkwMEQyMTkxNSAvKiBT
VkdBbHRHbHlwaEl0ZW1FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI0RDkxMkJEMTND
QTlBOTcwMEQyMTkxNSAvKiBTVkdHbHlwaFJlZkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNDlDOUYzMjQxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTQ5QzlGMzI3MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVh
bVRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5QzlGNDhFMTNENTdEMzIwMDUyNjAwQSAv
KiBKU01lZGlhU3RyZWFtVHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDlDOUY0OTAxM0Q1
N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwCmluZGV4IGU4
MTYzZTIyYzJhNmVkZjYxMGY2NTEyZWI1NTBjZDc2Yzg2MTUwNjEuLjJmM2Y2MWJhNzMxN2IzZTc2
NTU1ZWNjZDg2ZjUyNDA3ODczY2FkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRUYXJnZXQuY3BwCkBAIC0xMDUsMTIgKzEwNSw2IEBACiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW0uaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJ
REVPX1RSQUNLKQotI2luY2x1ZGUgIkV4Y2x1c2l2ZVRyYWNrTGlzdC5oIgotI2luY2x1ZGUgIk11
bHRpcGxlVHJhY2tMaXN0LmgiCi0jaW5jbHVkZSAiVHJhY2tMaXN0LmgiCi0jZW5kaWYKLQogdXNp
bmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjA4LDE3ICsyMDIs
NiBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBFdmVudFRhcmdldCogdGFyZwogICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBn
bG9iYWxPYmplY3QsIHN0cmVhbSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
IHx8IEVOQUJMRShWSURFT19UUkFDSykKLSAgICBpZiAoTXVsdGlwbGVUcmFja0xpc3QqIG11bHRp
cGxlVHJhY2tMaXN0ID0gdGFyZ2V0LT50b011bHRpcGxlVHJhY2tMaXN0KCkpCi0gICAgICAgIHJl
dHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgbXVsdGlwbGVUcmFja0xpc3QpOwotCi0gICAg
aWYgKEV4Y2x1c2l2ZVRyYWNrTGlzdCogZXhjbHVzaXZlVHJhY2tMaXN0ID0gdGFyZ2V0LT50b0V4
Y2x1c2l2ZVRyYWNrTGlzdCgpKQotICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmpl
Y3QsIGV4Y2x1c2l2ZVRyYWNrTGlzdCk7Ci0KLSAgICBpZiAoVHJhY2tMaXN0KiB0cmFja0xpc3Qg
PSB0YXJnZXQtPnRvVHJhY2tMaXN0KCkpCi0gICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2Jh
bE9iamVjdCwgdHJhY2tMaXN0KTsKLSNlbmRpZgotCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgcmV0dXJuIGpzTnVsbCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV3JhcHBlci5jcHAKaW5kZXggNDZjZmJlZDkyMWNhN2QzZjExNmY0OTViYjE3YjgwMTVmY2I3
MjhjMy4uMDM0ZDU0NzU5ZDZmZmRjOWNjZmU1ZjdjNzQ4YmQ0ZjlkMzA0MzhjNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCkBAIC00Nyw3ICs0Nyw2IEBA
CiAjaW5jbHVkZSAiVjhFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiVjhFdmVudExpc3RlbmVy
TGlzdC5oIgogI2luY2x1ZGUgIlY4RXZlbnRTb3VyY2UuaCIKLSNpbmNsdWRlICJWOEV4Y2x1c2l2
ZVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIlY4RmlsZVJlYWRlci5oIgogI2luY2x1ZGUgIlY4Rmls
ZVdyaXRlci5oIgogI2luY2x1ZGUgIlY4SFRNTENvbGxlY3Rpb24uaCIKQEAgLTYxLDcgKzYwLDYg
QEAKICNpbmNsdWRlICJWOExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiVjhNZWRpYVN0cmVhbS5oIgog
I2luY2x1ZGUgIlY4TWVzc2FnZUNoYW5uZWwuaCIKLSNpbmNsdWRlICJWOE11bHRpcGxlVHJhY2tM
aXN0LmgiCiAjaW5jbHVkZSAiVjhOYW1lZE5vZGVNYXAuaCIKICNpbmNsdWRlICJWOE5vZGUuaCIK
ICNpbmNsdWRlICJWOE5vZGVGaWx0ZXJDb25kaXRpb24uaCIKQEAgLTcxLDcgKzY5LDYgQEAKICNp
bmNsdWRlICJWOFNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIlY4U2hhcmVkV29ya2VyQ29udGV4
dC5oIgogI2luY2x1ZGUgIlY4U3R5bGVTaGVldC5oIgotI2luY2x1ZGUgIlY4VHJhY2tMaXN0Lmgi
CiAjaW5jbHVkZSAiVjhXZWJTb2NrZXQuaCIKICNpbmNsdWRlICJWOFdvcmtlci5oIgogI2luY2x1
ZGUgIlY4V29ya2VyQ29udGV4dC5oIgpAQCAtNDU5LDE3ICs0NTYsNiBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhET01XcmFwcGVyOjpjb252ZXJ0RXZlbnRUYXJnZXRUb1Y4T2JqZWN0KEV2ZW50
VGFyZ2V0KiB0YQogICAgICAgICByZXR1cm4gdG9WOChzdHJlYW0pOwogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgaWYgKE11bHRp
cGxlVHJhY2tMaXN0KiBtdWx0aXBsZVRyYWNrTGlzdCA9IHRhcmdldC0+dG9NdWx0aXBsZVRyYWNr
TGlzdCgpKQotICAgICAgICByZXR1cm4gdG9WOChtdWx0aXBsZVRyYWNrTGlzdCk7Ci0KLSAgICBp
ZiAoRXhjbHVzaXZlVHJhY2tMaXN0KiBleGNsdXNpdmVUcmFja0xpc3QgPSB0YXJnZXQtPnRvRXhj
bHVzaXZlVHJhY2tMaXN0KCkpCi0gICAgICAgIHJldHVybiB0b1Y4KGV4Y2x1c2l2ZVRyYWNrTGlz
dCk7Ci0KLSAgICBpZiAoVHJhY2tMaXN0KiB0cmFja0xpc3QgPSB0YXJnZXQtPnRvVHJhY2tMaXN0
KCkpCi0gICAgICAgIHJldHVybiB0b1Y4KHRyYWNrTGlzdCk7Ci0jZW5kaWYKLQogICAgIEFTU0VS
VCgwKTsKICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IDljYjA5OGUxYWIyOGMyZjVkMmYzNWQ4NDc5MTZkZjFm
MzY0MzA1ZjMuLmYyOTM5ODkxNTIwODhjZjkyMmM3YWJiMjJkMGQ4ZDRhMzI0MTU5Y2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtNzYsMTggKzc2LDE4IEBACiAjaW5jbHVkZSAi
RXhjZXB0aW9uQmFzZS5jcHAiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5jcHAiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCIKLSNpbmNsdWRlICJFeGNsdXNpdmVUcmFj
a0xpc3QuY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1ZGUgIktleWJvYXJkRXZl
bnQuY3BwIgogI2luY2x1ZGUgIkxvY2FsTWVkaWFTdHJlYW0uY3BwIgogI2luY2x1ZGUgIk1lZGlh
U3RyZWFtLmNwcCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbVRyYWNrLmNwcCIKKyNpbmNsdWRlICJN
ZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAiCiAjaW5jbHVkZSAiTWVzc2FnZUNoYW5uZWwuY3BwIgog
I2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5jcHAiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuY3BwIgog
I2luY2x1ZGUgIk1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5j
cHAiCiAjaW5jbHVkZSAiTW91c2VSZWxhdGVkRXZlbnQuY3BwIgotI2luY2x1ZGUgIk11bHRpcGxl
VHJhY2tMaXN0LmNwcCIKICNpbmNsdWRlICJNdXRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJO
YW1lTm9kZUxpc3QuY3BwIgogI2luY2x1ZGUgIk5vZGVGaWx0ZXIuY3BwIgpAQCAtMTI5LDcgKzEy
OSw2IEBACiAjaW5jbHVkZSAiVG91Y2guY3BwIgogI2luY2x1ZGUgIlRvdWNoRXZlbnQuY3BwIgog
I2luY2x1ZGUgIlRvdWNoTGlzdC5jcHAiCi0jaW5jbHVkZSAiVHJhY2tMaXN0LmNwcCIKICNpbmNs
dWRlICJUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCIKICNpbmNsdWRlICJUcmF2ZXJzYWwuY3Bw
IgogI2luY2x1ZGUgIlRyZWVTY29wZS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApp
bmRleCAxNWYzODIxZjIwYWI0NDE1Yzc3N2I3MTgxNmFjMThkM2UyMDI2YTk1Li5hMjhiZGIxM2Qy
Y2U4MmZhNjkyM2Y5M2IzNmJmYTE3MDdmMzNlMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5jcHAKQEAgLTIxNywyMyArMjE3LDYgQEAgTG9jYWxNZWRpYVN0cmVhbSogRXZlbnRUYXJnZXQ6
OnRvTG9jYWxNZWRpYVN0cmVhbSgpCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLVRyYWNrTGlzdCogRXZlbnRUYXJnZXQ6OnRvVHJh
Y2tMaXN0KCkKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotTXVsdGlwbGVUcmFja0xpc3QqIEV2ZW50
VGFyZ2V0Ojp0b011bHRpcGxlVHJhY2tMaXN0KCkKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotRXhj
bHVzaXZlVHJhY2tMaXN0KiBFdmVudFRhcmdldDo6dG9FeGNsdXNpdmVUcmFja0xpc3QoKQotewot
ICAgIHJldHVybiAwOwotfQotI2VuZGlmCi0KIGJvb2wgRXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0
ZW5lcj4gbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSkKIHsKICAgICBFdmVudFRhcmdldERhdGEq
IGQgPSBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5k
ZXggYWUyYTY0ZTE0ZjYyODI3YjRkNDRmN2I3YTE4MDQwMjViMzc0YWJjNi4uYmNjNzU4YzMwMzcx
MzYyZmViYzE3MjdjYjgyMmE5NzFjNWZiYzQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgK
QEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50Owog
ICAgIGNsYXNzIEV2ZW50TGlzdGVuZXI7CiAgICAgY2xhc3MgRXZlbnRTb3VyY2U7Ci0gICAgY2xh
c3MgRXhjbHVzaXZlVHJhY2tMaXN0OwogICAgIGNsYXNzIEZpbGVSZWFkZXI7CiAgICAgY2xhc3Mg
RmlsZVdyaXRlcjsKICAgICBjbGFzcyBJREJEYXRhYmFzZTsKQEAgLTU4LDE0ICs1NywxMiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxNZWRpYVN0cmVhbTsKICAgICBjbGFz
cyBNZWRpYVN0cmVhbTsKICAgICBjbGFzcyBNZXNzYWdlUG9ydDsKLSAgICBjbGFzcyBNdWx0aXBs
ZVRyYWNrTGlzdDsKICAgICBjbGFzcyBOb2RlOwogICAgIGNsYXNzIE5vdGlmaWNhdGlvbjsKICAg
ICBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXI7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyQ29u
dGV4dDsKLSAgICBjbGFzcyBUcmFja0xpc3Q7CiAgICAgY2xhc3MgV2ViU29ja2V0OwogICAgIGNs
YXNzIFdvcmtlcjsKICAgICBjbGFzcyBYTUxIdHRwUmVxdWVzdDsKQEAgLTE1NywxMiArMTU0LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIExvY2FsTWVkaWFTdHJlYW0q
IHRvTG9jYWxNZWRpYVN0cmVhbSgpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgIHZpcnR1YWwgVHJhY2tMaXN0KiB0b1Ry
YWNrTGlzdCgpOwotICAgICAgICB2aXJ0dWFsIE11bHRpcGxlVHJhY2tMaXN0KiB0b011bHRpcGxl
VHJhY2tMaXN0KCk7Ci0gICAgICAgIHZpcnR1YWwgRXhjbHVzaXZlVHJhY2tMaXN0KiB0b0V4Y2x1
c2l2ZVRyYWNrTGlzdCgpOwotI2VuZGlmCi0KICAgICAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgPSAwOwogCiAgICAgICAg
IHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+LCBib29sIHVzZUNhcHR1cmUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXhjbHVzaXZlVHJhY2tMaXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjk2ZDIyODFmOTk5MDhjNTFlZjA4ZjkzZDRjYzU4MmRiMjFkMzVmOS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXhjbHVzaXZlVHJhY2tMaXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0g
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMK
LSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJFeGNsdXNpdmVU
cmFja0xpc3QuaCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19U
UkFDSykKLQotI2luY2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiBFeGNs
dXNpdmVUcmFja0xpc3Q6OmNyZWF0ZShjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzLCBsb25nIHNl
bGVjdGVkSW5kZXgpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBFeGNsdXNpdmVUcmFja0xp
c3QodHJhY2tzLCBzZWxlY3RlZEluZGV4KSk7Ci19Ci0KLUV4Y2x1c2l2ZVRyYWNrTGlzdDo6RXhj
bHVzaXZlVHJhY2tMaXN0KGNvbnN0IFRyYWNrVmVjdG9yJiB0cmFja3MsIGxvbmcgc2VsZWN0ZWRJ
bmRleCkKLSAgICA6IFRyYWNrTGlzdCh0cmFja3MpCi0gICAgLCBtX3NlbGVjdGVkSW5kZXgoc2Vs
ZWN0ZWRJbmRleCkKLXsKLSAgICBBU1NFUlQobV9zZWxlY3RlZEluZGV4ID49IE5vU2VsZWN0aW9u
ICYmIG1fc2VsZWN0ZWRJbmRleCA8IHN0YXRpY19jYXN0PGxvbmc+KGxlbmd0aCgpKSk7Ci19Ci0K
LUV4Y2x1c2l2ZVRyYWNrTGlzdDo6fkV4Y2x1c2l2ZVRyYWNrTGlzdCgpCi17Ci19Ci0KLXZvaWQg
RXhjbHVzaXZlVHJhY2tMaXN0OjpjbGVhcigpCi17Ci0gICAgbV9zZWxlY3RlZEluZGV4ID0gTm9T
ZWxlY3Rpb247Ci0gICAgVHJhY2tMaXN0OjpjbGVhcigpOwotfQotCi12b2lkIEV4Y2x1c2l2ZVRy
YWNrTGlzdDo6c2VsZWN0KGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlm
ICghY2hlY2tJbmRleChpbmRleCwgZWMsIE5vU2VsZWN0aW9uKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgbV9zZWxlY3RlZEluZGV4ID0gaW5kZXg7Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotICAgIGlmIChtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpKQotICAgICAgICBtZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlcigpLT5zZWxlY3RWaWRlb1RyYWNrKGFzc29jaWF0ZWRTdHJlYW1M
YWJlbCgpLCBpbmRleCk7Ci0jZW5kaWYKLQotICAgIHBvc3RDaGFuZ2VFdmVudCgpOwotfQotCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLXZvaWQgRXhjbHVzaXZlVHJhY2tMaXN0Ojp0cmFja0Zh
aWxlZCh1bnNpZ25lZCBsb25nIGluZGV4KQotewotICAgIGlmIChtX3NlbGVjdGVkSW5kZXggPT0g
c3RhdGljX2Nhc3Q8bG9uZz4oaW5kZXgpKQotICAgICAgICBtX3NlbGVjdGVkSW5kZXggPSBOb1Nl
bGVjdGlvbjsKLQotICAgIFRyYWNrTGlzdDo6dHJhY2tGYWlsZWQoaW5kZXgpOwotfQotI2VuZGlm
Ci0KLUV4Y2x1c2l2ZVRyYWNrTGlzdCogRXhjbHVzaXZlVHJhY2tMaXN0Ojp0b0V4Y2x1c2l2ZVRy
YWNrTGlzdCgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFD
SykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcAppbmRleCAxZDBiZjU0YzVh
NGY2OTAzYWU3YWVmYzFlZDM1MWI5ODc1ZDM0NTdlLi5kZjM3MjI3ODY5N2ZhZmE4MDYzZmNkYTQy
ZjMyYTBmY2E4Nzk3NDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRp
YVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uY3Bw
CkBAIC0yOSw5ICsyOSw3IEBACiAKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKLSNpbmNsdWRlICJFeGNsdXNpdmVUcmFja0xpc3QuaCIKICNpbmNsdWRlICJNZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIk11bHRpcGxlVHJhY2tMaXN0Lmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01OSwyMCArNTcsMTQgQEAgcHVibGljOgogICAgIENhbGxiYWNrIG1fY2FsbGJhY2s7
CiB9OwogCi1QYXNzUmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IExvY2FsTWVkaWFTdHJlYW06OmNy
ZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25zdCBT
dHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBhdWRpb1RyYWNrcywg
UGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tzKQorUGFzc1JlZlB0cjxM
b2NhbE1lZGlhU3RyZWFtPiBMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKQogewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgTG9jYWxNZWRpYVN0cmVhbShmcmFtZUNvbnRyb2xsZXIsIGxhYmVsLCBhdWRpb1RyYWNr
cywgdmlkZW9UcmFja3MpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IExvY2FsTWVkaWFTdHJl
YW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCwgdHJhY2tzKSk7CiB9CiAKLUxvY2FsTWVkaWFTdHJl
YW06OkxvY2FsTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29u
dHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlz
dD4gYXVkaW9UcmFja3MsIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNr
cykKLSAgICA6IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwsIHRydWUpCi0gICAg
LCBtX2F1ZGlvVHJhY2tzKGF1ZGlvVHJhY2tzKQotICAgICwgbV92aWRlb1RyYWNrcyh2aWRlb1Ry
YWNrcykKK0xvY2FsTWVkaWFTdHJlYW06OkxvY2FsTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKQorICAgIDogTWVkaWFTdHJlYW0oZnJh
bWVDb250cm9sbGVyLCBsYWJlbCwgdHJhY2tzLCB0cnVlKQogewotICAgIEFTU0VSVChtX2F1ZGlv
VHJhY2tzKTsKLSAgICBBU1NFUlQobV92aWRlb1RyYWNrcyk7Ci0gICAgbV9hdWRpb1RyYWNrcy0+
YXNzb2NpYXRlU3RyZWFtKGxhYmVsKTsKLSAgICBtX3ZpZGVvVHJhY2tzLT5hc3NvY2lhdGVTdHJl
YW0obGFiZWwpOwogfQogCiBMb2NhbE1lZGlhU3RyZWFtOjp+TG9jYWxNZWRpYVN0cmVhbSgpCkBA
IC05NCwzMCArODYsMTUgQEAgdm9pZCBMb2NhbE1lZGlhU3RyZWFtOjpkZXRhY2hFbWJlZGRlcigp
CiAKIHZvaWQgTG9jYWxNZWRpYVN0cmVhbTo6c3RyZWFtRW5kZWQoKQogewotICAgIG1fYXVkaW9U
cmFja3MtPmNsZWFyKCk7Ci0gICAgbV92aWRlb1RyYWNrcy0+Y2xlYXIoKTsKLQogICAgIE1lZGlh
U3RyZWFtOjpzdHJlYW1FbmRlZCgpOwogfQogCi1QYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0
PiBMb2NhbE1lZGlhU3RyZWFtOjphdWRpb1RyYWNrcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1f
YXVkaW9UcmFja3M7Ci19Ci0KLVBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiBMb2NhbE1l
ZGlhU3RyZWFtOjp2aWRlb1RyYWNrcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdmlkZW9UcmFj
a3M7Ci19Ci0KIHZvaWQgTG9jYWxNZWRpYVN0cmVhbTo6c3RvcCgpCiB7CiAgICAgaWYgKCFtZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlcigpIHx8IG1fcmVhZHlTdGF0ZSA9PSBFTkRFRCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgbWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+c3RvcEdlbmVy
YXRlZFN0cmVhbShsYWJlbCgpKTsKLSAgICBtX2F1ZGlvVHJhY2tzLT5jbGVhcigpOwotICAgIG1f
dmlkZW9UcmFja3MtPmNsZWFyKCk7CiAKICAgICBtX3JlYWR5U3RhdGUgPSBFTkRFRDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmgKaW5kZXggY2FiNDc3ZWUxZGE4YjQ1MjYwMDM0
Mzk1YmI4YmM2ZmU0NzAzMmU5YS4uNmM4NTQwODI2YzYxNzg4ZWZhYWNlNzk1MzUzNjRjMTQwMjUy
NmY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVhbS5oCkBAIC0zMiwxOSArMzIs
MTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBFeGNsdXNpdmVUcmFja0xpc3Q7
Ci1jbGFzcyBNdWx0aXBsZVRyYWNrTGlzdDsKLQogY2xhc3MgTG9jYWxNZWRpYVN0cmVhbSA6IHB1
YmxpYyBNZWRpYVN0cmVhbSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TG9jYWxN
ZWRpYVN0cmVhbT4gY3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3Ry
aW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MsIFBh
c3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcyk7CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8TG9jYWxNZWRpYVN0cmVhbT4gY3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyKiwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlz
dD4gdHJhY2tzKTsKICAgICB2aXJ0dWFsIH5Mb2NhbE1lZGlhU3RyZWFtKCk7CiAKICAgICB2b2lk
IHN0b3AoKTsKIAotICAgIFBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGF1ZGlvVHJhY2tz
KCkgY29uc3Q7Ci0gICAgUGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tz
KCkgY29uc3Q7Ci0KICAgICAvLyBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6U3RyZWFtQ2xp
ZW50IGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hFbWJlZGRlcigpOwog
ICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1FbmRlZCgpOwpAQCAtNTIsMTUgKzQ2LDE1IEBAIHB1Ymxp
YzoKICAgICAvLyBFdmVudFRhcmdldC4KICAgICB2aXJ0dWFsIExvY2FsTWVkaWFTdHJlYW0qIHRv
TG9jYWxNZWRpYVN0cmVhbSgpOwogCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBib29sIGlzTG9j
YWxNZWRpYVN0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKwogcHJpdmF0ZToKLSAgICBM
b2NhbE1lZGlhU3RyZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3RyaW5n
JiBsYWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MsIFBhc3NS
ZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcyk7CisgICAgTG9jYWxNZWRpYVN0
cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYgbGFiZWwsIFBh
c3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcyk7CiAgICAgY2xhc3MgRGlzcGF0
Y2hVcGRhdGVUYXNrOwogICAgIGZyaWVuZCBjbGFzcyBEaXNwYXRjaFVwZGF0ZVRhc2s7CiAKICAg
ICB2b2lkIG9uU3RvcCgpOwotCi0gICAgUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBtX2F1ZGlv
VHJhY2tzOwotICAgIFJlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IG1fdmlkZW9UcmFja3M7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTG9jYWxNZWRpYVN0cmVhbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0
cmVhbS5pZGwKaW5kZXggMWY4ZmUyNjA3NmNhYmM2Njk0NDE3OTI2ZGU4NzJmMTM3MmUwOWNlNi4u
ZTQ3MjVhMGQ2YzAwMmQwM2ZlNzc5NTdlNjdhYmQ3OTU3YzlmYTFjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbApAQCAtMjMsMTYgKzIzLDEzIEBACiAgKi8KIAogbW9k
dWxlIGNvcmUgeworCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKICAgICAgICAgRXZlbnRU
YXJnZXQKICAgICBdIExvY2FsTWVkaWFTdHJlYW0gOiBNZWRpYVN0cmVhbSB7CiAgICAgICAgIHZv
aWQgc3RvcCgpOwotCi0gICAgICAgIC8vIFRyYWNrIGNvbnRyb2wuCi0gICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBNdWx0aXBsZVRyYWNrTGlzdCBhdWRpb1RyYWNrczsKLSAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEV4Y2x1c2l2ZVRyYWNrTGlzdCB2aWRlb1RyYWNrczsKICAgICB9OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmNwcAppbmRleCA4Mjk3MjA0ZmJhNWVkY2YxNWY1YWEy
ZTliODQxMGM0NTAyYzAxMjQ5Li5iMDlmYmEyMjA3Y2UwYmEwYmMxNzFiNWVhNzAxMmNkNjAzYmM1
YjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5jcHAKQEAgLTMyLDE0ICszMiwxNSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlhU3Ry
ZWFtOjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwg
Y29uc3QgU3RyaW5nJiBsYWJlbCkKK1Bhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFt
OjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29u
c3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tz
LCBib29sIGlzTG9jYWxNZWRpYVN0cmVhbSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1l
ZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwsIHRyYWNrcywgaXNMb2NhbE1l
ZGlhU3RyZWFtKSk7CiB9CiAKLU1lZGlhU3RyZWFtOjpNZWRpYVN0cmVhbShNZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBib29s
IGlzTG9jYWxNZWRpYVN0cmVhbSkKK01lZGlhU3RyZWFtOjpNZWRpYVN0cmVhbShNZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFja3MsIGJvb2wgaXNMb2NhbE1lZGlh
U3RyZWFtKQogICAgIDogTWVkaWFTdHJlYW1DbGllbnQoZnJhbWVDb250cm9sbGVyLCBsYWJlbCwg
aXNMb2NhbE1lZGlhU3RyZWFtKQogICAgICwgbV9yZWFkeVN0YXRlKExJVkUpCisgICAgLCBtX3Ry
YWNrcyh0cmFja3MpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZWRp
YVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmgKaW5kZXggZWY1MjBk
MzMyYTFlZTRlZjVhYTFkOGVmMWY1YjAxOGIxMzYyZjIwMy4uYTYxOTU2MDMzNWM1NDMwN2E0NGU0
Y2FiMWUzNzRkZGNkODcyNjYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lZGlh
U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmgKQEAgLTMwLDYg
KzMwLDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQu
aCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIk1l
ZGlhU3RyZWFtVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
QEAgLTQ3LDE2ICs0OCwxNiBAQCBwdWJsaWM6CiAgICAgICAgIEVOREVEID0gMgogICAgIH07CiAK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gY3JlYXRlKE1lZGlhU3RyZWFtRnJh
bWVDb250cm9sbGVyKiwgY29uc3QgU3RyaW5nJiBsYWJlbCk7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW0+IGNyZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0
IFN0cmluZyYgbGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcywg
Ym9vbCBpc0xvY2FsTWVkaWFTdHJlYW0gPSBmYWxzZSk7CiAgICAgdmlydHVhbCB+TWVkaWFTdHJl
YW0oKTsKIAotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdGhlIHJlY29yZCBtZXRob2Qgd2hlbiBN
ZWRpYVN0cmVhbVJlY29yZGVyIGlzIGF2YWlsYWJsZS4KLQogICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoZW5kZWQpOwogCiAgICAgdW5zaWduZWQgc2hvcnQgcmVhZHlTdGF0ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVhZHlTdGF0ZTsgfQogICAgIGNvbnN0IFN0cmluZyYgbGFiZWwo
KSBjb25zdCB7IHJldHVybiBjbGllbnRJZCgpOyB9CiAKKyAgICBQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2tMaXN0PiB0cmFja3MoKSB7IHJldHVybiBtX3RyYWNrczsgfQorCiAgICAgLy8gTWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6Ok1lZGlhU3RyZWFtQ2xpZW50IGltcGxlbWVudGF0aW9u
LgogICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1FbmRlZCgpOwogCkBAIC02OCw3ICs2OSw3IEBAIHB1
YmxpYzoKICAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtPjo6ZGVyZWY7CiAKIHByb3Rl
Y3RlZDoKLSAgICBNZWRpYVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0
IFN0cmluZyYgbGFiZWwsIGJvb2wgaXNMb2NhbE1lZGlhU3RyZWFtID0gZmFsc2UpOworICAgIE1l
ZGlhU3RyZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3RyaW5nJiBsYWJl
bCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzLCBib29sIGlzTG9jYWxN
ZWRpYVN0cmVhbSk7CiAKICAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KICAgICB2
aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CkBAIC04NCw2ICs4NSw4
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVm
KCk7IH0KIAogICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKKworICAgIFJl
ZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gbV90cmFja3M7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uaWRs
IGIvU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbAppbmRleCBlOGY4NDE1NDgzZDI0
ZDJkN2Y1NDhlMmUzMjVmZDdmYWI3ZmIyMGY4Li5lMzIxMmNlNWY3YjNiZmNjNGUwMThkMTU1NDhh
YTMxMWUzODMwMDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5pZGwKQEAgLTIzLDEyICsy
MywxNSBAQAogICovCiAKIG1vZHVsZSBjb3JlIHsKKwogICAgIGludGVyZmFjZSBbCiAgICAgICAg
IExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50cywKICAgICAgICAgQ29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNLAogICAgICAgICBFdmVudFRhcmdldAogICAgIF0gTWVkaWFTdHJlYW0gewogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW1UcmFja0xpc3QgdHJhY2tzOworCiAgICAgICAgIC8vIEZJ
WE1FOiBpbXBsZW1lbnQgdGhlIHJlY29yZCBtZXRob2Qgd2hlbiBNZWRpYVN0cmVhbVJlY29yZGVy
IGlzIGF2YWlsYWJsZS4KIAogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBMSVZFID0gMTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTXVsdGlwbGVUcmFja0xpc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlOGUzNzE5NzA1ZTZkMzhhNzgxZDllM2E1ZjlhYzgwYTg0NDc0NDFlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIk11bHRp
cGxlVHJhY2tMaXN0LmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklE
RU9fVFJBQ0spCi0KLSNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBN
dWx0aXBsZVRyYWNrTGlzdDo6Y3JlYXRlKGNvbnN0IFRyYWNrVmVjdG9yJiB0cmFja3MsIGNvbnN0
IEVuYWJsZWRUcmFja3MmIGVuYWJsZWRUcmFja3MpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBNdWx0aXBsZVRyYWNrTGlzdCh0cmFja3MsIGVuYWJsZWRUcmFja3MpKTsKLX0KLQotTXVsdGlw
bGVUcmFja0xpc3Q6Ok11bHRpcGxlVHJhY2tMaXN0KGNvbnN0IFRyYWNrVmVjdG9yJiB0cmFja3Ms
IGNvbnN0IEVuYWJsZWRUcmFja3MmIGVuYWJsZWRUcmFja3MpCi0gICAgOiBUcmFja0xpc3QodHJh
Y2tzKQotICAgICwgbV9pc0VuYWJsZWQoZW5hYmxlZFRyYWNrcykKLXsKLSAgICBBU1NFUlQobV9p
c0VuYWJsZWQuc2l6ZSgpID09IGxlbmd0aCgpKTsKLX0KLQotTXVsdGlwbGVUcmFja0xpc3Q6On5N
dWx0aXBsZVRyYWNrTGlzdCgpCi17Ci19Ci0KLXZvaWQgTXVsdGlwbGVUcmFja0xpc3Q6OmNsZWFy
KCkKLXsKLSAgICBtX2lzRW5hYmxlZC5jbGVhcigpOwotICAgIFRyYWNrTGlzdDo6Y2xlYXIoKTsK
LX0KLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi12b2lkIE11bHRpcGxlVHJhY2tMaXN0Ojp0
cmFja0ZhaWxlZCh1bnNpZ25lZCBsb25nIGluZGV4KQotewotICAgIFRyYWNrTGlzdDo6dHJhY2tG
YWlsZWQoaW5kZXgpOwotICAgIG1faXNFbmFibGVkLnJlbW92ZShpbmRleCk7Ci19Ci0jZW5kaWYK
LQotYm9vbCBNdWx0aXBsZVRyYWNrTGlzdDo6aXNFbmFibGVkKHVuc2lnbmVkIGxvbmcgaW5kZXgs
IEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAotewotICAgIHJldHVybiBjaGVja0luZGV4KGluZGV4
LCBlYykgPyBtX2lzRW5hYmxlZFtpbmRleF0gOiBmYWxzZTsKLX0KLQotdm9pZCBNdWx0aXBsZVRy
YWNrTGlzdDo6ZW5hYmxlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQot
ewotICAgIGlmICghY2hlY2tJbmRleChpbmRleCwgZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBtX2lzRW5hYmxlZFtpbmRleF0gPSB0cnVlOwotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
LSAgICBpZiAobWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKSkKLSAgICAgICAgbWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXIoKS0+ZW5hYmxlQXVkaW9UcmFjayhhc3NvY2lhdGVkU3RyZWFtTGFi
ZWwoKSwgaW5kZXgpOwotI2VuZGlmCi0KLSAgICBwb3N0Q2hhbmdlRXZlbnQoKTsKLX0KLQotdm9p
ZCBNdWx0aXBsZVRyYWNrTGlzdDo6ZGlzYWJsZSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRp
b25Db2RlJiBlYykKLXsKLSAgICBpZiAoIWNoZWNrSW5kZXgoaW5kZXgsIGVjKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgbV9pc0VuYWJsZWRbaW5kZXhdID0gZmFsc2U7Ci0KLSNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQotICAgIGlmIChtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpKQotICAg
ICAgICBtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpLT5kaXNhYmxlQXVkaW9UcmFjayhhc3Nv
Y2lhdGVkU3RyZWFtTGFiZWwoKSwgaW5kZXgpOwotI2VuZGlmCi0KLSAgICBwb3N0Q2hhbmdlRXZl
bnQoKTsKLX0KLQotTXVsdGlwbGVUcmFja0xpc3QqIE11bHRpcGxlVHJhY2tMaXN0Ojp0b011bHRp
cGxlVHJhY2tMaXN0KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVP
X1RSQUNLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYWNrTGlzdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOWI4ZDFjNDBjNWFmMTM3OTc5MjQ1YTAyYjZjYmY2N2M1MzE4YjI4Yy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VHJhY2tMaXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE4MyArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
LSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVHJhY2tMaXN0LmgiCi0KLSNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0KLSNpbmNsdWRlICJF
dmVudC5oIgotI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLVBhc3NSZWZQdHI8VHJhY2s+IFRyYWNrOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBp
ZCwgY29uc3QgQXRvbWljU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBT
dHJpbmcmIGxhbmd1YWdlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVHJhY2soaWQsIGtp
bmQsIGxhYmVsLCBsYW5ndWFnZSkpOwotfQotCi1UcmFjazo6VHJhY2soY29uc3QgU3RyaW5nJiBp
ZCwgY29uc3QgQXRvbWljU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBT
dHJpbmcmIGxhbmd1YWdlKQotICAgIDogbV9pZChpZCkKLSAgICAsIG1fa2luZChraW5kKQotICAg
ICwgbV9sYWJlbChsYWJlbCkKLSAgICAsIG1fbGFuZ3VhZ2UobGFuZ3VhZ2UpCi17Ci19Ci0KLVBh
c3NSZWZQdHI8VHJhY2tMaXN0PiBUcmFja0xpc3Q6OmNyZWF0ZShjb25zdCBUcmFja1ZlY3RvciYg
dHJhY2tzKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVHJhY2tMaXN0KHRyYWNrcykpOwot
fQotCi1UcmFja0xpc3Q6OlRyYWNrTGlzdChjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzKQotICAg
IDogbV90cmFja3ModHJhY2tzKQotewotfQotCi1UcmFja0xpc3Q6On5UcmFja0xpc3QoKQotewot
fQotCi11bnNpZ25lZCBsb25nIFRyYWNrTGlzdDo6bGVuZ3RoKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gbV90cmFja3Muc2l6ZSgpOwotfQotCi1ib29sIFRyYWNrTGlzdDo6Y2hlY2tJbmRleChsb25n
IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYywgbG9uZyBhbGxvd2VkKSBjb25zdAotewotICAgIGlm
IChpbmRleCA+PSBzdGF0aWNfY2FzdDxsb25nPihsZW5ndGgoKSkgfHwgKGluZGV4IDwgMCAmJiBp
bmRleCAhPSBhbGxvd2VkKSkgewotICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgZWMgPSAwOwotICAgIHJldHVybiB0cnVlOwot
fQotCi1jb25zdCBTdHJpbmcmIFRyYWNrTGlzdDo6Z2V0SUQodW5zaWduZWQgbG9uZyBpbmRleCwg
RXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJp
bmcsIG51bGxTdHJpbmcsICgpKTsKLSAgICByZXR1cm4gY2hlY2tJbmRleChpbmRleCwgZWMpID8g
bV90cmFja3NbaW5kZXhdLT5pZCgpIDogbnVsbFN0cmluZzsKLX0KLQotY29uc3QgQXRvbWljU3Ry
aW5nJiBUcmFja0xpc3Q6OmdldEtpbmQodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29k
ZSYgZWMpIGNvbnN0Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG51
bGxTdHJpbmcsICgpKTsKLSAgICByZXR1cm4gY2hlY2tJbmRleChpbmRleCwgZWMpID8gbV90cmFj
a3NbaW5kZXhdLT5raW5kKCkgOiBudWxsU3RyaW5nOwotfQotCi1jb25zdCBTdHJpbmcmIFRyYWNr
TGlzdDo6Z2V0TGFiZWwodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNv
bnN0Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIG51bGxTdHJpbmcsICgpKTsK
LSAgICByZXR1cm4gY2hlY2tJbmRleChpbmRleCwgZWMpID8gbV90cmFja3NbaW5kZXhdLT5sYWJl
bCgpIDogbnVsbFN0cmluZzsKLX0KLQotY29uc3QgU3RyaW5nJiBUcmFja0xpc3Q6OmdldExhbmd1
YWdlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAotewotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBudWxsU3RyaW5nLCAoKSk7Ci0gICAgcmV0dXJu
IGNoZWNrSW5kZXgoaW5kZXgsIGVjKSA/IG1fdHJhY2tzW2luZGV4XS0+bGFuZ3VhZ2UoKSA6IG51
bGxTdHJpbmc7Ci19Ci0KLXZvaWQgVHJhY2tMaXN0OjpjbGVhcigpCi17Ci0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKLSAgICBtX2Fzc29jaWF0ZWRTdHJlYW1MYWJlbCA9IFN0cmluZygpOwotI2Vu
ZGlmCi0KLSAgICBpZiAobV90cmFja3MuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBtX3RyYWNrcy5jbGVhcigpOwotCi0gICAgcG9zdENoYW5nZUV2ZW50KCk7Ci19Ci0KLXZvaWQg
VHJhY2tMaXN0Ojpwb3N0Q2hhbmdlRXZlbnQoKQotewotICAgIC8vIERpc3BhdGNoIGEgY2hhbmdl
IGV2ZW50IGFzeW5jaHJvbm91c2x5LiBEb24ndCBhc3NlcnQgc2luY2UgdGhpcyBtYXkgYmUgY2Fs
bGVkIGR1cmluZyBzaHV0ZG93biwKLSAgICAvLyBhbmQgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQgbWF5IGJlIG5vdCBhdmFpbGFibGUgaW4gdGhlIE1lZGlhIFN0cmVhbSBjYXNlLgotICAgIGlm
ICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBBU1NF
UlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7Ci0gICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFzayhEaXNwYXRjaFRhc2s8VHJhY2tMaXN0LCBp
bnQ+OjpjcmVhdGUodGhpcywgJlRyYWNrTGlzdDo6ZGlzcGF0Y2hDaGFuZ2VFdmVudCwgMCkpOwot
fQotCi12b2lkIFRyYWNrTGlzdDo6ZGlzcGF0Y2hDaGFuZ2VFdmVudChpbnQpCi17Ci0gICAgZGlz
cGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgZmFsc2Us
IGZhbHNlKSk7Ci19Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotdm9pZCBUcmFja0xpc3Q6
OmFzc29jaWF0ZVN0cmVhbShjb25zdCBTdHJpbmcmIGxhYmVsKQotewotICAgIEFTU0VSVChtX2Fz
c29jaWF0ZWRTdHJlYW1MYWJlbC5pc051bGwoKSk7Ci0gICAgbV9hc3NvY2lhdGVkU3RyZWFtTGFi
ZWwgPSBsYWJlbDsKLX0KLQotY29uc3QgU3RyaW5nJiBUcmFja0xpc3Q6OmFzc29jaWF0ZWRTdHJl
YW1MYWJlbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fYXNzb2NpYXRlZFN0cmVhbUxhYmVsOwot
fQotCi12b2lkIFRyYWNrTGlzdDo6dHJhY2tGYWlsZWQodW5zaWduZWQgbG9uZyBpbmRleCkKLXsK
LSAgICBBU1NFUlQoaW5kZXggPCBsZW5ndGgoKSk7Ci0gICAgbV90cmFja3MucmVtb3ZlKGluZGV4
KTsKLSAgICBwb3N0Q2hhbmdlRXZlbnQoKTsKLX0KLSNlbmRpZgotCi1UcmFja0xpc3QqIFRyYWNr
TGlzdDo6dG9UcmFja0xpc3QoKQotewotICAgIHJldHVybiB0aGlzOwotfQotCi1TY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBUcmFja0xpc3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAot
ewotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgaWYgKG1lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyKCkpCi0gICAgICAgIHJldHVybiBtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0jZW5kaWYKLQotICAgIC8vIEZJWE1FOiBwcm92aWRl
IGFuIHNjcmlwdCBleGVjdXRpb24gY29udGV4dCBmb3IgSFRNTCBNZWRpYSBFbGVtZW50IHVzZSBj
YXNlLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTEy
NwotICAgIHJldHVybiAwOwotfQotCi1FdmVudFRhcmdldERhdGEqIFRyYWNrTGlzdDo6ZXZlbnRU
YXJnZXREYXRhKCkKLXsKLSAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwotfQotCi1FdmVu
dFRhcmdldERhdGEqIFRyYWNrTGlzdDo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKLXsKLSAgICBy
ZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJhY2tMaXN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmNjc5OWJh
YjVlNDlkMDBmODlmMTNmNzQwYmI3MmNiYzFjMjAwNDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYWNrTGlzdC5oCisr
KyAvZGV2L251bGwKQEAgLTEsMTQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgVHJh
Y2tMaXN0X2gKLSNkZWZpbmUgVHJhY2tMaXN0X2gKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
IHx8IEVOQUJMRShWSURFT19UUkFDSykKLQotI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNs
dWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
LmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgVHJhY2sgOiBwdWJsaWMgUmVm
Q291bnRlZDxUcmFjaz4gewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRyYWNrPiBj
cmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgQXRvbWljU3RyaW5nJiBraW5kLCBjb25zdCBT
dHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKTsKLQotICAgIGNvbnN0IFN0cmlu
ZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9Ci0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBr
aW5kKCkgY29uc3QgeyByZXR1cm4gbV9raW5kOyB9Ci0gICAgY29uc3QgU3RyaW5nJiBsYWJlbCgp
IGNvbnN0IHsgcmV0dXJuIG1fbGFiZWw7IH0KLSAgICBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKCkg
Y29uc3QgeyByZXR1cm4gbV9sYW5ndWFnZTsgfQotCi1wcml2YXRlOgotICAgIFRyYWNrKGNvbnN0
IFN0cmluZyYgaWQsIGNvbnN0IEF0b21pY1N0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJl
bCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7Ci0KLSAgICBTdHJpbmcgbV9pZDsKLSAgICBBdG9t
aWNTdHJpbmcgbV9raW5kOwotICAgIFN0cmluZyBtX2xhYmVsOwotICAgIFN0cmluZyBtX2xhbmd1
YWdlOwotfTsKLQotdHlwZWRlZiBWZWN0b3I8UmVmUHRyPFRyYWNrPiA+IFRyYWNrVmVjdG9yOwot
Ci1jbGFzcyBUcmFja0xpc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxUcmFja0xpc3Q+LAotI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCi0gICAgICAgICAgICAgICAgICBwdWJsaWMgTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXI6OkdlbmVyaWNDbGllbnQsCi0jZW5kaWYKLSAgICAgICAgICAgICAgICAg
IHB1YmxpYyBFdmVudFRhcmdldCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VHJh
Y2tMaXN0PiBjcmVhdGUoY29uc3QgVHJhY2tWZWN0b3ImKTsKLSAgICB2aXJ0dWFsIH5UcmFja0xp
c3QoKTsKLQotICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKCkgY29uc3Q7Ci0gICAgY29uc3QgU3Ry
aW5nJiBnZXRJRCh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7Ci0g
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRLaW5kKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2Vw
dGlvbkNvZGUmKSBjb25zdDsKLSAgICBjb25zdCBTdHJpbmcmIGdldExhYmVsKHVuc2lnbmVkIGxv
bmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKLSAgICBjb25zdCBTdHJpbmcmIGdldExh
bmd1YWdlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKLQotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2hhbmdlKTsKLQotICAgIHZpcnR1YWwg
dm9pZCBjbGVhcigpOwotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICB2b2lkIGFzc29j
aWF0ZVN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKTsKLSAgICBjb25zdCBTdHJpbmcm
IGFzc29jaWF0ZWRTdHJlYW1MYWJlbCgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCB0cmFja0Zh
aWxlZCh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSNlbmRpZgotCi0gICAgLy8gRXZlbnRUYXJnZXQg
aW1wbGVtZW50YXRpb24uCi0gICAgdmlydHVhbCBUcmFja0xpc3QqIHRvVHJhY2tMaXN0KCk7Ci0g
ICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3Q7Ci0KLSAgICB1c2luZyBSZWZDb3VudGVkPFRyYWNrTGlzdD46OnJlZjsKLSAgICB1
c2luZyBSZWZDb3VudGVkPFRyYWNrTGlzdD46OmRlcmVmOwotCi0gICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFU+Ci0gICAgY2xhc3MgRGlzcGF0Y2hUYXNrIDogcHVibGljIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewotICAgIHB1YmxpYzoKLSAgICAgICAgdHlwZWRlZiB2
b2lkIChUOjoqQ2FsbGJhY2spKFUpOwotCi0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPERpc3Bh
dGNoVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8VD4gb2JqZWN0LCBDYWxsYmFjayBjYWxsYmFjaywg
VSBhcmdzKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IERpc3Bh
dGNoVGFzayhvYmplY3QsIGNhbGxiYWNrLCBhcmdzKSk7Ci0gICAgICAgIH0KLQotICAgICAgICB2
aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCi0gICAgICAg
IHsKLSAgICAgICAgICAgIChtX29iamVjdC5nZXQoKS0+Km1fY2FsbGJhY2spKG1fYXJncyk7Ci0g
ICAgICAgIH0KLQotICAgIHB1YmxpYzoKLSAgICAgICAgRGlzcGF0Y2hUYXNrKFBhc3NSZWZQdHI8
VD4gb2JqZWN0LCBDYWxsYmFjayBjYWxsYmFjaywgVSBhcmdzKQotICAgICAgICAgICAgOiBtX29i
amVjdChvYmplY3QpCi0gICAgICAgICAgICAsIG1fY2FsbGJhY2soY2FsbGJhY2spCi0gICAgICAg
ICAgICAsIG1fYXJncyhhcmdzKSB7IH0KLQotICAgICAgICBSZWZQdHI8VD4gbV9vYmplY3Q7Ci0g
ICAgICAgIENhbGxiYWNrIG1fY2FsbGJhY2s7Ci0gICAgICAgIFUgbV9hcmdzOwotICAgIH07Ci0K
LXByb3RlY3RlZDoKLSAgICBUcmFja0xpc3QoY29uc3QgVHJhY2tWZWN0b3ImKTsKLSAgICBib29s
IGNoZWNrSW5kZXgobG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYsIGxvbmcgYWxsb3dlZCA9IDAp
IGNvbnN0OwotICAgIHZvaWQgcG9zdENoYW5nZUV2ZW50KCk7Ci0KLSAgICAvLyBFdmVudFRhcmdl
dCBpbXBsZW1lbnRhdGlvbi4KLSAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJn
ZXREYXRhKCk7Ci0gICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0
RGF0YSgpOwotCi1wcml2YXRlOgotICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgot
ICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIHsgcmVmKCk7IH0KLSAgICB2aXJ0dWFs
IHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVyZWYoKTsgfQotCi0gICAgdm9pZCBkaXNwYXRj
aENoYW5nZUV2ZW50KGludCk7Ci0KLSAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERh
dGE7Ci0gICAgVHJhY2tWZWN0b3IgbV90cmFja3M7Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotICAgIFN0cmluZyBtX2Fzc29jaWF0ZWRTdHJlYW1MYWJlbDsKLSNlbmRpZgotfTsKLQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwg
RU5BQkxFKFZJREVPX1RSQUNLKQotCi0jZW5kaWYgLy8gVHJhY2tMaXN0X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaAppbmRleCBiM2VmNzQwNDU0NDgxZWU0ZWEwMjkxYmI0
YjU1MjUzZmVmZTM4ODE4Li4wM2RlZGZkODhjNGZkMzE4YTc4MDMxNjVhZDE5MTE5ZWNmY2I1Y2M5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNsaWVudC5oCkBAIC01MiwxMiArNTIs
OCBAQCBwdWJsaWM6CiAgICAgLy8gU3RvcCBhIGdlbmVyYXRlZCBzdHJlYW0uCiAgICAgdmlydHVh
bCB2b2lkIHN0b3BHZW5lcmF0ZWRTdHJlYW0oY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCkgPSAw
OwogCi0gICAgLy8gRW5hYmxlL2Rpc2FibGUgYW4gYXVkaW8gdHJhY2sgaW4gYSBnZW5lcmF0ZWQg
c3RyZWFtLgotICAgIHZpcnR1YWwgdm9pZCBlbmFibGVBdWRpb1RyYWNrKGNvbnN0IFN0cmluZyYg
c3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlzYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9u
ZyBpbmRleCkgPSAwOwotCi0gICAgLy8gU2VsZWN0IGEgdmlkZW8gdHJhY2sgaW4gYSBnZW5lcmF0
ZWQgc3RyZWFtLgotICAgIHZpcnR1YWwgdm9pZCBzZWxlY3RWaWRlb1RyYWNrKGNvbnN0IFN0cmlu
ZyYgc3RyZWFtTGFiZWwsIGxvbmcgaW5kZXgpID0gMDsKKyAgICAvLyBFbmFibGUvZGlzYWJsZSBh
biB0cmFjay4KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TWVkaWFTdHJlYW1UcmFja0VuYWJsZWQoY29u
c3QgU3RyaW5nJiB0cmFja0lkLCBib29sIGVuYWJsZWQpID0gMDsKIAogcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgfk1lZGlhU3RyZWFtQ2xpZW50KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKaW5kZXggMDQzMjJlODNkNGQwMjMyMDdjOGRkMzY5
ZTNiNzVlMDhiNTE1Yzc0OC4uYWFkY2Y2MGYyNzM1YTRlYTczNWMxYTg5NDU0N2VjNmQ4MDljMzFh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcApA
QCAtMjcsOSArMjcsOCBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAotI2luY2x1ZGUg
IkV4Y2x1c2l2ZVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyLmgiCi0jaW5jbHVkZSAiTXVsdGlwbGVUcmFja0xpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVN0
cmVhbVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC0xMTksMjIgKzExOCwxMiBAQCB2b2lkIE1lZGlhU3RyZWFtQ29u
dHJvbGxlcjo6c3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKQog
ICAgIG1fY2xpZW50LT5zdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVhbUxhYmVsKTsKIH0KIAotdm9p
ZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OmVuYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBz
dHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkKK3ZvaWQgTWVkaWFTdHJlYW1Db250cm9s
bGVyOjpzZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZChjb25zdCBTdHJpbmcmIHRyYWNrSWQsIGJv
b2wgZW5hYmxlZCkKIHsKLSAgICBtX2NsaWVudC0+ZW5hYmxlQXVkaW9UcmFjayhzdHJlYW1MYWJl
bCwgaW5kZXgpOworICAgIG1fY2xpZW50LT5zZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZCh0cmFj
a0lkLCBlbmFibGVkKTsKIH0KIAotdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OmRpc2FibGVB
dWRpb1RyYWNrKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgp
Ci17Ci0gICAgbV9jbGllbnQtPmRpc2FibGVBdWRpb1RyYWNrKHN0cmVhbUxhYmVsLCBpbmRleCk7
Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzZWxlY3RWaWRlb1RyYWNrKGNvbnN0
IFN0cmluZyYgc3RyZWFtTGFiZWwsIGxvbmcgaW5kZXgpCi17Ci0gICAgbV9jbGllbnQtPnNlbGVj
dFZpZGVvVHJhY2soc3RyZWFtTGFiZWwsIGluZGV4KTsKLX0KLQotdm9pZCBNZWRpYVN0cmVhbUNv
bnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgY29uc3Qg
U3RyaW5nJiBzdHJlYW1MYWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9U
cmFja3MsIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcykKK3ZvaWQg
TWVkaWFTdHJlYW1Db250cm9sbGVyOjpzdHJlYW1HZW5lcmF0ZWQoaW50IGNvbnRyb2xsZXJSZXF1
ZXN0SWQsIGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFja0xpc3Q+IHRyYWNrcykKIHsKICAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGZyYW1l
IGNvbnRyb2xsZXIgY2FuIGhhdmUgYmVlbiBkZXN0cm95ZWQgd2hpbGUgdGhlIHJlcXVlc3QgcmVw
bHkgd2FzIGNvbWluZyBiYWNrLgogICAgIGlmIChtX3JlcXVlc3RzLmNvbnRhaW5zKGNvbnRyb2xs
ZXJSZXF1ZXN0SWQpKSB7CkBAIC0xNDIsNyArMTMxLDcgQEAgdm9pZCBNZWRpYVN0cmVhbUNvbnRy
b2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgY29uc3QgU3Ry
aW4KICAgICAgICAgcmVnaXN0ZXJTdHJlYW0oc3RyZWFtTGFiZWwsIHJlcXVlc3QuZnJhbWVDb250
cm9sbGVyKCkpOwogICAgICAgICBtX3JlcXVlc3RzLnJlbW92ZShjb250cm9sbGVyUmVxdWVzdElk
KTsKICAgICAgICAgQVNTRVJUKHJlcXVlc3QuZnJhbWVDb250cm9sbGVyKCkpOwotICAgICAgICBy
ZXF1ZXN0LmZyYW1lQ29udHJvbGxlcigpLT5zdHJlYW1HZW5lcmF0ZWQocmVxdWVzdC5sb2NhbElk
KCksIHN0cmVhbUxhYmVsLCBhdWRpb1RyYWNrcywgdmlkZW9UcmFja3MpOworICAgICAgICByZXF1
ZXN0LmZyYW1lQ29udHJvbGxlcigpLT5zdHJlYW1HZW5lcmF0ZWQocmVxdWVzdC5sb2NhbElkKCks
IHN0cmVhbUxhYmVsLCB0cmFja3MpOwogICAgIH0KIH0KIApAQCAtMTYzLDIwICsxNTIsNiBAQCB2
b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgc3Ry
ZWFtTGFiZWwpCiAgICAgICAgIG1fc3RyZWFtcy5nZXQoc3RyZWFtTGFiZWwpLT5zdHJlYW1GYWls
ZWQoc3RyZWFtTGFiZWwpOwogfQogCi12b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6YXVkaW9U
cmFja0ZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4
KQotewotICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgZnJhbWUgY29udHJvbGxlciBjYW4g
aGF2ZSBiZWVuIGRlc3Ryb3llZCBieSB0aGUgdGltZSB0aGlzIGlzIGNhbGxlZC4KLSAgICBpZiAo
bV9zdHJlYW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkKLSAgICAgICAgbV9zdHJlYW1zLmdldChz
dHJlYW1MYWJlbCktPmF1ZGlvVHJhY2tGYWlsZWQoc3RyZWFtTGFiZWwsIGluZGV4KTsKLX0KLQot
dm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnZpZGVvVHJhY2tGYWlsZWQoY29uc3QgU3RyaW5n
JiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICAvLyBEb24ndCBhc3Nl
cnQgc2luY2UgdGhlIGZyYW1lIGNvbnRyb2xsZXIgY2FuIGhhdmUgYmVlbiBkZXN0cm95ZWQgYnkg
dGhlIHRpbWUgdGhpcyBpcyBjYWxsZWQuCi0gICAgaWYgKG1fc3RyZWFtcy5jb250YWlucyhzdHJl
YW1MYWJlbCkpCi0gICAgICAgIG1fc3RyZWFtcy5nZXQoc3RyZWFtTGFiZWwpLT52aWRlb1RyYWNr
RmFpbGVkKHN0cmVhbUxhYmVsLCBpbmRleCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9N
ZWRpYVN0cmVhbUNvbnRyb2xsZXIuaAppbmRleCBiMmQ1NmMyNGVhMTAzMjQ3MWI5NjhiMWJkMGRl
NjVjNzQ1MjE2MGEzLi4xMGFjNGNlZjExYzkzY2ZmZDE5NDYyMmY0NzYzNzY5NjUyZDNhYjEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmgKQEAgLTM2LDEw
ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRXhjbHVzaXZlVHJhY2tM
aXN0OwogY2xhc3MgTWVkaWFTdHJlYW1DbGllbnQ7CiBjbGFzcyBNZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcjsKLWNsYXNzIE11bHRpcGxlVHJhY2tMaXN0OworY2xhc3MgTWVkaWFTdHJlYW1UcmFj
a0xpc3Q7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAogY2xhc3MgTWVkaWFTdHJlYW1Db250cm9s
bGVyIHsKQEAgLTUzLDE1ICs1MiwxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdlbmVyYXRlU3Ry
ZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgaW50IHJlcXVlc3RJZCwgR2VuZXJhdGVT
dHJlYW1PcHRpb25GbGFncywgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4pOwogICAgIHZvaWQg
c3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKTsKLSAgICB2b2lk
IGVuYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9u
ZyBpbmRleCk7Ci0gICAgdm9pZCBkaXNhYmxlQXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVh
bUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIHNlbGVjdFZpZGVvVHJhY2so
Y29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgbG9uZyBpbmRleCk7CiAKLSAgICB2b2lkIHN0cmVh
bUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCBQYXNz
UmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBhdWRpb1RyYWNrcywgUGFzc1JlZlB0cjxFeGNsdXNp
dmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tzKTsKKyAgICAvLyBFbmFibGUvZGlzYWJsZSBhbiB0cmFj
ay4KKyAgICB2b2lkIHNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKGNvbnN0IFN0cmluZyYgdHJh
Y2tJZCwgYm9vbCBlbmFibGVkKTsKKworICAgIHZvaWQgc3RyZWFtR2VuZXJhdGVkKGludCByZXF1
ZXN0SWQsIGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFja0xpc3Q+IHRyYWNrcyk7CiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCBy
ZXF1ZXN0SWQsIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpFcnJvckNvZGUpOwogICAgIHZvaWQg
c3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOwotICAgIHZvaWQgYXVkaW9U
cmFja0ZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4
KTsKLSAgICB2b2lkIHZpZGVvVHJhY2tGYWlsZWQoY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwg
dW5zaWduZWQgbG9uZyBpbmRleCk7CiAKIHByaXZhdGU6CiAgICAgaW50IHJlZ2lzdGVyUmVxdWVz
dChpbnQgbG9jYWxSZXF1ZXN0SWQsIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCmlu
ZGV4IDVlOTRiODI4ZTU0MGYwNjdkMjk5ZDMyNzc5Mzc5OWRiZWM3NDMzOGYuLjkyMDUzMzhkMDA3
N2NiM2QxNmIxYmMxYThkOWUwYzllNmNlNGUzMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCkBAIC0yOSwxMSArMjksMTAgQEAK
IAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVk
ZSAiRXhjbHVzaXZlVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJM
b2NhbE1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Db250cm9sbGVyLmgiCi0j
aW5jbHVkZSAiTXVsdGlwbGVUcmFja0xpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbVRyYWNr
TGlzdC5oIgogI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKICNp
bmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKICNpbmNsdWRlICJQ
YWdlLmgiCkBAIC0zMDcsMzcgKzMwNiwxMyBAQCB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyOjpzdG9wR2VuZXJhdGVkU3RyZWFtKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpCiAgICAg
ICAgIHBhZ2VDb250cm9sbGVyKCktPnN0b3BHZW5lcmF0ZWRTdHJlYW0oc3RyZWFtTGFiZWwpOwog
fQogCi12b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjplbmFibGVBdWRpb1RyYWNrKGNv
bnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpCit2b2lkIE1lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyOjpzZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZChjb25zdCBT
dHJpbmcmIHRyYWNrSWQsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICAvLyBEb24ndCBhc3NlcnQgc2lu
Y2UgdGhlIGF1ZGlvIHRyYWNrcyBkb24ndCBuZWNlc3NhcmlseSBrZWVwIGFsaXZlIHRoZWlyIGFz
c29jaWF0ZWQgZ2VuZXJhdGVkIHN0cmVhbSBvYmplY3QuCi0gICAgaWYgKCFtX3N0cmVhbXMuY29u
dGFpbnMoc3RyZWFtTGFiZWwpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoaXNDbGllbnRB
dmFpbGFibGUoKSkKLSAgICAgICAgcGFnZUNvbnRyb2xsZXIoKS0+ZW5hYmxlQXVkaW9UcmFjayhz
dHJlYW1MYWJlbCwgaW5kZXgpOwotfQotCi12b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
OjpkaXNhYmxlQXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBs
b25nIGluZGV4KQotewotICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgYXVkaW8gdHJhY2tz
IGRvbid0IG5lY2Vzc2FyaWx5IGtlZXAgYWxpdmUgdGhlaXIgYXNzb2NpYXRlZCBnZW5lcmF0ZWQg
c3RyZWFtIG9iamVjdC4KLSAgICBpZiAoIW1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1MYWJlbCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChpc0NsaWVudEF2YWlsYWJsZSgpKQotICAgICAg
ICBwYWdlQ29udHJvbGxlcigpLT5kaXNhYmxlQXVkaW9UcmFjayhzdHJlYW1MYWJlbCwgaW5kZXgp
OwotfQotCi12b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzZWxlY3RWaWRlb1RyYWNr
KGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIGxvbmcgaW5kZXgpCi17Ci0gICAgLy8gRG9uJ3Qg
YXNzZXJ0IHNpbmNlIHRoZSBhdWRpbyB0cmFja3MgZG9uJ3QgbmVjZXNzYXJpbHkga2VlcCBhbGl2
ZSB0aGVpciBhc3NvY2lhdGVkIGdlbmVyYXRlZCBzdHJlYW0gb2JqZWN0LgotICAgIGlmICghbV9z
dHJlYW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgaWYg
KGlzQ2xpZW50QXZhaWxhYmxlKCkpCi0gICAgICAgIHBhZ2VDb250cm9sbGVyKCktPnNlbGVjdFZp
ZGVvVHJhY2soc3RyZWFtTGFiZWwsIGluZGV4KTsKKyAgICAgICAgcGFnZUNvbnRyb2xsZXIoKS0+
c2V0TWVkaWFTdHJlYW1UcmFja0VuYWJsZWQodHJhY2tJZCwgZW5hYmxlZCk7CiB9CiAKLXZvaWQg
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElk
LCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBhdWRp
b1RyYWNrc1BhcmFtLCBQYXNzUmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3NQ
YXJhbSkKK3ZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChp
bnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFt
VHJhY2tMaXN0PiB0cmFja3NQYXJhbSkKIHsKICAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhl
IHJlcXVlc3QgY2FuIGhhdmUgYmVlbiBhYm9ydGVkIGFzIGEgcmVzdWx0IG9mIGVtYmVkZGVyIGRl
dGFjaG1lbnQuCiAgICAgaWYgKCFtX3JlcXVlc3RzLmNvbnRhaW5zKHJlcXVlc3RJZCkpCkBAIC0z
NDUsMjIgKzMyMCwxOSBAQCB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1H
ZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBsYQogCiAgICAgQVNTRVJUKG1f
cmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCktPmlzR2VuZXJhdGVTdHJlYW1SZXF1ZXN0KCkpOwogICAg
IEFTU0VSVCghbGFiZWwuaXNOdWxsKCkpOwotICAgIEFTU0VSVChhdWRpb1RyYWNrc1BhcmFtKTsK
LSAgICBBU1NFUlQodmlkZW9UcmFja3NQYXJhbSk7CisgICAgQVNTRVJUKHRyYWNrc1BhcmFtKTsK
IAotICAgIFJlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MgPSBhdWRpb1RyYWNr
c1BhcmFtOwotICAgIFJlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tzID0gdmlk
ZW9UcmFja3NQYXJhbTsKKyAgICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcyA9
IHRyYWNrc1BhcmFtOwogCi0gICAgaW50IGF1ZGlvVHJhY2tzQ2xpZW50SWQgPSBtX2NsaWVudHMu
Z2V0TmV4dElkKCk7Ci0gICAgYXVkaW9UcmFja3MtPmFzc29jaWF0ZUZyYW1lQ29udHJvbGxlcih0
aGlzLCBhdWRpb1RyYWNrc0NsaWVudElkKTsKLSAgICBtX2NsaWVudHMuYWRkKGF1ZGlvVHJhY2tz
Q2xpZW50SWQsIGF1ZGlvVHJhY2tzLmdldCgpKTsKLQotICAgIGludCB2aWRlb1RyYWNrc0NsaWVu
dElkID0gbV9jbGllbnRzLmdldE5leHRJZCgpOwotICAgIHZpZGVvVHJhY2tzLT5hc3NvY2lhdGVG
cmFtZUNvbnRyb2xsZXIodGhpcywgdmlkZW9UcmFja3NDbGllbnRJZCk7Ci0gICAgbV9jbGllbnRz
LmFkZCh2aWRlb1RyYWNrc0NsaWVudElkLCB2aWRlb1RyYWNrcy5nZXQoKSk7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHRyYWNrcy0+bGVuZ3RoKCk7ICsraSkgeworICAgICAgICBpbnQg
dHJhY2tDbGllbnRJZCA9IG1fY2xpZW50cy5nZXROZXh0SWQoKTsKKyAgICAgICAgUmVmUHRyPE1l
ZGlhU3RyZWFtVHJhY2s+IHRyYWNrID0gdHJhY2tzLT5pdGVtKGkpOworICAgICAgICB0cmFjay0+
YXNzb2NpYXRlRnJhbWVDb250cm9sbGVyKHRoaXMsIHRyYWNrQ2xpZW50SWQpOworICAgICAgICBt
X2NsaWVudHMuYWRkKHRyYWNrQ2xpZW50SWQsIHRyYWNrLmdldCgpKTsKKyAgICB9CiAKICAgICBS
ZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBzdHJlYW1SZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8
R2VuZXJhdGVTdHJlYW1SZXF1ZXN0Kj4obV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS5nZXQoKSk7
Ci0gICAgUmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IGdlbmVyYXRlZFN0cmVhbSA9IExvY2FsTWVk
aWFTdHJlYW06OmNyZWF0ZSh0aGlzLCBsYWJlbCwgYXVkaW9UcmFja3MucmVsZWFzZSgpLCB2aWRl
b1RyYWNrcy5yZWxlYXNlKCkpOworICAgIFJlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBnZW5lcmF0
ZWRTdHJlYW0gPSBMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUodGhpcywgbGFiZWwsIHRyYWNrcy5y
ZWxlYXNlKCkpOwogICAgIG1fc3RyZWFtcy5hZGQobGFiZWwsIGdlbmVyYXRlZFN0cmVhbS5nZXQo
KSk7CiAgICAgbV9yZXF1ZXN0cy5yZW1vdmUocmVxdWVzdElkKTsKICAgICBzdHJlYW1SZXF1ZXN0
LT5zdWNjZXNzQ2FsbGJhY2soKS0+aGFuZGxlRXZlbnQoZ2VuZXJhdGVkU3RyZWFtLmdldCgpKTsK
QEAgLTM4OCwyMCArMzYwLDYgQEAgdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3Ry
ZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgbGFiZWwpCiAgICAgZ2V0U3RyZWFtRnJvbUxhYmVsKGxh
YmVsKS0+c3RyZWFtRW5kZWQoKTsKIH0KIAotdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
cjo6YXVkaW9UcmFja0ZhaWxlZChjb25zdCBTdHJpbmcmIGxhYmVsLCB1bnNpZ25lZCBsb25nIGlu
ZGV4KQotewotICAgIE1lZGlhU3RyZWFtKiBzdHJlYW0gPSBnZXRTdHJlYW1Gcm9tTGFiZWwobGFi
ZWwpOwotICAgIEFTU0VSVChzdHJlYW0tPmlzTG9jYWxNZWRpYVN0cmVhbSgpKTsKLSAgICBzdGF0
aWNfY2FzdDxMb2NhbE1lZGlhU3RyZWFtKj4oc3RyZWFtKS0+YXVkaW9UcmFja3MoKS0+dHJhY2tG
YWlsZWQoaW5kZXgpOwotfQotCi12b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjp2aWRl
b1RyYWNrRmFpbGVkKGNvbnN0IFN0cmluZyYgbGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi17
Ci0gICAgTWVkaWFTdHJlYW0qIHN0cmVhbSA9IGdldFN0cmVhbUZyb21MYWJlbChsYWJlbCk7Ci0g
ICAgQVNTRVJUKHN0cmVhbS0+aXNMb2NhbE1lZGlhU3RyZWFtKCkpOwotICAgIHN0YXRpY19jYXN0
PExvY2FsTWVkaWFTdHJlYW0qPihzdHJlYW0pLT52aWRlb1RyYWNrcygpLT50cmFja0ZhaWxlZChp
bmRleCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyLmgKaW5kZXggNzUwMmVlZDhlNTRhNDg5MmRiZGI0YmRmOTljMzI1ODVjMzM1YzNi
OC4uYjU1ZTBkMDVhYTc5YjM5MDc5MTYxYzI0NTQyMDdhMGU5ODdiNzI1MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaApAQCAtMzcsMTIg
KzM3LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRXhjbHVzaXZlVHJhY2tM
aXN0OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBMb2NhbE1lZGlhU3RyZWFtOwogY2xhc3MgTWVkaWFT
dHJlYW07CiBjbGFzcyBNZWRpYVN0cmVhbUNvbnRyb2xsZXI7Ci1jbGFzcyBNdWx0aXBsZVRyYWNr
TGlzdDsKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tMaXN0OwogY2xhc3MgTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjazsKIGNsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
azsKIGNsYXNzIFBhZ2U7CkBAIC03Niw3ICs3NSw3IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVh
bCB2b2lkIGRldGFjaEVtYmVkZGVyKCkgeyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIC8v
IFVzZWQgZm9yIG9iamVjdHMgdGhhdCBhcmUgb3B0aW9uYWxseSBhc3NvY2lhdGVkIHRvIHRoZSBm
cmFtZSBjb250cm9sbGVyIGFmdGVyIGNvbnN0cnVjdGlvbiwgbGlrZSB0aGUgdHJhY2sgbGlzdHMu
CisgICAgICAgIC8vIFVzZWQgZm9yIG9iamVjdHMgdGhhdCBhcmUgb3B0aW9uYWxseSBhc3NvY2lh
dGVkIHRvIHRoZSBmcmFtZSBjb250cm9sbGVyIGFmdGVyIGNvbnN0cnVjdGlvbiwgbGlrZSB0aGUg
TWVkaWFTdHJlYW1UcmFja3MuCiAgICAgICAgIHZvaWQgYXNzb2NpYXRlRnJhbWVDb250cm9sbGVy
KE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IElkVHlw
ZSYgaWQpCiAgICAgICAgIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9mcmFtZUNvbnRyb2xsZXIg
JiYgIW1fY2xpZW50SWQpOwpAQCAtMTU1LDIwICsxNTQsMTYgQEAgcHVibGljOgogICAgIC8vIENy
ZWF0ZSBhIG5ldyBnZW5lcmF0ZWQgc3RyZWFtIGFzeW5jaHJvbm91c2x5IHdpdGggdGhlIHByb3Zp
ZGVkIG9wdGlvbnMuCiAgICAgdm9pZCBnZW5lcmF0ZVN0cmVhbShjb25zdCBTdHJpbmcmIG9wdGlv
bnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwgUGFzc1Jl
ZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiwgRXhjZXB0aW9uQ29kZSYpOwog
Ci0gICAgLy8gU3RvcCBhIGdlbmVyYXRlZCBzdHJlYW0uCisgICAgLy8gU3RvcCBhIGxvY2FsIG1l
ZGlhIHN0cmVhbS4KICAgICB2b2lkIHN0b3BHZW5lcmF0ZWRTdHJlYW0oY29uc3QgU3RyaW5nJiBz
dHJlYW1MYWJlbCk7CiAKLSAgICAvLyBFbmFibGUvZGlzYWJsZSBhbiBhdWRpbyB0cmFjayBpbiBh
IGdlbmVyYXRlZCBzdHJlYW0uCi0gICAgdm9pZCBlbmFibGVBdWRpb1RyYWNrKGNvbnN0IFN0cmlu
ZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgZGlzYWJsZUF1
ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCk7
Ci0KLSAgICAvLyBTZWxlY3QgYSB2aWRlbyB0cmFjayBpbiBhIGdlbmVyYXRlZCBzdHJlYW0uCi0g
ICAgdm9pZCBzZWxlY3RWaWRlb1RyYWNrKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIGxvbmcg
aW5kZXgpOworICAgIC8vIEVuYWJsZS9kaXNhYmxlIGFuIHRyYWNrLgorICAgIHZvaWQgc2V0TWVk
aWFTdHJlYW1UcmFja0VuYWJsZWQoY29uc3QgU3RyaW5nJiB0cmFja0lkLCBib29sIGVuYWJsZWQp
OwogCiAgICAgLy8gLS0tIENhbGxzIGNvbWluZyBiYWNrIGZyb20gdGhlIGNvbnRyb2xsZXIuIC0t
LSAvLwogCiAgICAgLy8gUmVwb3J0IHRoZSBnZW5lcmF0aW9uIG9mIGEgbmV3IGxvY2FsIHN0cmVh
bS4KLSAgICB2b2lkIHN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcm
IHN0cmVhbUxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBhdWRpb1RyYWNrcywg
UGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tzKTsKKyAgICB2b2lkIHN0
cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCBQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFja3MpOwogCiAgICAgLy8gUmVwb3J0
IGEgZmFpbHVyZSBpbiB0aGUgZ2VuZXJhdGlvbiBvZiBhIG5ldyBzdHJlYW0uCiAgICAgdm9pZCBz
dHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCByZXF1ZXN0SWQsIE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yOjpFcnJvckNvZGUpOwpAQCAtMTc2LDEwICsxNzEsNiBAQCBwdWJsaWM6CiAgICAgLy8gUmVw
b3J0IHRoZSBlbmQgb2YgYSBzdHJlYW0gZm9yIGV4dGVybmFsIHJlYXNvbnMuCiAgICAgdm9pZCBz
dHJlYW1GYWlsZWQoY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCk7CiAKLSAgICAvLyBSZXBvcnQg
dGhlIHVuZXhwZWN0ZWQgdW5hdmFpbGFiaWxpdHkgb2YgYSBsaXZlIG1lZGlhIHRyYWNrLgotICAg
IHZvaWQgYXVkaW9UcmFja0ZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIHZpZGVvVHJhY2tGYWlsZWQoY29uc3QgU3RyaW5nJiBz
dHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KIHByaXZhdGU6CiAgICAgY2xhc3Mg
UmVxdWVzdDsKICAgICBjbGFzcyBHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q7Cg==
</data>
<flag name="commit-queue"
          id="96362"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101450</attachid>
            <date>2011-07-20 04:47:59 -0700</date>
            <delta_ts>2011-07-20 06:44:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>64791.patch</filename>
            <type>text/plain</type>
            <size>125911</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCAxMWI0NGI4Li40NjE3MmEzIDEwMDY0NAotLS0gU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0xNTUsMTQgKzE1NSwxMiBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vRXJyb3JF
dmVudC5pZGwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAgICAgZG9tL0V2ZW50LmlkbAot
ICAgIGRvbS9FeGNsdXNpdmVUcmFja0xpc3QuaWRsCiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5p
ZGwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5pZGwKICAgICBkb20vTWVzc2FnZUNoYW5uZWwuaWRs
CiAgICAgZG9tL01lc3NhZ2VFdmVudC5pZGwKICAgICBkb20vTWVzc2FnZVBvcnQuaWRsCiAgICAg
ZG9tL01vdXNlRXZlbnQuaWRsCi0gICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmlkbAogICAgIGRv
bS9NdXRhdGlvbkV2ZW50LmlkbAogICAgIGRvbS9OYW1lZE5vZGVNYXAuaWRsCiAgICAgZG9tL05v
ZGVGaWx0ZXIuaWRsCkBAIC0xODIsNyArMTgwLDYgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgZG9tL1RvdWNoRXZlbnQuaWRsCiAgICAgZG9tL1RvdWNoLmlkbAogICAgIGRvbS9Ub3VjaExp
c3QuaWRsCi0gICAgZG9tL1RyYWNrTGlzdC5pZGwKICAgICBkb20vVHJlZVdhbGtlci5pZGwKICAg
ICBkb20vVUlFdmVudC5pZGwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsCkBAIC01
NDEsNyArNTM4LDYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9FeGNlcHRpb25CYXNl
LmNwcAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmNwcAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxh
Y2Vob2xkZXIuY3BwCi0gICAgZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAKICAgICBkb20vSWNv
blVSTC5jcHAKICAgICBkb20vS2V5Ym9hcmRFdmVudC5jcHAKICAgICBkb20vTWVzc2FnZUNoYW5u
ZWwuY3BwCkBAIC01NTAsNyArNTQ2LDYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9N
ZXNzYWdlUG9ydC5jcHAKICAgICBkb20vTW91c2VFdmVudC5jcHAKICAgICBkb20vTW91c2VSZWxh
dGVkRXZlbnQuY3BwCi0gICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmNwcAogICAgIGRvbS9NdXRh
dGlvbkV2ZW50LmNwcAogICAgIGRvbS9OYW1lZE5vZGVNYXAuY3BwCiAgICAgZG9tL05hbWVOb2Rl
TGlzdC5jcHAKQEAgLTU5NCw3ICs1ODksNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9t
L1RvdWNoLmNwcAogICAgIGRvbS9Ub3VjaEV2ZW50LmNwcAogICAgIGRvbS9Ub3VjaExpc3QuY3Bw
Ci0gICAgZG9tL1RyYWNrTGlzdC5jcHAKICAgICBkb20vVHJhbnNmb3JtU291cmNlTGlieHNsdC5j
cHAKICAgICBkb20vVHJhdmVyc2FsLmNwcAogICAgIGRvbS9UcmVlU2NvcGUuY3BwCkBAIC0yMDIy
LDE2ICsyMDE2LDIwIEBAIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgICAgICBkb20vTG9j
YWxNZWRpYVN0cmVhbS5jcHAKICAgICAgICAgZG9tL01lZGlhU3RyZWFtLmNwcAogICAgICAgICBk
b20vTWVkaWFTdHJlYW1MaXN0LmNwcAorICAgICAgICBkb20vTWVkaWFTdHJlYW1UcmFjay5jcHAK
KyAgICAgICAgZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcAogICAgICAgICBkb20vU3RyZWFt
RXZlbnQuY3BwCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcAogICAgICAg
ICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAogICAgICkKIAogICAgIExJU1Qo
QVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCi0gICAgICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRs
Ci0gICAgICAgIGRvbS9TdHJlYW0uaWRsCisgICAgICAgIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmlk
bAorICAgICAgICBkb20vTWVkaWFTdHJlYW0uaWRsCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbUxp
c3QuaWRsCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbVRyYWNrLmlkbAorICAgICAgICBkb20vTWVk
aWFTdHJlYW1UcmFja0xpc3QuaWRsCiAgICAgICAgIGRvbS9TdHJlYW1FdmVudC5pZGwKLSAgICAg
ICAgZG9tL1N0cmVhbUxpc3QuaWRsCiAgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaWRsCiAgICAgKQogRU5ESUYgKCkKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI2NDJhMGMuLjM1ZGFkNTUgMTAwNjQ0
Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDc1IEBACisyMDExLTA3LTIwICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15
d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogVXBkYXRlIHRoZSB0cmFj
a2xpc3RzIHRvIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgdGVzdCBoYXJuZXNzIHdpbGwgYmUgZm9ydGhjb21pbmcgdmVy
eSBzb29uIG5vdywgaW50cm9kdWNpbmcgdGVzdHMgZm9yIHRoaXMuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4RE9NV3JhcHBlcjo6Y29udmVydEV2ZW50VGFyZ2V0VG9WOE9iamVjdCk6CisgICAgICAg
ICogZG9tL0RPTUFsbEluT25lLmNwcDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuY3BwOgor
ICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAqIGRvbS9FeGNsdXNpdmVUcmFj
a0xpc3QuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMb2NhbE1lZGlhU3RyZWFtOjpMb2NhbE1lZGlhU3RyZWFtKToKKyAgICAgICAgKFdl
YkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06OnN0cmVhbUVuZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkxvY2FsTWVkaWFTdHJlYW06OnN0b3ApOgorICAgICAgICAqIGRvbS9Mb2NhbE1lZGlhU3RyZWFt
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbE1lZGlhU3RyZWFtOjppc0xvY2FsTWVkaWFTdHJl
YW0pOgorICAgICAgICAqIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbDoKKyAgICAgICAgKiBkb20v
TWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0pOgorICAgICAgICAq
IGRvbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OnRyYWNr
cyk6CisgICAgICAgICogZG9tL01lZGlhU3RyZWFtLmlkbDoKKyAgICAgICAgKiBkb20vTWVkaWFT
dHJlYW1UcmFjay5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVU
cmFja0xpc3QuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6On5NZWRpYVN0cmVhbVRyYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmtpbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW1UcmFjazo6bGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1UcmFjazo6ZW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNr
OjpzZXRFbmFibGVkKToKKyAgICAgICAgKiBkb20vTWVkaWFTdHJlYW1UcmFjay5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmguCisgICAgICAgICog
ZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9t
L0V4Y2x1c2l2ZVRyYWNrTGlzdC5pZGwuCisgICAgICAgICogZG9tL01lZGlhU3RyZWFtVHJhY2tM
aXN0LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xp
c3QuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tMaXN0OjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xpc3Q6Ok1lZGlhU3RyZWFtVHJhY2tM
aXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tMaXN0Ojp+TWVkaWFTdHJl
YW1UcmFja0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xpc3Q6Omxl
bmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrTGlzdDo6aXRlbSk6Cisg
ICAgICAgICogZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9kb20vVHJhY2tMaXN0LmlkbC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2tMaXN0Ojphc3NvY2lhdGVTdHJlYW0pOgorICAgICAgICAqIGRvbS9NZWRpYVN0cmVhbVRy
YWNrTGlzdC5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vTXVsdGlwbGVUcmFj
a0xpc3QuaWRsLgorICAgICAgICAqIGRvbS9NdWx0aXBsZVRyYWNrTGlzdC5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL1RyYWNrTGlzdC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogZG9tL1Ry
YWNrTGlzdC5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaDoK
KyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVk
KToKKyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oOgorICAgICAgICAqIHBh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0
ZWQpOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaDoKKwogMjAx
MS0wNy0yMCAgQm9yaXMgU211cyAgPHNtdXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBh
IHJlc291cmNlTGluayBhdWRpdCBmb3JtYXR0ZXIgdG8gbWFrZSBpdCBwb3NzaWJsZSBmb3IgZGV2
dG9vbHMKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgU291cmNl
L1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCmluZGV4IDhjYzRlOTUuLmYyOWY0ZjUgMTAwNjQ0
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKKysrIFNvdXJjZS9XZWJDb3Jl
L0NvZGVHZW5lcmF0b3JzLnByaQpAQCAtMTM5LDE3ICsxMzksMTcgQEAgSURMX0JJTkRJTkdTICs9
IFwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICMgICAgZG9tL0V2ZW50TGlzdGVuZXIu
aWRsIFwKICMgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCi0gICAgZG9tL0V4Y2x1c2l2ZVRyYWNr
TGlzdC5pZGwgXAogICAgIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKICAgICBkb20vS2V5Ym9h
cmRFdmVudC5pZGwgXAogICAgIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbCBcCiAgICAgZG9tL01l
ZGlhU3RyZWFtLmlkbCBcCiAgICAgZG9tL01lZGlhU3RyZWFtTGlzdC5pZGwgXAorICAgIGRvbS9N
ZWRpYVN0cmVhbVRyYWNrLmlkbCBcCisgICAgZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmlkbCBc
CiAgICAgZG9tL01vdXNlRXZlbnQuaWRsIFwKICAgICBkb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwK
ICAgICBkb20vTWVzc2FnZUV2ZW50LmlkbCBcCiAgICAgZG9tL01lc3NhZ2VQb3J0LmlkbCBcCi0g
ICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmlkbCBcCiAgICAgZG9tL011dGF0aW9uRXZlbnQuaWRs
IFwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbCBcCiAgICAgZG9tL05vZGUuaWRsIFwKQEAgLTE3
MSw3ICsxNzEsNiBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9Ub3VjaC5pZGwgXAogICAg
IGRvbS9Ub3VjaEV2ZW50LmlkbCBcCiAgICAgZG9tL1RvdWNoTGlzdC5pZGwgXAotICAgIGRvbS9U
cmFja0xpc3QuaWRsIFwKICAgICBkb20vVHJlZVdhbGtlci5pZGwgXAogICAgIGRvbS9VSUV2ZW50
LmlkbCBcCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCBcCmRpZmYgLS1naXQgU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcAppbmRleCA5YjBiYTgzLi4zMWEzZTgwIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
QEAgLTExNCw3ICsxMTQsNiBAQAogI2luY2x1ZGUgIkpTRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpT
RXZlbnRFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRXZlbnRTb3VyY2UuY3BwIgotI2luY2x1
ZGUgIkpTRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCIKICNpbmNsdWRlICJKU0ZpbGUuY3BwIgogI2lu
Y2x1ZGUgIkpTRmlsZUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVFbnRyeS5jcHAiCkBA
IC0yMzMsNiArMjMyLDggQEAKICNpbmNsdWRlICJKU01lZGlhTGlzdC5jcHAiCiAjaW5jbHVkZSAi
SlNNZWRpYVN0cmVhbS5jcHAiCiAjaW5jbHVkZSAiSlNNZWRpYVN0cmVhbUxpc3QuY3BwIgorI2lu
Y2x1ZGUgIkpTTWVkaWFTdHJlYW1UcmFjay5jcHAiCisjaW5jbHVkZSAiSlNNZWRpYVN0cmVhbVRy
YWNrTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNNZWRpYVF1ZXJ5TGlzdC5jcHAiCiAjaW5jbHVkZSAi
SlNNZW1vcnlJbmZvLmNwcCIKICNpbmNsdWRlICJKU01lc3NhZ2VDaGFubmVsLmNwcCIKQEAgLTI0
MSw3ICsyNDIsNiBAQAogI2luY2x1ZGUgIkpTTWV0YWRhdGEuY3BwIgogI2luY2x1ZGUgIkpTTWV0
YWRhdGFDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNNb3VzZUV2ZW50LmNwcCIKLSNpbmNsdWRl
ICJKU011bHRpcGxlVHJhY2tMaXN0LmNwcCIKICNpbmNsdWRlICJKU011dGF0aW9uRXZlbnQuY3Bw
IgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKICNpbmNsdWRlICJKU05hdmlnYXRvci5j
cHAiCkBAIC00NDYsNyArNDQ2LDYgQEAKICNpbmNsdWRlICJKU1RvdWNoLmNwcCIKICNpbmNsdWRl
ICJKU1RvdWNoRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hMaXN0LmNwcCIKLSNpbmNsdWRl
ICJKU1RyYWNrTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNUcmVlV2Fsa2VyLmNwcCIKICNpbmNsdWRl
ICJKU1VpbnQxNkFycmF5LmNwcCIKICNpbmNsdWRlICJKU1VpbnQzMkFycmF5LmNwcCIKZGlmZiAt
LWdpdCBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIFNvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNDkyZDEyYi4uNjFlYjdmNSAxMDA2NDQKLS0tIFNvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTE4OCw3ICsxODgsNiBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBFdmVu
dExpc3RlbmVyIFwKICAgICBFdmVudFNvdXJjZSBcCiAgICAgRXZlbnRUYXJnZXQgXAotICAgIEV4
Y2x1c2l2ZVRyYWNrTGlzdCBcCiAgICAgRmlsZSBcCiAgICAgRmlsZUNhbGxiYWNrIFwKICAgICBG
aWxlRW50cnkgXApAQCAtMzA0LDYgKzMwMyw4IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIgXAogICAgIE1lZGlhU3RyZWFtIFwKICAgICBNZWRpYVN0cmVhbUxp
c3QgXAorICAgIE1lZGlhU3RyZWFtVHJhY2sgXAorICAgIE1lZGlhU3RyZWFtVHJhY2tMaXN0IFwK
ICAgICBNZW1vcnlJbmZvIFwKICAgICBNZXNzYWdlQ2hhbm5lbCBcCiAgICAgTWVzc2FnZUV2ZW50
IFwKQEAgLTMxMSw3ICszMTIsNiBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNZXRhZGF0YSBcCiAg
ICAgTWV0YWRhdGFDYWxsYmFjayBcCiAgICAgTW91c2VFdmVudCBcCi0gICAgTXVsdGlwbGVUcmFj
a0xpc3QgXAogICAgIE11dGF0aW9uRXZlbnQgXAogICAgIE5hbWVkTm9kZU1hcCBcCiAgICAgTmF2
aWdhdG9yIFwKQEAgLTUzNCw3ICs1MzQsNiBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBUb3VjaCBc
CiAgICAgVG91Y2hFdmVudCBcCiAgICAgVG91Y2hMaXN0IFwKLSAgICBUcmFja0xpc3QgXAogICAg
IFRyZWVXYWxrZXIgXAogICAgIFVJRXZlbnQgXAogICAgIFZhbGlkaXR5U3RhdGUgXApkaWZmIC0t
Z2l0IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQppbmRleCA4OTg1YTdhLi5hMDgyN2UxIDEwMDY0NAotLS0gU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtMTYwLDggKzE2MCw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNFdmVudFNvdXJjZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dFNvdXJjZS5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXhjbHVzaXZlVHJhY2tMaXN0
LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNGaWxlRXJyb3IuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZUVy
cm9yLmggXApAQCAtMzU5LDYgKzM1NywxMCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbS5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTWVkaWFTdHJlYW1MaXN0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhU3RyZWFtTGlzdC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFT
dHJlYW1UcmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbVRy
YWNrLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFRdWVyeUxpc3QuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTWVkaWFRdWVyeUxpc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU01lbW9yeUluZm8uY3BwIFwKQEAgLTM3MSw4ICszNzMsNiBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXNzYWdlUG9ydC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVudC5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNb3VzZUV2ZW50LmggXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNN
dWx0aXBsZVRyYWNrTGlzdC5jcHAgXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdWx0aXBs
ZVRyYWNrTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRpb25FdmVudC5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuY3BwIFwKQEAgLTQ4Nyw4ICs0ODcsNiBA
QCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNU
b3VjaC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hMaXN0LmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoTGlzdC5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVHJhY2tMaXN0LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RyYWNrTGlz
dC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtlci5jcHAgXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNVSUV2ZW50LmNwcCBcCkBAIC0xMTc2LDggKzExNzQsNiBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmggXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNs
dXNpdmVUcmFja0xpc3QuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJhY2tM
aXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24u
aCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3Jl
bWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIu
aCBcCkBAIC0xMTk0LDYgKzExOTAsMTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vTWVkaWFTdHJlYW1Db250YWluZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L01lZGlhU3RyZWFtTGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbUxp
c3QuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suY3BwIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20v
TWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJl
YW1UcmFja0xpc3QuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9NZXNzYWdlRXZlbnQuY3BwIFwKQEAgLTEyMDYsOCArMTIwNiw2IEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01v
dXNlUmVsYXRlZEV2ZW50LmggXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlz
dC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbkV2ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuY3BwIFwK
QEAgLTEzMDAsOCArMTI5OCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1RleHRFdmVudElucHV0VHlwZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hMaXN0LmggXAotCVNvdXJjZS9XZWJDb3JlL2Rv
bS9UcmFja0xpc3QuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L1RyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVHJhdmVy
c2FsLmNwcCBcCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1NmY0ZTE0Li44NTc3NWM1IDEwMDY0NAotLS0gU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTExNjEsMTcgKzExNjEsMTcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24u
aWRsJywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAg
J2RvbS9FdmVudFRhcmdldC5pZGwnLAotICAgICAgICAgICAgJ2RvbS9FeGNsdXNpdmVUcmFja0xp
c3QuaWRsJywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAgICAgICAg
ICAgICAnZG9tL0tleWJvYXJkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTG9jYWxNZWRp
YVN0cmVhbS5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbS5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9NZWRpYVN0cmVhbUxpc3QuaWRsJywKKyAgICAgICAgICAgICdkb20vTWVkaWFT
dHJlYW1UcmFjay5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5p
ZGwnLAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwnLAogICAgICAgICAgICAg
J2RvbS9NZXNzYWdlRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnQuaWRs
JywKICAgICAgICAgICAgICdkb20vTW91c2VFdmVudC5pZGwnLAotICAgICAgICAgICAgJ2RvbS9N
dWx0aXBsZVRyYWNrTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL05hbWVkTm9kZU1hcC5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9Ob2RlLmlkbCcsCkBAIC0xMTk0LDcgKzExOTQsNiBAQAogICAgICAgICAgICAgJ2RvbS9Ub3Vj
aC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Ub3VjaEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAn
ZG9tL1RvdWNoTGlzdC5pZGwnLAotICAgICAgICAgICAgJ2RvbS9UcmFja0xpc3QuaWRsJywKICAg
ICAgICAgICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCcsCkBAIC0y
NTEwLDggKzI1MDksNiBAQAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25CYXNlLmgnLAogICAg
ICAgICAgICAgJ2RvbS9FeGNlcHRpb25Db2RlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2Vw
dGlvbkNvZGVQbGFjZWhvbGRlci5jcHAnLAotICAgICAgICAgICAgJ2RvbS9FeGNsdXNpdmVUcmFj
a0xpc3QuY3BwJywKLSAgICAgICAgICAgICdkb20vRXhjbHVzaXZlVHJhY2tMaXN0LmgnLAogICAg
ICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgnLAogICAgICAgICAgICAgJ2RvbS9J
Y29uVVJMLmNwcCcsCkBAIC0yNTI0LDYgKzI1MjEsMTAgQEAKICAgICAgICAgICAgICdkb20vTWVk
aWFTdHJlYW1Db250YWluZXIuaCcsCiAgICAgICAgICAgICAnZG9tL01lZGlhU3RyZWFtTGlzdC5j
cHAnLAogICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbUxpc3QuaCcsCisgICAgICAgICAgICAn
ZG9tL01lZGlhU3RyZWFtVHJhY2suY3BwJywKKyAgICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1U
cmFjay5oJywKKyAgICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwJywKKyAg
ICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaCcsCiAgICAgICAgICAgICAnZG9t
L01lc3NhZ2VDaGFubmVsLmNwcCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmgn
LAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlRXZlbnQuY3BwJywKQEAgLTI1MzIsOCArMjUzMyw2
IEBACiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAnLAogICAgICAgICAg
ICAgJ2RvbS9Nb3VzZUV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL01vdXNlUmVsYXRlZEV2
ZW50LmNwcCcsCi0gICAgICAgICAgICAnZG9tL011bHRpcGxlVHJhY2tMaXN0LmNwcCcsCi0gICAg
ICAgICAgICAnZG9tL011bHRpcGxlVHJhY2tMaXN0LmgnLAogICAgICAgICAgICAgJ2RvbS9NdXRh
dGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaCcsCiAgICAg
ICAgICAgICAnZG9tL05hbWVOb2RlTGlzdC5jcHAnLApAQCAtMjYyMSw4ICsyNjIwLDYgQEAKICAg
ICAgICAgICAgICdkb20vVG91Y2hFdmVudC5oJywKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0
LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RvdWNoTGlzdC5oJywKLSAgICAgICAgICAgICdkb20v
VHJhY2tMaXN0LmNwcCcsCi0gICAgICAgICAgICAnZG9tL1RyYWNrTGlzdC5oJywKICAgICAgICAg
ICAgICdkb20vVHJhbnNmb3JtU291cmNlLmgnLAogICAgICAgICAgICAgJ2RvbS9UcmFuc2Zvcm1T
b3VyY2VMaWJ4c2x0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybVNvdXJjZVF0LmNw
cCcsCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggNzNhOGU3MC4uOGY0ZGI1MiAxMDA2NDQKLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtNDk4LDcg
KzQ5OCw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9FeGNlcHRpb25CYXNlLmNwcCBcCiAgICAg
ZG9tL0V4Y2VwdGlvbkNvZGUuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVy
LmNwcCBcCi0gICAgZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgXAogICAgIGRvbS9JY29uVVJM
LmNwcCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuY3BwIFwKICAgICBkb20vTWVzc2FnZUNoYW5u
ZWwuY3BwIFwKQEAgLTUwNyw3ICs1MDYsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcCBcCiAgICAgZG9tL01vdXNlRXZlbnQuY3BwIFwKICAgICBkb20vTW91
c2VSZWxhdGVkRXZlbnQuY3BwIFwKLSAgICBkb20vTXVsdGlwbGVUcmFja0xpc3QuY3BwIFwKICAg
ICBkb20vTXV0YXRpb25FdmVudC5jcHAgXAogICAgIGRvbS9OYW1lZE5vZGVNYXAuY3BwIFwKICAg
ICBkb20vTmFtZU5vZGVMaXN0LmNwcCBcCkBAIC01NTIsNyArNTUwLDYgQEAgU09VUkNFUyArPSBc
CiAgICAgZG9tL1RvdWNoLmNwcCBcCiAgICAgZG9tL1RvdWNoRXZlbnQuY3BwIFwKICAgICBkb20v
VG91Y2hMaXN0LmNwcCBcCi0gICAgZG9tL1RyYWNrTGlzdC5jcHAgXAogICAgIGRvbS9UcmF2ZXJz
YWwuY3BwIFwKICAgICBkb20vVHJlZVNjb3BlLmNwcCBcCiAgICAgZG9tL1RyZWVXYWxrZXIuY3Bw
IFwKQEAgLTE0ODgsNyArMTQ4NSw2IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdl
dC5oIFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5o
IFwKLSAgICBkb20vRXhjbHVzaXZlVHJhY2tMaXN0LmggXAogICAgIGRvbS9GcmFnbWVudFNjcmlw
dGluZ1Blcm1pc3Npb24uaCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaCBcCiAgICAgZG9tL01l
c3NhZ2VDaGFubmVsLmggXApAQCAtMTQ5Nyw3ICsxNDkzLDYgQEAgSEVBREVSUyArPSBcCiAgICAg
ZG9tL01lc3NhZ2VQb3J0LmggXAogICAgIGRvbS9Nb3VzZUV2ZW50LmggXAogICAgIGRvbS9Nb3Vz
ZVJlbGF0ZWRFdmVudC5oIFwKLSAgICBkb20vTXVsdGlwbGVUcmFja0xpc3QuaCBcCiAgICAgZG9t
L011dGF0aW9uRXZlbnQuaCBcCiAgICAgZG9tL05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFt
ZU5vZGVMaXN0LmggXApAQCAtMTUzOCw3ICsxNTMzLDYgQEAgSEVBREVSUyArPSBcCiAgICAgZG9t
L1RvdWNoLmggXAogICAgIGRvbS9Ub3VjaEV2ZW50LmggXAogICAgIGRvbS9Ub3VjaExpc3QuaCBc
Ci0gICAgZG9tL1RyYWNrTGlzdC5oIFwKICAgICBkb20vVHJhbnNmb3JtU291cmNlLmggXAogICAg
IGRvbS9UcmF2ZXJzYWwuaCBcCiAgICAgZG9tL1RyZWVEZXB0aExpbWl0LmggXApAQCAtMzIzMCw2
ICszMjI0LDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAg
ICAgICAgIGRvbS9NZWRpYVN0cmVhbS5oIFwKICAgICAgICAgZG9tL01lZGlhU3RyZWFtQ29udGFp
bmVyLmggXAogICAgICAgICBkb20vTWVkaWFTdHJlYW1MaXN0LmggXAorICAgICAgICBkb20vTWVk
aWFTdHJlYW1UcmFjay5oIFwKKyAgICAgICAgZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmggXAog
ICAgICAgICBkb20vU3RyZWFtRXZlbnQuaCBcCiAgICAgICAgIHBhZ2UvQ2FsbGJhY2tUYXNrLmgg
XAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ2xpZW50LmggXApAQCAtMzI0Myw2ICszMjM5LDgg
QEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAgICAgIGRv
bS9Mb2NhbE1lZGlhU3RyZWFtLmNwcCBcCiAgICAgICAgIGRvbS9NZWRpYVN0cmVhbS5jcHAgXAog
ICAgICAgICBkb20vTWVkaWFTdHJlYW1MaXN0LmNwcCBcCisgICAgICAgIGRvbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcCBcCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgXAogICAg
ICAgICBkb20vU3RyZWFtRXZlbnQuY3BwIFwKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRy
b2xsZXIuY3BwIFwKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAK
ZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAwODM2M2Iy
Li5mNDJiMjYyIDEwMDc1NQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC00ODc4LDYyICs0ODc4LDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAiCi0JCQkJPgotCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
LQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFeGNsdXNpdmVU
cmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0ZpbGUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTExMDk0
LDcgKzExMDM4LDcgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU01lbW9yeUluZm8uY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhU3Ry
ZWFtVHJhY2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0i
RGVidWd8V2luMzIiCkBAIC0xMTE0NiwxMSArMTEwOTAsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZW1v
cnlJbmZvLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVkaWFTdHJlYW1UcmFjay5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUNo
YW5uZWwuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNw
cCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgpAQCAtMTEyMDIsMTEgKzExMTQ2LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUNoYW5uZWwu
aCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIgogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50
LmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZW1vcnlJbmZvLmNwcCIKIAkJCQk+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtMTEyNTgsMTEg
KzExMjAyLDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50LmgiCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTTWVtb3J5SW5mby5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZVBvcnQuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U01lc3NhZ2VDaGFubmVsLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtMTEzMTQsMTEgKzExMjU4LDExIEBACiAJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTWVzc2FnZVBvcnQuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdlQ2hhbm5lbC5o
IgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0
YWRhdGEuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lc3NhZ2VFdmVudC5jcHAiCiAJCQkJ
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTEx
MzcwLDExICsxMTMxNCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhLmgiCisJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50LmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIKKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNNZXNzYWdlUG9ydC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTExNDI2LDExICsxMTM3MCwxMSBAQAogCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU01ldGFkYXRhQ2FsbGJhY2suaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNz
YWdlUG9ydC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTTW91c2VFdmVudC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuY3Bw
IgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIi
CkBAIC0xMTQ4MiwxMSArMTE0MjYsNjcgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNb3VzZUV2ZW50LmgiCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhQ2FsbGJhY2suY3BwIgorCQkJCT4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0
YWRhdGFDYWxsYmFjay5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTXVsdGlwbGVUcmFja0xpc3QuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U01vdXNlRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCkBAIC0xMTUzOCw3ICsxMTUzOCw3IEBACiAJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXVs
dGlwbGVUcmFja0xpc3QuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNb3VzZUV2ZW50LmgiCiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTIyMDcwLDYyICsyMjA3MCw2IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNUcmFja0xpc3Qu
Y3BwIgotCQkJCT4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0J
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
Ci0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRv
b2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZV9D
YWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+
Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9
IkRlYnVnX0FsbHxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4K
LQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0i
UHJvZHVjdGlvbnxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4K
LQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTVHJhY2tMaXN0LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNUcmVlV2Fsa2VyLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1
cmF0aW9uCkBAIC00NTY3OCw3ICs0NTYyMiw3IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFeGNsdXNpdmVUcmFja0xpc3QuY3BwIgorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAiCiAJCQkJ
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1
NzMwLDcgKzQ1Njc0LDE1IEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRXhjZXB0aW9uQ29kZVBsYWNlaG9s
ZGVyLmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFeGNlcHRpb25Db2RlUGxhY2Vob2xk
ZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXEhhc2hDaGFuZ2VFdmVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cSWNvblVSTC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1NzgyLDExICs0NTczNCwxNSBA
QAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXEljb25VUkwuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAiCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XEtleWJvYXJkRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCkBAIC00NTgzOCwxNSArNDU3OTQsMTEgQEAKIAkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGRvbVxFeGNsdXNpdmVUcmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEhhc2hDaGFuZ2VFdmVudC5oIgorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXEtleWJvYXJkRXZlbnQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEljb25VUkwuY3BwIgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXExvY2FsTWVkaWFTdHJlYW0uY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00NTg5OCwxNSArNDU4NTAsMTUgQEAK
IAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGRvbVxJY29uVVJMLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTG9j
YWxNZWRpYVN0cmVhbS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlxkb21cSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCIK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNYXBwZWRBdHRyaWJ1dGVFbnRyeS5oIgogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cS2V5Ym9hcmRF
dmVudC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0uY3BwIgogCQkJ
CT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00
NTk1OCwxMSArNDU5MTAsMTUgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxLZXlib2FyZEV2ZW50LmgiCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0uaCIKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXExvY2FsTWVkaWFTdHJlYW0uY3Bw
IgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtQ29udGFpbmVyLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0
cmVhbUxpc3QuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0i
RGVidWd8V2luMzIiCkBAIC00NjAxNCwxNSArNDU5NzAsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxM
b2NhbE1lZGlhU3RyZWFtLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGRvbVxNYXBwZWRBdHRyaWJ1dGVFbnRyeS5oIgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXE1lZGlhU3RyZWFtTGlzdC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0uY3BwIgorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00NjA3NCwxNSArNDYwMjYsMTEg
QEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0cmVhbS5oIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXE1lZGlhU3RyZWFtVHJhY2suaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtQ29udGFpbmVyLmgiCi0JCQkJPgotCQkJ
PC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0cmVhbUxp
c3QuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2tMaXN0LmNw
cCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgpAQCAtNDYxMzQsNyArNDYwODIsNyBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtTGlz
dC5oIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2tMaXN0LmgiCiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTQ2NDc0LDYyICs0NjQyMiw2IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNdWx0aXBs
ZVRyYWNrTGlzdC5jcHAiCi0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJ
CQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJ
PFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJ
PgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
LQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNdWx0aXBsZVRyYWNrTGlzdC5oIgotCQkJCT4KLQkJCTwv
RmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTXV0YXRpb25FdmVudC5j
cHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNDg4MjIsNjIgKzQ4NzE0LDYg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XFRyYWNrTGlzdC5jcHAiCi0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJ
CQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJ
PFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJ
PgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
LQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxUcmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0J
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFRyYW5zZm9ybVNvdXJjZS5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDg3Yjc1YWIuLjIwZDA5NWUgMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE3Niw2ICsxMTc2LDE0IEBACiAJ
CTQ5QzdCOUZDMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5RkIxMDQyRDM2NTAw
MDlENDQ3IC8qIEdyYXBoaWNzQ29udGV4dDNELmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlDN0JBNzkxMDQyRUZBRTAwMDlENDQ3IC8qIE9wZW5H
TC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OUM3QkE3ODEwNDJFRkFFMDAwOUQ0NDcgLyogT3BlbkdMLmZyYW1ld29yayAqLzsgfTsK
IAkJNDlDN0JBOEQxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0JBOEMxMDQyRjVC
MTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwICovOyB9OworCQk0OUM5RjMyMzEzRDU3
NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzlGMzFEMTNENTc0RjgwMDUyNjAwQSAvKiBN
ZWRpYVN0cmVhbVRyYWNrTGlzdC5oICovOyB9OworCQk0OUM5RjMyNDEzRDU3NEY5MDA1MjYwMEEg
LyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDlDOUYzMUUxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFt
VHJhY2tMaXN0LmNwcCAqLzsgfTsKKwkJNDlDOUYzMjYxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlh
U3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5QzlGMzIwMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmggKi87IH07
CisJCTQ5QzlGMzI3MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzlGMzIxMTNENTc0
RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLzsgfTsKKwkJNDlDOUY0OEUxM0Q1
N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM5RjQ4QTEzRDU3RDMyMDA1MjYwMEEgLyog
SlNNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLzsgfTsKKwkJNDlDOUY0OEYxM0Q1N0QzMjAwNTI2MDBB
IC8qIEpTTWVkaWFTdHJlYW1UcmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDlDOUY0OEIxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1U
cmFjay5oICovOyB9OworCQk0OUM5RjQ5MDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVh
bVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OUM5RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5j
cHAgKi87IH07CisJCTQ5QzlGNDkxMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJh
Y2tMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
OUM5RjQ4RDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5oICovOyB9
OwogCQk0OUQ1REMyQjBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlE
NURDMjcwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAq
LzsgfTsKIAkJNDlENURDMkMwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3Bl
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
OUQ1REMyODBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUQ1REMy
RDBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlENURDMjkwRjQy
M0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAqLzsgfTsK
QEAgLTQwNDYsMTggKzQwNTQsNiBAQAogCQlBQkRERkU3OTBBNUM2RTcwMDBBM0UxMUQgLyogUmVu
ZGVyTWVudUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQUJEREZFNzMwQTVDNkU2RjAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmNwcCAqLzsg
fTsKIAkJQUJEREZFN0EwQTVDNkU3MDAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQkRERkU3NDBBNUM2RTcw
MDBBM0UxMUQgLyogUmVuZGVyTWVudUxpc3QuaCAqLzsgfTsKIAkJQURERjFBRDcxMjU3Q0Q5QTAw
MDNBNzU5IC8qIFJlbmRlclNWR1BhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFEREYxQUQ1MTI1N0NEOUEwMDAzQTc1OSAvKiBSZW5kZXJTVkdQYXRo
LmggKi87IH07Ci0JCUIxMkQyMzNFMTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xp
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEy
RDIzMzUxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgKi87IH07Ci0J
CUIxMkQyMzNGMTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzM2MTM1NjAyODIw
MDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaCAqLzsgfTsKLQkJQjEyRDIzNDExMzU2MDI4
MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzM4MTM1NjAyODIwMDJBMjhENCAvKiBNdWx0
aXBsZVRyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzQyMTM1NjAyODIwMDJBMjhENCAvKiBN
dWx0aXBsZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjEyRDIzMzkxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0Lmgg
Ki87IH07Ci0JCUIxMkQyMzQ0MTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIzM0IxMzU2MDI4
MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzQ1MTM1NjAyODIwMDJB
MjhENCAvKiBUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIxMkQyMzNDMTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuaCAqLzsgfTsK
LQkJQjEyRDIzNjUxMzU2MDMzMDAwMkEyOEQ0IC8qIEpTVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzYzMTM1NjAzMkYwMDJB
MjhENCAvKiBKU1RyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzY2MTM1NjAzMzAwMDJBMjhE
NCAvKiBKU1RyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjEyRDIzNjQxMzU2MDMzMDAwMkEyOEQ0IC8qIEpTVHJhY2tMaXN0LmggKi87IH07
Ci0JCUIxMkQyMzY5MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjM2NzEz
NTYwMzNGMDAyQTI4RDQgLyogSlNFeGNsdXNpdmVUcmFja0xpc3QuY3BwICovOyB9OwotCQlCMTJE
MjM2QTEzNTYwMzNGMDAyQTI4RDQgLyogSlNFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzY4MTM1NjAzM0YwMDJB
MjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oICovOyB9OwotCQlCMTJEMjM2RDEzNTYwMzRE
MDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQgLyogSlNN
dWx0aXBsZVRyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzZFMTM1NjAzNEQwMDJBMjhENCAv
KiBKU011bHRpcGxlVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMTJEMjM2QzEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNr
TGlzdC5oICovOyB9OwogCQlCMTQzNTNENDEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1D
b250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIxNDM1M0QwMTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUNvbnRhaW5lci5oICovOyB9
OwogCQlCMTQzNTNENTEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0QxMTM4RUE4
RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3QuY3BwICovOyB9OwogCQlCMTQzNTNENjEzOEVB
OEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTQzNTNEMjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFT
dHJlYW1MaXN0LmggKi87IH07CkBAIC03NzMzLDYgKzc3MjksMTYgQEAKIAkJNDlDN0I5RkIxMDQy
RDM2NTAwMDlENDQ3IC8qIEdyYXBoaWNzQ29udGV4dDNELmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dDNELmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ5QzdCQTc4MTA0MkVGQUUwMDA5RDQ0NyAvKiBPcGVuR0wuZnJhbWV3b3JrICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFt
ZXdvcms7IG5hbWUgPSBPcGVuR0wuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvT3BlbkdMLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsK
IAkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEb2N1bWVudEN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGMzFDMTNENTc0RjgwMDUyNjAwQSAvKiBN
ZWRpYVN0cmVhbVRyYWNrTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFTdHJl
YW1UcmFja0xpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUM5RjMxRDEz
RDU3NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1UcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDlDOUYzMUUxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJh
Y2tMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlDOUYzMUYx
M0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IE1lZGlhU3RyZWFtVHJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0OUM5RjMyMDEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbVRyYWNrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGMzIxMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVh
bVRyYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3Ry
ZWFtVHJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUM5RjQ4QTEzRDU3
RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFTdHJlYW1UcmFjay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ5QzlGNDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFt
VHJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYVN0cmVhbVRy
YWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGNDhDMTNENTdEMzIwMDUy
NjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0OUM5RjQ4RDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVh
bVRyYWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhU3Ry
ZWFtVHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RDVEQzI3MEY0
MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5j
cHA7IHBhdGggPSB0cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlENURDMjgwRjQyM0E3MzAwOEYyMEZEIC8qIE1h
dHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmg7IHBhdGggPSB0cmFuc2Zvcm1zL01hdHJp
eDNEVHJhbnNmb3JtT3BlcmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
RDVEQzI5MEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBQZXJzcGVjdGl2ZVRyYW5z
Zm9ybU9wZXJhdGlvbi5jcHA7IHBhdGggPSB0cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3Jt
T3BlcmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNTMxLDIxICsx
MDUzNyw2IEBACiAJCUFCRERGRTc0MEE1QzZFNzAwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWVudUxpc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQURERjFBRDQxMjU3Q0Q5QTAwMDNBNzU5IC8qIFJl
bmRlclNWR1BhdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVu
ZGVyU1ZHUGF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFEREYxQUQ1MTI1
N0NEOUEwMDAzQTc1OSAvKiBSZW5kZXJTVkdQYXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlbmRlclNWR1BhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
QjEyRDIzMzUxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFeGNsdXNpdmVUcmFja0xpc3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzNjEzNTYwMjgyMDAyQTI4RDQgLyog
RXhjbHVzaXZlVHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4
Y2x1c2l2ZVRyYWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMz
NzEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBFeGNsdXNpdmVUcmFja0xpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlCMTJEMjMzODEzNTYwMjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXVsdGlwbGVUcmFja0xpc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzOTEzNTYwMjgyMDAyQTI4
RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTXVsdGlwbGVUcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEy
RDIzM0ExMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBNdWx0aXBsZVRyYWNrTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUIxMkQyMzNCMTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhY2tMaXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzM0MxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFja0xpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzM0QxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNr
TGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVHJhY2tMaXN0LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNjMxMzU2MDMyRjAwMkEyOEQ0IC8qIEpTVHJhY2tM
aXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVHJhY2tMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNjQxMzU2MDMzMDAwMkEy
OEQ0IC8qIEpTVHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzY3MTM1NjAz
M0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2
ZVRyYWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2x1c2l2
ZVRyYWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjM2QjEzNTYw
MzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU011bHRpcGxlVHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNkMxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVU
cmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdWx0aXBsZVRy
YWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMTQzNTNEMDEzOEVBOEVE
MDBENTMyNzYgLyogTWVkaWFTdHJlYW1Db250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWVkaWFTdHJlYW1Db250YWluZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQjE0MzUzRDExMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVN0cmVhbUxpc3QuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMTQzNTNEMjEzOEVBOEVEMDBENTMyNzYg
LyogTWVkaWFTdHJlYW1MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhU3RyZWFtTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyMzYsOCAr
MTcyMjcsNiBAQAogCQkJCTY1REYzMjJFMDlEMUREQkMwMDBCRTMyNSAvKiBKU0VudGl0eS5oICov
LAogCQkJCTkzRjlCNzcyMEJBNUZEREMwMDg1NDA2NCAvKiBKU0VudGl0eVJlZmVyZW5jZS5jcHAg
Ki8sCiAJCQkJOTNGOUI3NzMwQkE1RkREQzAwODU0MDY0IC8qIEpTRW50aXR5UmVmZXJlbmNlLmgg
Ki8sCi0JCQkJQjEyRDIzNjcxMzU2MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0
LmNwcCAqLywKLQkJCQlCMTJEMjM2ODEzNTYwMzNGMDAyQTI4RDQgLyogSlNFeGNsdXNpdmVUcmFj
a0xpc3QuaCAqLywKIAkJCQlGRTgwREE1RjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlv
bi5jcHAgKi8sCiAJCQkJRkU4MERBNjAwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24u
aCAqLywKIAkJCQlGRTgwREE2MTBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9wb3NpdGlvbi5jcHAg
Ki8sCkBAIC0xNzI0OCw4ICsxNzIzNywxMCBAQAogCQkJCUIxRTU0NUQ4MTM0NjJCMEIwMDkyQTU0
NSAvKiBKU01lZGlhU3RyZWFtLmggKi8sCiAJCQkJQjE0MzUzRjYxMzhFQTk1QjAwRDUzMjc2IC8q
IEpTTWVkaWFTdHJlYW1MaXN0LmNwcCAqLywKIAkJCQlCMTQzNTNGNzEzOEVBOTVCMDBENTMyNzYg
LyogSlNNZWRpYVN0cmVhbUxpc3QuaCAqLywKLQkJCQlCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQg
LyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgKi8sCi0JCQkJQjEyRDIzNkMxMzU2MDM0RDAwMkEy
OEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCAqLywKKwkJCQk0OUM5RjQ4QTEzRDU3RDMyMDA1
MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLywKKwkJCQk0OUM5RjQ4QjEzRDU3RDMy
MDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmggKi8sCisJCQkJNDlDOUY0OEMxM0Q1N0Qz
MjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwICovLAorCQkJCTQ5QzlGNDhE
MTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmggKi8sCiAJCQkJQkNE
OUMyQkMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmNwcCAqLywKIAkJCQlCQ0Q5
QzJCRDBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuaCAqLywKIAkJCQkxNERDMEQz
NTA5RkVEMDczMDA3QjAyMzUgLyogSlNOb2RlLmNwcCAqLywKQEAgLTE3Mjc4LDggKzE3MjY5LDYg
QEAKIAkJCQk0OUE4NUI3NjEzOEQ1OEVFMDBFQ0I3QjMgLyogSlNTdHJlYW1FdmVudC5oICovLAog
CQkJCTY1REYzMUVGMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYz
MUYwMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuaCAqLywKLQkJCQlCMTJEMjM2MzEzNTYwMzJG
MDAyQTI4RDQgLyogSlNUcmFja0xpc3QuY3BwICovLAotCQkJCUIxMkQyMzY0MTM1NjAzMzAwMDJB
MjhENCAvKiBKU1RyYWNrTGlzdC5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBDb3JlOwogCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NzU1LDkgKzE5NzQ0LDYgQEAKIAkJCQk5MzVGQkNG
MTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oICovLAogCQkJCUE3Q0FDREIwMTND
RTg3NUIwMEJCQkUzRiAvKiBFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwICovLAogCQkJCUE3
NEJCNzZBMTNCREE4NjMwMEZGN0JGMCAvKiBFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCAqLywK
LQkJCQlCMTJEMjMzNTEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCAq
LywKLQkJCQlCMTJEMjMzNjEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0Lmgg
Ki8sCi0JCQkJQjEyRDIzMzcxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5p
ZGwgKi8sCiAJCQkJQTg1MzEyM0MxMUQwNDcxQjAwRDREMDc3IC8qIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbi5oICovLAogCQkJCTI0NDJCQkY4MTE5NEM5RDMwMEQ0OTQ2OSAvKiBIYXNoQ2hh
bmdlRXZlbnQuaCAqLywKIAkJCQk4NDgyQjc0NDExOThDMzJFMDBCRkIwMDUgLyogSGFzaENoYW5n
ZUV2ZW50LmlkbCAqLywKQEAgLTE5Nzc4LDYgKzE5NzY0LDEyIEBACiAJCQkJQjE0MzUzRDExMzhF
QThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5jcHAgKi8sCiAJCQkJQjE0MzUzRDIxMzhF
QThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5oICovLAogCQkJCUIxNDM1M0QzMTM4RUE4
RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3QuaWRsICovLAorCQkJCTQ5QzlGMzFGMTNENTc0
RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmlkbCAqLywKKwkJCQk0OUM5RjMyMDEzRDU3
NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5oICovLAorCQkJCTQ5QzlGMzIxMTNENTc0
RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLywKKwkJCQk0OUM5RjMxQzEzRDU3
NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsICovLAorCQkJCTQ5QzlGMzFE
MTNENTc0RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oICovLAorCQkJCTQ5QzlG
MzFFMTNENTc0RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgKi8sCiAJCQkJ
RTFBREVDQ0QwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFubmVsLmNwcCAqLywKIAkJCQlF
MUFERUNDQzBFNzZBRDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaCAqLywKIAkJCQlFMUFE
RUNEMDBFNzZBREFCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaWRsICovLApAQCAtMTk3OTQs
OSArMTk3ODYsNiBAQAogCQkJCTE0MUI5NEU1MDlFQzQyMjMwMDBFOTQxMyAvKiBNb3VzZUV2ZW50
LmlkbCAqLywKIAkJCQk4NTAzMUIzMTBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VSZWxhdGVkRXZl
bnQuY3BwICovLAogCQkJCTg1MDMxQjMyMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRF
dmVudC5oICovLAotCQkJCUIxMkQyMzM4MTM1NjAyODIwMDJBMjhENCAvKiBNdWx0aXBsZVRyYWNr
TGlzdC5jcHAgKi8sCi0JCQkJQjEyRDIzMzkxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJh
Y2tMaXN0LmggKi8sCi0JCQkJQjEyRDIzM0ExMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJh
Y2tMaXN0LmlkbCAqLywKIAkJCQk4NTAzMUIzMzBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25F
dmVudC5jcHAgKi8sCiAJCQkJODUwMzFCMzQwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZl
bnQuaCAqLywKIAkJCQk5M0VFQzFGMzA5QzI4Nzc3MDBDNTE1RDEgLyogTXV0YXRpb25FdmVudC5p
ZGwgKi8sCkBAIC0xOTkxMCw5ICsxOTg5OSw2IEBACiAJCQkJOTMzQTE0MkQwQjdEMTg4NjAwQTUz
RkZEIC8qIFRleHRFdmVudC5oICovLAogCQkJCTkzM0ExNDJDMEI3RDE4ODYwMEE1M0ZGRCAvKiBU
ZXh0RXZlbnQuaWRsICovLAogCQkJCUE3N0I0MTlGMTJFNjc1QTkwMDU0MzQzRCAvKiBUZXh0RXZl
bnRJbnB1dFR5cGUuaCAqLywKLQkJCQlCMTJEMjMzQjEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tM
aXN0LmNwcCAqLywKLQkJCQlCMTJEMjMzQzEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0Lmgg
Ki8sCi0JCQkJQjEyRDIzM0QxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5pZGwgKi8sCiAJ
CQkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovLAogCQkJ
CTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAq
LywKIAkJCQk4NTRGRTcyQzBBMjI5N0JFMDA1OEQ3QUQgLyogVHJhdmVyc2FsLmNwcCAqLywKQEAg
LTIxMjY3LDcgKzIxMjUzLDYgQEAKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhj
ZXB0aW9uQ29kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc0QkI3NkIxM0JEQTg2MzAwRkY3QkYw
IC8qIEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ4QUZE
QTUwQUY1ODM2MDAwOENDNzAwIC8qIEV4Y2VwdGlvbkhhbmRsZXJzLmggaW4gSGVhZGVycyAqLywK
LQkJCQlCMTJEMjMzRjEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk2RTY3RDJBOTEyODBFOEJEMDA4NzU4RjcgLyogRXh0ZW5zaW9uczNE
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTY3RDJBNzEyODBFOEE0MDA4NzU4RjcgLyogRXh0ZW5z
aW9uczNET3BlbkdMLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzVFOEI4OTBFMURFMkQ2MDA3RjI0
ODEgLyogRkVCbGVuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTc4MCw3ICsyMTc2NSw2IEBACiAJ
CQkJRTBGRUYzNzJCMzdDNTNFQUMxQzFGQkVFIC8qIEpTRXZlbnRTb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNjA5MDFGMEU5MUI4RUMwMDBDNjhCNSAvKiBKU0V2ZW50VGFyZ2V0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkzMzE0QUNFQzEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25C
YXNlLmggaW4gSGVhZGVycyAqLywKLQkJCQlCMTJEMjM2QTEzNTYwMzNGMDAyQTI4RDQgLyogSlNF
eGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDBGMDE1MEUwQTE4OTUw
MEZEMDRFMyAvKiBKU0ZpbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5M0M0N0I4MTIzOEEwOTkw
MDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1QjEx
MjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZUVudHJ5LmggaW4gSGVhZGVycyAqLywKQEAgLTIxOTE2
LDcgKzIxOTAwLDYgQEAKIAkJCQk4OTg3ODVCNzEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1QjkxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0
YWRhdGFDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDEwOURBMkI0ODAwOTYz
M0E1IC8qIEpTTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQjEyRDIzNkUxMzU2MDM0
RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1
REYzMUZDMDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDRDlDMkMxMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTlEMjQ3RjgwRDc1N0UzNDAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmgg
aW4gSGVhZGVycyAqLywKQEAgLTIyMTI3LDcgKzIyMTEwLDYgQEAKIAkJCQk5MzNBMTRCOTBCN0Qx
RDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUY0NUY2
MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
NDQ2MTQxQjBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmggaW4gSGVhZGVycyAqLywK
LQkJCQlCMTJEMjM2NjEzNTYwMzMwMDAyQTI4RDQgLyogSlNUcmFja0xpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBNzUwRDVEMEE5MERFRTEwMDBGRjIxNSAvKiBKU1RyZWVXYWxrZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4NjYyOUNGMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjBEMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQxNkFy
cmF5LmggaW4gSGVhZGVycyAqLywKQEAgLTIyMjgyLDcgKzIyMjY0LDYgQEAKIAkJCQk5MzVDNDc2
MzA5QUM0Q0U2MDBBNkFBQjQgLyogTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODUwMzFCNDgwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQzA5OUU2NDkyMDA1NkU1ODEgLyogTW92
ZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAotCQkJCUIxMkQyMzQyMTM1NjAyODIw
MDJBMjhENCAvKiBNdWx0aXBsZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFBRDRF
NjMxM0ExMkEwQjAwODQ2QjI3IC8qIE11dGFibGVUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAog
CQkJCTg1MDMxQjRBMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTIzMDY1LDcgKzIzMDQ2LDYgQEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZC
MDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0IwMENENjMzMTAw
MEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFD
OTA2MDA5RDBDQUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCUIxMkQy
MzQ1MTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5
RTkxMUM0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFOTExQ0UwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExRDAwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5z
Zm9ybU9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovLApAQCAtMjMyMzcsNiArMjMyMTcsMTAgQEAK
IAkJCQlGRDdGMjk5NzEzRDRDMENCMDBBRDk1MzUgLyogV2F2ZVNoYXBlclByb2Nlc3Nvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRkQ4MkQ3RjgxM0Q0QzhCRDAwNEU0MzcyIC8qIEpTV2F2ZVNoYXBl
ck5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAvKiBJ
ZGVudGlmaWVyc0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QzlGMzIzMTNENTc0Rjkw
MDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDlD
OUYzMjYxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ5QzlGNDhGMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suaCBp
biBIZWFkZXJzICovLAorCQkJCTQ5QzlGNDkxMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI0MjAwLDcgKzI0MTg0LDYgQEAKIAkJ
CQk5MzgzMUI1NzBEMDg3RDYwMDBFNUM5ODQgLyogRXhjZXB0aW9uQ29kZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBN0NBQ0RCMTEzQ0U4NzVDMDBCQkJFM0YgLyogRXhjZXB0aW9uQ29kZVBsYWNl
aG9sZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0OEFGREE2MEFGNTgzNjAwMDhDQzcwMCAv
KiBFeGNlcHRpb25IYW5kbGVycy5tbSBpbiBTb3VyY2VzICovLAotCQkJCUIxMkQyMzNFMTM1NjAy
ODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NkU2N0QyQTYxMjgwRThBNDAwODc1OEY3IC8qIEV4dGVuc2lvbnMzRE9wZW5HTC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBNzVFOEI4ODBFMURFMkQ2MDA3RjI0ODEgLyogRkVCbGVuZC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBNzVFOEI4QTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb2xvck1hdHJp
eC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI0NzA4LDcgKzI0NjkxLDYgQEAKIAkJCQlCQzI3NUI4
MTExQzVEMkI0MDBDOTIwNkMgLyogSlNFdmVudFNvdXJjZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzYwOTAyMDBFOTFCOEVDMDAwQzY4QjUgLyogSlNFdmVudFRhcmdldC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzMzE0QUNFQjEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25C
YXNlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUIxMkQyMzY5MTM1NjAzM0YwMDJBMjhENCAvKiBK
U0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzAwRjAxNDBFMEEx
ODk1MDBGRDA0RTMgLyogSlNGaWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5M0M0N0I3MTIz
OEEwOTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4
OTg3ODVCMDEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yNDg3OCw3ICsyNDg2MCw2IEBACiAJCQkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1QjgxMjJDQTJBNzAwM0FB
QkRBIC8qIEpTTWV0YWRhdGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlE
MjA5REEyQjQ4MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUIxMkQyMzZEMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTY1REYzMUZCMDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEOUMyQzAwQzE3QjY5RTAwNUM5MEEyIC8qIEpT
TmFtZWROb2RlTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDlDMjYzMEMxN0FBNjcwMDVD
OTBBMiAvKiBKU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1MTA3
LDcgKzI1MDg4LDYgQEAKIAkJCQk5MzNBMTRCODBCN0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRjQ1RjUwRTY4N0I1QzAwMUMxMjg3IC8qIEpT
VGV4dE1ldHJpY3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0NjE0MUEwQ0Q2ODI2OTAwRkFE
QTc1IC8qIEpTVGltZVJhbmdlcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCMTJEMjM2NTEzNTYw
MzMwMDAyQTI4RDQgLyogSlNUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE3NTBE
NUMwQTkwREVFMTAwMEZGMjE1IC8qIEpTVHJlZVdhbGtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MTZCQjc5NDBDRTkxRTY4MDA1MTJGNzkgLyogSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4NjYyOUQwMDlEQTJCNDgwMDk2MzNBNSAvKiBKU1VJRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0yNTI2Nyw3ICsyNTI0Nyw2IEBACiAJCQkJOTNFQjM1NUYwOUUz
N0ZENjAwRjQzNzk5IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJODUwMzFCNDcwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2ZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5REZCMDk5RTY0OTIwMDU2RTU4MSAvKiBNb3Zl
U2VsZWN0aW9uQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCMTJEMjM0MTEzNTYwMjgy
MDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjFB
RDRFNjIxM0ExMkEwQjAwODQ2QjI3IC8qIE11dGFibGVUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODUwMzFCNDkwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNGMzRBMzcxMUEyMzFDRDAwQzcxODA0IC8qIE5hbWVkTm9kZU1h
cC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1ODcxLDcgKzI1ODUwLDYgQEAKIAkJCQk3NTUzQ0ZF
OTEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzMzA5RUE0MDk5RUI3OEMwMDU2RTU4MSAvKiBUaW1lci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFNDQ2MTNBRjBDRDYzMzEwMDBGQURBNzUgLyogVGltZVJhbmdlcy5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQlCMTJEMjM0NDEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RTkxMUMzMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zv
cm1hdGlvbk1hdHJpeC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTRCQzQwRDEyQUVERDlFMDA3
NDNCRDIgLyogVHJhbnNmb3JtYXRpb25NYXRyaXhDQS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Mjc1MzU1ODBCMDUzODE0MDAyQ0U2NEYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXhDRy5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI2MDIzLDYgKzI2MDAxLDEwIEBACiAJCQkJMjREOTEyQjAxM0NBOUEx
RjAwRDIxOTE1IC8qIFNWR0FsdEdseXBoRGVmRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyNEQ5MTJCNzEzQ0E5QTY5MDBEMjE5MTUgLyogU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyNEQ5MTJCRDEzQ0E5QTk3MDBEMjE5MTUgLyogU1ZHR2x5cGhS
ZWZFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5QzlGMzI0MTNENTc0RjkwMDUyNjAw
QSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0OUM5RjMy
NzEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk0OUM5RjQ4RTEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTQ5QzlGNDkwMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRUYXJnZXQuY3BwCmluZGV4IGU4MTYzZTIuLjJmM2Y2MWIgMTAwNjQ0Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcAorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldC5jcHAKQEAgLTEwNSwxMiArMTA1LDYgQEAKICNp
bmNsdWRlICJNZWRpYVN0cmVhbS5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0jaW5jbHVkZSAiRXhjbHVzaXZlVHJhY2tMaXN0Lmgi
Ci0jaW5jbHVkZSAiTXVsdGlwbGVUcmFja0xpc3QuaCIKLSNpbmNsdWRlICJUcmFja0xpc3QuaCIK
LSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0yMDgsMTcgKzIwMiw2IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50VGFyZ2V0KiB0YXJnCiAgICAgICAgIHJldHVy
biB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RyZWFtKTsKICNlbmRpZgogCi0jaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIGlmIChNdWx0aXBsZVRy
YWNrTGlzdCogbXVsdGlwbGVUcmFja0xpc3QgPSB0YXJnZXQtPnRvTXVsdGlwbGVUcmFja0xpc3Qo
KSkKLSAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBtdWx0aXBsZVRyYWNr
TGlzdCk7Ci0KLSAgICBpZiAoRXhjbHVzaXZlVHJhY2tMaXN0KiBleGNsdXNpdmVUcmFja0xpc3Qg
PSB0YXJnZXQtPnRvRXhjbHVzaXZlVHJhY2tMaXN0KCkpCi0gICAgICAgIHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCwgZXhjbHVzaXZlVHJhY2tMaXN0KTsKLQotICAgIGlmIChUcmFja0xp
c3QqIHRyYWNrTGlzdCA9IHRhcmdldC0+dG9UcmFja0xpc3QoKSkKLSAgICAgICAgcmV0dXJuIHRv
SlMoZXhlYywgZ2xvYmFsT2JqZWN0LCB0cmFja0xpc3QpOwotI2VuZGlmCi0KICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4ganNOdWxsKCk7CiB9CmRpZmYgLS1naXQgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCmluZGV4IDQ2Y2ZiZWQuLjAzNGQ1NDcgMTAwNjQ0Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCkBAIC00Nyw3ICs0Nyw2IEBACiAj
aW5jbHVkZSAiVjhFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiVjhFdmVudExpc3RlbmVyTGlz
dC5oIgogI2luY2x1ZGUgIlY4RXZlbnRTb3VyY2UuaCIKLSNpbmNsdWRlICJWOEV4Y2x1c2l2ZVRy
YWNrTGlzdC5oIgogI2luY2x1ZGUgIlY4RmlsZVJlYWRlci5oIgogI2luY2x1ZGUgIlY4RmlsZVdy
aXRlci5oIgogI2luY2x1ZGUgIlY4SFRNTENvbGxlY3Rpb24uaCIKQEAgLTYxLDcgKzYwLDYgQEAK
ICNpbmNsdWRlICJWOExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiVjhNZWRpYVN0cmVhbS5oIgogI2lu
Y2x1ZGUgIlY4TWVzc2FnZUNoYW5uZWwuaCIKLSNpbmNsdWRlICJWOE11bHRpcGxlVHJhY2tMaXN0
LmgiCiAjaW5jbHVkZSAiVjhOYW1lZE5vZGVNYXAuaCIKICNpbmNsdWRlICJWOE5vZGUuaCIKICNp
bmNsdWRlICJWOE5vZGVGaWx0ZXJDb25kaXRpb24uaCIKQEAgLTcxLDcgKzY5LDYgQEAKICNpbmNs
dWRlICJWOFNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIlY4U2hhcmVkV29ya2VyQ29udGV4dC5o
IgogI2luY2x1ZGUgIlY4U3R5bGVTaGVldC5oIgotI2luY2x1ZGUgIlY4VHJhY2tMaXN0LmgiCiAj
aW5jbHVkZSAiVjhXZWJTb2NrZXQuaCIKICNpbmNsdWRlICJWOFdvcmtlci5oIgogI2luY2x1ZGUg
IlY4V29ya2VyQ29udGV4dC5oIgpAQCAtNDU5LDE3ICs0NTYsNiBAQCB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhET01XcmFwcGVyOjpjb252ZXJ0RXZlbnRUYXJnZXRUb1Y4T2JqZWN0KEV2ZW50VGFy
Z2V0KiB0YQogICAgICAgICByZXR1cm4gdG9WOChzdHJlYW0pOwogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgaWYgKE11bHRpcGxl
VHJhY2tMaXN0KiBtdWx0aXBsZVRyYWNrTGlzdCA9IHRhcmdldC0+dG9NdWx0aXBsZVRyYWNrTGlz
dCgpKQotICAgICAgICByZXR1cm4gdG9WOChtdWx0aXBsZVRyYWNrTGlzdCk7Ci0KLSAgICBpZiAo
RXhjbHVzaXZlVHJhY2tMaXN0KiBleGNsdXNpdmVUcmFja0xpc3QgPSB0YXJnZXQtPnRvRXhjbHVz
aXZlVHJhY2tMaXN0KCkpCi0gICAgICAgIHJldHVybiB0b1Y4KGV4Y2x1c2l2ZVRyYWNrTGlzdCk7
Ci0KLSAgICBpZiAoVHJhY2tMaXN0KiB0cmFja0xpc3QgPSB0YXJnZXQtPnRvVHJhY2tMaXN0KCkp
Ci0gICAgICAgIHJldHVybiB0b1Y4KHRyYWNrTGlzdCk7Ci0jZW5kaWYKLQogICAgIEFTU0VSVCgw
KTsKICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIH0KZGlmZiAtLWdpdCBT
b3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01B
bGxJbk9uZS5jcHAKaW5kZXggOWNiMDk4ZS4uZjI5Mzk4OSAxMDA2NDQKLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9u
ZS5jcHAKQEAgLTc2LDE4ICs3NiwxOCBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkJhc2UuY3BwIgog
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuY3BwIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFj
ZWhvbGRlci5jcHAiCi0jaW5jbHVkZSAiRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCIKICNpbmNsdWRl
ICJJY29uVVJMLmNwcCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmNwcCIKICNpbmNsdWRlICJM
b2NhbE1lZGlhU3RyZWFtLmNwcCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbS5jcHAiCisjaW5jbHVk
ZSAiTWVkaWFTdHJlYW1UcmFjay5jcHAiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja0xpc3Qu
Y3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKICNpbmNsdWRlICJNZXNzYWdlRXZl
bnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmNwcCIKICNpbmNsdWRlICJNZXNzYWdlUG9y
dENoYW5uZWwuY3BwIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1vdXNl
UmVsYXRlZEV2ZW50LmNwcCIKLSNpbmNsdWRlICJNdWx0aXBsZVRyYWNrTGlzdC5jcHAiCiAjaW5j
bHVkZSAiTXV0YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiTmFtZU5vZGVMaXN0LmNwcCIKICNp
bmNsdWRlICJOb2RlRmlsdGVyLmNwcCIKQEAgLTEyOSw3ICsxMjksNiBAQAogI2luY2x1ZGUgIlRv
dWNoLmNwcCIKICNpbmNsdWRlICJUb3VjaEV2ZW50LmNwcCIKICNpbmNsdWRlICJUb3VjaExpc3Qu
Y3BwIgotI2luY2x1ZGUgIlRyYWNrTGlzdC5jcHAiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU291cmNl
TGlieHNsdC5jcHAiCiAjaW5jbHVkZSAiVHJhdmVyc2FsLmNwcCIKICNpbmNsdWRlICJUcmVlU2Nv
cGUuY3BwIgpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAppbmRleCAxNWYzODIxLi5hMjhiZGIxIDEw
MDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtMjE3LDIzICsyMTcsNiBAQCBMb2NhbE1lZGlh
U3RyZWFtKiBFdmVudFRhcmdldDo6dG9Mb2NhbE1lZGlhU3RyZWFtKCkKIH0KICNlbmRpZgogCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQotVHJhY2tMaXN0
KiBFdmVudFRhcmdldDo6dG9UcmFja0xpc3QoKQotewotICAgIHJldHVybiAwOwotfQotCi1NdWx0
aXBsZVRyYWNrTGlzdCogRXZlbnRUYXJnZXQ6OnRvTXVsdGlwbGVUcmFja0xpc3QoKQotewotICAg
IHJldHVybiAwOwotfQotCi1FeGNsdXNpdmVUcmFja0xpc3QqIEV2ZW50VGFyZ2V0Ojp0b0V4Y2x1
c2l2ZVRyYWNrTGlzdCgpCi17Ci0gICAgcmV0dXJuIDA7Ci19Ci0jZW5kaWYKLQogYm9vbCBFdmVu
dFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
UGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciwgYm9vbCB1c2VDYXB0dXJlKQogewog
ICAgIEV2ZW50VGFyZ2V0RGF0YSogZCA9IGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOwpkaWZmIC0t
Z2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIFNvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCmluZGV4IGFlMmE2NGUuLmJjYzc1OGMgMTAwNjQ0Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmgKQEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50
OwogICAgIGNsYXNzIEV2ZW50TGlzdGVuZXI7CiAgICAgY2xhc3MgRXZlbnRTb3VyY2U7Ci0gICAg
Y2xhc3MgRXhjbHVzaXZlVHJhY2tMaXN0OwogICAgIGNsYXNzIEZpbGVSZWFkZXI7CiAgICAgY2xh
c3MgRmlsZVdyaXRlcjsKICAgICBjbGFzcyBJREJEYXRhYmFzZTsKQEAgLTU4LDE0ICs1NywxMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxNZWRpYVN0cmVhbTsKICAgICBj
bGFzcyBNZWRpYVN0cmVhbTsKICAgICBjbGFzcyBNZXNzYWdlUG9ydDsKLSAgICBjbGFzcyBNdWx0
aXBsZVRyYWNrTGlzdDsKICAgICBjbGFzcyBOb2RlOwogICAgIGNsYXNzIE5vdGlmaWNhdGlvbjsK
ICAgICBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXI7CiAgICAgY2xhc3MgU2hhcmVkV29ya2Vy
Q29udGV4dDsKLSAgICBjbGFzcyBUcmFja0xpc3Q7CiAgICAgY2xhc3MgV2ViU29ja2V0OwogICAg
IGNsYXNzIFdvcmtlcjsKICAgICBjbGFzcyBYTUxIdHRwUmVxdWVzdDsKQEAgLTE1NywxMiArMTU0
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIExvY2FsTWVkaWFTdHJl
YW0qIHRvTG9jYWxNZWRpYVN0cmVhbSgpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgIHZpcnR1YWwgVHJhY2tMaXN0KiB0
b1RyYWNrTGlzdCgpOwotICAgICAgICB2aXJ0dWFsIE11bHRpcGxlVHJhY2tMaXN0KiB0b011bHRp
cGxlVHJhY2tMaXN0KCk7Ci0gICAgICAgIHZpcnR1YWwgRXhjbHVzaXZlVHJhY2tMaXN0KiB0b0V4
Y2x1c2l2ZVRyYWNrTGlzdCgpOwotI2VuZGlmCi0KICAgICAgICAgdmlydHVhbCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgPSAwOwogCiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+LCBib29sIHVzZUNhcHR1cmUpOwpkaWZm
IC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuY3BwIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmOTZkMjI4Li4wMDAwMDAwCi0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZl
VHJhY2tMaXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
Ci0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJFeGNsdXNpdmVUcmFja0xpc3QuaCIK
LQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLQotI2lu
Y2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLVBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiBFeGNsdXNpdmVUcmFja0xp
c3Q6OmNyZWF0ZShjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzLCBsb25nIHNlbGVjdGVkSW5kZXgp
Ci17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBFeGNsdXNpdmVUcmFja0xpc3QodHJhY2tzLCBz
ZWxlY3RlZEluZGV4KSk7Ci19Ci0KLUV4Y2x1c2l2ZVRyYWNrTGlzdDo6RXhjbHVzaXZlVHJhY2tM
aXN0KGNvbnN0IFRyYWNrVmVjdG9yJiB0cmFja3MsIGxvbmcgc2VsZWN0ZWRJbmRleCkKLSAgICA6
IFRyYWNrTGlzdCh0cmFja3MpCi0gICAgLCBtX3NlbGVjdGVkSW5kZXgoc2VsZWN0ZWRJbmRleCkK
LXsKLSAgICBBU1NFUlQobV9zZWxlY3RlZEluZGV4ID49IE5vU2VsZWN0aW9uICYmIG1fc2VsZWN0
ZWRJbmRleCA8IHN0YXRpY19jYXN0PGxvbmc+KGxlbmd0aCgpKSk7Ci19Ci0KLUV4Y2x1c2l2ZVRy
YWNrTGlzdDo6fkV4Y2x1c2l2ZVRyYWNrTGlzdCgpCi17Ci19Ci0KLXZvaWQgRXhjbHVzaXZlVHJh
Y2tMaXN0OjpjbGVhcigpCi17Ci0gICAgbV9zZWxlY3RlZEluZGV4ID0gTm9TZWxlY3Rpb247Ci0g
ICAgVHJhY2tMaXN0OjpjbGVhcigpOwotfQotCi12b2lkIEV4Y2x1c2l2ZVRyYWNrTGlzdDo6c2Vs
ZWN0KGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghY2hlY2tJbmRl
eChpbmRleCwgZWMsIE5vU2VsZWN0aW9uKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9zZWxl
Y3RlZEluZGV4ID0gaW5kZXg7Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGlmICht
ZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpKQotICAgICAgICBtZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcigpLT5zZWxlY3RWaWRlb1RyYWNrKGFzc29jaWF0ZWRTdHJlYW1MYWJlbCgpLCBpbmRl
eCk7Ci0jZW5kaWYKLQotICAgIHBvc3RDaGFuZ2VFdmVudCgpOwotfQotCi0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKLXZvaWQgRXhjbHVzaXZlVHJhY2tMaXN0Ojp0cmFja0ZhaWxlZCh1bnNpZ25l
ZCBsb25nIGluZGV4KQotewotICAgIGlmIChtX3NlbGVjdGVkSW5kZXggPT0gc3RhdGljX2Nhc3Q8
bG9uZz4oaW5kZXgpKQotICAgICAgICBtX3NlbGVjdGVkSW5kZXggPSBOb1NlbGVjdGlvbjsKLQot
ICAgIFRyYWNrTGlzdDo6dHJhY2tGYWlsZWQoaW5kZXgpOwotfQotI2VuZGlmCi0KLUV4Y2x1c2l2
ZVRyYWNrTGlzdCogRXhjbHVzaXZlVHJhY2tMaXN0Ojp0b0V4Y2x1c2l2ZVRyYWNrTGlzdCgpCi17
Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKZGlmZiAtLWdp
dCBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJhY2tMaXN0LmggU291cmNlL1dlYkNvcmUv
ZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
YzM3ZDFlLi4wMDAwMDAwCi0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJhY2tMaXN0
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVm
IEV4Y2x1c2l2ZVRyYWNrTGlzdF9oCi0jZGVmaW5lIEV4Y2x1c2l2ZVRyYWNrTGlzdF9oCi0KLSNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0KLSNpbmNsdWRl
ICJUcmFja0xpc3QuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgRXhjbHVzaXZlVHJhY2tMaXN0IDogcHVibGljIFRyYWNrTGlzdCB7Ci1w
dWJsaWM6Ci0gICAgc3RhdGljIGNvbnN0IGxvbmcgTm9TZWxlY3Rpb24gPSAtMTsKLQotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gY3JlYXRlKGNvbnN0IFRyYWNrVmVj
dG9yJiwgbG9uZyBzZWxlY3RlZEluZGV4ID0gTm9TZWxlY3Rpb24pOwotICAgIHZpcnR1YWwgfkV4
Y2x1c2l2ZVRyYWNrTGlzdCgpOwotCi0gICAgaW50IHNlbGVjdGVkSW5kZXgoKSBjb25zdCB7IHJl
dHVybiBtX3NlbGVjdGVkSW5kZXg7IH0KLSAgICB2b2lkIHNlbGVjdChsb25nIGluZGV4LCBFeGNl
cHRpb25Db2RlJik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoKTsKLQotI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCi0gICAgdmlydHVhbCB2b2lkIHRyYWNrRmFpbGVkKHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwotI2VuZGlmCi0KLSAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KLSAg
ICB2aXJ0dWFsIEV4Y2x1c2l2ZVRyYWNrTGlzdCogdG9FeGNsdXNpdmVUcmFja0xpc3QoKTsKLQot
cHJpdmF0ZToKLSAgICBFeGNsdXNpdmVUcmFja0xpc3QoY29uc3QgVHJhY2tWZWN0b3ImLCBsb25n
IHNlbGVjdGVkSW5kZXgpOwotCi0gICAgbG9uZyBtX3NlbGVjdGVkSW5kZXg7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBF
TkFCTEUoVklERU9fVFJBQ0spCi0KLSNlbmRpZiAvLyBFeGNsdXNpdmVUcmFja0xpc3RfaApkaWZm
IC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuaWRsIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5Njg5Yjk4Li4wMDAwMDAwCi0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZl
VHJhY2tMaXN0LmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
Ci0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLW1vZHVsZSBjb3JlIHsKLQotICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFs
PU1FRElBX1NUUkVBTXxWSURFT19UUkFDSywKLSAgICAgICAgTGVnYWN5RGVmYXVsdE9wdGlvbmFs
QXJndW1lbnRzLAotICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICBdIEV4Y2x1
c2l2ZVRyYWNrTGlzdCA6IFRyYWNrTGlzdCB7Ci0gICAgICAgIC8vIEZJWE1FOiB0aGUgc3BlYyBz
YXlzIHVuc2lnbmVkIGxvbmcsIGJ1dCAtMSBpcyB1c2VkIHdoZW4gbm90aGluZyBpcyBzZWxlY3Rl
ZC4KLSAgICAgICAgLy8gQSBidWcgaGFzIGJlZW4gYWxyZWFkeSBzdWJtaXR0ZWQgdG8gdGhlIHNw
ZWMgZHJhZnQuCi0gICAgICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3df
YnVnLmNnaT9pZD0xMjYwMAotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rl
ZEluZGV4OwotICAgICAgICB2b2lkIHNlbGVjdChpbiBsb25nIGluZGV4KQotICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgfTsKLQotfQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJD
b3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcCBTb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRp
YVN0cmVhbS5jcHAKaW5kZXggMWQwYmY1NC4uZGYzNzIyNyAxMDA2NDQKLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcAorKysgU291cmNlL1dlYkNvcmUvZG9tL0xvY2Fs
TWVkaWFTdHJlYW0uY3BwCkBAIC0yOSw5ICsyOSw3IEBACiAKICNpbmNsdWRlICJFdmVudC5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJFeGNsdXNpdmVUcmFja0xpc3QuaCIK
ICNpbmNsdWRlICJNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIk11bHRp
cGxlVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01OSwyMCArNTcsMTQgQEAgcHVibGljOgogICAgIENhbGxi
YWNrIG1fY2FsbGJhY2s7CiB9OwogCi1QYXNzUmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IExvY2Fs
TWVkaWFTdHJlYW06OmNyZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250
cm9sbGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0
PiBhdWRpb1RyYWNrcywgUGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tz
KQorUGFzc1JlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUo
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5n
JiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKQogewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgTG9jYWxNZWRpYVN0cmVhbShmcmFtZUNvbnRyb2xsZXIsIGxh
YmVsLCBhdWRpb1RyYWNrcywgdmlkZW9UcmFja3MpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IExvY2FsTWVkaWFTdHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCwgdHJhY2tzKSk7CiB9CiAK
LUxvY2FsTWVkaWFTdHJlYW06OkxvY2FsTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRy
b2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxN
dWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MsIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tM
aXN0PiB2aWRlb1RyYWNrcykKLSAgICA6IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFi
ZWwsIHRydWUpCi0gICAgLCBtX2F1ZGlvVHJhY2tzKGF1ZGlvVHJhY2tzKQotICAgICwgbV92aWRl
b1RyYWNrcyh2aWRlb1RyYWNrcykKK0xvY2FsTWVkaWFTdHJlYW06OkxvY2FsTWVkaWFTdHJlYW0o
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5n
JiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKQorICAgIDog
TWVkaWFTdHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCwgdHJhY2tzLCB0cnVlKQogewotICAg
IEFTU0VSVChtX2F1ZGlvVHJhY2tzKTsKLSAgICBBU1NFUlQobV92aWRlb1RyYWNrcyk7Ci0gICAg
bV9hdWRpb1RyYWNrcy0+YXNzb2NpYXRlU3RyZWFtKGxhYmVsKTsKLSAgICBtX3ZpZGVvVHJhY2tz
LT5hc3NvY2lhdGVTdHJlYW0obGFiZWwpOwogfQogCiBMb2NhbE1lZGlhU3RyZWFtOjp+TG9jYWxN
ZWRpYVN0cmVhbSgpCkBAIC05NCwzMCArODYsMTUgQEAgdm9pZCBMb2NhbE1lZGlhU3RyZWFtOjpk
ZXRhY2hFbWJlZGRlcigpCiAKIHZvaWQgTG9jYWxNZWRpYVN0cmVhbTo6c3RyZWFtRW5kZWQoKQog
ewotICAgIG1fYXVkaW9UcmFja3MtPmNsZWFyKCk7Ci0gICAgbV92aWRlb1RyYWNrcy0+Y2xlYXIo
KTsKLQogICAgIE1lZGlhU3RyZWFtOjpzdHJlYW1FbmRlZCgpOwogfQogCi1QYXNzUmVmUHRyPE11
bHRpcGxlVHJhY2tMaXN0PiBMb2NhbE1lZGlhU3RyZWFtOjphdWRpb1RyYWNrcygpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG1fYXVkaW9UcmFja3M7Ci19Ci0KLVBhc3NSZWZQdHI8RXhjbHVzaXZlVHJh
Y2tMaXN0PiBMb2NhbE1lZGlhU3RyZWFtOjp2aWRlb1RyYWNrcygpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fdmlkZW9UcmFja3M7Ci19Ci0KIHZvaWQgTG9jYWxNZWRpYVN0cmVhbTo6c3RvcCgpCiB7
CiAgICAgaWYgKCFtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpIHx8IG1fcmVhZHlTdGF0ZSA9
PSBFTkRFRCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIoKS0+c3RvcEdlbmVyYXRlZFN0cmVhbShsYWJlbCgpKTsKLSAgICBtX2F1ZGlvVHJhY2tzLT5j
bGVhcigpOwotICAgIG1fdmlkZW9UcmFja3MtPmNsZWFyKCk7CiAKICAgICBtX3JlYWR5U3RhdGUg
PSBFTkRFRDsKIApkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFt
LmggU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaAppbmRleCBjYWI0NzdlLi42
Yzg1NDA4IDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaAor
KysgU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaApAQCAtMzIsMTkgKzMyLDEz
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRXhjbHVzaXZlVHJhY2tMaXN0Owot
Y2xhc3MgTXVsdGlwbGVUcmFja0xpc3Q7Ci0KIGNsYXNzIExvY2FsTWVkaWFTdHJlYW0gOiBwdWJs
aWMgTWVkaWFTdHJlYW0gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPExvY2FsTWVk
aWFTdHJlYW0+IGNyZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmlu
ZyYgbGFiZWwsIFBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGF1ZGlvVHJhY2tzLCBQYXNz
UmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3MpOworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IGNyZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
ciosIGNvbnN0IFN0cmluZyYgbGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+
IHRyYWNrcyk7CiAgICAgdmlydHVhbCB+TG9jYWxNZWRpYVN0cmVhbSgpOwogCiAgICAgdm9pZCBz
dG9wKCk7CiAKLSAgICBQYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBhdWRpb1RyYWNrcygp
IGNvbnN0OwotICAgIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcygp
IGNvbnN0OwotCiAgICAgLy8gTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OlN0cmVhbUNsaWVu
dCBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoRW1iZWRkZXIoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc3RyZWFtRW5kZWQoKTsKQEAgLTUyLDE1ICs0NiwxNSBAQCBwdWJsaWM6
CiAgICAgLy8gRXZlbnRUYXJnZXQuCiAgICAgdmlydHVhbCBMb2NhbE1lZGlhU3RyZWFtKiB0b0xv
Y2FsTWVkaWFTdHJlYW0oKTsKIAorcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgYm9vbCBpc0xvY2Fs
TWVkaWFTdHJlYW0oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKIHByaXZhdGU6Ci0gICAgTG9j
YWxNZWRpYVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYg
bGFiZWwsIFBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGF1ZGlvVHJhY2tzLCBQYXNzUmVm
UHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3MpOworICAgIExvY2FsTWVkaWFTdHJl
YW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFja3MpOwogICAgIGNsYXNzIERpc3BhdGNo
VXBkYXRlVGFzazsKICAgICBmcmllbmQgY2xhc3MgRGlzcGF0Y2hVcGRhdGVUYXNrOwogCiAgICAg
dm9pZCBvblN0b3AoKTsKLQotICAgIFJlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gbV9hdWRpb1Ry
YWNrczsKLSAgICBSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiBtX3ZpZGVvVHJhY2tzOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9M
b2NhbE1lZGlhU3RyZWFtLmlkbCBTb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVhbS5p
ZGwKaW5kZXggMWY4ZmUyNi4uZTQ3MjVhMCAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9M
b2NhbE1lZGlhU3RyZWFtLmlkbAorKysgU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJl
YW0uaWRsCkBAIC0yMywxNiArMjMsMTMgQEAKICAqLwogCiBtb2R1bGUgY29yZSB7CisKICAgICBp
bnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgICAgIEdl
bmVyYXRlTmF0aXZlQ29udmVydGVyLAogICAgICAgICBFdmVudFRhcmdldAogICAgIF0gTG9jYWxN
ZWRpYVN0cmVhbSA6IE1lZGlhU3RyZWFtIHsKICAgICAgICAgdm9pZCBzdG9wKCk7Ci0KLSAgICAg
ICAgLy8gVHJhY2sgY29udHJvbC4KLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE11bHRpcGxl
VHJhY2tMaXN0IGF1ZGlvVHJhY2tzOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRXhjbHVz
aXZlVHJhY2tMaXN0IHZpZGVvVHJhY2tzOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBTb3VyY2Uv
V2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uY3BwIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVh
bS5jcHAKaW5kZXggODI5NzIwNC4uYjA5ZmJhMiAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9NZWRpYVN0cmVhbS5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5jcHAK
QEAgLTMyLDE0ICszMiwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8
TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK1Bhc3NSZWZQdHI8TWVk
aWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIq
IGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbVRyYWNrTGlzdD4gdHJhY2tzLCBib29sIGlzTG9jYWxNZWRpYVN0cmVhbSkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFi
ZWwsIHRyYWNrcywgaXNMb2NhbE1lZGlhU3RyZWFtKSk7CiB9CiAKLU1lZGlhU3RyZWFtOjpNZWRp
YVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25z
dCBTdHJpbmcmIGxhYmVsLCBib29sIGlzTG9jYWxNZWRpYVN0cmVhbSkKK01lZGlhU3RyZWFtOjpN
ZWRpYVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBj
b25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFj
a3MsIGJvb2wgaXNMb2NhbE1lZGlhU3RyZWFtKQogICAgIDogTWVkaWFTdHJlYW1DbGllbnQoZnJh
bWVDb250cm9sbGVyLCBsYWJlbCwgaXNMb2NhbE1lZGlhU3RyZWFtKQogICAgICwgbV9yZWFkeVN0
YXRlKExJVkUpCisgICAgLCBtX3RyYWNrcyh0cmFja3MpCiB7CiB9CiAKZGlmZiAtLWdpdCBTb3Vy
Y2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uaCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJl
YW0uaAppbmRleCBlZjUyMGQzLi5hNjE5NTYwIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9t
L01lZGlhU3RyZWFtLmgKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5oCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRl
ICJNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CkBAIC00NywxNiArNDgsMTYgQEAgcHVibGljOgogICAgICAgICBFTkRFRCA9IDIKICAgICB9
OwogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IGNyZWF0ZShNZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYgbGFiZWwpOworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtPiBjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBj
b25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFj
a3MsIGJvb2wgaXNMb2NhbE1lZGlhU3RyZWFtID0gZmFsc2UpOwogICAgIHZpcnR1YWwgfk1lZGlh
U3RyZWFtKCk7CiAKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRoZSByZWNvcmQgbWV0aG9kIHdo
ZW4gTWVkaWFTdHJlYW1SZWNvcmRlciBpcyBhdmFpbGFibGUuCi0KICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGVuZGVkKTsKIAogICAgIHVuc2lnbmVkIHNob3J0IHJlYWR5U3Rh
dGUoKSBjb25zdCB7IHJldHVybiBtX3JlYWR5U3RhdGU7IH0KICAgICBjb25zdCBTdHJpbmcmIGxh
YmVsKCkgY29uc3QgeyByZXR1cm4gY2xpZW50SWQoKTsgfQogCisgICAgUGFzc1JlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKCkgeyByZXR1cm4gbV90cmFja3M7IH0KKwogICAgIC8v
IE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpNZWRpYVN0cmVhbUNsaWVudCBpbXBsZW1lbnRh
dGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtRW5kZWQoKTsKIApAQCAtNjgsNyArNjksNyBA
QCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYVN0cmVhbT46OmRlcmVmOwogCiBw
cm90ZWN0ZWQ6Ci0gICAgTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBj
b25zdCBTdHJpbmcmIGxhYmVsLCBib29sIGlzTG9jYWxNZWRpYVN0cmVhbSA9IGZhbHNlKTsKKyAg
ICBNZWRpYVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYg
bGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcywgYm9vbCBpc0xv
Y2FsTWVkaWFTdHJlYW0pOwogCiAgICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCiAg
ICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpOwpAQCAtODQsNiAr
ODUsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBk
ZXJlZigpOyB9CiAKICAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisKKyAg
ICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IG1fdHJhY2tzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5p
ZGwgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbAppbmRleCBlOGY4NDE1Li5lMzIx
MmNlIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbAorKysgU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbApAQCAtMjMsMTIgKzIzLDE1IEBACiAgKi8K
IAogbW9kdWxlIGNvcmUgeworCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgTGVnYWN5RGVmYXVs
dE9wdGlvbmFsQXJndW1lbnRzLAogICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAg
ICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBNZWRpYVN0cmVhbSB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBN
ZWRpYVN0cmVhbVRyYWNrTGlzdCB0cmFja3M7CisKICAgICAgICAgLy8gRklYTUU6IGltcGxlbWVu
dCB0aGUgcmVjb3JkIG1ldGhvZCB3aGVuIE1lZGlhU3RyZWFtUmVjb3JkZXIgaXMgYXZhaWxhYmxl
LgogCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IExJVkUgPSAxOwpkaWZmIC0tZ2l0IFNv
dXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBTb3VyY2UvV2ViQ29yZS9kb20v
TWVkaWFTdHJlYW1UcmFjay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YmU0Y2JmNwotLS0gL2Rldi9udWxsCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1U
cmFjay5jcHAKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKKworI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRy
YWNrPiBNZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3Ry
aW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsKQoreworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgTWVkaWFTdHJlYW1UcmFjayhpZCwga2luZCwgbGFiZWwpKTsKK30KKworTWVkaWFTdHJlYW1U
cmFjazo6TWVkaWFTdHJlYW1UcmFjayhjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIGtp
bmQsIGNvbnN0IFN0cmluZyYgbGFiZWwpCisgICAgOiBtX2lkKGlkKQorICAgICwgbV9raW5kKGtp
bmQpCisgICAgLCBtX2xhYmVsKGxhYmVsKQorICAgICwgbV9lbmFibGVkKHRydWUpCit7Cit9CisK
K01lZGlhU3RyZWFtVHJhY2s6On5NZWRpYVN0cmVhbVRyYWNrKCkKK3sKK30KKworY29uc3QgU3Ry
aW5nJiBNZWRpYVN0cmVhbVRyYWNrOjpraW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9raW5k
OworfQorCitjb25zdCBTdHJpbmcmIE1lZGlhU3RyZWFtVHJhY2s6OmxhYmVsKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9sYWJlbDsKK30KKworYm9vbCBNZWRpYVN0cmVhbVRyYWNrOjplbmFibGVk
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9lbmFibGVkOworfQorCit2b2lkIE1lZGlhU3RyZWFt
VHJhY2s6OnNldEVuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fZW5hYmxlZCA9IGVuYWJs
ZWQ7CisKKyAgICBpZiAobWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKSkKKyAgICAgICAgbWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+c2V0TWVkaWFTdHJlYW1UcmFja0VuYWJsZWQobV9p
ZCwgZW5hYmxlZCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3Ry
ZWFtVHJhY2suaCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyMjJkYzcKLS0tIC9kZXYvbnVsbAorKysgU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suaApAQCAtMCwwICsxLDY1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIE1lZGlhU3RyZWFtVHJhY2tfaAorI2RlZmluZSBNZWRpYVN0cmVh
bVRyYWNrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRp
YVN0cmVhbVRyYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFjaz4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgcHVibGljIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpH
ZW5lcmljQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVh
bVRyYWNrPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiBraW5kLCBjb25z
dCBTdHJpbmcmIGxhYmVsKTsKKyAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbVRyYWNrKCk7CisKKyAg
ICBjb25zdCBTdHJpbmcmIGtpbmQoKSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIGxhYmVsKCkg
Y29uc3Q7CisKKyAgICBib29sIGVuYWJsZWQoKSBjb25zdDsKKyAgICB2b2lkIHNldEVuYWJsZWQo
Ym9vbCBlbmFibGVkKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYVN0cmVhbVRyYWNrKGNvbnN0IFN0
cmluZyYgaWQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCk7CisKKyAg
ICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9raW5kOworICAgIFN0cmluZyBtX2xhYmVsOwor
ICAgIGJvb2wgbV9lbmFibGVkOworfTsKKwordHlwZWRlZiBWZWN0b3I8UmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2s+ID4gVHJhY2tWZWN0b3I7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBNZWRpYVN0cmVhbVRyYWNr
X2gKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5pZGwgU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjI5ODc1YWEKLS0tIC9kZXYvbnVsbAorKysgU291cmNlL1dlYkNvcmUv
ZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTSwKKyAgICBdIE1lZGlhU3RyZWFtVHJhY2sgeworICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBraW5kOworICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBsYWJlbDsKKyAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGVuYWJsZWQ7CisgICAg
fTsKKworfQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlz
dC5jcHAgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjk0ZjY4Ci0tLSAvZGV2L251bGwKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAKQEAgLTAsMCArMSw2MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklE
RU9fVFJBQ0spCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxNZWRpYVN0cmVh
bVRyYWNrTGlzdD4gTWVkaWFTdHJlYW1UcmFja0xpc3Q6OmNyZWF0ZShjb25zdCBUcmFja1ZlY3Rv
ciYgdHJhY2tzKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTdHJlYW1UcmFja0xp
c3QodHJhY2tzKSk7Cit9CisKK01lZGlhU3RyZWFtVHJhY2tMaXN0OjpNZWRpYVN0cmVhbVRyYWNr
TGlzdChjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzKQorICAgIDogbV90cmFja3ModHJhY2tzKQor
eworfQorCitNZWRpYVN0cmVhbVRyYWNrTGlzdDo6fk1lZGlhU3RyZWFtVHJhY2tMaXN0KCkKK3sK
K30KKwordW5zaWduZWQgTWVkaWFTdHJlYW1UcmFja0xpc3Q6Omxlbmd0aCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fdHJhY2tzLnNpemUoKTsKK30KKworUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRy
YWNrPiBNZWRpYVN0cmVhbVRyYWNrTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sK
KyAgICBpZiAoaW5kZXggPCBtX3RyYWNrcy5zaXplKCkpCisgICAgICAgIHJldHVybiBtX3RyYWNr
cy5hdChpbmRleCk7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbVRyYWNrPigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCmRpZmYgLS1naXQgU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmggU291cmNlL1dlYkNvcmUvZG9t
L01lZGlhU3RyZWFtVHJhY2tMaXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMWVmZTZhZQotLS0gL2Rldi9udWxsCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJl
YW1UcmFja0xpc3QuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1l
ZGlhU3RyZWFtVHJhY2tMaXN0X2gKKyNkZWZpbmUgTWVkaWFTdHJlYW1UcmFja0xpc3RfaAorCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IE1lZGlhU3RyZWFtVHJhY2tMaXN0IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFj
a0xpc3Q+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNr
TGlzdD4gY3JlYXRlKGNvbnN0IFRyYWNrVmVjdG9yJiBtX3RyYWNrcyk7CisgICAgdmlydHVhbCB+
TWVkaWFTdHJlYW1UcmFja0xpc3QoKTsKKworICAgIC8vIERPTSBtZXRob2RzICYgYXR0cmlidXRl
cyBmb3IgTWVkaWFTdHJlYW1UcmFja0xpc3QKKyAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsK
KyAgICBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IGl0ZW0odW5zaWduZWQgaW5kZXgpIGNv
bnN0OworCisgICAgdm9pZCBhc3NvY2lhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBsYWJlbCkgeyBt
X2Fzc29jaWF0ZWRTdHJlYW1MYWJlbCA9IGxhYmVsOyB9CisKK3ByaXZhdGU6CisgICAgTWVkaWFT
dHJlYW1UcmFja0xpc3QoY29uc3QgVHJhY2tWZWN0b3ImIG1fdHJhY2tzKTsKKworICAgIFRyYWNr
VmVjdG9yIG1fdHJhY2tzOworICAgIFN0cmluZyBtX2Fzc29jaWF0ZWRTdHJlYW1MYWJlbDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKKyNlbmRpZiAvLyBNZWRpYVN0cmVhbVRyYWNrTGlzdF9oCmRpZmYgLS1naXQgU291cmNl
L1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmlkbCBTb3VyY2UvV2ViQ29yZS9kb20v
TWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmUzNDk2ZWMKLS0tIC9kZXYvbnVsbAorKysgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUg
Y29yZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxB
cmd1bWVudHMsCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgSGFz
SW5kZXhHZXR0ZXIKKyAgICBdIE1lZGlhU3RyZWFtVHJhY2tMaXN0IHsKKyAgICAgICAgTWVkaWFT
dHJlYW1UcmFjayBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKKworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgfTsKKwor
fQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5jcHAgU291
cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZThlMzcxOS4uMDAwMDAwMAotLS0gU291cmNlL1dlYkNvcmUvZG9tL011bHRp
cGxlVHJhY2tMaXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwNyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTXVsdGlwbGVUcmFja0xpc3Qu
aCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLQot
I2luY2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLVBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IE11bHRpcGxlVHJhY2tM
aXN0OjpjcmVhdGUoY29uc3QgVHJhY2tWZWN0b3ImIHRyYWNrcywgY29uc3QgRW5hYmxlZFRyYWNr
cyYgZW5hYmxlZFRyYWNrcykKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE11bHRpcGxlVHJh
Y2tMaXN0KHRyYWNrcywgZW5hYmxlZFRyYWNrcykpOwotfQotCi1NdWx0aXBsZVRyYWNrTGlzdDo6
TXVsdGlwbGVUcmFja0xpc3QoY29uc3QgVHJhY2tWZWN0b3ImIHRyYWNrcywgY29uc3QgRW5hYmxl
ZFRyYWNrcyYgZW5hYmxlZFRyYWNrcykKLSAgICA6IFRyYWNrTGlzdCh0cmFja3MpCi0gICAgLCBt
X2lzRW5hYmxlZChlbmFibGVkVHJhY2tzKQotewotICAgIEFTU0VSVChtX2lzRW5hYmxlZC5zaXpl
KCkgPT0gbGVuZ3RoKCkpOwotfQotCi1NdWx0aXBsZVRyYWNrTGlzdDo6fk11bHRpcGxlVHJhY2tM
aXN0KCkKLXsKLX0KLQotdm9pZCBNdWx0aXBsZVRyYWNrTGlzdDo6Y2xlYXIoKQotewotICAgIG1f
aXNFbmFibGVkLmNsZWFyKCk7Ci0gICAgVHJhY2tMaXN0OjpjbGVhcigpOwotfQotCi0jaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKLXZvaWQgTXVsdGlwbGVUcmFja0xpc3Q6OnRyYWNrRmFpbGVkKHVu
c2lnbmVkIGxvbmcgaW5kZXgpCi17Ci0gICAgVHJhY2tMaXN0Ojp0cmFja0ZhaWxlZChpbmRleCk7
Ci0gICAgbV9pc0VuYWJsZWQucmVtb3ZlKGluZGV4KTsKLX0KLSNlbmRpZgotCi1ib29sIE11bHRp
cGxlVHJhY2tMaXN0Ojppc0VuYWJsZWQodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29k
ZSYgZWMpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGNoZWNrSW5kZXgoaW5kZXgsIGVjKSA/IG1faXNF
bmFibGVkW2luZGV4XSA6IGZhbHNlOwotfQotCi12b2lkIE11bHRpcGxlVHJhY2tMaXN0OjplbmFi
bGUodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKCFj
aGVja0luZGV4KGluZGV4LCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faXNFbmFibGVk
W2luZGV4XSA9IHRydWU7Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGlmIChtZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlcigpKQotICAgICAgICBtZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlcigpLT5lbmFibGVBdWRpb1RyYWNrKGFzc29jaWF0ZWRTdHJlYW1MYWJlbCgpLCBpbmRleCk7
Ci0jZW5kaWYKLQotICAgIHBvc3RDaGFuZ2VFdmVudCgpOwotfQotCi12b2lkIE11bHRpcGxlVHJh
Y2tMaXN0OjpkaXNhYmxlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQot
ewotICAgIGlmICghY2hlY2tJbmRleChpbmRleCwgZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBtX2lzRW5hYmxlZFtpbmRleF0gPSBmYWxzZTsKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
Ci0gICAgaWYgKG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCkpCi0gICAgICAgIG1lZGlhU3Ry
ZWFtRnJhbWVDb250cm9sbGVyKCktPmRpc2FibGVBdWRpb1RyYWNrKGFzc29jaWF0ZWRTdHJlYW1M
YWJlbCgpLCBpbmRleCk7Ci0jZW5kaWYKLQotICAgIHBvc3RDaGFuZ2VFdmVudCgpOwotfQotCi1N
dWx0aXBsZVRyYWNrTGlzdCogTXVsdGlwbGVUcmFja0xpc3Q6OnRvTXVsdGlwbGVUcmFja0xpc3Qo
KQotewotICAgIHJldHVybiB0aGlzOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCmRpZmYg
LS1naXQgU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmggU291cmNlL1dlYkNv
cmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDJkYjAyOWIuLjAwMDAwMDAKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlz
dC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0g
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRl
ZiBNdWx0aXBsZVRyYWNrTGlzdF9oCi0jZGVmaW5lIE11bHRpcGxlVHJhY2tMaXN0X2gKLQotI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLQotI2luY2x1ZGUg
IlRyYWNrTGlzdC5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi10eXBlZGVmIFZlY3Rvcjxib29sPiBFbmFibGVkVHJhY2tzOwotCi1jbGFzcyBNdWx0
aXBsZVRyYWNrTGlzdCA6IHB1YmxpYyBUcmFja0xpc3QgewotcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBjcmVhdGUoY29uc3QgVHJhY2tWZWN0b3ImLCBj
b25zdCBFbmFibGVkVHJhY2tzJik7Ci0gICAgdmlydHVhbCB+TXVsdGlwbGVUcmFja0xpc3QoKTsK
LQotICAgIGJvb2wgaXNFbmFibGVkKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUm
KSBjb25zdDsKLSAgICB2b2lkIGVuYWJsZSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25D
b2RlJik7Ci0gICAgdm9pZCBkaXNhYmxlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNv
ZGUmKTsKLQotICAgIHZpcnR1YWwgdm9pZCBjbGVhcigpOwotCi0jaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKLSAgICB2aXJ0dWFsIHZvaWQgdHJhY2tGYWlsZWQodW5zaWduZWQgbG9uZyBpbmRleCk7
Ci0jZW5kaWYKLQotICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1
YWwgTXVsdGlwbGVUcmFja0xpc3QqIHRvTXVsdGlwbGVUcmFja0xpc3QoKTsKLQotcHJpdmF0ZToK
LSAgICBNdWx0aXBsZVRyYWNrTGlzdChjb25zdCBUcmFja1ZlY3RvciYsIGNvbnN0IEVuYWJsZWRU
cmFja3MmKTsKLQotICAgIFZlY3Rvcjxib29sPiBtX2lzRW5hYmxlZDsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJM
RShWSURFT19UUkFDSykKLQotI2VuZGlmIC8vIE11bHRpcGxlVHJhY2tMaXN0X2gKZGlmZiAtLWdp
dCBTb3VyY2UvV2ViQ29yZS9kb20vTXVsdGlwbGVUcmFja0xpc3QuaWRsIFNvdXJjZS9XZWJDb3Jl
L2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDZiNDZhOGIuLjAwMDAwMDAKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlz
dC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
LSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1
bGUgY29yZSB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU18VklERU9fVFJBQ0ssCi0gICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50
cywKLSAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgXSBNdWx0aXBsZVRyYWNr
TGlzdCA6IFRyYWNrTGlzdCB7Ci0gICAgICAgIGJvb2xlYW4gaXNFbmFibGVkKGluIHVuc2lnbmVk
IGxvbmcgaW5kZXgpCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAg
dm9pZCBlbmFibGUoaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKLSAgICAgICAgICAgIHJhaXNlcyhE
T01FeGNlcHRpb24pOwotICAgICAgICB2b2lkIGRpc2FibGUoaW4gdW5zaWduZWQgbG9uZyBpbmRl
eCkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgIH07Ci0KLX0KZGlmZiAt
LWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmNwcCBTb3VyY2UvV2ViQ29yZS9kb20v
VHJhY2tMaXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWI4ZDFjNC4uMDAw
MDAwMAotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RyYWNrTGlzdC5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSwxODMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIlRyYWNrTGlzdC5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxF
KFZJREVPX1RSQUNLKQotCi0jaW5jbHVkZSAiRXZlbnQuaCIKLSNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzUmVmUHRyPFRyYWNrPiBU
cmFjazo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IEF0b21pY1N0cmluZyYga2luZCwg
Y29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKLXsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFRyYWNrKGlkLCBraW5kLCBsYWJlbCwgbGFuZ3VhZ2UpKTsKLX0KLQot
VHJhY2s6OlRyYWNrKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IEF0b21pY1N0cmluZyYga2luZCwg
Y29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKLSAgICA6IG1faWQo
aWQpCi0gICAgLCBtX2tpbmQoa2luZCkKLSAgICAsIG1fbGFiZWwobGFiZWwpCi0gICAgLCBtX2xh
bmd1YWdlKGxhbmd1YWdlKQotewotfQotCi1QYXNzUmVmUHRyPFRyYWNrTGlzdD4gVHJhY2tMaXN0
OjpjcmVhdGUoY29uc3QgVHJhY2tWZWN0b3ImIHRyYWNrcykKLXsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFRyYWNrTGlzdCh0cmFja3MpKTsKLX0KLQotVHJhY2tMaXN0OjpUcmFja0xpc3QoY29u
c3QgVHJhY2tWZWN0b3ImIHRyYWNrcykKLSAgICA6IG1fdHJhY2tzKHRyYWNrcykKLXsKLX0KLQot
VHJhY2tMaXN0Ojp+VHJhY2tMaXN0KCkKLXsKLX0KLQotdW5zaWduZWQgbG9uZyBUcmFja0xpc3Q6
Omxlbmd0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdHJhY2tzLnNpemUoKTsKLX0KLQotYm9v
bCBUcmFja0xpc3Q6OmNoZWNrSW5kZXgobG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMsIGxv
bmcgYWxsb3dlZCkgY29uc3QKLXsKLSAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8bG9uZz4o
bGVuZ3RoKCkpIHx8IChpbmRleCA8IDAgJiYgaW5kZXggIT0gYWxsb3dlZCkpIHsKLSAgICAgICAg
ZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAg
IGVjID0gMDsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotY29uc3QgU3RyaW5nJiBUcmFja0xpc3Q6
OmdldElEKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAotewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBudWxsU3RyaW5nLCAoKSk7Ci0gICAgcmV0
dXJuIGNoZWNrSW5kZXgoaW5kZXgsIGVjKSA/IG1fdHJhY2tzW2luZGV4XS0+aWQoKSA6IG51bGxT
dHJpbmc7Ci19Ci0KLWNvbnN0IEF0b21pY1N0cmluZyYgVHJhY2tMaXN0OjpnZXRLaW5kKHVuc2ln
bmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBudWxsU3RyaW5nLCAoKSk7Ci0gICAgcmV0dXJuIGNo
ZWNrSW5kZXgoaW5kZXgsIGVjKSA/IG1fdHJhY2tzW2luZGV4XS0+a2luZCgpIDogbnVsbFN0cmlu
ZzsKLX0KLQotY29uc3QgU3RyaW5nJiBUcmFja0xpc3Q6OmdldExhYmVsKHVuc2lnbmVkIGxvbmcg
aW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAotewotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoU3RyaW5nLCBudWxsU3RyaW5nLCAoKSk7Ci0gICAgcmV0dXJuIGNoZWNrSW5kZXgoaW5kZXgs
IGVjKSA/IG1fdHJhY2tzW2luZGV4XS0+bGFiZWwoKSA6IG51bGxTdHJpbmc7Ci19Ci0KLWNvbnN0
IFN0cmluZyYgVHJhY2tMaXN0OjpnZXRMYW5ndWFnZSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNl
cHRpb25Db2RlJiBlYykgY29uc3QKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywg
bnVsbFN0cmluZywgKCkpOwotICAgIHJldHVybiBjaGVja0luZGV4KGluZGV4LCBlYykgPyBtX3Ry
YWNrc1tpbmRleF0tPmxhbmd1YWdlKCkgOiBudWxsU3RyaW5nOwotfQotCi12b2lkIFRyYWNrTGlz
dDo6Y2xlYXIoKQotewotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgbV9hc3NvY2lhdGVk
U3RyZWFtTGFiZWwgPSBTdHJpbmcoKTsKLSNlbmRpZgotCi0gICAgaWYgKG1fdHJhY2tzLmlzRW1w
dHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV90cmFja3MuY2xlYXIoKTsKLQotICAgIHBv
c3RDaGFuZ2VFdmVudCgpOwotfQotCi12b2lkIFRyYWNrTGlzdDo6cG9zdENoYW5nZUV2ZW50KCkK
LXsKLSAgICAvLyBEaXNwYXRjaCBhIGNoYW5nZSBldmVudCBhc3luY2hyb25vdXNseS4gRG9uJ3Qg
YXNzZXJ0IHNpbmNlIHRoaXMgbWF5IGJlIGNhbGxlZCBkdXJpbmcgc2h1dGRvd24sCi0gICAgLy8g
YW5kIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IG1heSBiZSBub3QgYXZhaWxhYmxlIGluIHRo
ZSBNZWRpYSBTdHJlYW0gY2FzZS4KLSAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
aXNDb250ZXh0VGhyZWFkKCkpOwotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRh
c2soRGlzcGF0Y2hUYXNrPFRyYWNrTGlzdCwgaW50Pjo6Y3JlYXRlKHRoaXMsICZUcmFja0xpc3Q6
OmRpc3BhdGNoQ2hhbmdlRXZlbnQsIDApKTsKLX0KLQotdm9pZCBUcmFja0xpc3Q6OmRpc3BhdGNo
Q2hhbmdlRXZlbnQoaW50KQotewotICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuY2hhbmdlRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwotfQotCi0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKLXZvaWQgVHJhY2tMaXN0Ojphc3NvY2lhdGVTdHJlYW0oY29uc3QgU3RyaW5n
JiBsYWJlbCkKLXsKLSAgICBBU1NFUlQobV9hc3NvY2lhdGVkU3RyZWFtTGFiZWwuaXNOdWxsKCkp
OwotICAgIG1fYXNzb2NpYXRlZFN0cmVhbUxhYmVsID0gbGFiZWw7Ci19Ci0KLWNvbnN0IFN0cmlu
ZyYgVHJhY2tMaXN0Ojphc3NvY2lhdGVkU3RyZWFtTGFiZWwoKSBjb25zdAotewotICAgIHJldHVy
biBtX2Fzc29jaWF0ZWRTdHJlYW1MYWJlbDsKLX0KLQotdm9pZCBUcmFja0xpc3Q6OnRyYWNrRmFp
bGVkKHVuc2lnbmVkIGxvbmcgaW5kZXgpCi17Ci0gICAgQVNTRVJUKGluZGV4IDwgbGVuZ3RoKCkp
OwotICAgIG1fdHJhY2tzLnJlbW92ZShpbmRleCk7Ci0gICAgcG9zdENoYW5nZUV2ZW50KCk7Ci19
Ci0jZW5kaWYKLQotVHJhY2tMaXN0KiBUcmFja0xpc3Q6OnRvVHJhY2tMaXN0KCkKLXsKLSAgICBy
ZXR1cm4gdGhpczsKLX0KLQotU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogVHJhY2tMaXN0OjpzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKLXsKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQot
ICAgIGlmIChtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpKQotICAgICAgICByZXR1cm4gbWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotI2Vu
ZGlmCi0KLSAgICAvLyBGSVhNRTogcHJvdmlkZSBhbiBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQg
Zm9yIEhUTUwgTWVkaWEgRWxlbWVudCB1c2UgY2FzZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMjcKLSAgICByZXR1cm4gMDsKLX0KLQotRXZlbnRU
YXJnZXREYXRhKiBUcmFja0xpc3Q6OmV2ZW50VGFyZ2V0RGF0YSgpCi17Ci0gICAgcmV0dXJuICZt
X2V2ZW50VGFyZ2V0RGF0YTsKLX0KLQotRXZlbnRUYXJnZXREYXRhKiBUcmFja0xpc3Q6OmVuc3Vy
ZUV2ZW50VGFyZ2V0RGF0YSgpCi17Ci0gICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKLX0K
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9U
cmFja0xpc3QuaCBTb3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDhmNjc5OWIuLjAwMDAwMDAKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9U
cmFja0xpc3QuaAorKysgL2Rldi9udWxsCkBAIC0xLDE0NiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgot
ICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIFRyYWNrTGlzdF9oCi0jZGVmaW5lIFRyYWNrTGlzdF9oCi0KLSNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0KLSNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCi0jaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJNZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKLSNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFRyYWNr
IDogcHVibGljIFJlZkNvdW50ZWQ8VHJhY2s+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxUcmFjaz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IEF0b21pY1N0cmluZyYg
a2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7Ci0KLSAg
ICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQotICAgIGNvbnN0IEF0
b21pY1N0cmluZyYga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQotICAgIGNvbnN0IFN0
cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9Ci0gICAgY29uc3QgU3RyaW5n
JiBsYW5ndWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFuZ3VhZ2U7IH0KLQotcHJpdmF0ZToKLSAg
ICBUcmFjayhjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBBdG9taWNTdHJpbmcmIGtpbmQsIGNvbnN0
IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpOwotCi0gICAgU3RyaW5nIG1f
aWQ7Ci0gICAgQXRvbWljU3RyaW5nIG1fa2luZDsKLSAgICBTdHJpbmcgbV9sYWJlbDsKLSAgICBT
dHJpbmcgbV9sYW5ndWFnZTsKLX07Ci0KLXR5cGVkZWYgVmVjdG9yPFJlZlB0cjxUcmFjaz4gPiBU
cmFja1ZlY3RvcjsKLQotY2xhc3MgVHJhY2tMaXN0IDogcHVibGljIFJlZkNvdW50ZWQ8VHJhY2tM
aXN0PiwKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgICAgICAgICAgICAgICAgcHVibGlj
IE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpHZW5lcmljQ2xpZW50LAotI2VuZGlmCi0gICAg
ICAgICAgICAgICAgICBwdWJsaWMgRXZlbnRUYXJnZXQgewotcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFRyYWNrTGlzdD4gY3JlYXRlKGNvbnN0IFRyYWNrVmVjdG9yJik7Ci0gICAgdmly
dHVhbCB+VHJhY2tMaXN0KCk7Ci0KLSAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCgpIGNvbnN0Owot
ICAgIGNvbnN0IFN0cmluZyYgZ2V0SUQodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29k
ZSYpIGNvbnN0OwotICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZ2V0S2luZCh1bnNpZ25lZCBsb25n
IGluZGV4LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7Ci0gICAgY29uc3QgU3RyaW5nJiBnZXRMYWJl
bCh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7Ci0gICAgY29uc3Qg
U3RyaW5nJiBnZXRMYW5ndWFnZSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25Db2RlJikg
Y29uc3Q7Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNoYW5nZSk7Ci0K
LSAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoKTsKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0g
ICAgdm9pZCBhc3NvY2lhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCk7Ci0gICAg
Y29uc3QgU3RyaW5nJiBhc3NvY2lhdGVkU3RyZWFtTGFiZWwoKSBjb25zdDsKLSAgICB2aXJ0dWFs
IHZvaWQgdHJhY2tGYWlsZWQodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0jZW5kaWYKLQotICAgIC8v
IEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgVHJhY2tMaXN0KiB0b1Ry
YWNrTGlzdCgpOwotICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpIGNvbnN0OwotCi0gICAgdXNpbmcgUmVmQ291bnRlZDxUcmFja0xpc3Q+
OjpyZWY7Ci0gICAgdXNpbmcgUmVmQ291bnRlZDxUcmFja0xpc3Q+OjpkZXJlZjsKLQotICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgotICAgIGNsYXNzIERpc3BhdGNoVGFzayA6
IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIHR5cGVkZWYgdm9pZCAoVDo6KkNhbGxiYWNrKShVKTsKLQotICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxEaXNwYXRjaFRhc2s+IGNyZWF0ZShQYXNzUmVmUHRyPFQ+IG9iamVjdCwgQ2FsbGJh
Y2sgY2FsbGJhY2ssIFUgYXJncykKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBEaXNwYXRjaFRhc2sob2JqZWN0LCBjYWxsYmFjaywgYXJncykpOwotICAgICAgICB9
Ci0KLSAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKQotICAgICAgICB7Ci0gICAgICAgICAgICAobV9vYmplY3QuZ2V0KCktPiptX2NhbGxiYWNr
KShtX2FyZ3MpOwotICAgICAgICB9Ci0KLSAgICBwdWJsaWM6Ci0gICAgICAgIERpc3BhdGNoVGFz
ayhQYXNzUmVmUHRyPFQ+IG9iamVjdCwgQ2FsbGJhY2sgY2FsbGJhY2ssIFUgYXJncykKLSAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQotICAgICAgICAgICAgLCBtX2NhbGxiYWNrKGNhbGxi
YWNrKQotICAgICAgICAgICAgLCBtX2FyZ3MoYXJncykgeyB9Ci0KLSAgICAgICAgUmVmUHRyPFQ+
IG1fb2JqZWN0OwotICAgICAgICBDYWxsYmFjayBtX2NhbGxiYWNrOwotICAgICAgICBVIG1fYXJn
czsKLSAgICB9OwotCi1wcm90ZWN0ZWQ6Ci0gICAgVHJhY2tMaXN0KGNvbnN0IFRyYWNrVmVjdG9y
Jik7Ci0gICAgYm9vbCBjaGVja0luZGV4KGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmLCBsb25n
IGFsbG93ZWQgPSAwKSBjb25zdDsKLSAgICB2b2lkIHBvc3RDaGFuZ2VFdmVudCgpOwotCi0gICAg
Ly8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCi0gICAgdmlydHVhbCBFdmVudFRhcmdldERh
dGEqIGV2ZW50VGFyZ2V0RGF0YSgpOwotICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1
cmVFdmVudFRhcmdldERhdGEoKTsKLQotcHJpdmF0ZToKLSAgICAvLyBFdmVudFRhcmdldCBpbXBs
ZW1lbnRhdGlvbi4KLSAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigpOyB9
Ci0gICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KLQotICAg
IHZvaWQgZGlzcGF0Y2hDaGFuZ2VFdmVudChpbnQpOwotCi0gICAgRXZlbnRUYXJnZXREYXRhIG1f
ZXZlbnRUYXJnZXREYXRhOwotICAgIFRyYWNrVmVjdG9yIG1fdHJhY2tzOwotCi0jaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKLSAgICBTdHJpbmcgbV9hc3NvY2lhdGVkU3RyZWFtTGFiZWw7Ci0jZW5k
aWYKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJ
QV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLQotI2VuZGlmIC8vIFRyYWNrTGlzdF9o
CmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL1RyYWNrTGlzdC5pZGwgU291cmNlL1dlYkNv
cmUvZG9tL1RyYWNrTGlzdC5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxNjBk
YWUuLjAwMDAwMDAKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuaWRsCisrKyAvZGV2
L251bGwKQEAgLTEsNDUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotbW9kdWxlIGNvcmUgewotCi0g
ICAgaW50ZXJmYWNlIFsKLSAgICAgICAgTGVnYWN5RGVmYXVsdE9wdGlvbmFsQXJndW1lbnRzLAot
ICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU18VklERU9fVFJBQ0ssCi0gICAgICAgIEV2
ZW50VGFyZ2V0Ci0gICAgXSBUcmFja0xpc3QgewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgICAgIERPTVN0cmluZyBnZXRJRChpbiB1bnNpZ25l
ZCBsb25nIGluZGV4KQotICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAg
IERPTVN0cmluZyBnZXRLaW5kKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi0gICAgICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgRE9NU3RyaW5nIGdldExhYmVsKGluIHVuc2ln
bmVkIGxvbmcgaW5kZXgpCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAg
ICAgRE9NU3RyaW5nIGdldExhbmd1YWdlKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi0gICAgICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLQotICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0
ZW5lciBvbmNoYW5nZTsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvcGFn
ZS9NZWRpYVN0cmVhbUNsaWVudC5oIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1DbGll
bnQuaAppbmRleCBiM2VmNzQwLi4wM2RlZGZkIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9NZWRpYVN0cmVhbUNsaWVudC5oCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFt
Q2xpZW50LmgKQEAgLTUyLDEyICs1Miw4IEBAIHB1YmxpYzoKICAgICAvLyBTdG9wIGEgZ2VuZXJh
dGVkIHN0cmVhbS4KICAgICB2aXJ0dWFsIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBT
dHJpbmcmIHN0cmVhbUxhYmVsKSA9IDA7CiAKLSAgICAvLyBFbmFibGUvZGlzYWJsZSBhbiBhdWRp
byB0cmFjayBpbiBhIGdlbmVyYXRlZCBzdHJlYW0uCi0gICAgdmlydHVhbCB2b2lkIGVuYWJsZUF1
ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlQXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0
cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KSA9IDA7Ci0KLSAgICAvLyBTZWxlY3QgYSB2
aWRlbyB0cmFjayBpbiBhIGdlbmVyYXRlZCBzdHJlYW0uCi0gICAgdmlydHVhbCB2b2lkIHNlbGVj
dFZpZGVvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgbG9uZyBpbmRleCkgPSAwOwor
ICAgIC8vIEVuYWJsZS9kaXNhYmxlIGFuIHRyYWNrLgorICAgIHZpcnR1YWwgdm9pZCBzZXRNZWRp
YVN0cmVhbVRyYWNrRW5hYmxlZChjb25zdCBTdHJpbmcmIHRyYWNrSWQsIGJvb2wgZW5hYmxlZCkg
PSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1DbGllbnQoKSB7IH0K
ZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAg
U291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCmluZGV4IDA0MzIy
ZTguLmFhZGNmNjAgMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29u
dHJvbGxlci5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVy
LmNwcApAQCAtMjcsOSArMjcsOCBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAotI2lu
Y2x1ZGUgIkV4Y2x1c2l2ZVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyLmgiCi0jaW5jbHVkZSAiTXVsdGlwbGVUcmFja0xpc3QuaCIKKyNpbmNsdWRlICJN
ZWRpYVN0cmVhbVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0xMTksMjIgKzExOCwxMiBAQCB2b2lkIE1lZGlhU3Ry
ZWFtQ29udHJvbGxlcjo6c3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxh
YmVsKQogICAgIG1fY2xpZW50LT5zdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVhbUxhYmVsKTsKIH0K
IAotdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OmVuYWJsZUF1ZGlvVHJhY2soY29uc3QgU3Ry
aW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkKK3ZvaWQgTWVkaWFTdHJlYW1D
b250cm9sbGVyOjpzZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZChjb25zdCBTdHJpbmcmIHRyYWNr
SWQsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICBtX2NsaWVudC0+ZW5hYmxlQXVkaW9UcmFjayhzdHJl
YW1MYWJlbCwgaW5kZXgpOworICAgIG1fY2xpZW50LT5zZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxl
ZCh0cmFja0lkLCBlbmFibGVkKTsKIH0KIAotdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OmRp
c2FibGVBdWRpb1RyYWNrKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcg
aW5kZXgpCi17Ci0gICAgbV9jbGllbnQtPmRpc2FibGVBdWRpb1RyYWNrKHN0cmVhbUxhYmVsLCBp
bmRleCk7Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzZWxlY3RWaWRlb1RyYWNr
KGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIGxvbmcgaW5kZXgpCi17Ci0gICAgbV9jbGllbnQt
PnNlbGVjdFZpZGVvVHJhY2soc3RyZWFtTGFiZWwsIGluZGV4KTsKLX0KLQotdm9pZCBNZWRpYVN0
cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwg
Y29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4g
YXVkaW9UcmFja3MsIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcykK
K3ZvaWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzdHJlYW1HZW5lcmF0ZWQoaW50IGNvbnRyb2xs
ZXJSZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFT
dHJlYW1UcmFja0xpc3Q+IHRyYWNrcykKIHsKICAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhl
IGZyYW1lIGNvbnRyb2xsZXIgY2FuIGhhdmUgYmVlbiBkZXN0cm95ZWQgd2hpbGUgdGhlIHJlcXVl
c3QgcmVwbHkgd2FzIGNvbWluZyBiYWNrLgogICAgIGlmIChtX3JlcXVlc3RzLmNvbnRhaW5zKGNv
bnRyb2xsZXJSZXF1ZXN0SWQpKSB7CkBAIC0xNDIsNyArMTMxLDcgQEAgdm9pZCBNZWRpYVN0cmVh
bUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgY29u
c3QgU3RyaW4KICAgICAgICAgcmVnaXN0ZXJTdHJlYW0oc3RyZWFtTGFiZWwsIHJlcXVlc3QuZnJh
bWVDb250cm9sbGVyKCkpOwogICAgICAgICBtX3JlcXVlc3RzLnJlbW92ZShjb250cm9sbGVyUmVx
dWVzdElkKTsKICAgICAgICAgQVNTRVJUKHJlcXVlc3QuZnJhbWVDb250cm9sbGVyKCkpOwotICAg
ICAgICByZXF1ZXN0LmZyYW1lQ29udHJvbGxlcigpLT5zdHJlYW1HZW5lcmF0ZWQocmVxdWVzdC5s
b2NhbElkKCksIHN0cmVhbUxhYmVsLCBhdWRpb1RyYWNrcywgdmlkZW9UcmFja3MpOworICAgICAg
ICByZXF1ZXN0LmZyYW1lQ29udHJvbGxlcigpLT5zdHJlYW1HZW5lcmF0ZWQocmVxdWVzdC5sb2Nh
bElkKCksIHN0cmVhbUxhYmVsLCB0cmFja3MpOwogICAgIH0KIH0KIApAQCAtMTYzLDIwICsxNTIs
NiBAQCB2b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKGNvbnN0IFN0cmlu
ZyYgc3RyZWFtTGFiZWwpCiAgICAgICAgIG1fc3RyZWFtcy5nZXQoc3RyZWFtTGFiZWwpLT5zdHJl
YW1GYWlsZWQoc3RyZWFtTGFiZWwpOwogfQogCi12b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6
YXVkaW9UcmFja0ZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25n
IGluZGV4KQotewotICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgZnJhbWUgY29udHJvbGxl
ciBjYW4gaGF2ZSBiZWVuIGRlc3Ryb3llZCBieSB0aGUgdGltZSB0aGlzIGlzIGNhbGxlZC4KLSAg
ICBpZiAobV9zdHJlYW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkKLSAgICAgICAgbV9zdHJlYW1z
LmdldChzdHJlYW1MYWJlbCktPmF1ZGlvVHJhY2tGYWlsZWQoc3RyZWFtTGFiZWwsIGluZGV4KTsK
LX0KLQotdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnZpZGVvVHJhY2tGYWlsZWQoY29uc3Qg
U3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICAvLyBEb24n
dCBhc3NlcnQgc2luY2UgdGhlIGZyYW1lIGNvbnRyb2xsZXIgY2FuIGhhdmUgYmVlbiBkZXN0cm95
ZWQgYnkgdGhlIHRpbWUgdGhpcyBpcyBjYWxsZWQuCi0gICAgaWYgKG1fc3RyZWFtcy5jb250YWlu
cyhzdHJlYW1MYWJlbCkpCi0gICAgICAgIG1fc3RyZWFtcy5nZXQoc3RyZWFtTGFiZWwpLT52aWRl
b1RyYWNrRmFpbGVkKHN0cmVhbUxhYmVsLCBpbmRleCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgU291cmNl
L1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuaCBTb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtQ29udHJvbGxlci5oCmluZGV4IGIyZDU2YzIuLjEwYWM0Y2UgMTAwNjQ0Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oCkBAIC0zNiwxMCArMzYsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEV4Y2x1c2l2ZVRyYWNrTGlzdDsKIGNsYXNz
IE1lZGlhU3RyZWFtQ2xpZW50OwogY2xhc3MgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI7Ci1j
bGFzcyBNdWx0aXBsZVRyYWNrTGlzdDsKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tMaXN0OwogY2xh
c3MgU2VjdXJpdHlPcmlnaW47CiAKIGNsYXNzIE1lZGlhU3RyZWFtQ29udHJvbGxlciB7CkBAIC01
MywxNSArNTIsMTMgQEAgcHVibGljOgogCiAgICAgdm9pZCBnZW5lcmF0ZVN0cmVhbShNZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlciosIGludCByZXF1ZXN0SWQsIEdlbmVyYXRlU3RyZWFtT3B0aW9u
RmxhZ3MsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+KTsKICAgICB2b2lkIHN0b3BHZW5lcmF0
ZWRTdHJlYW0oY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCk7Ci0gICAgdm9pZCBlbmFibGVBdWRp
b1RyYWNrKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwot
ICAgIHZvaWQgZGlzYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5z
aWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCBzZWxlY3RWaWRlb1RyYWNrKGNvbnN0IFN0cmlu
ZyYgc3RyZWFtTGFiZWwsIGxvbmcgaW5kZXgpOwogCi0gICAgdm9pZCBzdHJlYW1HZW5lcmF0ZWQo
aW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgUGFzc1JlZlB0cjxNdWx0
aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MsIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0
PiB2aWRlb1RyYWNrcyk7CisgICAgLy8gRW5hYmxlL2Rpc2FibGUgYW4gdHJhY2suCisgICAgdm9p
ZCBzZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZChjb25zdCBTdHJpbmcmIHRyYWNrSWQsIGJvb2wg
ZW5hYmxlZCk7CisKKyAgICB2b2lkIHN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25z
dCBTdHJpbmcmIHN0cmVhbUxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0
cmFja3MpOwogICAgIHZvaWQgc3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVzdElkLCBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6RXJyb3JDb2RlKTsKICAgICB2b2lkIHN0cmVhbUZhaWxl
ZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKTsKLSAgICB2b2lkIGF1ZGlvVHJhY2tGYWlsZWQo
Y29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9p
ZCB2aWRlb1RyYWNrRmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxv
bmcgaW5kZXgpOwogCiBwcml2YXRlOgogICAgIGludCByZWdpc3RlclJlcXVlc3QoaW50IGxvY2Fs
UmVxdWVzdElkLCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciopOwpkaWZmIC0tZ2l0IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCmluZGV4IDVlOTRiODIuLjky
MDUzMzggMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyLmNwcAorKysgU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlci5jcHAKQEAgLTI5LDExICsyOSwxMCBAQAogCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJFeGNsdXNpdmVUcmFja0xpc3QuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkxvY2FsTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRl
ICJNZWRpYVN0cmVhbUNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJNdWx0aXBsZVRyYWNrTGlzdC5o
IgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTMwNywzNyArMzA2LDEzIEBA
IHZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnN0b3BHZW5lcmF0ZWRTdHJlYW0oY29u
c3QgU3RyaW5nJiBzdHJlYW1MYWJlbCkKICAgICAgICAgcGFnZUNvbnRyb2xsZXIoKS0+c3RvcEdl
bmVyYXRlZFN0cmVhbShzdHJlYW1MYWJlbCk7CiB9CiAKLXZvaWQgTWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXI6OmVuYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5z
aWduZWQgbG9uZyBpbmRleCkKK3ZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnNldE1l
ZGlhU3RyZWFtVHJhY2tFbmFibGVkKGNvbnN0IFN0cmluZyYgdHJhY2tJZCwgYm9vbCBlbmFibGVk
KQogewotICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgYXVkaW8gdHJhY2tzIGRvbid0IG5l
Y2Vzc2FyaWx5IGtlZXAgYWxpdmUgdGhlaXIgYXNzb2NpYXRlZCBnZW5lcmF0ZWQgc3RyZWFtIG9i
amVjdC4KLSAgICBpZiAoIW1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1MYWJlbCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGlmIChpc0NsaWVudEF2YWlsYWJsZSgpKQotICAgICAgICBwYWdlQ29u
dHJvbGxlcigpLT5lbmFibGVBdWRpb1RyYWNrKHN0cmVhbUxhYmVsLCBpbmRleCk7Ci19Ci0KLXZv
aWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmRpc2FibGVBdWRpb1RyYWNrKGNvbnN0IFN0
cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi17Ci0gICAgLy8gRG9uJ3Qg
YXNzZXJ0IHNpbmNlIHRoZSBhdWRpbyB0cmFja3MgZG9uJ3QgbmVjZXNzYXJpbHkga2VlcCBhbGl2
ZSB0aGVpciBhc3NvY2lhdGVkIGdlbmVyYXRlZCBzdHJlYW0gb2JqZWN0LgotICAgIGlmICghbV9z
dHJlYW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYg
KGlzQ2xpZW50QXZhaWxhYmxlKCkpCi0gICAgICAgIHBhZ2VDb250cm9sbGVyKCktPmRpc2FibGVB
dWRpb1RyYWNrKHN0cmVhbUxhYmVsLCBpbmRleCk7Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXI6OnNlbGVjdFZpZGVvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwg
bG9uZyBpbmRleCkKLXsKLSAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGF1ZGlvIHRyYWNr
cyBkb24ndCBuZWNlc3NhcmlseSBrZWVwIGFsaXZlIHRoZWlyIGFzc29jaWF0ZWQgZ2VuZXJhdGVk
IHN0cmVhbSBvYmplY3QuCi0gICAgaWYgKCFtX3N0cmVhbXMuY29udGFpbnMoc3RyZWFtTGFiZWwp
KQotICAgICAgICByZXR1cm47Ci0KICAgICBpZiAoaXNDbGllbnRBdmFpbGFibGUoKSkKLSAgICAg
ICAgcGFnZUNvbnRyb2xsZXIoKS0+c2VsZWN0VmlkZW9UcmFjayhzdHJlYW1MYWJlbCwgaW5kZXgp
OworICAgICAgICBwYWdlQ29udHJvbGxlcigpLT5zZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZCh0
cmFja0lkLCBlbmFibGVkKTsKIH0KIAotdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6
c3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIFBhc3NS
ZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGF1ZGlvVHJhY2tzUGFyYW0sIFBhc3NSZWZQdHI8RXhj
bHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrc1BhcmFtKQordm9pZCBNZWRpYVN0cmVhbUZyYW1l
Q29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYg
bGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrc1BhcmFtKQogewog
ICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgcmVxdWVzdCBjYW4gaGF2ZSBiZWVuIGFib3J0
ZWQgYXMgYSByZXN1bHQgb2YgZW1iZWRkZXIgZGV0YWNobWVudC4KICAgICBpZiAoIW1fcmVxdWVz
dHMuY29udGFpbnMocmVxdWVzdElkKSkKQEAgLTM0NSwyMiArMzIwLDE5IEBAIHZvaWQgTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25z
dCBTdHJpbmcmIGxhCiAKICAgICBBU1NFUlQobV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS0+aXNH
ZW5lcmF0ZVN0cmVhbVJlcXVlc3QoKSk7CiAgICAgQVNTRVJUKCFsYWJlbC5pc051bGwoKSk7Ci0g
ICAgQVNTRVJUKGF1ZGlvVHJhY2tzUGFyYW0pOwotICAgIEFTU0VSVCh2aWRlb1RyYWNrc1BhcmFt
KTsKKyAgICBBU1NFUlQodHJhY2tzUGFyYW0pOwogCi0gICAgUmVmUHRyPE11bHRpcGxlVHJhY2tM
aXN0PiBhdWRpb1RyYWNrcyA9IGF1ZGlvVHJhY2tzUGFyYW07Ci0gICAgUmVmUHRyPEV4Y2x1c2l2
ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3MgPSB2aWRlb1RyYWNrc1BhcmFtOworICAgIFJlZlB0cjxN
ZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzID0gdHJhY2tzUGFyYW07CiAKLSAgICBpbnQgYXVk
aW9UcmFja3NDbGllbnRJZCA9IG1fY2xpZW50cy5nZXROZXh0SWQoKTsKLSAgICBhdWRpb1RyYWNr
cy0+YXNzb2NpYXRlRnJhbWVDb250cm9sbGVyKHRoaXMsIGF1ZGlvVHJhY2tzQ2xpZW50SWQpOwot
ICAgIG1fY2xpZW50cy5hZGQoYXVkaW9UcmFja3NDbGllbnRJZCwgYXVkaW9UcmFja3MuZ2V0KCkp
OwotCi0gICAgaW50IHZpZGVvVHJhY2tzQ2xpZW50SWQgPSBtX2NsaWVudHMuZ2V0TmV4dElkKCk7
Ci0gICAgdmlkZW9UcmFja3MtPmFzc29jaWF0ZUZyYW1lQ29udHJvbGxlcih0aGlzLCB2aWRlb1Ry
YWNrc0NsaWVudElkKTsKLSAgICBtX2NsaWVudHMuYWRkKHZpZGVvVHJhY2tzQ2xpZW50SWQsIHZp
ZGVvVHJhY2tzLmdldCgpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdHJhY2tzLT5s
ZW5ndGgoKTsgKytpKSB7CisgICAgICAgIGludCB0cmFja0NsaWVudElkID0gbV9jbGllbnRzLmdl
dE5leHRJZCgpOworICAgICAgICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gdHJhY2sgPSB0cmFj
a3MtPml0ZW0oaSk7CisgICAgICAgIHRyYWNrLT5hc3NvY2lhdGVGcmFtZUNvbnRyb2xsZXIodGhp
cywgdHJhY2tDbGllbnRJZCk7CisgICAgICAgIG1fY2xpZW50cy5hZGQodHJhY2tDbGllbnRJZCwg
dHJhY2suZ2V0KCkpOworICAgIH0KIAogICAgIFJlZlB0cjxHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q+
IHN0cmVhbVJlcXVlc3QgPSBzdGF0aWNfY2FzdDxHZW5lcmF0ZVN0cmVhbVJlcXVlc3QqPihtX3Jl
cXVlc3RzLmdldChyZXF1ZXN0SWQpLmdldCgpKTsKLSAgICBSZWZQdHI8TG9jYWxNZWRpYVN0cmVh
bT4gZ2VuZXJhdGVkU3RyZWFtID0gTG9jYWxNZWRpYVN0cmVhbTo6Y3JlYXRlKHRoaXMsIGxhYmVs
LCBhdWRpb1RyYWNrcy5yZWxlYXNlKCksIHZpZGVvVHJhY2tzLnJlbGVhc2UoKSk7CisgICAgUmVm
UHRyPExvY2FsTWVkaWFTdHJlYW0+IGdlbmVyYXRlZFN0cmVhbSA9IExvY2FsTWVkaWFTdHJlYW06
OmNyZWF0ZSh0aGlzLCBsYWJlbCwgdHJhY2tzLnJlbGVhc2UoKSk7CiAgICAgbV9zdHJlYW1zLmFk
ZChsYWJlbCwgZ2VuZXJhdGVkU3RyZWFtLmdldCgpKTsKICAgICBtX3JlcXVlc3RzLnJlbW92ZShy
ZXF1ZXN0SWQpOwogICAgIHN0cmVhbVJlcXVlc3QtPnN1Y2Nlc3NDYWxsYmFjaygpLT5oYW5kbGVF
dmVudChnZW5lcmF0ZWRTdHJlYW0uZ2V0KCkpOwpAQCAtMzg4LDIwICszNjAsNiBAQCB2b2lkIE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1GYWlsZWQoY29uc3QgU3RyaW5nJiBsYWJl
bCkKICAgICBnZXRTdHJlYW1Gcm9tTGFiZWwobGFiZWwpLT5zdHJlYW1FbmRlZCgpOwogfQogCi12
b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjphdWRpb1RyYWNrRmFpbGVkKGNvbnN0IFN0
cmluZyYgbGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi17Ci0gICAgTWVkaWFTdHJlYW0qIHN0
cmVhbSA9IGdldFN0cmVhbUZyb21MYWJlbChsYWJlbCk7Ci0gICAgQVNTRVJUKHN0cmVhbS0+aXNM
b2NhbE1lZGlhU3RyZWFtKCkpOwotICAgIHN0YXRpY19jYXN0PExvY2FsTWVkaWFTdHJlYW0qPihz
dHJlYW0pLT5hdWRpb1RyYWNrcygpLT50cmFja0ZhaWxlZChpbmRleCk7Ci19Ci0KLXZvaWQgTWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnZpZGVvVHJhY2tGYWlsZWQoY29uc3QgU3RyaW5nJiBs
YWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICBNZWRpYVN0cmVhbSogc3RyZWFtID0g
Z2V0U3RyZWFtRnJvbUxhYmVsKGxhYmVsKTsKLSAgICBBU1NFUlQoc3RyZWFtLT5pc0xvY2FsTWVk
aWFTdHJlYW0oKSk7Ci0gICAgc3RhdGljX2Nhc3Q8TG9jYWxNZWRpYVN0cmVhbSo+KHN0cmVhbSkt
PnZpZGVvVHJhY2tzKCktPnRyYWNrRmFpbGVkKGluZGV4KTsKLX0KLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmggU291cmNlL1dlYkNv
cmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oCmluZGV4IDc1MDJlZWQuLmI1NWUw
ZDAgMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyLmgKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIu
aApAQCAtMzcsMTIgKzM3LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRXhj
bHVzaXZlVHJhY2tMaXN0OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBMb2NhbE1lZGlhU3RyZWFtOwog
Y2xhc3MgTWVkaWFTdHJlYW07CiBjbGFzcyBNZWRpYVN0cmVhbUNvbnRyb2xsZXI7Ci1jbGFzcyBN
dWx0aXBsZVRyYWNrTGlzdDsKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tMaXN0OwogY2xhc3MgTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazsKIGNsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjazsKIGNsYXNzIFBhZ2U7CkBAIC03Niw3ICs3NSw3IEBAIHB1YmxpYzoKICAg
ICAgICAgdmlydHVhbCB2b2lkIGRldGFjaEVtYmVkZGVyKCkgeyB9CiAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIC8vIFVzZWQgZm9yIG9iamVjdHMgdGhhdCBhcmUgb3B0aW9uYWxseSBhc3NvY2lh
dGVkIHRvIHRoZSBmcmFtZSBjb250cm9sbGVyIGFmdGVyIGNvbnN0cnVjdGlvbiwgbGlrZSB0aGUg
dHJhY2sgbGlzdHMuCisgICAgICAgIC8vIFVzZWQgZm9yIG9iamVjdHMgdGhhdCBhcmUgb3B0aW9u
YWxseSBhc3NvY2lhdGVkIHRvIHRoZSBmcmFtZSBjb250cm9sbGVyIGFmdGVyIGNvbnN0cnVjdGlv
biwgbGlrZSB0aGUgTWVkaWFTdHJlYW1UcmFja3MuCiAgICAgICAgIHZvaWQgYXNzb2NpYXRlRnJh
bWVDb250cm9sbGVyKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIs
IGNvbnN0IElkVHlwZSYgaWQpCiAgICAgICAgIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9mcmFt
ZUNvbnRyb2xsZXIgJiYgIW1fY2xpZW50SWQpOwpAQCAtMTU1LDIwICsxNTQsMTYgQEAgcHVibGlj
OgogICAgIC8vIENyZWF0ZSBhIG5ldyBnZW5lcmF0ZWQgc3RyZWFtIGFzeW5jaHJvbm91c2x5IHdp
dGggdGhlIHByb3ZpZGVkIG9wdGlvbnMuCiAgICAgdm9pZCBnZW5lcmF0ZVN0cmVhbShjb25zdCBT
dHJpbmcmIG9wdGlvbnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrPiwgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiwgRXhjZXB0
aW9uQ29kZSYpOwogCi0gICAgLy8gU3RvcCBhIGdlbmVyYXRlZCBzdHJlYW0uCisgICAgLy8gU3Rv
cCBhIGxvY2FsIG1lZGlhIHN0cmVhbS4KICAgICB2b2lkIHN0b3BHZW5lcmF0ZWRTdHJlYW0oY29u
c3QgU3RyaW5nJiBzdHJlYW1MYWJlbCk7CiAKLSAgICAvLyBFbmFibGUvZGlzYWJsZSBhbiBhdWRp
byB0cmFjayBpbiBhIGdlbmVyYXRlZCBzdHJlYW0uCi0gICAgdm9pZCBlbmFibGVBdWRpb1RyYWNr
KGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZv
aWQgZGlzYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQg
bG9uZyBpbmRleCk7Ci0KLSAgICAvLyBTZWxlY3QgYSB2aWRlbyB0cmFjayBpbiBhIGdlbmVyYXRl
ZCBzdHJlYW0uCi0gICAgdm9pZCBzZWxlY3RWaWRlb1RyYWNrKGNvbnN0IFN0cmluZyYgc3RyZWFt
TGFiZWwsIGxvbmcgaW5kZXgpOworICAgIC8vIEVuYWJsZS9kaXNhYmxlIGFuIHRyYWNrLgorICAg
IHZvaWQgc2V0TWVkaWFTdHJlYW1UcmFja0VuYWJsZWQoY29uc3QgU3RyaW5nJiB0cmFja0lkLCBi
b29sIGVuYWJsZWQpOwogCiAgICAgLy8gLS0tIENhbGxzIGNvbWluZyBiYWNrIGZyb20gdGhlIGNv
bnRyb2xsZXIuIC0tLSAvLwogCiAgICAgLy8gUmVwb3J0IHRoZSBnZW5lcmF0aW9uIG9mIGEgbmV3
IGxvY2FsIHN0cmVhbS4KLSAgICB2b2lkIHN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBj
b25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBh
dWRpb1RyYWNrcywgUGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tzKTsK
KyAgICB2b2lkIHN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHN0
cmVhbUxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFja3MpOwogCiAg
ICAgLy8gUmVwb3J0IGEgZmFpbHVyZSBpbiB0aGUgZ2VuZXJhdGlvbiBvZiBhIG5ldyBzdHJlYW0u
CiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCByZXF1ZXN0SWQsIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yOjpFcnJvckNvZGUpOwpAQCAtMTc2LDEwICsxNzEsNiBAQCBwdWJsaWM6
CiAgICAgLy8gUmVwb3J0IHRoZSBlbmQgb2YgYSBzdHJlYW0gZm9yIGV4dGVybmFsIHJlYXNvbnMu
CiAgICAgdm9pZCBzdHJlYW1GYWlsZWQoY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCk7CiAKLSAg
ICAvLyBSZXBvcnQgdGhlIHVuZXhwZWN0ZWQgdW5hdmFpbGFiaWxpdHkgb2YgYSBsaXZlIG1lZGlh
IHRyYWNrLgotICAgIHZvaWQgYXVkaW9UcmFja0ZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxh
YmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIHZpZGVvVHJhY2tGYWlsZWQoY29u
c3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0KIHByaXZhdGU6
CiAgICAgY2xhc3MgUmVxdWVzdDsKICAgICBjbGFzcyBHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q7Cg==
</data>
<flag name="review"
          id="96366"
          type_id="1"
          status="+"
          setter="tonyg"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101463</attachid>
            <date>2011-07-20 06:44:31 -0700</date>
            <delta_ts>2011-07-20 07:55:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>64791.patch</filename>
            <type>text/plain</type>
            <size>125865</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCAxMWI0NGI4Li40NjE3MmEzIDEwMDY0NAotLS0gU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0xNTUsMTQgKzE1NSwxMiBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vRXJyb3JF
dmVudC5pZGwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAgICAgZG9tL0V2ZW50LmlkbAot
ICAgIGRvbS9FeGNsdXNpdmVUcmFja0xpc3QuaWRsCiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5p
ZGwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5pZGwKICAgICBkb20vTWVzc2FnZUNoYW5uZWwuaWRs
CiAgICAgZG9tL01lc3NhZ2VFdmVudC5pZGwKICAgICBkb20vTWVzc2FnZVBvcnQuaWRsCiAgICAg
ZG9tL01vdXNlRXZlbnQuaWRsCi0gICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmlkbAogICAgIGRv
bS9NdXRhdGlvbkV2ZW50LmlkbAogICAgIGRvbS9OYW1lZE5vZGVNYXAuaWRsCiAgICAgZG9tL05v
ZGVGaWx0ZXIuaWRsCkBAIC0xODIsNyArMTgwLDYgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgZG9tL1RvdWNoRXZlbnQuaWRsCiAgICAgZG9tL1RvdWNoLmlkbAogICAgIGRvbS9Ub3VjaExp
c3QuaWRsCi0gICAgZG9tL1RyYWNrTGlzdC5pZGwKICAgICBkb20vVHJlZVdhbGtlci5pZGwKICAg
ICBkb20vVUlFdmVudC5pZGwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsCkBAIC01
NDEsNyArNTM4LDYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9FeGNlcHRpb25CYXNl
LmNwcAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmNwcAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxh
Y2Vob2xkZXIuY3BwCi0gICAgZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAKICAgICBkb20vSWNv
blVSTC5jcHAKICAgICBkb20vS2V5Ym9hcmRFdmVudC5jcHAKICAgICBkb20vTWVzc2FnZUNoYW5u
ZWwuY3BwCkBAIC01NTAsNyArNTQ2LDYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9N
ZXNzYWdlUG9ydC5jcHAKICAgICBkb20vTW91c2VFdmVudC5jcHAKICAgICBkb20vTW91c2VSZWxh
dGVkRXZlbnQuY3BwCi0gICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmNwcAogICAgIGRvbS9NdXRh
dGlvbkV2ZW50LmNwcAogICAgIGRvbS9OYW1lZE5vZGVNYXAuY3BwCiAgICAgZG9tL05hbWVOb2Rl
TGlzdC5jcHAKQEAgLTU5NCw3ICs1ODksNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9t
L1RvdWNoLmNwcAogICAgIGRvbS9Ub3VjaEV2ZW50LmNwcAogICAgIGRvbS9Ub3VjaExpc3QuY3Bw
Ci0gICAgZG9tL1RyYWNrTGlzdC5jcHAKICAgICBkb20vVHJhbnNmb3JtU291cmNlTGlieHNsdC5j
cHAKICAgICBkb20vVHJhdmVyc2FsLmNwcAogICAgIGRvbS9UcmVlU2NvcGUuY3BwCkBAIC0yMDIy
LDE2ICsyMDE2LDIwIEBAIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgICAgICBkb20vTG9j
YWxNZWRpYVN0cmVhbS5jcHAKICAgICAgICAgZG9tL01lZGlhU3RyZWFtLmNwcAogICAgICAgICBk
b20vTWVkaWFTdHJlYW1MaXN0LmNwcAorICAgICAgICBkb20vTWVkaWFTdHJlYW1UcmFjay5jcHAK
KyAgICAgICAgZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcAogICAgICAgICBkb20vU3RyZWFt
RXZlbnQuY3BwCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcAogICAgICAg
ICBwYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAogICAgICkKIAogICAgIExJU1Qo
QVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCi0gICAgICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRs
Ci0gICAgICAgIGRvbS9TdHJlYW0uaWRsCisgICAgICAgIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmlk
bAorICAgICAgICBkb20vTWVkaWFTdHJlYW0uaWRsCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbUxp
c3QuaWRsCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbVRyYWNrLmlkbAorICAgICAgICBkb20vTWVk
aWFTdHJlYW1UcmFja0xpc3QuaWRsCiAgICAgICAgIGRvbS9TdHJlYW1FdmVudC5pZGwKLSAgICAg
ICAgZG9tL1N0cmVhbUxpc3QuaWRsCiAgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaWRsCiAgICAgKQogRU5ESUYgKCkKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI2NDJhMGMuLjM1ZGFkNTUgMTAwNjQ0
Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDc1IEBACisyMDExLTA3LTIwICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15
d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogVXBkYXRlIHRoZSB0cmFj
a2xpc3RzIHRvIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgdGVzdCBoYXJuZXNzIHdpbGwgYmUgZm9ydGhjb21pbmcgdmVy
eSBzb29uIG5vdywgaW50cm9kdWNpbmcgdGVzdHMgZm9yIHRoaXMuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4RE9NV3JhcHBlcjo6Y29udmVydEV2ZW50VGFyZ2V0VG9WOE9iamVjdCk6CisgICAgICAg
ICogZG9tL0RPTUFsbEluT25lLmNwcDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuY3BwOgor
ICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAqIGRvbS9FeGNsdXNpdmVUcmFj
a0xpc3QuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMb2NhbE1lZGlhU3RyZWFtOjpMb2NhbE1lZGlhU3RyZWFtKToKKyAgICAgICAgKFdl
YkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06OnN0cmVhbUVuZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkxvY2FsTWVkaWFTdHJlYW06OnN0b3ApOgorICAgICAgICAqIGRvbS9Mb2NhbE1lZGlhU3RyZWFt
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbE1lZGlhU3RyZWFtOjppc0xvY2FsTWVkaWFTdHJl
YW0pOgorICAgICAgICAqIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbDoKKyAgICAgICAgKiBkb20v
TWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0pOgorICAgICAgICAq
IGRvbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OnRyYWNr
cyk6CisgICAgICAgICogZG9tL01lZGlhU3RyZWFtLmlkbDoKKyAgICAgICAgKiBkb20vTWVkaWFT
dHJlYW1UcmFjay5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVU
cmFja0xpc3QuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6On5NZWRpYVN0cmVhbVRyYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmtpbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW1UcmFjazo6bGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1UcmFjazo6ZW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNr
OjpzZXRFbmFibGVkKToKKyAgICAgICAgKiBkb20vTWVkaWFTdHJlYW1UcmFjay5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmguCisgICAgICAgICog
ZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9t
L0V4Y2x1c2l2ZVRyYWNrTGlzdC5pZGwuCisgICAgICAgICogZG9tL01lZGlhU3RyZWFtVHJhY2tM
aXN0LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xp
c3QuaC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tMaXN0OjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xpc3Q6Ok1lZGlhU3RyZWFtVHJhY2tM
aXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tMaXN0Ojp+TWVkaWFTdHJl
YW1UcmFja0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xpc3Q6Omxl
bmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrTGlzdDo6aXRlbSk6Cisg
ICAgICAgICogZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9kb20vVHJhY2tMaXN0LmlkbC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2tMaXN0Ojphc3NvY2lhdGVTdHJlYW0pOgorICAgICAgICAqIGRvbS9NZWRpYVN0cmVhbVRy
YWNrTGlzdC5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vTXVsdGlwbGVUcmFj
a0xpc3QuaWRsLgorICAgICAgICAqIGRvbS9NdWx0aXBsZVRyYWNrTGlzdC5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL1RyYWNrTGlzdC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogZG9tL1Ry
YWNrTGlzdC5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaDoK
KyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVk
KToKKyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oOgorICAgICAgICAqIHBh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0
ZWQpOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaDoKKwogMjAx
MS0wNy0yMCAgQm9yaXMgU211cyAgPHNtdXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBh
IHJlc291cmNlTGluayBhdWRpdCBmb3JtYXR0ZXIgdG8gbWFrZSBpdCBwb3NzaWJsZSBmb3IgZGV2
dG9vbHMKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgU291cmNl
L1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCmluZGV4IDhjYzRlOTUuLmYyOWY0ZjUgMTAwNjQ0
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKKysrIFNvdXJjZS9XZWJDb3Jl
L0NvZGVHZW5lcmF0b3JzLnByaQpAQCAtMTM5LDE3ICsxMzksMTcgQEAgSURMX0JJTkRJTkdTICs9
IFwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICMgICAgZG9tL0V2ZW50TGlzdGVuZXIu
aWRsIFwKICMgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCi0gICAgZG9tL0V4Y2x1c2l2ZVRyYWNr
TGlzdC5pZGwgXAogICAgIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKICAgICBkb20vS2V5Ym9h
cmRFdmVudC5pZGwgXAogICAgIGRvbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbCBcCiAgICAgZG9tL01l
ZGlhU3RyZWFtLmlkbCBcCiAgICAgZG9tL01lZGlhU3RyZWFtTGlzdC5pZGwgXAorICAgIGRvbS9N
ZWRpYVN0cmVhbVRyYWNrLmlkbCBcCisgICAgZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmlkbCBc
CiAgICAgZG9tL01vdXNlRXZlbnQuaWRsIFwKICAgICBkb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwK
ICAgICBkb20vTWVzc2FnZUV2ZW50LmlkbCBcCiAgICAgZG9tL01lc3NhZ2VQb3J0LmlkbCBcCi0g
ICAgZG9tL011bHRpcGxlVHJhY2tMaXN0LmlkbCBcCiAgICAgZG9tL011dGF0aW9uRXZlbnQuaWRs
IFwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbCBcCiAgICAgZG9tL05vZGUuaWRsIFwKQEAgLTE3
MSw3ICsxNzEsNiBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9Ub3VjaC5pZGwgXAogICAg
IGRvbS9Ub3VjaEV2ZW50LmlkbCBcCiAgICAgZG9tL1RvdWNoTGlzdC5pZGwgXAotICAgIGRvbS9U
cmFja0xpc3QuaWRsIFwKICAgICBkb20vVHJlZVdhbGtlci5pZGwgXAogICAgIGRvbS9VSUV2ZW50
LmlkbCBcCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCBcCmRpZmYgLS1naXQgU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcAppbmRleCA5YjBiYTgzLi4zMWEzZTgwIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
QEAgLTExNCw3ICsxMTQsNiBAQAogI2luY2x1ZGUgIkpTRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpT
RXZlbnRFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRXZlbnRTb3VyY2UuY3BwIgotI2luY2x1
ZGUgIkpTRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCIKICNpbmNsdWRlICJKU0ZpbGUuY3BwIgogI2lu
Y2x1ZGUgIkpTRmlsZUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVFbnRyeS5jcHAiCkBA
IC0yMzMsNiArMjMyLDggQEAKICNpbmNsdWRlICJKU01lZGlhTGlzdC5jcHAiCiAjaW5jbHVkZSAi
SlNNZWRpYVN0cmVhbS5jcHAiCiAjaW5jbHVkZSAiSlNNZWRpYVN0cmVhbUxpc3QuY3BwIgorI2lu
Y2x1ZGUgIkpTTWVkaWFTdHJlYW1UcmFjay5jcHAiCisjaW5jbHVkZSAiSlNNZWRpYVN0cmVhbVRy
YWNrTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNNZWRpYVF1ZXJ5TGlzdC5jcHAiCiAjaW5jbHVkZSAi
SlNNZW1vcnlJbmZvLmNwcCIKICNpbmNsdWRlICJKU01lc3NhZ2VDaGFubmVsLmNwcCIKQEAgLTI0
MSw3ICsyNDIsNiBAQAogI2luY2x1ZGUgIkpTTWV0YWRhdGEuY3BwIgogI2luY2x1ZGUgIkpTTWV0
YWRhdGFDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNNb3VzZUV2ZW50LmNwcCIKLSNpbmNsdWRl
ICJKU011bHRpcGxlVHJhY2tMaXN0LmNwcCIKICNpbmNsdWRlICJKU011dGF0aW9uRXZlbnQuY3Bw
IgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKICNpbmNsdWRlICJKU05hdmlnYXRvci5j
cHAiCkBAIC00NDYsNyArNDQ2LDYgQEAKICNpbmNsdWRlICJKU1RvdWNoLmNwcCIKICNpbmNsdWRl
ICJKU1RvdWNoRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hMaXN0LmNwcCIKLSNpbmNsdWRl
ICJKU1RyYWNrTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNUcmVlV2Fsa2VyLmNwcCIKICNpbmNsdWRl
ICJKU1VpbnQxNkFycmF5LmNwcCIKICNpbmNsdWRlICJKU1VpbnQzMkFycmF5LmNwcCIKZGlmZiAt
LWdpdCBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIFNvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNDkyZDEyYi4uNjFlYjdmNSAxMDA2NDQKLS0tIFNvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTE4OCw3ICsxODgsNiBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBFdmVu
dExpc3RlbmVyIFwKICAgICBFdmVudFNvdXJjZSBcCiAgICAgRXZlbnRUYXJnZXQgXAotICAgIEV4
Y2x1c2l2ZVRyYWNrTGlzdCBcCiAgICAgRmlsZSBcCiAgICAgRmlsZUNhbGxiYWNrIFwKICAgICBG
aWxlRW50cnkgXApAQCAtMzA0LDYgKzMwMyw4IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIgXAogICAgIE1lZGlhU3RyZWFtIFwKICAgICBNZWRpYVN0cmVhbUxp
c3QgXAorICAgIE1lZGlhU3RyZWFtVHJhY2sgXAorICAgIE1lZGlhU3RyZWFtVHJhY2tMaXN0IFwK
ICAgICBNZW1vcnlJbmZvIFwKICAgICBNZXNzYWdlQ2hhbm5lbCBcCiAgICAgTWVzc2FnZUV2ZW50
IFwKQEAgLTMxMSw3ICszMTIsNiBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNZXRhZGF0YSBcCiAg
ICAgTWV0YWRhdGFDYWxsYmFjayBcCiAgICAgTW91c2VFdmVudCBcCi0gICAgTXVsdGlwbGVUcmFj
a0xpc3QgXAogICAgIE11dGF0aW9uRXZlbnQgXAogICAgIE5hbWVkTm9kZU1hcCBcCiAgICAgTmF2
aWdhdG9yIFwKQEAgLTUzNCw3ICs1MzQsNiBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBUb3VjaCBc
CiAgICAgVG91Y2hFdmVudCBcCiAgICAgVG91Y2hMaXN0IFwKLSAgICBUcmFja0xpc3QgXAogICAg
IFRyZWVXYWxrZXIgXAogICAgIFVJRXZlbnQgXAogICAgIFZhbGlkaXR5U3RhdGUgXApkaWZmIC0t
Z2l0IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQppbmRleCA4OTg1YTdhLi5hMDgyN2UxIDEwMDY0NAotLS0gU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtMTYwLDggKzE2MCw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNFdmVudFNvdXJjZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dFNvdXJjZS5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXhjbHVzaXZlVHJhY2tMaXN0
LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNGaWxlRXJyb3IuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZUVy
cm9yLmggXApAQCAtMzU5LDYgKzM1NywxMCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbS5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTWVkaWFTdHJlYW1MaXN0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhU3RyZWFtTGlzdC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFT
dHJlYW1UcmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbVRy
YWNrLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFRdWVyeUxpc3QuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTWVkaWFRdWVyeUxpc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU01lbW9yeUluZm8uY3BwIFwKQEAgLTM3MSw4ICszNzMsNiBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXNzYWdlUG9ydC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVudC5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNb3VzZUV2ZW50LmggXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNN
dWx0aXBsZVRyYWNrTGlzdC5jcHAgXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdWx0aXBs
ZVRyYWNrTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRpb25FdmVudC5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuY3BwIFwKQEAgLTQ4Nyw4ICs0ODcsNiBA
QCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNU
b3VjaC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hMaXN0LmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoTGlzdC5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVHJhY2tMaXN0LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RyYWNrTGlz
dC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtlci5jcHAgXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNVSUV2ZW50LmNwcCBcCkBAIC0xMTc2LDggKzExNzQsNiBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmggXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNs
dXNpdmVUcmFja0xpc3QuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJhY2tM
aXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24u
aCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3Jl
bWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIu
aCBcCkBAIC0xMTk0LDYgKzExOTAsMTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vTWVkaWFTdHJlYW1Db250YWluZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L01lZGlhU3RyZWFtTGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbUxp
c3QuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suY3BwIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20v
TWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJl
YW1UcmFja0xpc3QuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9NZXNzYWdlRXZlbnQuY3BwIFwKQEAgLTEyMDYsOCArMTIwNiw2IEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01v
dXNlUmVsYXRlZEV2ZW50LmggXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlz
dC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbkV2ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuY3BwIFwK
QEAgLTEzMDAsOCArMTI5OCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1RleHRFdmVudElucHV0VHlwZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hMaXN0LmggXAotCVNvdXJjZS9XZWJDb3JlL2Rv
bS9UcmFja0xpc3QuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L1RyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVHJhdmVy
c2FsLmNwcCBcCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1NmY0ZTE0Li44NTc3NWM1IDEwMDY0NAotLS0gU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTExNjEsMTcgKzExNjEsMTcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24u
aWRsJywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAg
J2RvbS9FdmVudFRhcmdldC5pZGwnLAotICAgICAgICAgICAgJ2RvbS9FeGNsdXNpdmVUcmFja0xp
c3QuaWRsJywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAgICAgICAg
ICAgICAnZG9tL0tleWJvYXJkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTG9jYWxNZWRp
YVN0cmVhbS5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbS5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9NZWRpYVN0cmVhbUxpc3QuaWRsJywKKyAgICAgICAgICAgICdkb20vTWVkaWFT
dHJlYW1UcmFjay5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5p
ZGwnLAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwnLAogICAgICAgICAgICAg
J2RvbS9NZXNzYWdlRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnQuaWRs
JywKICAgICAgICAgICAgICdkb20vTW91c2VFdmVudC5pZGwnLAotICAgICAgICAgICAgJ2RvbS9N
dWx0aXBsZVRyYWNrTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL05hbWVkTm9kZU1hcC5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9Ob2RlLmlkbCcsCkBAIC0xMTk0LDcgKzExOTQsNiBAQAogICAgICAgICAgICAgJ2RvbS9Ub3Vj
aC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Ub3VjaEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAn
ZG9tL1RvdWNoTGlzdC5pZGwnLAotICAgICAgICAgICAgJ2RvbS9UcmFja0xpc3QuaWRsJywKICAg
ICAgICAgICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCcsCkBAIC0y
NTEwLDggKzI1MDksNiBAQAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25CYXNlLmgnLAogICAg
ICAgICAgICAgJ2RvbS9FeGNlcHRpb25Db2RlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2Vw
dGlvbkNvZGVQbGFjZWhvbGRlci5jcHAnLAotICAgICAgICAgICAgJ2RvbS9FeGNsdXNpdmVUcmFj
a0xpc3QuY3BwJywKLSAgICAgICAgICAgICdkb20vRXhjbHVzaXZlVHJhY2tMaXN0LmgnLAogICAg
ICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgnLAogICAgICAgICAgICAgJ2RvbS9J
Y29uVVJMLmNwcCcsCkBAIC0yNTI0LDYgKzI1MjEsMTAgQEAKICAgICAgICAgICAgICdkb20vTWVk
aWFTdHJlYW1Db250YWluZXIuaCcsCiAgICAgICAgICAgICAnZG9tL01lZGlhU3RyZWFtTGlzdC5j
cHAnLAogICAgICAgICAgICAgJ2RvbS9NZWRpYVN0cmVhbUxpc3QuaCcsCisgICAgICAgICAgICAn
ZG9tL01lZGlhU3RyZWFtVHJhY2suY3BwJywKKyAgICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1U
cmFjay5oJywKKyAgICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwJywKKyAg
ICAgICAgICAgICdkb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaCcsCiAgICAgICAgICAgICAnZG9t
L01lc3NhZ2VDaGFubmVsLmNwcCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmgn
LAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlRXZlbnQuY3BwJywKQEAgLTI1MzIsOCArMjUzMyw2
IEBACiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAnLAogICAgICAgICAg
ICAgJ2RvbS9Nb3VzZUV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL01vdXNlUmVsYXRlZEV2
ZW50LmNwcCcsCi0gICAgICAgICAgICAnZG9tL011bHRpcGxlVHJhY2tMaXN0LmNwcCcsCi0gICAg
ICAgICAgICAnZG9tL011bHRpcGxlVHJhY2tMaXN0LmgnLAogICAgICAgICAgICAgJ2RvbS9NdXRh
dGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaCcsCiAgICAg
ICAgICAgICAnZG9tL05hbWVOb2RlTGlzdC5jcHAnLApAQCAtMjYyMSw4ICsyNjIwLDYgQEAKICAg
ICAgICAgICAgICdkb20vVG91Y2hFdmVudC5oJywKICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0
LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RvdWNoTGlzdC5oJywKLSAgICAgICAgICAgICdkb20v
VHJhY2tMaXN0LmNwcCcsCi0gICAgICAgICAgICAnZG9tL1RyYWNrTGlzdC5oJywKICAgICAgICAg
ICAgICdkb20vVHJhbnNmb3JtU291cmNlLmgnLAogICAgICAgICAgICAgJ2RvbS9UcmFuc2Zvcm1T
b3VyY2VMaWJ4c2x0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RyYW5zZm9ybVNvdXJjZVF0LmNw
cCcsCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggNzNhOGU3MC4uOGY0ZGI1MiAxMDA2NDQKLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtNDk4LDcg
KzQ5OCw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9FeGNlcHRpb25CYXNlLmNwcCBcCiAgICAg
ZG9tL0V4Y2VwdGlvbkNvZGUuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVy
LmNwcCBcCi0gICAgZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgXAogICAgIGRvbS9JY29uVVJM
LmNwcCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuY3BwIFwKICAgICBkb20vTWVzc2FnZUNoYW5u
ZWwuY3BwIFwKQEAgLTUwNyw3ICs1MDYsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcCBcCiAgICAgZG9tL01vdXNlRXZlbnQuY3BwIFwKICAgICBkb20vTW91
c2VSZWxhdGVkRXZlbnQuY3BwIFwKLSAgICBkb20vTXVsdGlwbGVUcmFja0xpc3QuY3BwIFwKICAg
ICBkb20vTXV0YXRpb25FdmVudC5jcHAgXAogICAgIGRvbS9OYW1lZE5vZGVNYXAuY3BwIFwKICAg
ICBkb20vTmFtZU5vZGVMaXN0LmNwcCBcCkBAIC01NTIsNyArNTUwLDYgQEAgU09VUkNFUyArPSBc
CiAgICAgZG9tL1RvdWNoLmNwcCBcCiAgICAgZG9tL1RvdWNoRXZlbnQuY3BwIFwKICAgICBkb20v
VG91Y2hMaXN0LmNwcCBcCi0gICAgZG9tL1RyYWNrTGlzdC5jcHAgXAogICAgIGRvbS9UcmF2ZXJz
YWwuY3BwIFwKICAgICBkb20vVHJlZVNjb3BlLmNwcCBcCiAgICAgZG9tL1RyZWVXYWxrZXIuY3Bw
IFwKQEAgLTE0ODgsNyArMTQ4NSw2IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdl
dC5oIFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5o
IFwKLSAgICBkb20vRXhjbHVzaXZlVHJhY2tMaXN0LmggXAogICAgIGRvbS9GcmFnbWVudFNjcmlw
dGluZ1Blcm1pc3Npb24uaCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaCBcCiAgICAgZG9tL01l
c3NhZ2VDaGFubmVsLmggXApAQCAtMTQ5Nyw3ICsxNDkzLDYgQEAgSEVBREVSUyArPSBcCiAgICAg
ZG9tL01lc3NhZ2VQb3J0LmggXAogICAgIGRvbS9Nb3VzZUV2ZW50LmggXAogICAgIGRvbS9Nb3Vz
ZVJlbGF0ZWRFdmVudC5oIFwKLSAgICBkb20vTXVsdGlwbGVUcmFja0xpc3QuaCBcCiAgICAgZG9t
L011dGF0aW9uRXZlbnQuaCBcCiAgICAgZG9tL05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFt
ZU5vZGVMaXN0LmggXApAQCAtMTUzOCw3ICsxNTMzLDYgQEAgSEVBREVSUyArPSBcCiAgICAgZG9t
L1RvdWNoLmggXAogICAgIGRvbS9Ub3VjaEV2ZW50LmggXAogICAgIGRvbS9Ub3VjaExpc3QuaCBc
Ci0gICAgZG9tL1RyYWNrTGlzdC5oIFwKICAgICBkb20vVHJhbnNmb3JtU291cmNlLmggXAogICAg
IGRvbS9UcmF2ZXJzYWwuaCBcCiAgICAgZG9tL1RyZWVEZXB0aExpbWl0LmggXApAQCAtMzIzMCw2
ICszMjI0LDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAg
ICAgICAgIGRvbS9NZWRpYVN0cmVhbS5oIFwKICAgICAgICAgZG9tL01lZGlhU3RyZWFtQ29udGFp
bmVyLmggXAogICAgICAgICBkb20vTWVkaWFTdHJlYW1MaXN0LmggXAorICAgICAgICBkb20vTWVk
aWFTdHJlYW1UcmFjay5oIFwKKyAgICAgICAgZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmggXAog
ICAgICAgICBkb20vU3RyZWFtRXZlbnQuaCBcCiAgICAgICAgIHBhZ2UvQ2FsbGJhY2tUYXNrLmgg
XAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ2xpZW50LmggXApAQCAtMzI0Myw2ICszMjM5LDgg
QEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAgICAgIGRv
bS9Mb2NhbE1lZGlhU3RyZWFtLmNwcCBcCiAgICAgICAgIGRvbS9NZWRpYVN0cmVhbS5jcHAgXAog
ICAgICAgICBkb20vTWVkaWFTdHJlYW1MaXN0LmNwcCBcCisgICAgICAgIGRvbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcCBcCisgICAgICAgIGRvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgXAogICAg
ICAgICBkb20vU3RyZWFtRXZlbnQuY3BwIFwKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRy
b2xsZXIuY3BwIFwKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAK
ZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAwODM2M2Iy
Li5mNDJiMjYyIDEwMDc1NQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC00ODc4LDYyICs0ODc4LDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAiCi0JCQkJPgotCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
LQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFeGNsdXNpdmVU
cmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0ZpbGUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTExMDk0
LDcgKzExMDM4LDcgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU01lbW9yeUluZm8uY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhU3Ry
ZWFtVHJhY2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0i
RGVidWd8V2luMzIiCkBAIC0xMTE0NiwxMSArMTEwOTAsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZW1v
cnlJbmZvLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVkaWFTdHJlYW1UcmFjay5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUNo
YW5uZWwuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNw
cCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgpAQCAtMTEyMDIsMTEgKzExMTQ2LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUNoYW5uZWwu
aCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIgogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50
LmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZW1vcnlJbmZvLmNwcCIKIAkJCQk+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtMTEyNTgsMTEg
KzExMjAyLDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50LmgiCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTTWVtb3J5SW5mby5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTTWVzc2FnZVBvcnQuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U01lc3NhZ2VDaGFubmVsLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtMTEzMTQsMTEgKzExMjU4LDExIEBACiAJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTWVzc2FnZVBvcnQuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNzYWdlQ2hhbm5lbC5o
IgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0
YWRhdGEuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lc3NhZ2VFdmVudC5jcHAiCiAJCQkJ
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTEx
MzcwLDExICsxMTMxNCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhLmgiCisJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTWVzc2FnZUV2ZW50LmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIKKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNNZXNzYWdlUG9ydC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTExNDI2LDExICsxMTM3MCwxMSBAQAogCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU01ldGFkYXRhQ2FsbGJhY2suaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXNz
YWdlUG9ydC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTTW91c2VFdmVudC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuY3Bw
IgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIi
CkBAIC0xMTQ4MiwxMSArMTE0MjYsNjcgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNb3VzZUV2ZW50LmgiCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhQ2FsbGJhY2suY3BwIgorCQkJCT4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0
YWRhdGFDYWxsYmFjay5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTXVsdGlwbGVUcmFja0xpc3QuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U01vdXNlRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCkBAIC0xMTUzOCw3ICsxMTUzOCw3IEBACiAJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXVs
dGlwbGVUcmFja0xpc3QuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNb3VzZUV2ZW50LmgiCiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTIyMDcwLDYyICsyMjA3MCw2IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNUcmFja0xpc3Qu
Y3BwIgotCQkJCT4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0J
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
Ci0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRv
b2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZV9D
YWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+
Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9
IkRlYnVnX0FsbHxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4K
LQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0i
UHJvZHVjdGlvbnxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4K
LQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTVHJhY2tMaXN0LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNUcmVlV2Fsa2VyLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1
cmF0aW9uCkBAIC00NTY3OCw3ICs0NTYyMiw3IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFeGNsdXNpdmVUcmFja0xpc3QuY3BwIgorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAiCiAJCQkJ
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1
NzMwLDcgKzQ1Njc0LDE1IEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRXhjZXB0aW9uQ29kZVBsYWNlaG9s
ZGVyLmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFeGNlcHRpb25Db2RlUGxhY2Vob2xk
ZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXEhhc2hDaGFuZ2VFdmVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cSWNvblVSTC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTQ1NzgyLDExICs0NTczNCwxNSBA
QAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXEljb25VUkwuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAiCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XEtleWJvYXJkRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCkBAIC00NTgzOCwxNSArNDU3OTQsMTEgQEAKIAkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGRvbVxFeGNsdXNpdmVUcmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEhhc2hDaGFuZ2VFdmVudC5oIgorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXEtleWJvYXJkRXZlbnQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEljb25VUkwuY3BwIgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXExvY2FsTWVkaWFTdHJlYW0uY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00NTg5OCwxNSArNDU4NTAsMTUgQEAK
IAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGRvbVxJY29uVVJMLmgiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTG9j
YWxNZWRpYVN0cmVhbS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlxkb21cSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCIK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNYXBwZWRBdHRyaWJ1dGVFbnRyeS5oIgogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cS2V5Ym9hcmRF
dmVudC5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0uY3BwIgogCQkJ
CT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00
NTk1OCwxMSArNDU5MTAsMTUgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxLZXlib2FyZEV2ZW50LmgiCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0uaCIKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXExvY2FsTWVkaWFTdHJlYW0uY3Bw
IgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtQ29udGFpbmVyLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0
cmVhbUxpc3QuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJTmFtZT0i
RGVidWd8V2luMzIiCkBAIC00NjAxNCwxNSArNDU5NzAsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxM
b2NhbE1lZGlhU3RyZWFtLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGRvbVxNYXBwZWRBdHRyaWJ1dGVFbnRyeS5oIgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXE1lZGlhU3RyZWFtTGlzdC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTWVkaWFTdHJlYW0uY3BwIgorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCkBAIC00NjA3NCwxNSArNDYwMjYsMTEg
QEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0cmVhbS5oIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXE1lZGlhU3RyZWFtVHJhY2suaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtQ29udGFpbmVyLmgiCi0JCQkJPgotCQkJ
PC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNZWRpYVN0cmVhbUxp
c3QuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2tMaXN0LmNw
cCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgpAQCAtNDYxMzQsNyArNDYwODIsNyBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtTGlz
dC5oIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE1lZGlhU3RyZWFtVHJhY2tMaXN0LmgiCiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTQ2NDc0LDYyICs0NjQyMiw2IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNdWx0aXBs
ZVRyYWNrTGlzdC5jcHAiCi0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJ
CQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJ
PFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJ
PgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
LQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNdWx0aXBsZVRyYWNrTGlzdC5oIgotCQkJCT4KLQkJCTwv
RmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTXV0YXRpb25FdmVudC5j
cHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNDg4MjIsNjIgKzQ4NzE0LDYg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XFRyYWNrTGlzdC5jcHAiCi0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJ
CQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJ
PFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJ
PgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
LQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgot
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxUcmFja0xpc3QuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0J
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFRyYW5zZm9ybVNvdXJjZS5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDg3Yjc1YWIuLjIwZDA5NWUgMTAwNjQ0Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE3Niw2ICsxMTc2LDE0IEBACiAJ
CTQ5QzdCOUZDMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5RkIxMDQyRDM2NTAw
MDlENDQ3IC8qIEdyYXBoaWNzQ29udGV4dDNELmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlDN0JBNzkxMDQyRUZBRTAwMDlENDQ3IC8qIE9wZW5H
TC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OUM3QkE3ODEwNDJFRkFFMDAwOUQ0NDcgLyogT3BlbkdMLmZyYW1ld29yayAqLzsgfTsK
IAkJNDlDN0JBOEQxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0JBOEMxMDQyRjVC
MTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwICovOyB9OworCQk0OUM5RjMyMzEzRDU3
NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzlGMzFEMTNENTc0RjgwMDUyNjAwQSAvKiBN
ZWRpYVN0cmVhbVRyYWNrTGlzdC5oICovOyB9OworCQk0OUM5RjMyNDEzRDU3NEY5MDA1MjYwMEEg
LyogTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDlDOUYzMUUxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFt
VHJhY2tMaXN0LmNwcCAqLzsgfTsKKwkJNDlDOUYzMjYxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlh
U3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5QzlGMzIwMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmggKi87IH07
CisJCTQ5QzlGMzI3MTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzlGMzIxMTNENTc0
RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLzsgfTsKKwkJNDlDOUY0OEUxM0Q1
N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM5RjQ4QTEzRDU3RDMyMDA1MjYwMEEgLyog
SlNNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLzsgfTsKKwkJNDlDOUY0OEYxM0Q1N0QzMjAwNTI2MDBB
IC8qIEpTTWVkaWFTdHJlYW1UcmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDlDOUY0OEIxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1U
cmFjay5oICovOyB9OworCQk0OUM5RjQ5MDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVh
bVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OUM5RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5j
cHAgKi87IH07CisJCTQ5QzlGNDkxMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJh
Y2tMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
OUM5RjQ4RDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5oICovOyB9
OwogCQk0OUQ1REMyQjBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlE
NURDMjcwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAq
LzsgfTsKIAkJNDlENURDMkMwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3Bl
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
OUQ1REMyODBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUQ1REMy
RDBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlENURDMjkwRjQy
M0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAqLzsgfTsK
QEAgLTQwNDYsMTggKzQwNTQsNiBAQAogCQlBQkRERkU3OTBBNUM2RTcwMDBBM0UxMUQgLyogUmVu
ZGVyTWVudUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQUJEREZFNzMwQTVDNkU2RjAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmNwcCAqLzsg
fTsKIAkJQUJEREZFN0EwQTVDNkU3MDAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQkRERkU3NDBBNUM2RTcw
MDBBM0UxMUQgLyogUmVuZGVyTWVudUxpc3QuaCAqLzsgfTsKIAkJQURERjFBRDcxMjU3Q0Q5QTAw
MDNBNzU5IC8qIFJlbmRlclNWR1BhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFEREYxQUQ1MTI1N0NEOUEwMDAzQTc1OSAvKiBSZW5kZXJTVkdQYXRo
LmggKi87IH07Ci0JCUIxMkQyMzNFMTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xp
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEy
RDIzMzUxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgKi87IH07Ci0J
CUIxMkQyMzNGMTM1NjAyODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzM2MTM1NjAyODIw
MDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuaCAqLzsgfTsKLQkJQjEyRDIzNDExMzU2MDI4
MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzM4MTM1NjAyODIwMDJBMjhENCAvKiBNdWx0
aXBsZVRyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzQyMTM1NjAyODIwMDJBMjhENCAvKiBN
dWx0aXBsZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjEyRDIzMzkxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0Lmgg
Ki87IH07Ci0JCUIxMkQyMzQ0MTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEyRDIzM0IxMzU2MDI4
MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzQ1MTM1NjAyODIwMDJB
MjhENCAvKiBUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIxMkQyMzNDMTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuaCAqLzsgfTsK
LQkJQjEyRDIzNjUxMzU2MDMzMDAwMkEyOEQ0IC8qIEpTVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzYzMTM1NjAzMkYwMDJB
MjhENCAvKiBKU1RyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzY2MTM1NjAzMzAwMDJBMjhE
NCAvKiBKU1RyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjEyRDIzNjQxMzU2MDMzMDAwMkEyOEQ0IC8qIEpTVHJhY2tMaXN0LmggKi87IH07
Ci0JCUIxMkQyMzY5MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjM2NzEz
NTYwMzNGMDAyQTI4RDQgLyogSlNFeGNsdXNpdmVUcmFja0xpc3QuY3BwICovOyB9OwotCQlCMTJE
MjM2QTEzNTYwMzNGMDAyQTI4RDQgLyogSlNFeGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxMkQyMzY4MTM1NjAzM0YwMDJB
MjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5oICovOyB9OwotCQlCMTJEMjM2RDEzNTYwMzRE
MDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQgLyogSlNN
dWx0aXBsZVRyYWNrTGlzdC5jcHAgKi87IH07Ci0JCUIxMkQyMzZFMTM1NjAzNEQwMDJBMjhENCAv
KiBKU011bHRpcGxlVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMTJEMjM2QzEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNr
TGlzdC5oICovOyB9OwogCQlCMTQzNTNENDEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1D
b250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIxNDM1M0QwMTM4RUE4RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUNvbnRhaW5lci5oICovOyB9
OwogCQlCMTQzNTNENTEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDM1M0QxMTM4RUE4
RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3QuY3BwICovOyB9OwogCQlCMTQzNTNENjEzOEVB
OEVEMDBENTMyNzYgLyogTWVkaWFTdHJlYW1MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTQzNTNEMjEzOEVBOEVEMDBENTMyNzYgLyogTWVkaWFT
dHJlYW1MaXN0LmggKi87IH07CkBAIC03NzMzLDYgKzc3MjksMTYgQEAKIAkJNDlDN0I5RkIxMDQy
RDM2NTAwMDlENDQ3IC8qIEdyYXBoaWNzQ29udGV4dDNELmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dDNELmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ5QzdCQTc4MTA0MkVGQUUwMDA5RDQ0NyAvKiBPcGVuR0wuZnJhbWV3b3JrICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFt
ZXdvcms7IG5hbWUgPSBPcGVuR0wuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvT3BlbkdMLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsK
IAkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEb2N1bWVudEN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGMzFDMTNENTc0RjgwMDUyNjAwQSAvKiBN
ZWRpYVN0cmVhbVRyYWNrTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFTdHJl
YW1UcmFja0xpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUM5RjMxRDEz
RDU3NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1UcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDlDOUYzMUUxM0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJh
Y2tMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlDOUYzMUYx
M0Q1NzRGODAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IE1lZGlhU3RyZWFtVHJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0OUM5RjMyMDEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbVRyYWNrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGMzIxMTNENTc0RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVh
bVRyYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3Ry
ZWFtVHJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUM5RjQ4QTEzRDU3
RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFTdHJlYW1UcmFjay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ5QzlGNDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFt
VHJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYVN0cmVhbVRy
YWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QzlGNDhDMTNENTdEMzIwMDUy
NjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0OUM5RjQ4RDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVh
bVRyYWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhU3Ry
ZWFtVHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RDVEQzI3MEY0
MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5j
cHA7IHBhdGggPSB0cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlENURDMjgwRjQyM0E3MzAwOEYyMEZEIC8qIE1h
dHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmg7IHBhdGggPSB0cmFuc2Zvcm1zL01hdHJp
eDNEVHJhbnNmb3JtT3BlcmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
RDVEQzI5MEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBQZXJzcGVjdGl2ZVRyYW5z
Zm9ybU9wZXJhdGlvbi5jcHA7IHBhdGggPSB0cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3Jt
T3BlcmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNTMxLDIxICsx
MDUzNyw2IEBACiAJCUFCRERGRTc0MEE1QzZFNzAwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWVudUxpc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQURERjFBRDQxMjU3Q0Q5QTAwMDNBNzU5IC8qIFJl
bmRlclNWR1BhdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVu
ZGVyU1ZHUGF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFEREYxQUQ1MTI1
N0NEOUEwMDAzQTc1OSAvKiBSZW5kZXJTVkdQYXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlbmRlclNWR1BhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
QjEyRDIzMzUxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFeGNsdXNpdmVUcmFja0xpc3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzNjEzNTYwMjgyMDAyQTI4RDQgLyog
RXhjbHVzaXZlVHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4
Y2x1c2l2ZVRyYWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMz
NzEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBFeGNsdXNpdmVUcmFja0xpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlCMTJEMjMzODEzNTYwMjgyMDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXVsdGlwbGVUcmFja0xpc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjMzOTEzNTYwMjgyMDAyQTI4
RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTXVsdGlwbGVUcmFja0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEy
RDIzM0ExMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJhY2tMaXN0LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBNdWx0aXBsZVRyYWNrTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUIxMkQyMzNCMTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhY2tMaXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzM0MxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFja0xpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzM0QxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNr
TGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVHJhY2tMaXN0LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNjMxMzU2MDMyRjAwMkEyOEQ0IC8qIEpTVHJhY2tM
aXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVHJhY2tMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNjQxMzU2MDMzMDAwMkEy
OEQ0IC8qIEpTVHJhY2tMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VHJhY2tMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzY3MTM1NjAz
M0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUIxMkQyMzY4MTM1NjAzM0YwMDJBMjhENCAvKiBKU0V4Y2x1c2l2
ZVRyYWNrTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2x1c2l2
ZVRyYWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMTJEMjM2QjEzNTYw
MzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU011bHRpcGxlVHJhY2tMaXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQjEyRDIzNkMxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVU
cmFja0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdWx0aXBsZVRy
YWNrTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMTQzNTNEMDEzOEVBOEVE
MDBENTMyNzYgLyogTWVkaWFTdHJlYW1Db250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWVkaWFTdHJlYW1Db250YWluZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQjE0MzUzRDExMzhFQThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVN0cmVhbUxpc3QuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMTQzNTNEMjEzOEVBOEVEMDBENTMyNzYg
LyogTWVkaWFTdHJlYW1MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhU3RyZWFtTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyMzYsOCAr
MTcyMjcsNiBAQAogCQkJCTY1REYzMjJFMDlEMUREQkMwMDBCRTMyNSAvKiBKU0VudGl0eS5oICov
LAogCQkJCTkzRjlCNzcyMEJBNUZEREMwMDg1NDA2NCAvKiBKU0VudGl0eVJlZmVyZW5jZS5jcHAg
Ki8sCiAJCQkJOTNGOUI3NzMwQkE1RkREQzAwODU0MDY0IC8qIEpTRW50aXR5UmVmZXJlbmNlLmgg
Ki8sCi0JCQkJQjEyRDIzNjcxMzU2MDMzRjAwMkEyOEQ0IC8qIEpTRXhjbHVzaXZlVHJhY2tMaXN0
LmNwcCAqLywKLQkJCQlCMTJEMjM2ODEzNTYwMzNGMDAyQTI4RDQgLyogSlNFeGNsdXNpdmVUcmFj
a0xpc3QuaCAqLywKIAkJCQlGRTgwREE1RjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlv
bi5jcHAgKi8sCiAJCQkJRkU4MERBNjAwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24u
aCAqLywKIAkJCQlGRTgwREE2MTBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9wb3NpdGlvbi5jcHAg
Ki8sCkBAIC0xNzI0OCw4ICsxNzIzNywxMCBAQAogCQkJCUIxRTU0NUQ4MTM0NjJCMEIwMDkyQTU0
NSAvKiBKU01lZGlhU3RyZWFtLmggKi8sCiAJCQkJQjE0MzUzRjYxMzhFQTk1QjAwRDUzMjc2IC8q
IEpTTWVkaWFTdHJlYW1MaXN0LmNwcCAqLywKIAkJCQlCMTQzNTNGNzEzOEVBOTVCMDBENTMyNzYg
LyogSlNNZWRpYVN0cmVhbUxpc3QuaCAqLywKLQkJCQlCMTJEMjM2QjEzNTYwMzREMDAyQTI4RDQg
LyogSlNNdWx0aXBsZVRyYWNrTGlzdC5jcHAgKi8sCi0JCQkJQjEyRDIzNkMxMzU2MDM0RDAwMkEy
OEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCAqLywKKwkJCQk0OUM5RjQ4QTEzRDU3RDMyMDA1
MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLywKKwkJCQk0OUM5RjQ4QjEzRDU3RDMy
MDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmggKi8sCisJCQkJNDlDOUY0OEMxM0Q1N0Qz
MjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuY3BwICovLAorCQkJCTQ5QzlGNDhE
MTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmggKi8sCiAJCQkJQkNE
OUMyQkMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmNwcCAqLywKIAkJCQlCQ0Q5
QzJCRDBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuaCAqLywKIAkJCQkxNERDMEQz
NTA5RkVEMDczMDA3QjAyMzUgLyogSlNOb2RlLmNwcCAqLywKQEAgLTE3Mjc4LDggKzE3MjY5LDYg
QEAKIAkJCQk0OUE4NUI3NjEzOEQ1OEVFMDBFQ0I3QjMgLyogSlNTdHJlYW1FdmVudC5oICovLAog
CQkJCTY1REYzMUVGMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYz
MUYwMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuaCAqLywKLQkJCQlCMTJEMjM2MzEzNTYwMzJG
MDAyQTI4RDQgLyogSlNUcmFja0xpc3QuY3BwICovLAotCQkJCUIxMkQyMzY0MTM1NjAzMzAwMDJB
MjhENCAvKiBKU1RyYWNrTGlzdC5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBDb3JlOwogCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NzU1LDkgKzE5NzQ0LDYgQEAKIAkJCQk5MzVGQkNG
MTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oICovLAogCQkJCUE3Q0FDREIwMTND
RTg3NUIwMEJCQkUzRiAvKiBFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwICovLAogCQkJCUE3
NEJCNzZBMTNCREE4NjMwMEZGN0JGMCAvKiBFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCAqLywK
LQkJCQlCMTJEMjMzNTEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCAq
LywKLQkJCQlCMTJEMjMzNjEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0Lmgg
Ki8sCi0JCQkJQjEyRDIzMzcxMzU2MDI4MjAwMkEyOEQ0IC8qIEV4Y2x1c2l2ZVRyYWNrTGlzdC5p
ZGwgKi8sCiAJCQkJQTg1MzEyM0MxMUQwNDcxQjAwRDREMDc3IC8qIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbi5oICovLAogCQkJCTI0NDJCQkY4MTE5NEM5RDMwMEQ0OTQ2OSAvKiBIYXNoQ2hh
bmdlRXZlbnQuaCAqLywKIAkJCQk4NDgyQjc0NDExOThDMzJFMDBCRkIwMDUgLyogSGFzaENoYW5n
ZUV2ZW50LmlkbCAqLywKQEAgLTE5Nzc4LDYgKzE5NzY0LDEyIEBACiAJCQkJQjE0MzUzRDExMzhF
QThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5jcHAgKi8sCiAJCQkJQjE0MzUzRDIxMzhF
QThFRDAwRDUzMjc2IC8qIE1lZGlhU3RyZWFtTGlzdC5oICovLAogCQkJCUIxNDM1M0QzMTM4RUE4
RUQwMEQ1MzI3NiAvKiBNZWRpYVN0cmVhbUxpc3QuaWRsICovLAorCQkJCTQ5QzlGMzFGMTNENTc0
RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmlkbCAqLywKKwkJCQk0OUM5RjMyMDEzRDU3
NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5oICovLAorCQkJCTQ5QzlGMzIxMTNENTc0
RjkwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrLmNwcCAqLywKKwkJCQk0OUM5RjMxQzEzRDU3
NEY4MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsICovLAorCQkJCTQ5QzlGMzFE
MTNENTc0RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oICovLAorCQkJCTQ5QzlG
MzFFMTNENTc0RjgwMDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgKi8sCiAJCQkJ
RTFBREVDQ0QwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFubmVsLmNwcCAqLywKIAkJCQlF
MUFERUNDQzBFNzZBRDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaCAqLywKIAkJCQlFMUFE
RUNEMDBFNzZBREFCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaWRsICovLApAQCAtMTk3OTQs
OSArMTk3ODYsNiBAQAogCQkJCTE0MUI5NEU1MDlFQzQyMjMwMDBFOTQxMyAvKiBNb3VzZUV2ZW50
LmlkbCAqLywKIAkJCQk4NTAzMUIzMTBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VSZWxhdGVkRXZl
bnQuY3BwICovLAogCQkJCTg1MDMxQjMyMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRF
dmVudC5oICovLAotCQkJCUIxMkQyMzM4MTM1NjAyODIwMDJBMjhENCAvKiBNdWx0aXBsZVRyYWNr
TGlzdC5jcHAgKi8sCi0JCQkJQjEyRDIzMzkxMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJh
Y2tMaXN0LmggKi8sCi0JCQkJQjEyRDIzM0ExMzU2MDI4MjAwMkEyOEQ0IC8qIE11bHRpcGxlVHJh
Y2tMaXN0LmlkbCAqLywKIAkJCQk4NTAzMUIzMzBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25F
dmVudC5jcHAgKi8sCiAJCQkJODUwMzFCMzQwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZl
bnQuaCAqLywKIAkJCQk5M0VFQzFGMzA5QzI4Nzc3MDBDNTE1RDEgLyogTXV0YXRpb25FdmVudC5p
ZGwgKi8sCkBAIC0xOTkxMCw5ICsxOTg5OSw2IEBACiAJCQkJOTMzQTE0MkQwQjdEMTg4NjAwQTUz
RkZEIC8qIFRleHRFdmVudC5oICovLAogCQkJCTkzM0ExNDJDMEI3RDE4ODYwMEE1M0ZGRCAvKiBU
ZXh0RXZlbnQuaWRsICovLAogCQkJCUE3N0I0MTlGMTJFNjc1QTkwMDU0MzQzRCAvKiBUZXh0RXZl
bnRJbnB1dFR5cGUuaCAqLywKLQkJCQlCMTJEMjMzQjEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tM
aXN0LmNwcCAqLywKLQkJCQlCMTJEMjMzQzEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0Lmgg
Ki8sCi0JCQkJQjEyRDIzM0QxMzU2MDI4MjAwMkEyOEQ0IC8qIFRyYWNrTGlzdC5pZGwgKi8sCiAJ
CQkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovLAogCQkJ
CTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAq
LywKIAkJCQk4NTRGRTcyQzBBMjI5N0JFMDA1OEQ3QUQgLyogVHJhdmVyc2FsLmNwcCAqLywKQEAg
LTIxMjY3LDcgKzIxMjUzLDYgQEAKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhj
ZXB0aW9uQ29kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc0QkI3NkIxM0JEQTg2MzAwRkY3QkYw
IC8qIEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ4QUZE
QTUwQUY1ODM2MDAwOENDNzAwIC8qIEV4Y2VwdGlvbkhhbmRsZXJzLmggaW4gSGVhZGVycyAqLywK
LQkJCQlCMTJEMjMzRjEzNTYwMjgyMDAyQTI4RDQgLyogRXhjbHVzaXZlVHJhY2tMaXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk2RTY3RDJBOTEyODBFOEJEMDA4NzU4RjcgLyogRXh0ZW5zaW9uczNE
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTY3RDJBNzEyODBFOEE0MDA4NzU4RjcgLyogRXh0ZW5z
aW9uczNET3BlbkdMLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzVFOEI4OTBFMURFMkQ2MDA3RjI0
ODEgLyogRkVCbGVuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTc4MCw3ICsyMTc2NSw2IEBACiAJ
CQkJRTBGRUYzNzJCMzdDNTNFQUMxQzFGQkVFIC8qIEpTRXZlbnRTb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNjA5MDFGMEU5MUI4RUMwMDBDNjhCNSAvKiBKU0V2ZW50VGFyZ2V0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkzMzE0QUNFQzEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25C
YXNlLmggaW4gSGVhZGVycyAqLywKLQkJCQlCMTJEMjM2QTEzNTYwMzNGMDAyQTI4RDQgLyogSlNF
eGNsdXNpdmVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDBGMDE1MEUwQTE4OTUw
MEZEMDRFMyAvKiBKU0ZpbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5M0M0N0I4MTIzOEEwOTkw
MDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1QjEx
MjJDQTJBNzAwM0FBQkRBIC8qIEpTRmlsZUVudHJ5LmggaW4gSGVhZGVycyAqLywKQEAgLTIxOTE2
LDcgKzIxOTAwLDYgQEAKIAkJCQk4OTg3ODVCNzEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1QjkxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0
YWRhdGFDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDEwOURBMkI0ODAwOTYz
M0E1IC8qIEpTTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQjEyRDIzNkUxMzU2MDM0
RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1
REYzMUZDMDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDRDlDMkMxMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTlEMjQ3RjgwRDc1N0UzNDAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmgg
aW4gSGVhZGVycyAqLywKQEAgLTIyMTI3LDcgKzIyMTEwLDYgQEAKIAkJCQk5MzNBMTRCOTBCN0Qx
RDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUY0NUY2
MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
NDQ2MTQxQjBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmggaW4gSGVhZGVycyAqLywK
LQkJCQlCMTJEMjM2NjEzNTYwMzMwMDAyQTI4RDQgLyogSlNUcmFja0xpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBNzUwRDVEMEE5MERFRTEwMDBGRjIxNSAvKiBKU1RyZWVXYWxrZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4NjYyOUNGMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjBEMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQxNkFy
cmF5LmggaW4gSGVhZGVycyAqLywKQEAgLTIyMjgyLDcgKzIyMjY0LDYgQEAKIAkJCQk5MzVDNDc2
MzA5QUM0Q0U2MDBBNkFBQjQgLyogTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODUwMzFCNDgwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQzA5OUU2NDkyMDA1NkU1ODEgLyogTW92
ZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAotCQkJCUIxMkQyMzQyMTM1NjAyODIw
MDJBMjhENCAvKiBNdWx0aXBsZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFBRDRF
NjMxM0ExMkEwQjAwODQ2QjI3IC8qIE11dGFibGVUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAog
CQkJCTg1MDMxQjRBMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTIzMDY1LDcgKzIzMDQ2LDYgQEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZC
MDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0IwMENENjMzMTAw
MEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFD
OTA2MDA5RDBDQUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCUIxMkQy
MzQ1MTM1NjAyODIwMDJBMjhENCAvKiBUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5
RTkxMUM0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFOTExQ0UwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExRDAwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5z
Zm9ybU9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovLApAQCAtMjMyMzcsNiArMjMyMTcsMTAgQEAK
IAkJCQlGRDdGMjk5NzEzRDRDMENCMDBBRDk1MzUgLyogV2F2ZVNoYXBlclByb2Nlc3Nvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRkQ4MkQ3RjgxM0Q0QzhCRDAwNEU0MzcyIC8qIEpTV2F2ZVNoYXBl
ck5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAvKiBJ
ZGVudGlmaWVyc0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QzlGMzIzMTNENTc0Rjkw
MDUyNjAwQSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDlD
OUYzMjYxM0Q1NzRGOTAwNTI2MDBBIC8qIE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ5QzlGNDhGMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suaCBp
biBIZWFkZXJzICovLAorCQkJCTQ5QzlGNDkxMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI0MjAwLDcgKzI0MTg0LDYgQEAKIAkJ
CQk5MzgzMUI1NzBEMDg3RDYwMDBFNUM5ODQgLyogRXhjZXB0aW9uQ29kZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBN0NBQ0RCMTEzQ0U4NzVDMDBCQkJFM0YgLyogRXhjZXB0aW9uQ29kZVBsYWNl
aG9sZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0OEFGREE2MEFGNTgzNjAwMDhDQzcwMCAv
KiBFeGNlcHRpb25IYW5kbGVycy5tbSBpbiBTb3VyY2VzICovLAotCQkJCUIxMkQyMzNFMTM1NjAy
ODIwMDJBMjhENCAvKiBFeGNsdXNpdmVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NkU2N0QyQTYxMjgwRThBNDAwODc1OEY3IC8qIEV4dGVuc2lvbnMzRE9wZW5HTC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBNzVFOEI4ODBFMURFMkQ2MDA3RjI0ODEgLyogRkVCbGVuZC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBNzVFOEI4QTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb2xvck1hdHJp
eC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI0NzA4LDcgKzI0NjkxLDYgQEAKIAkJCQlCQzI3NUI4
MTExQzVEMkI0MDBDOTIwNkMgLyogSlNFdmVudFNvdXJjZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzYwOTAyMDBFOTFCOEVDMDAwQzY4QjUgLyogSlNFdmVudFRhcmdldC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzMzE0QUNFQjEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25C
YXNlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUIxMkQyMzY5MTM1NjAzM0YwMDJBMjhENCAvKiBK
U0V4Y2x1c2l2ZVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzAwRjAxNDBFMEEx
ODk1MDBGRDA0RTMgLyogSlNGaWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5M0M0N0I3MTIz
OEEwOTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4
OTg3ODVCMDEyMkNBMkE3MDAzQUFCREEgLyogSlNGaWxlRW50cnkuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yNDg3OCw3ICsyNDg2MCw2IEBACiAJCQkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1QjgxMjJDQTJBNzAwM0FB
QkRBIC8qIEpTTWV0YWRhdGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlE
MjA5REEyQjQ4MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUIxMkQyMzZEMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTY1REYzMUZCMDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEOUMyQzAwQzE3QjY5RTAwNUM5MEEyIC8qIEpT
TmFtZWROb2RlTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDlDMjYzMEMxN0FBNjcwMDVD
OTBBMiAvKiBKU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1MTA3
LDcgKzI1MDg4LDYgQEAKIAkJCQk5MzNBMTRCODBCN0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRjQ1RjUwRTY4N0I1QzAwMUMxMjg3IC8qIEpT
VGV4dE1ldHJpY3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0NjE0MUEwQ0Q2ODI2OTAwRkFE
QTc1IC8qIEpTVGltZVJhbmdlcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCMTJEMjM2NTEzNTYw
MzMwMDAyQTI4RDQgLyogSlNUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE3NTBE
NUMwQTkwREVFMTAwMEZGMjE1IC8qIEpTVHJlZVdhbGtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MTZCQjc5NDBDRTkxRTY4MDA1MTJGNzkgLyogSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4NjYyOUQwMDlEQTJCNDgwMDk2MzNBNSAvKiBKU1VJRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0yNTI2Nyw3ICsyNTI0Nyw2IEBACiAJCQkJOTNFQjM1NUYwOUUz
N0ZENjAwRjQzNzk5IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJODUwMzFCNDcwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2ZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5REZCMDk5RTY0OTIwMDU2RTU4MSAvKiBNb3Zl
U2VsZWN0aW9uQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCMTJEMjM0MTEzNTYwMjgy
MDAyQTI4RDQgLyogTXVsdGlwbGVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjFB
RDRFNjIxM0ExMkEwQjAwODQ2QjI3IC8qIE11dGFibGVUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODUwMzFCNDkwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNGMzRBMzcxMUEyMzFDRDAwQzcxODA0IC8qIE5hbWVkTm9kZU1h
cC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1ODcxLDcgKzI1ODUwLDYgQEAKIAkJCQk3NTUzQ0ZF
OTEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzMzA5RUE0MDk5RUI3OEMwMDU2RTU4MSAvKiBUaW1lci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFNDQ2MTNBRjBDRDYzMzEwMDBGQURBNzUgLyogVGltZVJhbmdlcy5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQlCMTJEMjM0NDEzNTYwMjgyMDAyQTI4RDQgLyogVHJhY2tMaXN0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RTkxMUMzMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zv
cm1hdGlvbk1hdHJpeC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTRCQzQwRDEyQUVERDlFMDA3
NDNCRDIgLyogVHJhbnNmb3JtYXRpb25NYXRyaXhDQS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Mjc1MzU1ODBCMDUzODE0MDAyQ0U2NEYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXhDRy5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI2MDIzLDYgKzI2MDAxLDEwIEBACiAJCQkJMjREOTEyQjAxM0NBOUEx
RjAwRDIxOTE1IC8qIFNWR0FsdEdseXBoRGVmRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyNEQ5MTJCNzEzQ0E5QTY5MDBEMjE5MTUgLyogU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyNEQ5MTJCRDEzQ0E5QTk3MDBEMjE5MTUgLyogU1ZHR2x5cGhS
ZWZFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5QzlGMzI0MTNENTc0RjkwMDUyNjAw
QSAvKiBNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0OUM5RjMy
NzEzRDU3NEY5MDA1MjYwMEEgLyogTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk0OUM5RjQ4RTEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTQ5QzlGNDkwMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRUYXJnZXQuY3BwCmluZGV4IGU4MTYzZTIuLjJmM2Y2MWIgMTAwNjQ0Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcAorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldC5jcHAKQEAgLTEwNSwxMiArMTA1LDYgQEAKICNp
bmNsdWRlICJNZWRpYVN0cmVhbS5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0jaW5jbHVkZSAiRXhjbHVzaXZlVHJhY2tMaXN0Lmgi
Ci0jaW5jbHVkZSAiTXVsdGlwbGVUcmFja0xpc3QuaCIKLSNpbmNsdWRlICJUcmFja0xpc3QuaCIK
LSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0yMDgsMTcgKzIwMiw2IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50VGFyZ2V0KiB0YXJnCiAgICAgICAgIHJldHVy
biB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RyZWFtKTsKICNlbmRpZgogCi0jaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIGlmIChNdWx0aXBsZVRy
YWNrTGlzdCogbXVsdGlwbGVUcmFja0xpc3QgPSB0YXJnZXQtPnRvTXVsdGlwbGVUcmFja0xpc3Qo
KSkKLSAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBtdWx0aXBsZVRyYWNr
TGlzdCk7Ci0KLSAgICBpZiAoRXhjbHVzaXZlVHJhY2tMaXN0KiBleGNsdXNpdmVUcmFja0xpc3Qg
PSB0YXJnZXQtPnRvRXhjbHVzaXZlVHJhY2tMaXN0KCkpCi0gICAgICAgIHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCwgZXhjbHVzaXZlVHJhY2tMaXN0KTsKLQotICAgIGlmIChUcmFja0xp
c3QqIHRyYWNrTGlzdCA9IHRhcmdldC0+dG9UcmFja0xpc3QoKSkKLSAgICAgICAgcmV0dXJuIHRv
SlMoZXhlYywgZ2xvYmFsT2JqZWN0LCB0cmFja0xpc3QpOwotI2VuZGlmCi0KICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4ganNOdWxsKCk7CiB9CmRpZmYgLS1naXQgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCmluZGV4IDQ2Y2ZiZWQuLjAzNGQ1NDcgMTAwNjQ0Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCkBAIC00Nyw3ICs0Nyw2IEBACiAj
aW5jbHVkZSAiVjhFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiVjhFdmVudExpc3RlbmVyTGlz
dC5oIgogI2luY2x1ZGUgIlY4RXZlbnRTb3VyY2UuaCIKLSNpbmNsdWRlICJWOEV4Y2x1c2l2ZVRy
YWNrTGlzdC5oIgogI2luY2x1ZGUgIlY4RmlsZVJlYWRlci5oIgogI2luY2x1ZGUgIlY4RmlsZVdy
aXRlci5oIgogI2luY2x1ZGUgIlY4SFRNTENvbGxlY3Rpb24uaCIKQEAgLTYxLDcgKzYwLDYgQEAK
ICNpbmNsdWRlICJWOExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiVjhNZWRpYVN0cmVhbS5oIgogI2lu
Y2x1ZGUgIlY4TWVzc2FnZUNoYW5uZWwuaCIKLSNpbmNsdWRlICJWOE11bHRpcGxlVHJhY2tMaXN0
LmgiCiAjaW5jbHVkZSAiVjhOYW1lZE5vZGVNYXAuaCIKICNpbmNsdWRlICJWOE5vZGUuaCIKICNp
bmNsdWRlICJWOE5vZGVGaWx0ZXJDb25kaXRpb24uaCIKQEAgLTcxLDcgKzY5LDYgQEAKICNpbmNs
dWRlICJWOFNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIlY4U2hhcmVkV29ya2VyQ29udGV4dC5o
IgogI2luY2x1ZGUgIlY4U3R5bGVTaGVldC5oIgotI2luY2x1ZGUgIlY4VHJhY2tMaXN0LmgiCiAj
aW5jbHVkZSAiVjhXZWJTb2NrZXQuaCIKICNpbmNsdWRlICJWOFdvcmtlci5oIgogI2luY2x1ZGUg
IlY4V29ya2VyQ29udGV4dC5oIgpAQCAtNDU5LDE3ICs0NTYsNiBAQCB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhET01XcmFwcGVyOjpjb252ZXJ0RXZlbnRUYXJnZXRUb1Y4T2JqZWN0KEV2ZW50VGFy
Z2V0KiB0YQogICAgICAgICByZXR1cm4gdG9WOChzdHJlYW0pOwogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgaWYgKE11bHRpcGxl
VHJhY2tMaXN0KiBtdWx0aXBsZVRyYWNrTGlzdCA9IHRhcmdldC0+dG9NdWx0aXBsZVRyYWNrTGlz
dCgpKQotICAgICAgICByZXR1cm4gdG9WOChtdWx0aXBsZVRyYWNrTGlzdCk7Ci0KLSAgICBpZiAo
RXhjbHVzaXZlVHJhY2tMaXN0KiBleGNsdXNpdmVUcmFja0xpc3QgPSB0YXJnZXQtPnRvRXhjbHVz
aXZlVHJhY2tMaXN0KCkpCi0gICAgICAgIHJldHVybiB0b1Y4KGV4Y2x1c2l2ZVRyYWNrTGlzdCk7
Ci0KLSAgICBpZiAoVHJhY2tMaXN0KiB0cmFja0xpc3QgPSB0YXJnZXQtPnRvVHJhY2tMaXN0KCkp
Ci0gICAgICAgIHJldHVybiB0b1Y4KHRyYWNrTGlzdCk7Ci0jZW5kaWYKLQogICAgIEFTU0VSVCgw
KTsKICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIH0KZGlmZiAtLWdpdCBT
b3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01B
bGxJbk9uZS5jcHAKaW5kZXggOWNiMDk4ZS4uZjI5Mzk4OSAxMDA2NDQKLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9u
ZS5jcHAKQEAgLTc2LDE4ICs3NiwxOCBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkJhc2UuY3BwIgog
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuY3BwIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFj
ZWhvbGRlci5jcHAiCi0jaW5jbHVkZSAiRXhjbHVzaXZlVHJhY2tMaXN0LmNwcCIKICNpbmNsdWRl
ICJJY29uVVJMLmNwcCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmNwcCIKICNpbmNsdWRlICJM
b2NhbE1lZGlhU3RyZWFtLmNwcCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbS5jcHAiCisjaW5jbHVk
ZSAiTWVkaWFTdHJlYW1UcmFjay5jcHAiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja0xpc3Qu
Y3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKICNpbmNsdWRlICJNZXNzYWdlRXZl
bnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmNwcCIKICNpbmNsdWRlICJNZXNzYWdlUG9y
dENoYW5uZWwuY3BwIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1vdXNl
UmVsYXRlZEV2ZW50LmNwcCIKLSNpbmNsdWRlICJNdWx0aXBsZVRyYWNrTGlzdC5jcHAiCiAjaW5j
bHVkZSAiTXV0YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiTmFtZU5vZGVMaXN0LmNwcCIKICNp
bmNsdWRlICJOb2RlRmlsdGVyLmNwcCIKQEAgLTEyOSw3ICsxMjksNiBAQAogI2luY2x1ZGUgIlRv
dWNoLmNwcCIKICNpbmNsdWRlICJUb3VjaEV2ZW50LmNwcCIKICNpbmNsdWRlICJUb3VjaExpc3Qu
Y3BwIgotI2luY2x1ZGUgIlRyYWNrTGlzdC5jcHAiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU291cmNl
TGlieHNsdC5jcHAiCiAjaW5jbHVkZSAiVHJhdmVyc2FsLmNwcCIKICNpbmNsdWRlICJUcmVlU2Nv
cGUuY3BwIgpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAppbmRleCAxNWYzODIxLi5hMjhiZGIxIDEw
MDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtMjE3LDIzICsyMTcsNiBAQCBMb2NhbE1lZGlh
U3RyZWFtKiBFdmVudFRhcmdldDo6dG9Mb2NhbE1lZGlhU3RyZWFtKCkKIH0KICNlbmRpZgogCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQotVHJhY2tMaXN0
KiBFdmVudFRhcmdldDo6dG9UcmFja0xpc3QoKQotewotICAgIHJldHVybiAwOwotfQotCi1NdWx0
aXBsZVRyYWNrTGlzdCogRXZlbnRUYXJnZXQ6OnRvTXVsdGlwbGVUcmFja0xpc3QoKQotewotICAg
IHJldHVybiAwOwotfQotCi1FeGNsdXNpdmVUcmFja0xpc3QqIEV2ZW50VGFyZ2V0Ojp0b0V4Y2x1
c2l2ZVRyYWNrTGlzdCgpCi17Ci0gICAgcmV0dXJuIDA7Ci19Ci0jZW5kaWYKLQogYm9vbCBFdmVu
dFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
UGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciwgYm9vbCB1c2VDYXB0dXJlKQogewog
ICAgIEV2ZW50VGFyZ2V0RGF0YSogZCA9IGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOwpkaWZmIC0t
Z2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIFNvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCmluZGV4IGFlMmE2NGUuLmJjYzc1OGMgMTAwNjQ0Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmgKQEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50
OwogICAgIGNsYXNzIEV2ZW50TGlzdGVuZXI7CiAgICAgY2xhc3MgRXZlbnRTb3VyY2U7Ci0gICAg
Y2xhc3MgRXhjbHVzaXZlVHJhY2tMaXN0OwogICAgIGNsYXNzIEZpbGVSZWFkZXI7CiAgICAgY2xh
c3MgRmlsZVdyaXRlcjsKICAgICBjbGFzcyBJREJEYXRhYmFzZTsKQEAgLTU4LDE0ICs1NywxMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxNZWRpYVN0cmVhbTsKICAgICBj
bGFzcyBNZWRpYVN0cmVhbTsKICAgICBjbGFzcyBNZXNzYWdlUG9ydDsKLSAgICBjbGFzcyBNdWx0
aXBsZVRyYWNrTGlzdDsKICAgICBjbGFzcyBOb2RlOwogICAgIGNsYXNzIE5vdGlmaWNhdGlvbjsK
ICAgICBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXI7CiAgICAgY2xhc3MgU2hhcmVkV29ya2Vy
Q29udGV4dDsKLSAgICBjbGFzcyBUcmFja0xpc3Q7CiAgICAgY2xhc3MgV2ViU29ja2V0OwogICAg
IGNsYXNzIFdvcmtlcjsKICAgICBjbGFzcyBYTUxIdHRwUmVxdWVzdDsKQEAgLTE1NywxMiArMTU0
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIExvY2FsTWVkaWFTdHJl
YW0qIHRvTG9jYWxNZWRpYVN0cmVhbSgpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgIHZpcnR1YWwgVHJhY2tMaXN0KiB0
b1RyYWNrTGlzdCgpOwotICAgICAgICB2aXJ0dWFsIE11bHRpcGxlVHJhY2tMaXN0KiB0b011bHRp
cGxlVHJhY2tMaXN0KCk7Ci0gICAgICAgIHZpcnR1YWwgRXhjbHVzaXZlVHJhY2tMaXN0KiB0b0V4
Y2x1c2l2ZVRyYWNrTGlzdCgpOwotI2VuZGlmCi0KICAgICAgICAgdmlydHVhbCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgPSAwOwogCiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+LCBib29sIHVzZUNhcHR1cmUpOwpkaWZm
IC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuY3BwIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmOTZkMjI4Li4wMDAwMDAwCi0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZl
VHJhY2tMaXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
Ci0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJFeGNsdXNpdmVUcmFja0xpc3QuaCIK
LQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLQotI2lu
Y2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLVBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiBFeGNsdXNpdmVUcmFja0xp
c3Q6OmNyZWF0ZShjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzLCBsb25nIHNlbGVjdGVkSW5kZXgp
Ci17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBFeGNsdXNpdmVUcmFja0xpc3QodHJhY2tzLCBz
ZWxlY3RlZEluZGV4KSk7Ci19Ci0KLUV4Y2x1c2l2ZVRyYWNrTGlzdDo6RXhjbHVzaXZlVHJhY2tM
aXN0KGNvbnN0IFRyYWNrVmVjdG9yJiB0cmFja3MsIGxvbmcgc2VsZWN0ZWRJbmRleCkKLSAgICA6
IFRyYWNrTGlzdCh0cmFja3MpCi0gICAgLCBtX3NlbGVjdGVkSW5kZXgoc2VsZWN0ZWRJbmRleCkK
LXsKLSAgICBBU1NFUlQobV9zZWxlY3RlZEluZGV4ID49IE5vU2VsZWN0aW9uICYmIG1fc2VsZWN0
ZWRJbmRleCA8IHN0YXRpY19jYXN0PGxvbmc+KGxlbmd0aCgpKSk7Ci19Ci0KLUV4Y2x1c2l2ZVRy
YWNrTGlzdDo6fkV4Y2x1c2l2ZVRyYWNrTGlzdCgpCi17Ci19Ci0KLXZvaWQgRXhjbHVzaXZlVHJh
Y2tMaXN0OjpjbGVhcigpCi17Ci0gICAgbV9zZWxlY3RlZEluZGV4ID0gTm9TZWxlY3Rpb247Ci0g
ICAgVHJhY2tMaXN0OjpjbGVhcigpOwotfQotCi12b2lkIEV4Y2x1c2l2ZVRyYWNrTGlzdDo6c2Vs
ZWN0KGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghY2hlY2tJbmRl
eChpbmRleCwgZWMsIE5vU2VsZWN0aW9uKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9zZWxl
Y3RlZEluZGV4ID0gaW5kZXg7Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGlmICht
ZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpKQotICAgICAgICBtZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcigpLT5zZWxlY3RWaWRlb1RyYWNrKGFzc29jaWF0ZWRTdHJlYW1MYWJlbCgpLCBpbmRl
eCk7Ci0jZW5kaWYKLQotICAgIHBvc3RDaGFuZ2VFdmVudCgpOwotfQotCi0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKLXZvaWQgRXhjbHVzaXZlVHJhY2tMaXN0Ojp0cmFja0ZhaWxlZCh1bnNpZ25l
ZCBsb25nIGluZGV4KQotewotICAgIGlmIChtX3NlbGVjdGVkSW5kZXggPT0gc3RhdGljX2Nhc3Q8
bG9uZz4oaW5kZXgpKQotICAgICAgICBtX3NlbGVjdGVkSW5kZXggPSBOb1NlbGVjdGlvbjsKLQot
ICAgIFRyYWNrTGlzdDo6dHJhY2tGYWlsZWQoaW5kZXgpOwotfQotI2VuZGlmCi0KLUV4Y2x1c2l2
ZVRyYWNrTGlzdCogRXhjbHVzaXZlVHJhY2tMaXN0Ojp0b0V4Y2x1c2l2ZVRyYWNrTGlzdCgpCi17
Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKZGlmZiAtLWdp
dCBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJhY2tMaXN0LmggU291cmNlL1dlYkNvcmUv
ZG9tL0V4Y2x1c2l2ZVRyYWNrTGlzdC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
YzM3ZDFlLi4wMDAwMDAwCi0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZlVHJhY2tMaXN0
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVm
IEV4Y2x1c2l2ZVRyYWNrTGlzdF9oCi0jZGVmaW5lIEV4Y2x1c2l2ZVRyYWNrTGlzdF9oCi0KLSNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0KLSNpbmNsdWRl
ICJUcmFja0xpc3QuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgRXhjbHVzaXZlVHJhY2tMaXN0IDogcHVibGljIFRyYWNrTGlzdCB7Ci1w
dWJsaWM6Ci0gICAgc3RhdGljIGNvbnN0IGxvbmcgTm9TZWxlY3Rpb24gPSAtMTsKLQotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gY3JlYXRlKGNvbnN0IFRyYWNrVmVj
dG9yJiwgbG9uZyBzZWxlY3RlZEluZGV4ID0gTm9TZWxlY3Rpb24pOwotICAgIHZpcnR1YWwgfkV4
Y2x1c2l2ZVRyYWNrTGlzdCgpOwotCi0gICAgaW50IHNlbGVjdGVkSW5kZXgoKSBjb25zdCB7IHJl
dHVybiBtX3NlbGVjdGVkSW5kZXg7IH0KLSAgICB2b2lkIHNlbGVjdChsb25nIGluZGV4LCBFeGNl
cHRpb25Db2RlJik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoKTsKLQotI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCi0gICAgdmlydHVhbCB2b2lkIHRyYWNrRmFpbGVkKHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwotI2VuZGlmCi0KLSAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KLSAg
ICB2aXJ0dWFsIEV4Y2x1c2l2ZVRyYWNrTGlzdCogdG9FeGNsdXNpdmVUcmFja0xpc3QoKTsKLQot
cHJpdmF0ZToKLSAgICBFeGNsdXNpdmVUcmFja0xpc3QoY29uc3QgVHJhY2tWZWN0b3ImLCBsb25n
IHNlbGVjdGVkSW5kZXgpOwotCi0gICAgbG9uZyBtX3NlbGVjdGVkSW5kZXg7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSB8fCBF
TkFCTEUoVklERU9fVFJBQ0spCi0KLSNlbmRpZiAvLyBFeGNsdXNpdmVUcmFja0xpc3RfaApkaWZm
IC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuaWRsIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FeGNsdXNpdmVUcmFja0xpc3QuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5Njg5Yjk4Li4wMDAwMDAwCi0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjbHVzaXZl
VHJhY2tMaXN0LmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
Ci0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLW1vZHVsZSBjb3JlIHsKLQotICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFs
PU1FRElBX1NUUkVBTXxWSURFT19UUkFDSywKLSAgICAgICAgTGVnYWN5RGVmYXVsdE9wdGlvbmFs
QXJndW1lbnRzLAotICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICBdIEV4Y2x1
c2l2ZVRyYWNrTGlzdCA6IFRyYWNrTGlzdCB7Ci0gICAgICAgIC8vIEZJWE1FOiB0aGUgc3BlYyBz
YXlzIHVuc2lnbmVkIGxvbmcsIGJ1dCAtMSBpcyB1c2VkIHdoZW4gbm90aGluZyBpcyBzZWxlY3Rl
ZC4KLSAgICAgICAgLy8gQSBidWcgaGFzIGJlZW4gYWxyZWFkeSBzdWJtaXR0ZWQgdG8gdGhlIHNw
ZWMgZHJhZnQuCi0gICAgICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3df
YnVnLmNnaT9pZD0xMjYwMAotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rl
ZEluZGV4OwotICAgICAgICB2b2lkIHNlbGVjdChpbiBsb25nIGluZGV4KQotICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgfTsKLQotfQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJD
b3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcCBTb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRp
YVN0cmVhbS5jcHAKaW5kZXggMWQwYmY1NC4uZGYzNzIyNyAxMDA2NDQKLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcAorKysgU291cmNlL1dlYkNvcmUvZG9tL0xvY2Fs
TWVkaWFTdHJlYW0uY3BwCkBAIC0yOSw5ICsyOSw3IEBACiAKICNpbmNsdWRlICJFdmVudC5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJFeGNsdXNpdmVUcmFja0xpc3QuaCIK
ICNpbmNsdWRlICJNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIk11bHRp
cGxlVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01OSwyMCArNTcsMTQgQEAgcHVibGljOgogICAgIENhbGxi
YWNrIG1fY2FsbGJhY2s7CiB9OwogCi1QYXNzUmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IExvY2Fs
TWVkaWFTdHJlYW06OmNyZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250
cm9sbGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0
PiBhdWRpb1RyYWNrcywgUGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tz
KQorUGFzc1JlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUo
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5n
JiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKQogewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgTG9jYWxNZWRpYVN0cmVhbShmcmFtZUNvbnRyb2xsZXIsIGxh
YmVsLCBhdWRpb1RyYWNrcywgdmlkZW9UcmFja3MpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IExvY2FsTWVkaWFTdHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCwgdHJhY2tzKSk7CiB9CiAK
LUxvY2FsTWVkaWFTdHJlYW06OkxvY2FsTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRy
b2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxN
dWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3MsIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tM
aXN0PiB2aWRlb1RyYWNrcykKLSAgICA6IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFi
ZWwsIHRydWUpCi0gICAgLCBtX2F1ZGlvVHJhY2tzKGF1ZGlvVHJhY2tzKQotICAgICwgbV92aWRl
b1RyYWNrcyh2aWRlb1RyYWNrcykKK0xvY2FsTWVkaWFTdHJlYW06OkxvY2FsTWVkaWFTdHJlYW0o
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5n
JiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKQorICAgIDog
TWVkaWFTdHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCwgdHJhY2tzLCB0cnVlKQogewotICAg
IEFTU0VSVChtX2F1ZGlvVHJhY2tzKTsKLSAgICBBU1NFUlQobV92aWRlb1RyYWNrcyk7Ci0gICAg
bV9hdWRpb1RyYWNrcy0+YXNzb2NpYXRlU3RyZWFtKGxhYmVsKTsKLSAgICBtX3ZpZGVvVHJhY2tz
LT5hc3NvY2lhdGVTdHJlYW0obGFiZWwpOwogfQogCiBMb2NhbE1lZGlhU3RyZWFtOjp+TG9jYWxN
ZWRpYVN0cmVhbSgpCkBAIC05NCwzMCArODYsMTUgQEAgdm9pZCBMb2NhbE1lZGlhU3RyZWFtOjpk
ZXRhY2hFbWJlZGRlcigpCiAKIHZvaWQgTG9jYWxNZWRpYVN0cmVhbTo6c3RyZWFtRW5kZWQoKQog
ewotICAgIG1fYXVkaW9UcmFja3MtPmNsZWFyKCk7Ci0gICAgbV92aWRlb1RyYWNrcy0+Y2xlYXIo
KTsKLQogICAgIE1lZGlhU3RyZWFtOjpzdHJlYW1FbmRlZCgpOwogfQogCi1QYXNzUmVmUHRyPE11
bHRpcGxlVHJhY2tMaXN0PiBMb2NhbE1lZGlhU3RyZWFtOjphdWRpb1RyYWNrcygpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG1fYXVkaW9UcmFja3M7Ci19Ci0KLVBhc3NSZWZQdHI8RXhjbHVzaXZlVHJh
Y2tMaXN0PiBMb2NhbE1lZGlhU3RyZWFtOjp2aWRlb1RyYWNrcygpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fdmlkZW9UcmFja3M7Ci19Ci0KIHZvaWQgTG9jYWxNZWRpYVN0cmVhbTo6c3RvcCgpCiB7
CiAgICAgaWYgKCFtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpIHx8IG1fcmVhZHlTdGF0ZSA9
PSBFTkRFRCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIoKS0+c3RvcEdlbmVyYXRlZFN0cmVhbShsYWJlbCgpKTsKLSAgICBtX2F1ZGlvVHJhY2tzLT5j
bGVhcigpOwotICAgIG1fdmlkZW9UcmFja3MtPmNsZWFyKCk7CiAKICAgICBtX3JlYWR5U3RhdGUg
PSBFTkRFRDsKIApkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFt
LmggU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaAppbmRleCBjYWI0NzdlLi42
Yzg1NDA4IDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaAor
KysgU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaApAQCAtMzIsMTkgKzMyLDEz
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRXhjbHVzaXZlVHJhY2tMaXN0Owot
Y2xhc3MgTXVsdGlwbGVUcmFja0xpc3Q7Ci0KIGNsYXNzIExvY2FsTWVkaWFTdHJlYW0gOiBwdWJs
aWMgTWVkaWFTdHJlYW0gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPExvY2FsTWVk
aWFTdHJlYW0+IGNyZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmlu
ZyYgbGFiZWwsIFBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGF1ZGlvVHJhY2tzLCBQYXNz
UmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3MpOworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IGNyZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
ciosIGNvbnN0IFN0cmluZyYgbGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+
IHRyYWNrcyk7CiAgICAgdmlydHVhbCB+TG9jYWxNZWRpYVN0cmVhbSgpOwogCiAgICAgdm9pZCBz
dG9wKCk7CiAKLSAgICBQYXNzUmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBhdWRpb1RyYWNrcygp
IGNvbnN0OwotICAgIFBhc3NSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcygp
IGNvbnN0OwotCiAgICAgLy8gTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OlN0cmVhbUNsaWVu
dCBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoRW1iZWRkZXIoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc3RyZWFtRW5kZWQoKTsKQEAgLTUyLDE1ICs0NiwxNSBAQCBwdWJsaWM6
CiAgICAgLy8gRXZlbnRUYXJnZXQuCiAgICAgdmlydHVhbCBMb2NhbE1lZGlhU3RyZWFtKiB0b0xv
Y2FsTWVkaWFTdHJlYW0oKTsKIAorcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgYm9vbCBpc0xvY2Fs
TWVkaWFTdHJlYW0oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKIHByaXZhdGU6Ci0gICAgTG9j
YWxNZWRpYVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYg
bGFiZWwsIFBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGF1ZGlvVHJhY2tzLCBQYXNzUmVm
UHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlkZW9UcmFja3MpOworICAgIExvY2FsTWVkaWFTdHJl
YW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFja3MpOwogICAgIGNsYXNzIERpc3BhdGNo
VXBkYXRlVGFzazsKICAgICBmcmllbmQgY2xhc3MgRGlzcGF0Y2hVcGRhdGVUYXNrOwogCiAgICAg
dm9pZCBvblN0b3AoKTsKLQotICAgIFJlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gbV9hdWRpb1Ry
YWNrczsKLSAgICBSZWZQdHI8RXhjbHVzaXZlVHJhY2tMaXN0PiBtX3ZpZGVvVHJhY2tzOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9M
b2NhbE1lZGlhU3RyZWFtLmlkbCBTb3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVhbS5p
ZGwKaW5kZXggMWY4ZmUyNi4uZTQ3MjVhMCAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9M
b2NhbE1lZGlhU3RyZWFtLmlkbAorKysgU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJl
YW0uaWRsCkBAIC0yMywxNiArMjMsMTMgQEAKICAqLwogCiBtb2R1bGUgY29yZSB7CisKICAgICBp
bnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgICAgIEdl
bmVyYXRlTmF0aXZlQ29udmVydGVyLAogICAgICAgICBFdmVudFRhcmdldAogICAgIF0gTG9jYWxN
ZWRpYVN0cmVhbSA6IE1lZGlhU3RyZWFtIHsKICAgICAgICAgdm9pZCBzdG9wKCk7Ci0KLSAgICAg
ICAgLy8gVHJhY2sgY29udHJvbC4KLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE11bHRpcGxl
VHJhY2tMaXN0IGF1ZGlvVHJhY2tzOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRXhjbHVz
aXZlVHJhY2tMaXN0IHZpZGVvVHJhY2tzOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBTb3VyY2Uv
V2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uY3BwIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVh
bS5jcHAKaW5kZXggODI5NzIwNC4uYjA5ZmJhMiAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9NZWRpYVN0cmVhbS5jcHAKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5jcHAK
QEAgLTMyLDE0ICszMiwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8
TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK1Bhc3NSZWZQdHI8TWVk
aWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIq
IGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbVRyYWNrTGlzdD4gdHJhY2tzLCBib29sIGlzTG9jYWxNZWRpYVN0cmVhbSkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFi
ZWwsIHRyYWNrcywgaXNMb2NhbE1lZGlhU3RyZWFtKSk7CiB9CiAKLU1lZGlhU3RyZWFtOjpNZWRp
YVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25z
dCBTdHJpbmcmIGxhYmVsLCBib29sIGlzTG9jYWxNZWRpYVN0cmVhbSkKK01lZGlhU3RyZWFtOjpN
ZWRpYVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBj
b25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFj
a3MsIGJvb2wgaXNMb2NhbE1lZGlhU3RyZWFtKQogICAgIDogTWVkaWFTdHJlYW1DbGllbnQoZnJh
bWVDb250cm9sbGVyLCBsYWJlbCwgaXNMb2NhbE1lZGlhU3RyZWFtKQogICAgICwgbV9yZWFkeVN0
YXRlKExJVkUpCisgICAgLCBtX3RyYWNrcyh0cmFja3MpCiB7CiB9CiAKZGlmZiAtLWdpdCBTb3Vy
Y2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW0uaCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJl
YW0uaAppbmRleCBlZjUyMGQzLi5hNjE5NTYwIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9t
L01lZGlhU3RyZWFtLmgKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5oCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRl
ICJNZWRpYVN0cmVhbVRyYWNrTGlzdC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CkBAIC00NywxNiArNDgsMTYgQEAgcHVibGljOgogICAgICAgICBFTkRFRCA9IDIKICAgICB9
OwogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IGNyZWF0ZShNZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYgbGFiZWwpOworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtPiBjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBj
b25zdCBTdHJpbmcmIGxhYmVsLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFj
a3MsIGJvb2wgaXNMb2NhbE1lZGlhU3RyZWFtID0gZmFsc2UpOwogICAgIHZpcnR1YWwgfk1lZGlh
U3RyZWFtKCk7CiAKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRoZSByZWNvcmQgbWV0aG9kIHdo
ZW4gTWVkaWFTdHJlYW1SZWNvcmRlciBpcyBhdmFpbGFibGUuCi0KICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGVuZGVkKTsKIAogICAgIHVuc2lnbmVkIHNob3J0IHJlYWR5U3Rh
dGUoKSBjb25zdCB7IHJldHVybiBtX3JlYWR5U3RhdGU7IH0KICAgICBjb25zdCBTdHJpbmcmIGxh
YmVsKCkgY29uc3QgeyByZXR1cm4gY2xpZW50SWQoKTsgfQogCisgICAgUGFzc1JlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKCkgeyByZXR1cm4gbV90cmFja3M7IH0KKwogICAgIC8v
IE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpNZWRpYVN0cmVhbUNsaWVudCBpbXBsZW1lbnRh
dGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtRW5kZWQoKTsKIApAQCAtNjgsNyArNjksNyBA
QCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYVN0cmVhbT46OmRlcmVmOwogCiBw
cm90ZWN0ZWQ6Ci0gICAgTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBj
b25zdCBTdHJpbmcmIGxhYmVsLCBib29sIGlzTG9jYWxNZWRpYVN0cmVhbSA9IGZhbHNlKTsKKyAg
ICBNZWRpYVN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYg
bGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRyYWNrcywgYm9vbCBpc0xv
Y2FsTWVkaWFTdHJlYW0pOwogCiAgICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCiAg
ICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpOwpAQCAtODQsNiAr
ODUsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBk
ZXJlZigpOyB9CiAKICAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisKKyAg
ICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IG1fdHJhY2tzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5p
ZGwgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbAppbmRleCBlOGY4NDE1Li5lMzIx
MmNlIDEwMDY0NAotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbAorKysgU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtLmlkbApAQCAtMjMsMTIgKzIzLDE1IEBACiAgKi8K
IAogbW9kdWxlIGNvcmUgeworCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgTGVnYWN5RGVmYXVs
dE9wdGlvbmFsQXJndW1lbnRzLAogICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAg
ICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBNZWRpYVN0cmVhbSB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBN
ZWRpYVN0cmVhbVRyYWNrTGlzdCB0cmFja3M7CisKICAgICAgICAgLy8gRklYTUU6IGltcGxlbWVu
dCB0aGUgcmVjb3JkIG1ldGhvZCB3aGVuIE1lZGlhU3RyZWFtUmVjb3JkZXIgaXMgYXZhaWxhYmxl
LgogCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IExJVkUgPSAxOwpkaWZmIC0tZ2l0IFNv
dXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBTb3VyY2UvV2ViQ29yZS9kb20v
TWVkaWFTdHJlYW1UcmFjay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YmU0Y2JmNwotLS0gL2Rldi9udWxsCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1U
cmFjay5jcHAKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKKworI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRy
YWNrPiBNZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3Ry
aW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsKQoreworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgTWVkaWFTdHJlYW1UcmFjayhpZCwga2luZCwgbGFiZWwpKTsKK30KKworTWVkaWFTdHJlYW1U
cmFjazo6TWVkaWFTdHJlYW1UcmFjayhjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIGtp
bmQsIGNvbnN0IFN0cmluZyYgbGFiZWwpCisgICAgOiBtX2lkKGlkKQorICAgICwgbV9raW5kKGtp
bmQpCisgICAgLCBtX2xhYmVsKGxhYmVsKQorICAgICwgbV9lbmFibGVkKHRydWUpCit7Cit9CisK
K01lZGlhU3RyZWFtVHJhY2s6On5NZWRpYVN0cmVhbVRyYWNrKCkKK3sKK30KKworY29uc3QgU3Ry
aW5nJiBNZWRpYVN0cmVhbVRyYWNrOjpraW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9raW5k
OworfQorCitjb25zdCBTdHJpbmcmIE1lZGlhU3RyZWFtVHJhY2s6OmxhYmVsKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9sYWJlbDsKK30KKworYm9vbCBNZWRpYVN0cmVhbVRyYWNrOjplbmFibGVk
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9lbmFibGVkOworfQorCit2b2lkIE1lZGlhU3RyZWFt
VHJhY2s6OnNldEVuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fZW5hYmxlZCA9IGVuYWJs
ZWQ7CisKKyAgICBpZiAobWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKSkKKyAgICAgICAgbWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+c2V0TWVkaWFTdHJlYW1UcmFja0VuYWJsZWQobV9p
ZCwgZW5hYmxlZCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3Ry
ZWFtVHJhY2suaCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyMjJkYzcKLS0tIC9kZXYvbnVsbAorKysgU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suaApAQCAtMCwwICsxLDY1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIE1lZGlhU3RyZWFtVHJhY2tfaAorI2RlZmluZSBNZWRpYVN0cmVh
bVRyYWNrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRp
YVN0cmVhbVRyYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFjaz4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgcHVibGljIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpH
ZW5lcmljQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVh
bVRyYWNrPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiBraW5kLCBjb25z
dCBTdHJpbmcmIGxhYmVsKTsKKyAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbVRyYWNrKCk7CisKKyAg
ICBjb25zdCBTdHJpbmcmIGtpbmQoKSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIGxhYmVsKCkg
Y29uc3Q7CisKKyAgICBib29sIGVuYWJsZWQoKSBjb25zdDsKKyAgICB2b2lkIHNldEVuYWJsZWQo
Ym9vbCBlbmFibGVkKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYVN0cmVhbVRyYWNrKGNvbnN0IFN0
cmluZyYgaWQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCk7CisKKyAg
ICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9raW5kOworICAgIFN0cmluZyBtX2xhYmVsOwor
ICAgIGJvb2wgbV9lbmFibGVkOworfTsKKwordHlwZWRlZiBWZWN0b3I8UmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2s+ID4gVHJhY2tWZWN0b3I7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBNZWRpYVN0cmVhbVRyYWNr
X2gKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5pZGwgU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjI5ODc1YWEKLS0tIC9kZXYvbnVsbAorKysgU291cmNlL1dlYkNvcmUv
ZG9tL01lZGlhU3RyZWFtVHJhY2suaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTSwKKyAgICBdIE1lZGlhU3RyZWFtVHJhY2sgeworICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBraW5kOworICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBsYWJlbDsKKyAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGVuYWJsZWQ7CisgICAg
fTsKKworfQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlz
dC5jcHAgU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmNjNjdjCi0tLSAvZGV2L251bGwKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAKQEAgLTAsMCArMSw2MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU3Ry
ZWFtVHJhY2tMaXN0LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IE1lZGlhU3RyZWFt
VHJhY2tMaXN0OjpjcmVhdGUoY29uc3QgVHJhY2tWZWN0b3ImIHRyYWNrcykKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtVHJhY2tMaXN0KHRyYWNrcykpOworfQorCitNZWRp
YVN0cmVhbVRyYWNrTGlzdDo6TWVkaWFTdHJlYW1UcmFja0xpc3QoY29uc3QgVHJhY2tWZWN0b3Im
IHRyYWNrcykKKyAgICA6IG1fdHJhY2tzKHRyYWNrcykKK3sKK30KKworTWVkaWFTdHJlYW1UcmFj
a0xpc3Q6On5NZWRpYVN0cmVhbVRyYWNrTGlzdCgpCit7Cit9CisKK3Vuc2lnbmVkIE1lZGlhU3Ry
ZWFtVHJhY2tMaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJldHVybiBtX3RyYWNrcy5zaXpl
KCk7Cit9CisKK1Bhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gTWVkaWFTdHJlYW1UcmFja0xp
c3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4IDwgbV90cmFj
a3Muc2l6ZSgpKQorICAgICAgICByZXR1cm4gbV90cmFja3MuYXQoaW5kZXgpOworICAgIGVsc2UK
KyAgICAgICAgcmV0dXJuIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4oKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlm
ZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaCBTb3VyY2Uv
V2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4xZWZlNmFlCi0tLSAvZGV2L251bGwKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgTWVkaWFTdHJlYW1UcmFja0xpc3RfaAorI2RlZmluZSBNZWRpYVN0cmVhbVRyYWNr
TGlzdF9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiTWVkaWFTdHJl
YW1UcmFjay5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTWVkaWFTdHJlYW1UcmFja0xpc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YVN0cmVhbVRyYWNrTGlzdD4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtVHJhY2tMaXN0PiBjcmVhdGUoY29uc3QgVHJhY2tWZWN0b3ImIG1fdHJhY2tzKTsKKyAg
ICB2aXJ0dWFsIH5NZWRpYVN0cmVhbVRyYWNrTGlzdCgpOworCisgICAgLy8gRE9NIG1ldGhvZHMg
JiBhdHRyaWJ1dGVzIGZvciBNZWRpYVN0cmVhbVRyYWNrTGlzdAorICAgIHVuc2lnbmVkIGxlbmd0
aCgpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gaXRlbSh1bnNpZ25l
ZCBpbmRleCkgY29uc3Q7CisKKyAgICB2b2lkIGFzc29jaWF0ZVN0cmVhbShjb25zdCBTdHJpbmcm
IGxhYmVsKSB7IG1fYXNzb2NpYXRlZFN0cmVhbUxhYmVsID0gbGFiZWw7IH0KKworcHJpdmF0ZToK
KyAgICBNZWRpYVN0cmVhbVRyYWNrTGlzdChjb25zdCBUcmFja1ZlY3RvciYgbV90cmFja3MpOwor
CisgICAgVHJhY2tWZWN0b3IgbV90cmFja3M7CisgICAgU3RyaW5nIG1fYXNzb2NpYXRlZFN0cmVh
bUxhYmVsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE1lZGlhU3RyZWFtVHJhY2tMaXN0X2gKZGlmZiAt
LWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsIFNvdXJjZS9X
ZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZTM0OTZlYwotLS0gL2Rldi9udWxsCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vTWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIExlZ2FjeURlZmF1
bHRPcHRpb25hbEFyZ3VtZW50cywKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAor
ICAgICAgICBIYXNJbmRleEdldHRlcgorICAgIF0gTWVkaWFTdHJlYW1UcmFja0xpc3QgeworICAg
ICAgICBNZWRpYVN0cmVhbVRyYWNrIGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsK
KyAgICB9OworCit9CmRpZmYgLS1naXQgU291cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tM
aXN0LmNwcCBTb3VyY2UvV2ViQ29yZS9kb20vTXVsdGlwbGVUcmFja0xpc3QuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlOGUzNzE5Li4wMDAwMDAwCi0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vTXVsdGlwbGVUcmFja0xpc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTA3ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
Ci0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJNdWx0aXBs
ZVRyYWNrTGlzdC5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVP
X1RSQUNLKQotCi0jaW5jbHVkZSAiRXZlbnQuaCIKLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gTXVs
dGlwbGVUcmFja0xpc3Q6OmNyZWF0ZShjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzLCBjb25zdCBF
bmFibGVkVHJhY2tzJiBlbmFibGVkVHJhY2tzKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
TXVsdGlwbGVUcmFja0xpc3QodHJhY2tzLCBlbmFibGVkVHJhY2tzKSk7Ci19Ci0KLU11bHRpcGxl
VHJhY2tMaXN0OjpNdWx0aXBsZVRyYWNrTGlzdChjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzLCBj
b25zdCBFbmFibGVkVHJhY2tzJiBlbmFibGVkVHJhY2tzKQotICAgIDogVHJhY2tMaXN0KHRyYWNr
cykKLSAgICAsIG1faXNFbmFibGVkKGVuYWJsZWRUcmFja3MpCi17Ci0gICAgQVNTRVJUKG1faXNF
bmFibGVkLnNpemUoKSA9PSBsZW5ndGgoKSk7Ci19Ci0KLU11bHRpcGxlVHJhY2tMaXN0Ojp+TXVs
dGlwbGVUcmFja0xpc3QoKQotewotfQotCi12b2lkIE11bHRpcGxlVHJhY2tMaXN0OjpjbGVhcigp
Ci17Ci0gICAgbV9pc0VuYWJsZWQuY2xlYXIoKTsKLSAgICBUcmFja0xpc3Q6OmNsZWFyKCk7Ci19
Ci0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotdm9pZCBNdWx0aXBsZVRyYWNrTGlzdDo6dHJh
Y2tGYWlsZWQodW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICBUcmFja0xpc3Q6OnRyYWNrRmFp
bGVkKGluZGV4KTsKLSAgICBtX2lzRW5hYmxlZC5yZW1vdmUoaW5kZXgpOwotfQotI2VuZGlmCi0K
LWJvb2wgTXVsdGlwbGVUcmFja0xpc3Q6OmlzRW5hYmxlZCh1bnNpZ25lZCBsb25nIGluZGV4LCBF
eGNlcHRpb25Db2RlJiBlYykgY29uc3QKLXsKLSAgICByZXR1cm4gY2hlY2tJbmRleChpbmRleCwg
ZWMpID8gbV9pc0VuYWJsZWRbaW5kZXhdIDogZmFsc2U7Ci19Ci0KLXZvaWQgTXVsdGlwbGVUcmFj
a0xpc3Q6OmVuYWJsZSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKLXsK
LSAgICBpZiAoIWNoZWNrSW5kZXgoaW5kZXgsIGVjKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
bV9pc0VuYWJsZWRbaW5kZXhdID0gdHJ1ZTsKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0g
ICAgaWYgKG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCkpCi0gICAgICAgIG1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyKCktPmVuYWJsZUF1ZGlvVHJhY2soYXNzb2NpYXRlZFN0cmVhbUxhYmVs
KCksIGluZGV4KTsKLSNlbmRpZgotCi0gICAgcG9zdENoYW5nZUV2ZW50KCk7Ci19Ci0KLXZvaWQg
TXVsdGlwbGVUcmFja0xpc3Q6OmRpc2FibGUodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9u
Q29kZSYgZWMpCi17Ci0gICAgaWYgKCFjaGVja0luZGV4KGluZGV4LCBlYykpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIG1faXNFbmFibGVkW2luZGV4XSA9IGZhbHNlOwotCi0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKLSAgICBpZiAobWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKSkKLSAgICAg
ICAgbWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+ZGlzYWJsZUF1ZGlvVHJhY2soYXNzb2Np
YXRlZFN0cmVhbUxhYmVsKCksIGluZGV4KTsKLSNlbmRpZgotCi0gICAgcG9zdENoYW5nZUV2ZW50
KCk7Ci19Ci0KLU11bHRpcGxlVHJhY2tMaXN0KiBNdWx0aXBsZVRyYWNrTGlzdDo6dG9NdWx0aXBs
ZVRyYWNrTGlzdCgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19U
UkFDSykKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vTXVsdGlwbGVUcmFja0xpc3QuaCBT
b3VyY2UvV2ViQ29yZS9kb20vTXVsdGlwbGVUcmFja0xpc3QuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMmRiMDI5Yi4uMDAwMDAwMAotLS0gU291cmNlL1dlYkNvcmUvZG9tL011bHRp
cGxlVHJhY2tMaXN0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
LSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIE11bHRpcGxlVHJhY2tMaXN0X2gKLSNkZWZpbmUgTXVsdGlwbGVUcmFja0xp
c3RfaAotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQot
Ci0jaW5jbHVkZSAiVHJhY2tMaXN0LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLXR5cGVkZWYgVmVjdG9yPGJvb2w+IEVuYWJsZWRUcmFja3M7Ci0K
LWNsYXNzIE11bHRpcGxlVHJhY2tMaXN0IDogcHVibGljIFRyYWNrTGlzdCB7Ci1wdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8TXVsdGlwbGVUcmFja0xpc3Q+IGNyZWF0ZShjb25zdCBUcmFj
a1ZlY3RvciYsIGNvbnN0IEVuYWJsZWRUcmFja3MmKTsKLSAgICB2aXJ0dWFsIH5NdWx0aXBsZVRy
YWNrTGlzdCgpOwotCi0gICAgYm9vbCBpc0VuYWJsZWQodW5zaWduZWQgbG9uZyBpbmRleCwgRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0OwotICAgIHZvaWQgZW5hYmxlKHVuc2lnbmVkIGxvbmcgaW5kZXgs
IEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGRpc2FibGUodW5zaWduZWQgbG9uZyBpbmRleCwg
RXhjZXB0aW9uQ29kZSYpOwotCi0gICAgdmlydHVhbCB2b2lkIGNsZWFyKCk7Ci0KLSNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQotICAgIHZpcnR1YWwgdm9pZCB0cmFja0ZhaWxlZCh1bnNpZ25lZCBs
b25nIGluZGV4KTsKLSNlbmRpZgotCi0gICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24u
Ci0gICAgdmlydHVhbCBNdWx0aXBsZVRyYWNrTGlzdCogdG9NdWx0aXBsZVRyYWNrTGlzdCgpOwot
Ci1wcml2YXRlOgotICAgIE11bHRpcGxlVHJhY2tMaXN0KGNvbnN0IFRyYWNrVmVjdG9yJiwgY29u
c3QgRW5hYmxlZFRyYWNrcyYpOwotCi0gICAgVmVjdG9yPGJvb2w+IG1faXNFbmFibGVkOwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQotCi0jZW5kaWYgLy8gTXVsdGlwbGVUcmFja0xpc3Rf
aApkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9NdWx0aXBsZVRyYWNrTGlzdC5pZGwgU291
cmNlL1dlYkNvcmUvZG9tL011bHRpcGxlVHJhY2tMaXN0LmlkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmI0NmE4Yi4uMDAwMDAwMAotLS0gU291cmNlL1dlYkNvcmUvZG9tL011bHRp
cGxlVHJhY2tMaXN0LmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLW1vZHVsZSBjb3JlIHsKLQotICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTXxWSURFT19UUkFDSywKLSAgICAgICAgTGVnYWN5RGVmYXVsdE9wdGlv
bmFsQXJndW1lbnRzLAotICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICBdIE11
bHRpcGxlVHJhY2tMaXN0IDogVHJhY2tMaXN0IHsKLSAgICAgICAgYm9vbGVhbiBpc0VuYWJsZWQo
aW4gdW5zaWduZWQgbG9uZyBpbmRleCkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24p
OwotICAgICAgICB2b2lkIGVuYWJsZShpbiB1bnNpZ25lZCBsb25nIGluZGV4KQotICAgICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIHZvaWQgZGlzYWJsZShpbiB1bnNpZ25l
ZCBsb25nIGluZGV4KQotICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgfTsK
LQotfQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuY3BwIFNvdXJjZS9X
ZWJDb3JlL2RvbS9UcmFja0xpc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
YjhkMWM0Li4wMDAwMDAwCi0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDE4MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
LSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaW5jbHVkZSAiVHJhY2tMaXN0LmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCi0KLSNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NSZWZQ
dHI8VHJhY2s+IFRyYWNrOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgQXRvbWljU3Ry
aW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQot
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVHJhY2soaWQsIGtpbmQsIGxhYmVsLCBsYW5ndWFn
ZSkpOwotfQotCi1UcmFjazo6VHJhY2soY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgQXRvbWljU3Ry
aW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQot
ICAgIDogbV9pZChpZCkKLSAgICAsIG1fa2luZChraW5kKQotICAgICwgbV9sYWJlbChsYWJlbCkK
LSAgICAsIG1fbGFuZ3VhZ2UobGFuZ3VhZ2UpCi17Ci19Ci0KLVBhc3NSZWZQdHI8VHJhY2tMaXN0
PiBUcmFja0xpc3Q6OmNyZWF0ZShjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzKQotewotICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgVHJhY2tMaXN0KHRyYWNrcykpOwotfQotCi1UcmFja0xpc3Q6OlRy
YWNrTGlzdChjb25zdCBUcmFja1ZlY3RvciYgdHJhY2tzKQotICAgIDogbV90cmFja3ModHJhY2tz
KQotewotfQotCi1UcmFja0xpc3Q6On5UcmFja0xpc3QoKQotewotfQotCi11bnNpZ25lZCBsb25n
IFRyYWNrTGlzdDo6bGVuZ3RoKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV90cmFja3Muc2l6ZSgp
OwotfQotCi1ib29sIFRyYWNrTGlzdDo6Y2hlY2tJbmRleChsb25nIGluZGV4LCBFeGNlcHRpb25D
b2RlJiBlYywgbG9uZyBhbGxvd2VkKSBjb25zdAotewotICAgIGlmIChpbmRleCA+PSBzdGF0aWNf
Y2FzdDxsb25nPihsZW5ndGgoKSkgfHwgKGluZGV4IDwgMCAmJiBpbmRleCAhPSBhbGxvd2VkKSkg
ewotICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfQotCi0gICAgZWMgPSAwOwotICAgIHJldHVybiB0cnVlOwotfQotCi1jb25zdCBTdHJpbmcm
IFRyYWNrTGlzdDo6Z2V0SUQodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMp
IGNvbnN0Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIG51bGxTdHJpbmcsICgp
KTsKLSAgICByZXR1cm4gY2hlY2tJbmRleChpbmRleCwgZWMpID8gbV90cmFja3NbaW5kZXhdLT5p
ZCgpIDogbnVsbFN0cmluZzsKLX0KLQotY29uc3QgQXRvbWljU3RyaW5nJiBUcmFja0xpc3Q6Omdl
dEtpbmQodW5zaWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Ci17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG51bGxTdHJpbmcsICgpKTsKLSAg
ICByZXR1cm4gY2hlY2tJbmRleChpbmRleCwgZWMpID8gbV90cmFja3NbaW5kZXhdLT5raW5kKCkg
OiBudWxsU3RyaW5nOwotfQotCi1jb25zdCBTdHJpbmcmIFRyYWNrTGlzdDo6Z2V0TGFiZWwodW5z
aWduZWQgbG9uZyBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Ci17Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHJpbmcsIG51bGxTdHJpbmcsICgpKTsKLSAgICByZXR1cm4gY2hlY2tJ
bmRleChpbmRleCwgZWMpID8gbV90cmFja3NbaW5kZXhdLT5sYWJlbCgpIDogbnVsbFN0cmluZzsK
LX0KLQotY29uc3QgU3RyaW5nJiBUcmFja0xpc3Q6OmdldExhbmd1YWdlKHVuc2lnbmVkIGxvbmcg
aW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAotewotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoU3RyaW5nLCBudWxsU3RyaW5nLCAoKSk7Ci0gICAgcmV0dXJuIGNoZWNrSW5kZXgoaW5kZXgs
IGVjKSA/IG1fdHJhY2tzW2luZGV4XS0+bGFuZ3VhZ2UoKSA6IG51bGxTdHJpbmc7Ci19Ci0KLXZv
aWQgVHJhY2tMaXN0OjpjbGVhcigpCi17Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBt
X2Fzc29jaWF0ZWRTdHJlYW1MYWJlbCA9IFN0cmluZygpOwotI2VuZGlmCi0KLSAgICBpZiAobV90
cmFja3MuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX3RyYWNrcy5jbGVhcigp
OwotCi0gICAgcG9zdENoYW5nZUV2ZW50KCk7Ci19Ci0KLXZvaWQgVHJhY2tMaXN0Ojpwb3N0Q2hh
bmdlRXZlbnQoKQotewotICAgIC8vIERpc3BhdGNoIGEgY2hhbmdlIGV2ZW50IGFzeW5jaHJvbm91
c2x5LiBEb24ndCBhc3NlcnQgc2luY2UgdGhpcyBtYXkgYmUgY2FsbGVkIGR1cmluZyBzaHV0ZG93
biwKLSAgICAvLyBhbmQgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgbWF5IGJlIG5vdCBhdmFp
bGFibGUgaW4gdGhlIE1lZGlhIFN0cmVhbSBjYXNlLgotICAgIGlmICghc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5wb3N0VGFzayhEaXNwYXRjaFRhc2s8VHJhY2tMaXN0LCBpbnQ+OjpjcmVhdGUodGhpcywg
JlRyYWNrTGlzdDo6ZGlzcGF0Y2hDaGFuZ2VFdmVudCwgMCkpOwotfQotCi12b2lkIFRyYWNrTGlz
dDo6ZGlzcGF0Y2hDaGFuZ2VFdmVudChpbnQpCi17Ci0gICAgZGlzcGF0Y2hFdmVudChFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgZmFsc2UsIGZhbHNlKSk7Ci19Ci0KLSNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotdm9pZCBUcmFja0xpc3Q6OmFzc29jaWF0ZVN0cmVhbShj
b25zdCBTdHJpbmcmIGxhYmVsKQotewotICAgIEFTU0VSVChtX2Fzc29jaWF0ZWRTdHJlYW1MYWJl
bC5pc051bGwoKSk7Ci0gICAgbV9hc3NvY2lhdGVkU3RyZWFtTGFiZWwgPSBsYWJlbDsKLX0KLQot
Y29uc3QgU3RyaW5nJiBUcmFja0xpc3Q6OmFzc29jaWF0ZWRTdHJlYW1MYWJlbCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG1fYXNzb2NpYXRlZFN0cmVhbUxhYmVsOwotfQotCi12b2lkIFRyYWNrTGlz
dDo6dHJhY2tGYWlsZWQodW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICBBU1NFUlQoaW5kZXgg
PCBsZW5ndGgoKSk7Ci0gICAgbV90cmFja3MucmVtb3ZlKGluZGV4KTsKLSAgICBwb3N0Q2hhbmdl
RXZlbnQoKTsKLX0KLSNlbmRpZgotCi1UcmFja0xpc3QqIFRyYWNrTGlzdDo6dG9UcmFja0xpc3Qo
KQotewotICAgIHJldHVybiB0aGlzOwotfQotCi1TY3JpcHRFeGVjdXRpb25Db250ZXh0KiBUcmFj
a0xpc3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAotewotI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCi0gICAgaWYgKG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCkpCi0gICAgICAg
IHJldHVybiBtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7Ci0jZW5kaWYKLQotICAgIC8vIEZJWE1FOiBwcm92aWRlIGFuIHNjcmlwdCBleGVjdXRp
b24gY29udGV4dCBmb3IgSFRNTCBNZWRpYSBFbGVtZW50IHVzZSBjYXNlLgotICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTEyNwotICAgIHJldHVybiAwOwot
fQotCi1FdmVudFRhcmdldERhdGEqIFRyYWNrTGlzdDo6ZXZlbnRUYXJnZXREYXRhKCkKLXsKLSAg
ICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwotfQotCi1FdmVudFRhcmdldERhdGEqIFRyYWNr
TGlzdDo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKLXsKLSAgICByZXR1cm4gJm1fZXZlbnRUYXJn
ZXREYXRhOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKSB8fCBFTkFCTEUoVklERU9fVFJBQ0spCmRpZmYgLS1naXQgU291cmNlL1dl
YkNvcmUvZG9tL1RyYWNrTGlzdC5oIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmFja0xpc3QuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY2Nzk5Yi4uMDAwMDAwMAotLS0gU291cmNlL1dl
YkNvcmUvZG9tL1RyYWNrTGlzdC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTQ2ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpZm5kZWYgVHJhY2tMaXN0X2gKLSNkZWZpbmUgVHJhY2tMaXN0X2gKLQot
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pIHx8IEVOQUJMRShWSURFT19UUkFDSykKLQotI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIk1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgVHJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxUcmFjaz4gewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFRyYWNrPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgQXRv
bWljU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1
YWdlKTsKLQotICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9Ci0g
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBraW5kKCkgY29uc3QgeyByZXR1cm4gbV9raW5kOyB9Ci0g
ICAgY29uc3QgU3RyaW5nJiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFiZWw7IH0KLSAgICBj
b25zdCBTdHJpbmcmIGxhbmd1YWdlKCkgY29uc3QgeyByZXR1cm4gbV9sYW5ndWFnZTsgfQotCi1w
cml2YXRlOgotICAgIFRyYWNrKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IEF0b21pY1N0cmluZyYg
a2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7Ci0KLSAg
ICBTdHJpbmcgbV9pZDsKLSAgICBBdG9taWNTdHJpbmcgbV9raW5kOwotICAgIFN0cmluZyBtX2xh
YmVsOwotICAgIFN0cmluZyBtX2xhbmd1YWdlOwotfTsKLQotdHlwZWRlZiBWZWN0b3I8UmVmUHRy
PFRyYWNrPiA+IFRyYWNrVmVjdG9yOwotCi1jbGFzcyBUcmFja0xpc3QgOiBwdWJsaWMgUmVmQ291
bnRlZDxUcmFja0xpc3Q+LAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgICAgICAgICAg
ICAgICBwdWJsaWMgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVyaWNDbGllbnQsCi0j
ZW5kaWYKLSAgICAgICAgICAgICAgICAgIHB1YmxpYyBFdmVudFRhcmdldCB7Ci1wdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8VHJhY2tMaXN0PiBjcmVhdGUoY29uc3QgVHJhY2tWZWN0b3Im
KTsKLSAgICB2aXJ0dWFsIH5UcmFja0xpc3QoKTsKLQotICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3Ro
KCkgY29uc3Q7Ci0gICAgY29uc3QgU3RyaW5nJiBnZXRJRCh1bnNpZ25lZCBsb25nIGluZGV4LCBF
eGNlcHRpb25Db2RlJikgY29uc3Q7Ci0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRLaW5kKHVu
c2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKLSAgICBjb25zdCBTdHJp
bmcmIGdldExhYmVsKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsK
LSAgICBjb25zdCBTdHJpbmcmIGdldExhbmd1YWdlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2Vw
dGlvbkNvZGUmKSBjb25zdDsKLQotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Y2hhbmdlKTsKLQotICAgIHZpcnR1YWwgdm9pZCBjbGVhcigpOwotCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKLSAgICB2b2lkIGFzc29jaWF0ZVN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxh
YmVsKTsKLSAgICBjb25zdCBTdHJpbmcmIGFzc29jaWF0ZWRTdHJlYW1MYWJlbCgpIGNvbnN0Owot
ICAgIHZpcnR1YWwgdm9pZCB0cmFja0ZhaWxlZCh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSNlbmRp
ZgotCi0gICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCi0gICAgdmlydHVhbCBUcmFj
a0xpc3QqIHRvVHJhY2tMaXN0KCk7Ci0gICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7Ci0KLSAgICB1c2luZyBSZWZDb3VudGVk
PFRyYWNrTGlzdD46OnJlZjsKLSAgICB1c2luZyBSZWZDb3VudGVkPFRyYWNrTGlzdD46OmRlcmVm
OwotCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+Ci0gICAgY2xhc3MgRGlz
cGF0Y2hUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewotICAgIHB1
YmxpYzoKLSAgICAgICAgdHlwZWRlZiB2b2lkIChUOjoqQ2FsbGJhY2spKFUpOwotCi0gICAgICAg
IHN0YXRpYyBQYXNzT3duUHRyPERpc3BhdGNoVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8VD4gb2Jq
ZWN0LCBDYWxsYmFjayBjYWxsYmFjaywgVSBhcmdzKQotICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IERpc3BhdGNoVGFzayhvYmplY3QsIGNhbGxiYWNrLCBhcmdzKSk7
Ci0gICAgICAgIH0KLQotICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopCi0gICAgICAgIHsKLSAgICAgICAgICAgIChtX29iamVjdC5nZXQoKS0+
Km1fY2FsbGJhY2spKG1fYXJncyk7Ci0gICAgICAgIH0KLQotICAgIHB1YmxpYzoKLSAgICAgICAg
RGlzcGF0Y2hUYXNrKFBhc3NSZWZQdHI8VD4gb2JqZWN0LCBDYWxsYmFjayBjYWxsYmFjaywgVSBh
cmdzKQotICAgICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCi0gICAgICAgICAgICAsIG1fY2Fs
bGJhY2soY2FsbGJhY2spCi0gICAgICAgICAgICAsIG1fYXJncyhhcmdzKSB7IH0KLQotICAgICAg
ICBSZWZQdHI8VD4gbV9vYmplY3Q7Ci0gICAgICAgIENhbGxiYWNrIG1fY2FsbGJhY2s7Ci0gICAg
ICAgIFUgbV9hcmdzOwotICAgIH07Ci0KLXByb3RlY3RlZDoKLSAgICBUcmFja0xpc3QoY29uc3Qg
VHJhY2tWZWN0b3ImKTsKLSAgICBib29sIGNoZWNrSW5kZXgobG9uZyBpbmRleCwgRXhjZXB0aW9u
Q29kZSYsIGxvbmcgYWxsb3dlZCA9IDApIGNvbnN0OwotICAgIHZvaWQgcG9zdENoYW5nZUV2ZW50
KCk7Ci0KLSAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KLSAgICB2aXJ0dWFsIEV2
ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7Ci0gICAgdmlydHVhbCBFdmVudFRhcmdl
dERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOwotCi1wcml2YXRlOgotICAgIC8vIEV2ZW50
VGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgp
IHsgcmVmKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVyZWYo
KTsgfQotCi0gICAgdm9pZCBkaXNwYXRjaENoYW5nZUV2ZW50KGludCk7Ci0KLSAgICBFdmVudFRh
cmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7Ci0gICAgVHJhY2tWZWN0b3IgbV90cmFja3M7Ci0K
LSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIFN0cmluZyBtX2Fzc29jaWF0ZWRTdHJlYW1M
YWJlbDsKLSNlbmRpZgotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkgfHwgRU5BQkxFKFZJREVPX1RSQUNLKQotCi0jZW5kaWYgLy8g
VHJhY2tMaXN0X2gKZGlmZiAtLWdpdCBTb3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmlkbCBT
b3VyY2UvV2ViQ29yZS9kb20vVHJhY2tMaXN0LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTE2MGRhZS4uMDAwMDAwMAotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RyYWNrTGlzdC5p
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUg
Y29yZSB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxB
cmd1bWVudHMsCi0gICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTXxWSURFT19UUkFDSywK
LSAgICAgICAgRXZlbnRUYXJnZXQKLSAgICBdIFRyYWNrTGlzdCB7Ci0gICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICAgICAgRE9NU3RyaW5nIGdldElE
KGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKLSAgICAgICAgRE9NU3RyaW5nIGdldEtpbmQoaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKLSAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBET01TdHJpbmcgZ2V0TGFi
ZWwoaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOwotICAgICAgICBET01TdHJpbmcgZ2V0TGFuZ3VhZ2UoaW4gdW5zaWduZWQgbG9uZyBpbmRl
eCkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotCi0gICAgICAgIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9uY2hhbmdlOwotICAgIH07Ci0KLX0KZGlmZiAtLWdpdCBTb3VyY2Uv
V2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ2xpZW50LmggU291cmNlL1dlYkNvcmUvcGFnZS9NZWRp
YVN0cmVhbUNsaWVudC5oCmluZGV4IGIzZWY3NDAuLjAzZGVkZmQgMTAwNjQ0Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ2xpZW50LmgKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWVkaWFTdHJlYW1DbGllbnQuaApAQCAtNTIsMTIgKzUyLDggQEAgcHVibGljOgogICAgIC8vIFN0
b3AgYSBnZW5lcmF0ZWQgc3RyZWFtLgogICAgIHZpcnR1YWwgdm9pZCBzdG9wR2VuZXJhdGVkU3Ry
ZWFtKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpID0gMDsKIAotICAgIC8vIEVuYWJsZS9kaXNh
YmxlIGFuIGF1ZGlvIHRyYWNrIGluIGEgZ2VuZXJhdGVkIHN0cmVhbS4KLSAgICB2aXJ0dWFsIHZv
aWQgZW5hYmxlQXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBs
b25nIGluZGV4KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpc2FibGVBdWRpb1RyYWNrKGNvbnN0
IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpID0gMDsKLQotICAgIC8v
IFNlbGVjdCBhIHZpZGVvIHRyYWNrIGluIGEgZ2VuZXJhdGVkIHN0cmVhbS4KLSAgICB2aXJ0dWFs
IHZvaWQgc2VsZWN0VmlkZW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCBsb25nIGlu
ZGV4KSA9IDA7CisgICAgLy8gRW5hYmxlL2Rpc2FibGUgYW4gdHJhY2suCisgICAgdmlydHVhbCB2
b2lkIHNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKGNvbnN0IFN0cmluZyYgdHJhY2tJZCwgYm9v
bCBlbmFibGVkKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbUNs
aWVudCgpIHsgfQpkaWZmIC0tZ2l0IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250
cm9sbGVyLmNwcCBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAK
aW5kZXggMDQzMjJlOC4uYWFkY2Y2MCAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVk
aWFTdHJlYW1Db250cm9sbGVyLmNwcAorKysgU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVh
bUNvbnRyb2xsZXIuY3BwCkBAIC0yNyw5ICsyNyw4IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogCi0jaW5jbHVkZSAiRXhjbHVzaXZlVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJNdWx0aXBsZVRyYWNrTGlzdC5oIgor
I2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTExOSwyMiArMTE4LDEyIEBAIHZv
aWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzdG9wR2VuZXJhdGVkU3RyZWFtKGNvbnN0IFN0cmlu
ZyYgc3RyZWFtTGFiZWwpCiAgICAgbV9jbGllbnQtPnN0b3BHZW5lcmF0ZWRTdHJlYW0oc3RyZWFt
TGFiZWwpOwogfQogCi12b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6ZW5hYmxlQXVkaW9UcmFj
ayhjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KQordm9pZCBN
ZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKGNvbnN0IFN0
cmluZyYgdHJhY2tJZCwgYm9vbCBlbmFibGVkKQogewotICAgIG1fY2xpZW50LT5lbmFibGVBdWRp
b1RyYWNrKHN0cmVhbUxhYmVsLCBpbmRleCk7CisgICAgbV9jbGllbnQtPnNldE1lZGlhU3RyZWFt
VHJhY2tFbmFibGVkKHRyYWNrSWQsIGVuYWJsZWQpOwogfQogCi12b2lkIE1lZGlhU3RyZWFtQ29u
dHJvbGxlcjo6ZGlzYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5z
aWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICBtX2NsaWVudC0+ZGlzYWJsZUF1ZGlvVHJhY2soc3Ry
ZWFtTGFiZWwsIGluZGV4KTsKLX0KLQotdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnNlbGVj
dFZpZGVvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgbG9uZyBpbmRleCkKLXsKLSAg
ICBtX2NsaWVudC0+c2VsZWN0VmlkZW9UcmFjayhzdHJlYW1MYWJlbCwgaW5kZXgpOwotfQotCi12
b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKGludCBjb250cm9sbGVy
UmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCBQYXNzUmVmUHRyPE11bHRpcGxl
VHJhY2tMaXN0PiBhdWRpb1RyYWNrcywgUGFzc1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZp
ZGVvVHJhY2tzKQordm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChp
bnQgY29udHJvbGxlclJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tzKQogewogICAgIC8vIERvbid0IGFzc2Vy
dCBzaW5jZSB0aGUgZnJhbWUgY29udHJvbGxlciBjYW4gaGF2ZSBiZWVuIGRlc3Ryb3llZCB3aGls
ZSB0aGUgcmVxdWVzdCByZXBseSB3YXMgY29taW5nIGJhY2suCiAgICAgaWYgKG1fcmVxdWVzdHMu
Y29udGFpbnMoY29udHJvbGxlclJlcXVlc3RJZCkpIHsKQEAgLTE0Miw3ICsxMzEsNyBAQCB2b2lk
IE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKGludCBjb250cm9sbGVyUmVx
dWVzdElkLCBjb25zdCBTdHJpbgogICAgICAgICByZWdpc3RlclN0cmVhbShzdHJlYW1MYWJlbCwg
cmVxdWVzdC5mcmFtZUNvbnRyb2xsZXIoKSk7CiAgICAgICAgIG1fcmVxdWVzdHMucmVtb3ZlKGNv
bnRyb2xsZXJSZXF1ZXN0SWQpOwogICAgICAgICBBU1NFUlQocmVxdWVzdC5mcmFtZUNvbnRyb2xs
ZXIoKSk7Ci0gICAgICAgIHJlcXVlc3QuZnJhbWVDb250cm9sbGVyKCktPnN0cmVhbUdlbmVyYXRl
ZChyZXF1ZXN0LmxvY2FsSWQoKSwgc3RyZWFtTGFiZWwsIGF1ZGlvVHJhY2tzLCB2aWRlb1RyYWNr
cyk7CisgICAgICAgIHJlcXVlc3QuZnJhbWVDb250cm9sbGVyKCktPnN0cmVhbUdlbmVyYXRlZChy
ZXF1ZXN0LmxvY2FsSWQoKSwgc3RyZWFtTGFiZWwsIHRyYWNrcyk7CiAgICAgfQogfQogCkBAIC0x
NjMsMjAgKzE1Miw2IEBAIHZvaWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzdHJlYW1GYWlsZWQo
Y29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCkKICAgICAgICAgbV9zdHJlYW1zLmdldChzdHJlYW1M
YWJlbCktPnN0cmVhbUZhaWxlZChzdHJlYW1MYWJlbCk7CiB9CiAKLXZvaWQgTWVkaWFTdHJlYW1D
b250cm9sbGVyOjphdWRpb1RyYWNrRmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIHVu
c2lnbmVkIGxvbmcgaW5kZXgpCi17Ci0gICAgLy8gRG9uJ3QgYXNzZXJ0IHNpbmNlIHRoZSBmcmFt
ZSBjb250cm9sbGVyIGNhbiBoYXZlIGJlZW4gZGVzdHJveWVkIGJ5IHRoZSB0aW1lIHRoaXMgaXMg
Y2FsbGVkLgotICAgIGlmIChtX3N0cmVhbXMuY29udGFpbnMoc3RyZWFtTGFiZWwpKQotICAgICAg
ICBtX3N0cmVhbXMuZ2V0KHN0cmVhbUxhYmVsKS0+YXVkaW9UcmFja0ZhaWxlZChzdHJlYW1MYWJl
bCwgaW5kZXgpOwotfQotCi12b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6dmlkZW9UcmFja0Zh
aWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KQotewot
ICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgZnJhbWUgY29udHJvbGxlciBjYW4gaGF2ZSBi
ZWVuIGRlc3Ryb3llZCBieSB0aGUgdGltZSB0aGlzIGlzIGNhbGxlZC4KLSAgICBpZiAobV9zdHJl
YW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkKLSAgICAgICAgbV9zdHJlYW1zLmdldChzdHJlYW1M
YWJlbCktPnZpZGVvVHJhY2tGYWlsZWQoc3RyZWFtTGFiZWwsIGluZGV4KTsKLX0KLQogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmgKaW5kZXggYjJkNTZjMi4uMTBhYzRj
ZSAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmgK
KysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmgKQEAgLTM2LDEw
ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRXhjbHVzaXZlVHJhY2tM
aXN0OwogY2xhc3MgTWVkaWFTdHJlYW1DbGllbnQ7CiBjbGFzcyBNZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcjsKLWNsYXNzIE11bHRpcGxlVHJhY2tMaXN0OworY2xhc3MgTWVkaWFTdHJlYW1UcmFj
a0xpc3Q7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAogY2xhc3MgTWVkaWFTdHJlYW1Db250cm9s
bGVyIHsKQEAgLTUzLDE1ICs1MiwxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdlbmVyYXRlU3Ry
ZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgaW50IHJlcXVlc3RJZCwgR2VuZXJhdGVT
dHJlYW1PcHRpb25GbGFncywgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4pOwogICAgIHZvaWQg
c3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKTsKLSAgICB2b2lk
IGVuYWJsZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9u
ZyBpbmRleCk7Ci0gICAgdm9pZCBkaXNhYmxlQXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVh
bUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIHNlbGVjdFZpZGVvVHJhY2so
Y29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgbG9uZyBpbmRleCk7CiAKLSAgICB2b2lkIHN0cmVh
bUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCBQYXNz
UmVmUHRyPE11bHRpcGxlVHJhY2tMaXN0PiBhdWRpb1RyYWNrcywgUGFzc1JlZlB0cjxFeGNsdXNp
dmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tzKTsKKyAgICAvLyBFbmFibGUvZGlzYWJsZSBhbiB0cmFj
ay4KKyAgICB2b2lkIHNldE1lZGlhU3RyZWFtVHJhY2tFbmFibGVkKGNvbnN0IFN0cmluZyYgdHJh
Y2tJZCwgYm9vbCBlbmFibGVkKTsKKworICAgIHZvaWQgc3RyZWFtR2VuZXJhdGVkKGludCByZXF1
ZXN0SWQsIGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFja0xpc3Q+IHRyYWNrcyk7CiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCBy
ZXF1ZXN0SWQsIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpFcnJvckNvZGUpOwogICAgIHZvaWQg
c3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOwotICAgIHZvaWQgYXVkaW9U
cmFja0ZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4
KTsKLSAgICB2b2lkIHZpZGVvVHJhY2tGYWlsZWQoY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwg
dW5zaWduZWQgbG9uZyBpbmRleCk7CiAKIHByaXZhdGU6CiAgICAgaW50IHJlZ2lzdGVyUmVxdWVz
dChpbnQgbG9jYWxSZXF1ZXN0SWQsIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKik7CmRpZmYg
LS1naXQgU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAg
U291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAKaW5kZXgg
NWU5NGI4Mi4uOTIwNTMzOCAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXIuY3BwCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyLmNwcApAQCAtMjksMTEgKzI5LDEwIEBACiAKICNpbmNsdWRlICJET01X
aW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkV4Y2x1c2l2ZVRyYWNr
TGlzdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiTG9jYWxNZWRpYVN0cmVhbS5o
IgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIk11bHRpcGxl
VHJhY2tMaXN0LmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja0xpc3QuaCIKICNpbmNsdWRl
ICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMzA3LDM3
ICszMDYsMTMgQEAgdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3RvcEdlbmVyYXRl
ZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKQogICAgICAgICBwYWdlQ29udHJvbGxl
cigpLT5zdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVhbUxhYmVsKTsKIH0KIAotdm9pZCBNZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlcjo6ZW5hYmxlQXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVh
bUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KQordm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlcjo6c2V0TWVkaWFTdHJlYW1UcmFja0VuYWJsZWQoY29uc3QgU3RyaW5nJiB0cmFja0lkLCBi
b29sIGVuYWJsZWQpCiB7Ci0gICAgLy8gRG9uJ3QgYXNzZXJ0IHNpbmNlIHRoZSBhdWRpbyB0cmFj
a3MgZG9uJ3QgbmVjZXNzYXJpbHkga2VlcCBhbGl2ZSB0aGVpciBhc3NvY2lhdGVkIGdlbmVyYXRl
ZCBzdHJlYW0gb2JqZWN0LgotICAgIGlmICghbV9zdHJlYW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVs
KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGlzQ2xpZW50QXZhaWxhYmxlKCkpCi0gICAg
ICAgIHBhZ2VDb250cm9sbGVyKCktPmVuYWJsZUF1ZGlvVHJhY2soc3RyZWFtTGFiZWwsIGluZGV4
KTsKLX0KLQotdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6ZGlzYWJsZUF1ZGlvVHJh
Y2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAg
ICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGF1ZGlvIHRyYWNrcyBkb24ndCBuZWNlc3Nhcmls
eSBrZWVwIGFsaXZlIHRoZWlyIGFzc29jaWF0ZWQgZ2VuZXJhdGVkIHN0cmVhbSBvYmplY3QuCi0g
ICAgaWYgKCFtX3N0cmVhbXMuY29udGFpbnMoc3RyZWFtTGFiZWwpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBpZiAoaXNDbGllbnRBdmFpbGFibGUoKSkKLSAgICAgICAgcGFnZUNvbnRyb2xsZXIo
KS0+ZGlzYWJsZUF1ZGlvVHJhY2soc3RyZWFtTGFiZWwsIGluZGV4KTsKLX0KLQotdm9pZCBNZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c2VsZWN0VmlkZW9UcmFjayhjb25zdCBTdHJpbmcmIHN0
cmVhbUxhYmVsLCBsb25nIGluZGV4KQotewotICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUg
YXVkaW8gdHJhY2tzIGRvbid0IG5lY2Vzc2FyaWx5IGtlZXAgYWxpdmUgdGhlaXIgYXNzb2NpYXRl
ZCBnZW5lcmF0ZWQgc3RyZWFtIG9iamVjdC4KLSAgICBpZiAoIW1fc3RyZWFtcy5jb250YWlucyhz
dHJlYW1MYWJlbCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIGlmIChpc0NsaWVudEF2YWlsYWJs
ZSgpKQotICAgICAgICBwYWdlQ29udHJvbGxlcigpLT5zZWxlY3RWaWRlb1RyYWNrKHN0cmVhbUxh
YmVsLCBpbmRleCk7CisgICAgICAgIHBhZ2VDb250cm9sbGVyKCktPnNldE1lZGlhU3RyZWFtVHJh
Y2tFbmFibGVkKHRyYWNrSWQsIGVuYWJsZWQpOwogfQogCi12b2lkIE1lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyOjpzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBs
YWJlbCwgUGFzc1JlZlB0cjxNdWx0aXBsZVRyYWNrTGlzdD4gYXVkaW9UcmFja3NQYXJhbSwgUGFz
c1JlZlB0cjxFeGNsdXNpdmVUcmFja0xpc3Q+IHZpZGVvVHJhY2tzUGFyYW0pCit2b2lkIE1lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwgY29u
c3QgU3RyaW5nJiBsYWJlbCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrTGlzdD4gdHJhY2tz
UGFyYW0pCiB7CiAgICAgLy8gRG9uJ3QgYXNzZXJ0IHNpbmNlIHRoZSByZXF1ZXN0IGNhbiBoYXZl
IGJlZW4gYWJvcnRlZCBhcyBhIHJlc3VsdCBvZiBlbWJlZGRlciBkZXRhY2htZW50LgogICAgIGlm
ICghbV9yZXF1ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKQpAQCAtMzQ1LDIyICszMjAsMTkgQEAg
dm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKGludCByZXF1
ZXN0SWQsIGNvbnN0IFN0cmluZyYgbGEKIAogICAgIEFTU0VSVChtX3JlcXVlc3RzLmdldChyZXF1
ZXN0SWQpLT5pc0dlbmVyYXRlU3RyZWFtUmVxdWVzdCgpKTsKICAgICBBU1NFUlQoIWxhYmVsLmlz
TnVsbCgpKTsKLSAgICBBU1NFUlQoYXVkaW9UcmFja3NQYXJhbSk7Ci0gICAgQVNTRVJUKHZpZGVv
VHJhY2tzUGFyYW0pOworICAgIEFTU0VSVCh0cmFja3NQYXJhbSk7CiAKLSAgICBSZWZQdHI8TXVs
dGlwbGVUcmFja0xpc3Q+IGF1ZGlvVHJhY2tzID0gYXVkaW9UcmFja3NQYXJhbTsKLSAgICBSZWZQ
dHI8RXhjbHVzaXZlVHJhY2tMaXN0PiB2aWRlb1RyYWNrcyA9IHZpZGVvVHJhY2tzUGFyYW07Cisg
ICAgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tMaXN0PiB0cmFja3MgPSB0cmFja3NQYXJhbTsKIAot
ICAgIGludCBhdWRpb1RyYWNrc0NsaWVudElkID0gbV9jbGllbnRzLmdldE5leHRJZCgpOwotICAg
IGF1ZGlvVHJhY2tzLT5hc3NvY2lhdGVGcmFtZUNvbnRyb2xsZXIodGhpcywgYXVkaW9UcmFja3ND
bGllbnRJZCk7Ci0gICAgbV9jbGllbnRzLmFkZChhdWRpb1RyYWNrc0NsaWVudElkLCBhdWRpb1Ry
YWNrcy5nZXQoKSk7Ci0KLSAgICBpbnQgdmlkZW9UcmFja3NDbGllbnRJZCA9IG1fY2xpZW50cy5n
ZXROZXh0SWQoKTsKLSAgICB2aWRlb1RyYWNrcy0+YXNzb2NpYXRlRnJhbWVDb250cm9sbGVyKHRo
aXMsIHZpZGVvVHJhY2tzQ2xpZW50SWQpOwotICAgIG1fY2xpZW50cy5hZGQodmlkZW9UcmFja3ND
bGllbnRJZCwgdmlkZW9UcmFja3MuZ2V0KCkpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCB0cmFja3MtPmxlbmd0aCgpOyArK2kpIHsKKyAgICAgICAgaW50IHRyYWNrQ2xpZW50SWQgPSBt
X2NsaWVudHMuZ2V0TmV4dElkKCk7CisgICAgICAgIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiB0
cmFjayA9IHRyYWNrcy0+aXRlbShpKTsKKyAgICAgICAgdHJhY2stPmFzc29jaWF0ZUZyYW1lQ29u
dHJvbGxlcih0aGlzLCB0cmFja0NsaWVudElkKTsKKyAgICAgICAgbV9jbGllbnRzLmFkZCh0cmFj
a0NsaWVudElkLCB0cmFjay5nZXQoKSk7CisgICAgfQogCiAgICAgUmVmUHRyPEdlbmVyYXRlU3Ry
ZWFtUmVxdWVzdD4gc3RyZWFtUmVxdWVzdCA9IHN0YXRpY19jYXN0PEdlbmVyYXRlU3RyZWFtUmVx
dWVzdCo+KG1fcmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCkuZ2V0KCkpOwotICAgIFJlZlB0cjxMb2Nh
bE1lZGlhU3RyZWFtPiBnZW5lcmF0ZWRTdHJlYW0gPSBMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUo
dGhpcywgbGFiZWwsIGF1ZGlvVHJhY2tzLnJlbGVhc2UoKSwgdmlkZW9UcmFja3MucmVsZWFzZSgp
KTsKKyAgICBSZWZQdHI8TG9jYWxNZWRpYVN0cmVhbT4gZ2VuZXJhdGVkU3RyZWFtID0gTG9jYWxN
ZWRpYVN0cmVhbTo6Y3JlYXRlKHRoaXMsIGxhYmVsLCB0cmFja3MucmVsZWFzZSgpKTsKICAgICBt
X3N0cmVhbXMuYWRkKGxhYmVsLCBnZW5lcmF0ZWRTdHJlYW0uZ2V0KCkpOwogICAgIG1fcmVxdWVz
dHMucmVtb3ZlKHJlcXVlc3RJZCk7CiAgICAgc3RyZWFtUmVxdWVzdC0+c3VjY2Vzc0NhbGxiYWNr
KCktPmhhbmRsZUV2ZW50KGdlbmVyYXRlZFN0cmVhbS5nZXQoKSk7CkBAIC0zODgsMjAgKzM2MCw2
IEBAIHZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnN0cmVhbUZhaWxlZChjb25zdCBT
dHJpbmcmIGxhYmVsKQogICAgIGdldFN0cmVhbUZyb21MYWJlbChsYWJlbCktPnN0cmVhbUVuZGVk
KCk7CiB9CiAKLXZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmF1ZGlvVHJhY2tGYWls
ZWQoY29uc3QgU3RyaW5nJiBsYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRleCkKLXsKLSAgICBNZWRp
YVN0cmVhbSogc3RyZWFtID0gZ2V0U3RyZWFtRnJvbUxhYmVsKGxhYmVsKTsKLSAgICBBU1NFUlQo
c3RyZWFtLT5pc0xvY2FsTWVkaWFTdHJlYW0oKSk7Ci0gICAgc3RhdGljX2Nhc3Q8TG9jYWxNZWRp
YVN0cmVhbSo+KHN0cmVhbSktPmF1ZGlvVHJhY2tzKCktPnRyYWNrRmFpbGVkKGluZGV4KTsKLX0K
LQotdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6dmlkZW9UcmFja0ZhaWxlZChjb25z
dCBTdHJpbmcmIGxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KQotewotICAgIE1lZGlhU3RyZWFt
KiBzdHJlYW0gPSBnZXRTdHJlYW1Gcm9tTGFiZWwobGFiZWwpOwotICAgIEFTU0VSVChzdHJlYW0t
PmlzTG9jYWxNZWRpYVN0cmVhbSgpKTsKLSAgICBzdGF0aWNfY2FzdDxMb2NhbE1lZGlhU3RyZWFt
Kj4oc3RyZWFtKS0+dmlkZW9UcmFja3MoKS0+dHJhY2tGYWlsZWQoaW5kZXgpOwotfQotCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaCBT
b3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgKaW5kZXggNzUw
MmVlZC4uYjU1ZTBkMCAxMDA2NDQKLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXIuaAorKysgU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1l
Q29udHJvbGxlci5oCkBAIC0zNywxMiArMzcsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBFeGNsdXNpdmVUcmFja0xpc3Q7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIExvY2FsTWVk
aWFTdHJlYW07CiBjbGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIE1lZGlhU3RyZWFtQ29udHJvbGxl
cjsKLWNsYXNzIE11bHRpcGxlVHJhY2tMaXN0OworY2xhc3MgTWVkaWFTdHJlYW1UcmFja0xpc3Q7
CiBjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOwogY2xhc3MgTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOwogY2xhc3MgUGFnZTsKQEAgLTc2LDcgKzc1LDcgQEAg
cHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoRW1iZWRkZXIoKSB7IH0KIAogICAg
IHByb3RlY3RlZDoKLSAgICAgICAgLy8gVXNlZCBmb3Igb2JqZWN0cyB0aGF0IGFyZSBvcHRpb25h
bGx5IGFzc29jaWF0ZWQgdG8gdGhlIGZyYW1lIGNvbnRyb2xsZXIgYWZ0ZXIgY29uc3RydWN0aW9u
LCBsaWtlIHRoZSB0cmFjayBsaXN0cy4KKyAgICAgICAgLy8gVXNlZCBmb3Igb2JqZWN0cyB0aGF0
IGFyZSBvcHRpb25hbGx5IGFzc29jaWF0ZWQgdG8gdGhlIGZyYW1lIGNvbnRyb2xsZXIgYWZ0ZXIg
Y29uc3RydWN0aW9uLCBsaWtlIHRoZSBNZWRpYVN0cmVhbVRyYWNrcy4KICAgICAgICAgdm9pZCBh
c3NvY2lhdGVGcmFtZUNvbnRyb2xsZXIoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1l
Q29udHJvbGxlciwgY29uc3QgSWRUeXBlJiBpZCkKICAgICAgICAgewogICAgICAgICAgICAgQVNT
RVJUKCFtX2ZyYW1lQ29udHJvbGxlciAmJiAhbV9jbGllbnRJZCk7CkBAIC0xNTUsMjAgKzE1NCwx
NiBAQCBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlIGEgbmV3IGdlbmVyYXRlZCBzdHJlYW0gYXN5bmNo
cm9ub3VzbHkgd2l0aCB0aGUgcHJvdmlkZWQgb3B0aW9ucy4KICAgICB2b2lkIGdlbmVyYXRlU3Ry
ZWFtKGNvbnN0IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2s+LCBFeGNlcHRpb25Db2RlJik7CiAKLSAgICAvLyBTdG9wIGEgZ2VuZXJhdGVkIHN0cmVhbS4K
KyAgICAvLyBTdG9wIGEgbG9jYWwgbWVkaWEgc3RyZWFtLgogICAgIHZvaWQgc3RvcEdlbmVyYXRl
ZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKTsKIAotICAgIC8vIEVuYWJsZS9kaXNh
YmxlIGFuIGF1ZGlvIHRyYWNrIGluIGEgZ2VuZXJhdGVkIHN0cmVhbS4KLSAgICB2b2lkIGVuYWJs
ZUF1ZGlvVHJhY2soY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCwgdW5zaWduZWQgbG9uZyBpbmRl
eCk7Ci0gICAgdm9pZCBkaXNhYmxlQXVkaW9UcmFjayhjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVs
LCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLQotICAgIC8vIFNlbGVjdCBhIHZpZGVvIHRyYWNrIGlu
IGEgZ2VuZXJhdGVkIHN0cmVhbS4KLSAgICB2b2lkIHNlbGVjdFZpZGVvVHJhY2soY29uc3QgU3Ry
aW5nJiBzdHJlYW1MYWJlbCwgbG9uZyBpbmRleCk7CisgICAgLy8gRW5hYmxlL2Rpc2FibGUgYW4g
dHJhY2suCisgICAgdm9pZCBzZXRNZWRpYVN0cmVhbVRyYWNrRW5hYmxlZChjb25zdCBTdHJpbmcm
IHRyYWNrSWQsIGJvb2wgZW5hYmxlZCk7CiAKICAgICAvLyAtLS0gQ2FsbHMgY29taW5nIGJhY2sg
ZnJvbSB0aGUgY29udHJvbGxlci4gLS0tIC8vCiAKICAgICAvLyBSZXBvcnQgdGhlIGdlbmVyYXRp
b24gb2YgYSBuZXcgbG9jYWwgc3RyZWFtLgotICAgIHZvaWQgc3RyZWFtR2VuZXJhdGVkKGludCBy
ZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwsIFBhc3NSZWZQdHI8TXVsdGlwbGVU
cmFja0xpc3Q+IGF1ZGlvVHJhY2tzLCBQYXNzUmVmUHRyPEV4Y2x1c2l2ZVRyYWNrTGlzdD4gdmlk
ZW9UcmFja3MpOworICAgIHZvaWQgc3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGNvbnN0
IFN0cmluZyYgc3RyZWFtTGFiZWwsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja0xpc3Q+IHRy
YWNrcyk7CiAKICAgICAvLyBSZXBvcnQgYSBmYWlsdXJlIGluIHRoZSBnZW5lcmF0aW9uIG9mIGEg
bmV3IHN0cmVhbS4KICAgICB2b2lkIHN0cmVhbUdlbmVyYXRpb25GYWlsZWQoaW50IHJlcXVlc3RJ
ZCwgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6OkVycm9yQ29kZSk7CkBAIC0xNzYsMTAgKzE3MSw2
IEBAIHB1YmxpYzoKICAgICAvLyBSZXBvcnQgdGhlIGVuZCBvZiBhIHN0cmVhbSBmb3IgZXh0ZXJu
YWwgcmVhc29ucy4KICAgICB2b2lkIHN0cmVhbUZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxh
YmVsKTsKIAotICAgIC8vIFJlcG9ydCB0aGUgdW5leHBlY3RlZCB1bmF2YWlsYWJpbGl0eSBvZiBh
IGxpdmUgbWVkaWEgdHJhY2suCi0gICAgdm9pZCBhdWRpb1RyYWNrRmFpbGVkKGNvbnN0IFN0cmlu
ZyYgc3RyZWFtTGFiZWwsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgdmlkZW9UcmFj
a0ZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsLCB1bnNpZ25lZCBsb25nIGluZGV4KTsK
LQogcHJpdmF0ZToKICAgICBjbGFzcyBSZXF1ZXN0OwogICAgIGNsYXNzIEdlbmVyYXRlU3RyZWFt
UmVxdWVzdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>