<?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>56666</bug_id>
          
          <creation_ts>2011-03-18 12:09:29 -0700</creation_ts>
          <short_desc>Media Stream API: adding Stream and GeneratedStream classes.</short_desc>
          <delta_ts>2012-09-19 07:21:59 -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>
          <dependson>60177</dependson>
          <blocked>56459</blocked>
    
    <blocked>58787</blocked>
    
    <blocked>61537</blocked>
    
    <blocked>61539</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Leandro Graciá Gil">leandrogracia</reporter>
          <assigned_to name="Leandro Graciá Gil">leandrogracia</assigned_to>
          <cc>adam.bergkvist</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>satish</cc>
    
    <cc>steveblock</cc>
    
    <cc>tbassetto+bugzilla</cc>
    
    <cc>tommyw</cc>
    
    <cc>tonyg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>369778</commentid>
    <comment_count>0</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-18 12:09:29 -0700</bug_when>
    <thetext>This patch introduces the Stream and GeneratedStream classes according to the lastest specification and integrating to the code introduced by previous patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369798</commentid>
    <comment_count>1</comment_count>
      <attachid>86196</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-18 12:42:08 -0700</bug_when>
    <thetext>Created attachment 86196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369806</commentid>
    <comment_count>2</comment_count>
      <attachid>86200</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-18 12:57:06 -0700</bug_when>
    <thetext>Created attachment 86200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369807</commentid>
    <comment_count>3</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-18 12:57:24 -0700</bug_when>
    <thetext>No contents changed. Rebasing to solve problems with the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372399</commentid>
    <comment_count>4</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 13:20:42 -0700</bug_when>
    <thetext>Updating the bug platform settings (had the default ones).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405198</commentid>
    <comment_count>5</comment_count>
      <attachid>93803</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-05-17 11:36:01 -0700</bug_when>
    <thetext>Created attachment 93803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407201</commentid>
    <comment_count>6</comment_count>
      <attachid>94243</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-05-20 11:13:39 -0700</bug_when>
    <thetext>Created attachment 94243
Patch

Some minor fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407909</commentid>
    <comment_count>7</comment_count>
      <attachid>94243</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-05-23 06:06:46 -0700</bug_when>
    <thetext>Comment on attachment 94243
Patch

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

Just a couple of small questions. Everything else lgtm.

&gt; Source/WebCore/dom/GeneratedStream.cpp:82
&gt; +    if (m_readyState != ENDED)

Since stop() needs to be robust to ENDED streams, perhaps it would be easier to just call stop() unconditionally here at let it fail the first check?

&gt; Source/WebCore/dom/Stream.cpp:57
&gt; +    if (m_readyState == ENDED)

I might be missing it, but it doesn&apos;t seem like we&apos;d ever want to call streamEnded while m_readyState == ENDED. If not, should we ASSERT here instead?

&gt; Source/WebCore/dom/Stream.idl:36
&gt; +                 attribute EventListener onreadystatechange;

onreadystatechange isn&apos;t in:
http://www.whatwg.org/specs/web-apps/current-work/#stream

Should we have it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407937</commentid>
    <comment_count>8</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-05-23 06:53:01 -0700</bug_when>
    <thetext>Looks good to me, modulo Tony&apos;s comments.

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

&gt;&gt; Source/WebCore/dom/Stream.idl:36
&gt;&gt; +                 attribute EventListener onreadystatechange;
&gt; 
&gt; onreadystatechange isn&apos;t in:
&gt; http://www.whatwg.org/specs/web-apps/current-work/#stream
&gt; 
&gt; Should we have it?

Right, it used to be in the spec but must have been recently removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408097</commentid>
    <comment_count>9</comment_count>
      <attachid>94448</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-05-23 11:18:15 -0700</bug_when>
    <thetext>Created attachment 94448
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408099</commentid>
    <comment_count>10</comment_count>
      <attachid>94243</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-05-23 11:21:32 -0700</bug_when>
    <thetext>Comment on attachment 94243
Patch

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

&gt;&gt; Source/WebCore/dom/GeneratedStream.cpp:82
&gt;&gt; +    if (m_readyState != ENDED)
&gt; 
&gt; Since stop() needs to be robust to ENDED streams, perhaps it would be easier to just call stop() unconditionally here at let it fail the first check?

Fixed.

&gt;&gt; Source/WebCore/dom/Stream.cpp:57
&gt;&gt; +    if (m_readyState == ENDED)
&gt; 
&gt; I might be missing it, but it doesn&apos;t seem like we&apos;d ever want to call streamEnded while m_readyState == ENDED. If not, should we ASSERT here instead?

Fixed.

&gt;&gt; Source/WebCore/dom/Stream.idl:36
&gt;&gt; +                 attribute EventListener onreadystatechange;
&gt; 
&gt; onreadystatechange isn&apos;t in:
&gt; http://www.whatwg.org/specs/web-apps/current-work/#stream
&gt; 
&gt; Should we have it?

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408790</commentid>
    <comment_count>11</comment_count>
      <attachid>94448</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-24 06:00:46 -0700</bug_when>
    <thetext>Comment on attachment 94448
Patch

Rejecting attachment 94448 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
e/WebCore/page/MediaStreamController.h
patching file Source/WebCore/page/MediaStreamFrameController.cpp
patching file Source/WebCore/page/MediaStreamFrameController.h
patching file Source/WebCore/page/NavigatorUserMediaError.h
patching file Source/WebCore/page/NavigatorUserMediaSuccessCallback.h
patching file Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Tony Gentilcore&apos;, u&apos;--...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8734083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408800</commentid>
    <comment_count>12</comment_count>
      <attachid>94598</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-05-24 06:12:18 -0700</bug_when>
    <thetext>Created attachment 94598
Patch

Rebase only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408858</commentid>
    <comment_count>13</comment_count>
      <attachid>94598</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-24 08:12:03 -0700</bug_when>
    <thetext>Comment on attachment 94598
Patch

Clearing flags on attachment: 94598

Committed r87150: &lt;http://trac.webkit.org/changeset/87150&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408859</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-24 08:12:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86196</attachid>
            <date>2011-03-18 12:42:08 -0700</date>
            <delta_ts>2011-03-18 12:57:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56666-20110318194206.patch</filename>
            <type>text/plain</type>
            <size>65649</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNmJjYmRhNGUyOGYzYThiZWVjMTFhOTgwZjcxNTgxNjUx
ZGY5NWEwNy4uZTQyZGUzZDYyYTkyOTNhOTU3Y2Y1ZTViOGJjNjlkOTM5YjFlZTViMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE1Nyw2ICsxNTcsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMK
ICAgICBkb20vRXJyb3JFdmVudC5pZGwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAgICAg
ZG9tL0V2ZW50LmlkbAorICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsCiAgICAgZG9tL0hhc2hD
aGFuZ2VFdmVudC5pZGwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5pZGwKICAgICBkb20vTWVzc2Fn
ZUNoYW5uZWwuaWRsCkBAIC0xNzcsNiArMTc4LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgZG9tL1Byb2dyZXNzRXZlbnQuaWRsCiAgICAgZG9tL1JhbmdlRXhjZXB0aW9uLmlkbAogICAg
IGRvbS9SYW5nZS5pZGwKKyAgICBkb20vU3RyZWFtLmlkbAogICAgIGRvbS9TdHJpbmdDYWxsYmFj
ay5pZGwKICAgICBkb20vVGV4dEV2ZW50LmlkbAogICAgIGRvbS9UZXh0LmlkbApAQCAtNzM4LDYg
Kzc0MCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRXZlbnRRdWV1ZS5jcHAKICAg
ICBkb20vRXhjZXB0aW9uQmFzZS5jcHAKICAgICBkb20vRXhjZXB0aW9uQ29kZS5jcHAKKyAgICBk
b20vR2VuZXJhdGVkU3RyZWFtLmNwcAogICAgIGRvbS9JbnB1dEVsZW1lbnQuY3BwCiAgICAgZG9t
L0tleWJvYXJkRXZlbnQuY3BwCiAgICAgZG9tL01lc3NhZ2VDaGFubmVsLmNwcApAQCAtNzc3LDYg
Kzc4MCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vU3BhY2VTcGxpdFN0cmluZy5j
cHAKICAgICBkb20vU3RhdGljSGFzaFNldE5vZGVMaXN0LmNwcAogICAgIGRvbS9TdGF0aWNOb2Rl
TGlzdC5jcHAKKyAgICBkb20vU3RyZWFtLmNwcAogICAgIGRvbS9TdHlsZWRFbGVtZW50LmNwcAog
ICAgIGRvbS9TdHlsZUVsZW1lbnQuY3BwCiAgICAgZG9tL1RhZ05vZGVMaXN0LmNwcApAQCAtMTE3
MCw2ICsxMTc0LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBhZ2UvTmF2aWdhdG9yLmNw
cAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5jcHAKICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suY3BwCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suY3BwCiAgICAgcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAKICAgICBwYWdlL1BhZ2Uu
Y3BwCiAgICAgcGFnZS9QYWdlR3JvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIyMDgyZmUzYjgzMzBi
MDVjZDRlZjZiZTA0ZDRhOGM0ZGY4ZDNhZS4uNzY1Y2E0ODk3MjNjNDIxN2JjYjAwNTM5NGI1MzYz
YTc4MmFlNzFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDExLTAzLTE4ICBMZWFu
ZHJvIEdyYWNpYSBHaWwgIDxsZWFuZHJvZ3JhY2lhQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZWRpYSBTdHJlYW0gQVBJIHBh
dGNoIDI6IGFkZGluZyBTdHJlYW0gYW5kIEdlbmVyYXRlZFN0cmVhbSBjbGFzc2VzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY2NjYKKworICAgICAg
ICBBZGQgdGhlIFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMgYW5kIGludGVncmF0
ZSB0aGVtIHdpdGggdGhlIGV4aXN0aW5nIGNvbnRyb2xsZXIgYW5kIGludGVyZmFjZXMuCisKKyAg
ICAgICAgVGVzdHMgd2lsbCBiZSBwcm92aWRlZCBieSB0aGUgYnVnIDU2NTg3IHRvZ2V0aGVyIHdp
dGggdGhlIExheW91dFRlc3RDb250cm9sbGVyIGFuZCBjbGllbnQgbW9jayBjb2RlLgorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogZG9tL0RPTUFsbEluT25lLmNwcDoKKyAgICAgICAgKiBkb20vR2VuZXJhdGVkU3RyZWFt
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06OkdlbmVyYXRlZFN0cmVhbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06On5HZW5lcmF0ZWRTdHJlYW0pOgorICAg
ICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6
OkdlbmVyYXRlZFN0cmVhbTo6cGF1c2UpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3Ry
ZWFtOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpvblN0b3Ap
OgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpvblBhdXNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6b25SZXN1bWUpOgorICAgICAgICAqIGRvbS9HZW5l
cmF0ZWRTdHJlYW0uaDogQWRkZWQuCisgICAgICAgICogZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGw6
IEFkZGVkLgorICAgICAgICAqIGRvbS9TdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlN0cmVhbTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6U3RyZWFtKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6flN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpT
dHJlYW06OmdldENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpzdHJlYW1F
bmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06Om9uRW5kZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6U3RyZWFtOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlN0cmVhbTo6ZXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6ZW5z
dXJlRXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKiBkb20vU3RyZWFtLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U3RyZWFtOjpsYWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06
OnJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpzdHJlYW1JZCk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHJlYW06OkRpc3BhdGNoU3RyZWFtVXBkYXRlVGFzazo6RGlzcGF0Y2hT
dHJlYW1VcGRhdGVUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6RGlzcGF0Y2hTdHJl
YW1VcGRhdGVUYXNrOjpwZXJmb3JtVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OnJl
ZkV2ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6ZGVyZWZFdmVudFRhcmdl
dCk6CisgICAgICAgICogZG9tL1N0cmVhbS5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6OnNjaGVkdWxlQ2FsbGJhY2sp
OgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmg6Cisg
ICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsOgorICAg
ICAgICAqIHBhZ2UvU3RyZWFtQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9TdHJlYW1Db250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OnVucmVnaXN0ZXJT
dHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6c3RvcEdlbmVyYXRl
ZFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpwYXVzZUdlbmVy
YXRlZFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpyZXN1bWVH
ZW5lcmF0ZWRTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6c3Ry
ZWFtR2VuZXJhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OnN0cmVh
bUZhaWxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpTdHJlYW1EYXRh
OjpTdHJlYW1EYXRhKToKKyAgICAgICAgKiBwYWdlL1N0cmVhbUNvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OlN0cmVhbUxpc3RlbmVyOjp+U3RyZWFtTGlz
dGVuZXIpOgorICAgICAgICAqIHBhZ2UvU3RyZWFtTGlzdGVuZXIuaDoKKwogMjAxMS0wMy0xNyAg
TGVhbmRybyBHcmFjaWEgR2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkK
aW5kZXggODUyNmY2MzIyMDE1MmI5ODcwZGY0MmQxM2M1NjdkZjcyMjZlNDJmZi4uMDY2YTg2MGRj
MTUwNDZlZTZjZWE4NmU1ODcyMTQyYTI0NzZhNzQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3Jz
LnByaQpAQCAtMTI4LDYgKzEyOCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZG9tL0V2ZW50
RXhjZXB0aW9uLmlkbCBcCiAjICAgIGRvbS9FdmVudExpc3RlbmVyLmlkbCBcCiAjICAgIGRvbS9F
dmVudFRhcmdldC5pZGwgXAorICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsIFwKICAgICBkb20v
SGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKICAgICBk
b20vTW91c2VFdmVudC5pZGwgXApAQCAtMTQ4LDYgKzE0OSw3IEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgZG9tL1Byb2dyZXNzRXZlbnQuaWRsIFwKICAgICBkb20vUmFuZ2VFeGNlcHRpb24uaWRs
IFwKICAgICBkb20vUmFuZ2UuaWRsIFwKKyAgICBkb20vU3RyZWFtLmlkbCBcCiAgICAgZG9tL1N0
cmluZ0NhbGxiYWNrLmlkbCBcCiAgICAgZG9tL1RleHQuaWRsIFwKICAgICBkb20vVGV4dEV2ZW50
LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMmNhZTgwYzNlMjYyNzA2MmZl
YWU4MmNlZThiYWJiYWFiMTA4MDY2Yi4uMmE0OGFmMTQ1Nzc0ZjUxZTQ5YzQ2ZDQ2ZGQ1ZGI3Mjlk
MWNmZjAyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTMxLDYgKzEzMSw3IEBA
CiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNGbGFncy5jcHAi
CiAjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuY3BwIgorI2luY2x1ZGUgIkpTR2VuZXJhdGVkU3Ry
ZWFtLmNwcCIKICNpbmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU0dlb3Bv
c2l0aW9uLmNwcCIKICNpbmNsdWRlICJKU0hhc2hDaGFuZ2VFdmVudC5jcHAiCkBAIC0yODYsNiAr
Mjg3LDcgQEAKICNpbmNsdWRlICJKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmNwcCIKICNp
bmNsdWRlICJKU1N0b3JhZ2UuY3BwIgogI2luY2x1ZGUgIkpTU3RvcmFnZUV2ZW50LmNwcCIKKyNp
bmNsdWRlICJKU1N0cmVhbS5jcHAiCiAjaW5jbHVkZSAiSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAj
aW5jbHVkZSAiSlNTdHlsZU1lZGlhLmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXQuY3BwIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjU4NjU0MDczZmQzMjFkY2JlMjc1OWVl
OTIyM2U4YmMzYjU5ZmJiNS4uZjAzYjJhMmE5N2M3YjU3M2ZiM2YwMzVmN2E5YjA3M2FhODdhMDhm
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xOTcsNiArMTk3LDcgQEAgRE9N
X0NMQVNTRVMgPSBcCiAgICAgRmlsZVdyaXRlclN5bmMgXAogICAgIEZpbGVTeXN0ZW1DYWxsYmFj
ayBcCiAgICAgRmxhZ3MgXAorICAgIEdlbmVyYXRlZFN0cmVhbSBcCiAgICAgR2VvbG9jYXRpb24g
XAogICAgIEdlb3Bvc2l0aW9uIFwKICAgICBIYXNoQ2hhbmdlRXZlbnQgXApAQCAtMzU0LDYgKzM1
NSw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrIFwK
ICAgICBTdG9yYWdlIFwKICAgICBTdG9yYWdlRXZlbnQgXAorICAgIFN0cmVhbSBcCiAgICAgU3Ry
aW5nQ2FsbGJhY2sgXAogICAgIFNWR0FFbGVtZW50IFwKICAgICBTVkdBbHRHbHlwaEVsZW1lbnQg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAzNTY4ZmRkYTM1N2UxNzNjYzI5Y2Y1MjQ4OWQxOGZh
ZDY5Y2U2MGZjLi5hNmM5NDA5NzE4MTEwMTA4N2MyMjg1OGU2NWU3MjU5MDAzZTQ1MGZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjcxLDYgKzI3MSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVSZWFkZXJTeW5jLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDMyQXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
ZW5lcmF0ZWRTdHJlYW0uY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VuZXJhdGVk
U3RyZWFtLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR2VvcG9zaXRpb24uY3BwIFwKQEAgLTg3Miw2ICs4NzQsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU2hhcmVkV29ya2Vy
Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9t
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9tLmggXAor
CVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3RyZWFtLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNTdHJlYW0uaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
VGV4dEN1c3RvbS5jcHAgXApAQCAtMTIzNiw2ICsxMjQwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9FeGNlcHRpb25Db2RlLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNj
cmlwdGluZ1Blcm1pc3Npb24uaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVh
bS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uaCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vSW5wdXRFbGVtZW50LmggXApAQCAtMTMyNCw2ICsxMzMwLDggQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljSGFzaFNldE5vZGVMaXN0LmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNOb2RlTGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Rv
bS9TdGF0aWNOb2RlTGlzdC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVk
RWxlbWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuY3BwIFwKQEAgLTIyNzUsNiArMjI4Myw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL09yaWdpbkFj
Y2Vzc0VudHJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlYzBhOGRhNGMzMDNmZGNlYzA1ZTg2OWU0NWJlZDRiZDky
YzM3YjA0Li44NGM0OGZlYTcyMzgyMjRlZTgyNWMxOWNkOTA4YTE0NWY1ZGY4OGZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0xMzEwLDYgKzEzMTAsNyBAQAogICAgICAgICAgICAgJ2RvbS9FdmVudEV4
Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL0V2ZW50VGFyZ2V0LmlkbCcsCisgICAgICAgICAgICAnZG9tL0dlbmVyYXRl
ZFN0cmVhbS5pZGwnLAogICAgICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsJywKICAg
ICAgICAgICAgICdkb20vS2V5Ym9hcmRFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NZXNz
YWdlQ2hhbm5lbC5pZGwnLApAQCAtMTMzMSw2ICsxMzMyLDcgQEAKICAgICAgICAgICAgICdkb20v
UmFuZ2UuaWRsJywKICAgICAgICAgICAgICdkb20vUmFuZ2VFeGNlcHRpb24uaWRsJywKICAgICAg
ICAgICAgICdkb20vUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaWRsJywKKyAgICAgICAg
ICAgICdkb20vU3RyZWFtLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1RleHQuaWRsJywKICAgICAgICAgICAgICdkb20vVGV4dEV2
ZW50LmlkbCcsCkBAIC0yNjMyLDYgKzI2MzQsOCBAQAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRp
b25CYXNlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuaCcsCiAgICAgICAg
ICAgICAnZG9tL0V4Y2VwdGlvbkNvZGUuY3BwJywKKyAgICAgICAgICAgICdkb20vR2VuZXJhdGVk
U3RyZWFtLmNwcCcsCisgICAgICAgICAgICAnZG9tL0dlbmVyYXRlZFN0cmVhbS5oJywKICAgICAg
ICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oJywKICAgICAgICAgICAgICdkb20vSW5w
dXRFbGVtZW50LmNwcCcsCkBAIC0yNzA1LDYgKzI3MDksOCBAQAogICAgICAgICAgICAgJ2RvbS9T
dGF0aWNIYXNoU2V0Tm9kZUxpc3QuaCcsCiAgICAgICAgICAgICAnZG9tL1N0YXRpY05vZGVMaXN0
LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1N0YXRpY05vZGVMaXN0LmgnLAorICAgICAgICAgICAg
J2RvbS9TdHJlYW0uY3BwJywKKyAgICAgICAgICAgICdkb20vU3RyZWFtLmgnLAogICAgICAgICAg
ICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5jcHAnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxs
YmFjay5oJywKICAgICAgICAgICAgICdkb20vU3R5bGVFbGVtZW50LmNwcCcsCkBAIC0zNTczLDYg
KzM1NzksNyBAQAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCcs
CiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCcs
CiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgnLAor
ICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCcs
CiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCcs
CiAgICAgICAgICAgICAncGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAnLAogICAgICAgICAgICAg
J3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDE5OTMzOTBiZTll
MDY1NjQ0OTI3NjlmYmYyNmUyNWYyNWI1M2ViOWYuLjE2YzJhMGRlNzRmOWU1NTcwNjkyNTViOGYz
MGY2ZGU1M2JlMTM0MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC00ODksNiArNDg5LDcgQEAgU09VUkNF
UyArPSBcCiAgICAgZG9tL0V2ZW50UXVldWUuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5j
cHAgXAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmNwcCBcCisgICAgZG9tL0dlbmVyYXRlZFN0cmVh
bS5jcHAgXAogICAgIGRvbS9JbnB1dEVsZW1lbnQuY3BwIFwKICAgICBkb20vS2V5Ym9hcmRFdmVu
dC5jcHAgXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5jcHAgXApAQCAtNTI5LDYgKzUzMCw3IEBA
IFNPVVJDRVMgKz0gXAogICAgIGRvbS9TZWxlY3Rvck5vZGVMaXN0LmNwcCBcCiAgICAgZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuY3BwIFwKICAgICBkb20vU3RhdGljTm9kZUxpc3QuY3BwIFwKKyAgICBk
b20vU3RyZWFtLmNwcCBcCiAgICAgZG9tL1N0eWxlZEVsZW1lbnQuY3BwIFwKICAgICBkb20vU3R5
bGVFbGVtZW50LmNwcCBcCiAgICAgZG9tL1RhZ05vZGVMaXN0LmNwcCBcCkBAIC05MDcsNiArOTA5
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRz
LmNwcCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuY3BwIFwKICAgICBwYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suY3BwIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5jcHAgXAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5jcHAgXAogICAgIHBhZ2Uv
T3JpZ2luQWNjZXNzRW50cnkuY3BwIFwKICAgICBwYWdlL1BhZ2UuY3BwIFwKQEAgLTE0NDgsNiAr
MTQ1MSw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FeGNlcHRpb25CYXNlLmggXAogICAgIGRv
bS9FeGNlcHRpb25Db2RlLmggXAogICAgIGRvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24u
aCBcCisgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5oIFwKICAgICBkb20vSW5wdXRFbGVtZW50Lmgg
XAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmggXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5oIFwK
QEAgLTE0NjcsNiArMTQ3MSw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9PcHRpb25FbGVtZW50
LmggXAogICAgIGRvbS9PcHRpb25Hcm91cEVsZW1lbnQuaCBcCiAgICAgZG9tL1N0YXRpY0hhc2hT
ZXROb2RlTGlzdC5oIFwKKyAgICBkb20vU3RyZWFtLmggXAogICAgIGRvbS9PdmVyZmxvd0V2ZW50
LmggXAogICAgIGRvbS9QYWdlVHJhbnNpdGlvbkV2ZW50LmggXAogICAgIGRvbS9Qb3NpdGlvbi5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
MGUwNGM3OTA0YWIyM2M5ZGUwNGJkM2E4ZjY5YzhlNWE3ZjQ2NDE4Yy4uODAzNjcwY2U5NGE1YWFh
ODQ1MzNiYmY1MDM2ODZlOTAzMWQ2YmZhYSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTU1NDIsNiArNTU0Miw2MiBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTR2VuZXJhdGVkU3RyZWFtLmNw
cCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fp
cm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJl
bGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTR2VuZXJhdGVkU3RyZWFtLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNHZW9sb2NhdGlvbi5jcHAiCiAJCQkJPgogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpAQCAtMTM3MjYsNiArMTM3ODIsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1N0cmVhbS5jcHAiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0xUQ0d8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1N0cmVh
bS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
U3R5bGVNZWRpYS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNDQ3MTAs
NiArNDQ4MjIsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXEdlbmVyYXRlZFN0cmVhbS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0xUQ0d8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEdlbmVyYXRlZFN0cmVh
bS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cSGFzaENoYW5nZUV2ZW50LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNDY3NzgsNiArNDY5
NDYsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZG9tXFN0cmVhbS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJSZWxlYXNlX0xUQ0d8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFN0cmVhbS5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cU3RyaW5nQ2FsbGJhY2suY3BwIgog
CQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyOGU0NTZjZmYyMTE0NTNjZWEwNWNh
Yzc3MGY4YzhmOGMwMDA2NGVhLi5iNTk1ZTkzMDgxZGQyNmU4ZDM1MDM3MWZiNjVkMDc3MTZjNjlh
NTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC00MDc4LDE3ICs0MDc4LDI1IEBACiAJCUIwMTQ5RTdFMTFBNEIyMTUwMDE5NkE3
QiAvKiBBc3luY0ltYWdlUmVzaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjAxNDlFN0ExMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNp
emVyLmggKi87IH07CiAJCUIwMTQ5RTdGMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJU
aHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi87IH07
CiAJCUIwMTQ5RTgwMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdDMTFBNEIy
MTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAqLzsgfTsKKwkJQjFFNDZCRjgxMzMz
QjUzQTAwODIyRDdGIC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkJFRjEzMzNCNTNBMDA4MjJEN0YgLyogR2Vu
ZXJhdGVkU3RyZWFtLmNwcCAqLzsgfTsKKwkJQjFFNDZCRjkxMzMzQjUzQTAwODIyRDdGIC8qIEdl
bmVyYXRlZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjFFNDZCRjAxMzMzQjUzQTAwODIyRDdGIC8qIEdlbmVyYXRlZFN0cmVhbS5oICovOyB9
OworCQlCMUU0NkJGQjEzMzNCNTNBMDA4MjJEN0YgLyogU3RyZWFtLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QkYyMTMzM0I1M0EwMDgyMkQ3
RiAvKiBTdHJlYW0uY3BwICovOyB9OworCQlCMUU0NkJGQzEzMzNCNTNBMDA4MjJEN0YgLyogU3Ry
ZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0
NkJGMzEzMzNCNTNBMDA4MjJEN0YgLyogU3RyZWFtLmggKi87IH07CiAJCUIxRTQ2QzA5MTMzM0I1
N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDMDExMzMzQjU3RjAwODIyRDdGIC8q
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CiAJCUIxRTQ2QzBCMTMzM0I1N0YwMDgy
MkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzAzMTMzM0I1N0YwMDgyMkQ3
RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJQjFFNDZD
MEMxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzA0MTMz
M0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi87IH07
CiAJCUIxRTQ2QzBFMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjFFNDZDMDYxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5jcHAgKi87IH07CiAJCUIxRTQ2QzBGMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNDZDNEUxMzMzQzFEQzAwODIy
RDdGIC8qIEpTR2VuZXJhdGVkU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQwMTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVyYXRl
ZFN0cmVhbS5jcHAgKi87IH07CisJCUIxRTQ2QzRGMTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVy
YXRlZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjFFNDZDNDExMzMzQzFEQzAwODIyRDdGIC8qIEpTR2VuZXJhdGVkU3RyZWFtLmggKi87IH07
CiAJCUIxRTQ2QzUyMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2
QzQ0MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLzsg
fTsKIAkJQjFFNDZDNTMxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2
QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07
CiAJCUIxRTQ2QzU0MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjFFNDZDNDYxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjay5jcHAgKi87IH07CiAJCUIxRTQ2QzU1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ3MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjFFNDZDNTYxMzMzQzFEQzAwODIy
RDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ4MTMzM0MxREMwMDgy
MkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgKi87IH07CiAJ
CUIxRTQ2QzU3MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjFFNDZDNDkxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmggKi87IH07CisJCUIxRTQ2QzU4MTMzM0MxREMwMDgyMkQ3RiAvKiBKU1N0cmVhbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkM0
QTEzMzNDMURDMDA4MjJEN0YgLyogSlNTdHJlYW0uY3BwICovOyB9OworCQlCMUU0NkM1OTEzMzND
MURDMDA4MjJEN0YgLyogSlNTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzRCMTMzM0MxREMwMDgyMkQ3RiAvKiBKU1N0cmVhbS5oICov
OyB9OwogCQlCMjAxMTEwNzBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNTBBQjc3
NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMDExMTA4MEFCNzc0
MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxl
bWVudC5oICovOyB9OwogCQlCMjIyNzk2MjBEMDBCRjIyMDA3MUI3ODIgLyogQ29sb3JEaXN0YW5j
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIy
NzdDQjBEMDBCRjFGMDA3MUI3ODIgLyogQ29sb3JEaXN0YW5jZS5jcHAgKi87IH07CkBAIC0xMDMy
Myw2ICsxMDMzMSwxMiBAQAogCQlCMDE0OUU3QTExQTRCMjE1MDAxOTZBN0IgLyogQXN5bmNJbWFn
ZVJlc2l6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN5bmNJbWFnZVJl
c2l6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjAxNDlFN0IxMUE0QjIxNTAw
MTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFk
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkJFRjEzMzNCNTNBMDA4MjJEN0Yg
LyogR2VuZXJhdGVkU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEdlbmVyYXRlZFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIx
RTQ2QkYwMTMzM0I1M0EwMDgyMkQ3RiAvKiBHZW5lcmF0ZWRTdHJlYW0uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJhdGVkU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUIxRTQ2QkYxMTMzM0I1M0EwMDgyMkQ3RiAvKiBHZW5lcmF0ZWRTdHJlYW0u
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdlbmVyYXRlZFN0cmVhbS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QkYyMTMzM0I1M0EwMDgyMkQ3RiAvKiBTdHJlYW0u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RyZWFtLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZCRjMxMzMzQjUzQTAwODIyRDdGIC8qIFN0
cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJlYW0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZCRjQxMzMzQjUzQTAwODIyRDdGIC8qIFN0cmVh
bS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3RyZWFtLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjFFNDZDMDExMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTQ2QzAyMTMz
M0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMUU0NkMwMzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEwMzMxLDEyICsxMDM0NSwxNiBAQAogCQlCMUU0NkMwNjEzMzNCNTdGMDA4
MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTQ2QzA3MTMzM0I1N0Yw
MDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTQ2QzA4MTMzM0I1N0YwMDgyMkQ3
RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQwMTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVy
YXRlZFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dl
bmVyYXRlZFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQx
MTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVyYXRlZFN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0dlbmVyYXRlZFN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMUU0NkM0NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFF
NDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU0NkM0NjEzMzNDMURDMDA4MjJEN0Yg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTQ2QzQ3MTMzM0MxREMwMDgyMkQ3
RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTQ2QzQ4MTMzM0MxREMwMDgyMkQ3RiAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTQ2QzQ5MTMzM0MxREMwMDgyMkQ3
RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0QTEzMzNDMURDMDA4MjJEN0Yg
LyogSlNTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNT
dHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0QjEzMzNDMURD
MDA4MjJEN0YgLyogSlNTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIwMTExMDUwQUI3NzQw
NTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTU1ZHQUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdBRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMjIyNzdDQjBEMDBCRjFGMDA3MUI3ODIgLyogQ29sb3JEaXN0YW5j
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29sb3JEaXN0YW5j
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjg1OCw2ICsxNjg3Niw4IEBA
CiAJCQkJNjVERjMyMkUwOUQxRERCQzAwMEJFMzI1IC8qIEpTRW50aXR5LmggKi8sCiAJCQkJOTNG
OUI3NzIwQkE1RkREQzAwODU0MDY0IC8qIEpTRW50aXR5UmVmZXJlbmNlLmNwcCAqLywKIAkJCQk5
M0Y5Qjc3MzBCQTVGRERDMDA4NTQwNjQgLyogSlNFbnRpdHlSZWZlcmVuY2UuaCAqLywKKwkJCQlC
MUU0NkM0MDEzMzNDMURDMDA4MjJEN0YgLyogSlNHZW5lcmF0ZWRTdHJlYW0uY3BwICovLAorCQkJ
CUIxRTQ2QzQxMTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVyYXRlZFN0cmVhbS5oICovLAogCQkJ
CUZFODBEQTVGMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmNwcCAqLywKIAkJCQlG
RTgwREE2MDBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5oICovLAogCQkJCUZFODBE
QTYxMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb3Bvc2l0aW9uLmNwcCAqLywKQEAgLTE2ODgyLDYg
KzE2OTAyLDggQEAKIAkJCQk3NTQxNUQ1MjEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1
dFJlc3VsdC5oICovLAogCQkJCTc1NDE1RDUzMTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElu
cHV0UmVzdWx0TGlzdC5jcHAgKi8sCiAJCQkJNzU0MTVENTQxMjlBQjJEMjAwM0FENjY5IC8qIEpT
U3BlZWNoSW5wdXRSZXN1bHRMaXN0LmggKi8sCisJCQkJQjFFNDZDNEExMzMzQzFEQzAwODIyRDdG
IC8qIEpTU3RyZWFtLmNwcCAqLywKKwkJCQlCMUU0NkM0QjEzMzNDMURDMDA4MjJEN0YgLyogSlNT
dHJlYW0uaCAqLywKIAkJCQk2NURGMzFFRjA5RDFDQzYwMDAwQkUzMjUgLyogSlNUZXh0LmNwcCAq
LywKIAkJCQk2NURGMzFGMDA5RDFDQzYwMDAwQkUzMjUgLyogSlNUZXh0LmggKi8sCiAJCQkpOwpA
QCAtMTkyNjAsNiArMTkyODIsOSBAQAogCQkJCTkzODMxQjU2MEQwODdENjAwMEU1Qzk4NCAvKiBF
eGNlcHRpb25Db2RlLmNwcCAqLywKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhj
ZXB0aW9uQ29kZS5oICovLAogCQkJCUE4NTMxMjNDMTFEMDQ3MUIwMEQ0RDA3NyAvKiBGcmFnbWVu
dFNjcmlwdGluZ1Blcm1pc3Npb24uaCAqLywKKwkJCQlCMUU0NkJFRjEzMzNCNTNBMDA4MjJEN0Yg
LyogR2VuZXJhdGVkU3RyZWFtLmNwcCAqLywKKwkJCQlCMUU0NkJGMDEzMzNCNTNBMDA4MjJEN0Yg
LyogR2VuZXJhdGVkU3RyZWFtLmggKi8sCisJCQkJQjFFNDZCRjExMzMzQjUzQTAwODIyRDdGIC8q
IEdlbmVyYXRlZFN0cmVhbS5pZGwgKi8sCiAJCQkJMjQ0MkJCRjgxMTk0QzlEMzAwRDQ5NDY5IC8q
IEhhc2hDaGFuZ2VFdmVudC5oICovLAogCQkJCTg0ODJCNzQ0MTE5OEMzMkUwMEJGQjAwNSAvKiBI
YXNoQ2hhbmdlRXZlbnQuaWRsICovLAogCQkJCThBQjRCQzc2MTI2RkRCNzEwMERFQjcyNyAvKiBJ
Z25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oICovLApAQCAtMTkzNzAsNiAr
MTkzOTUsOSBAQAogCQkJCUNFQTM5NDlCMTFENDVDREEwMDMwOTRDRiAvKiBTdGF0aWNIYXNoU2V0
Tm9kZUxpc3QuaCAqLywKIAkJCQlCQzdGQTYyQzBEMUYwRUZGMDBEQjIyQTkgLyogU3RhdGljTm9k
ZUxpc3QuY3BwICovLAogCQkJCUJDN0ZBNjJCMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2Rl
TGlzdC5oICovLAorCQkJCUIxRTQ2QkYyMTMzM0I1M0EwMDgyMkQ3RiAvKiBTdHJlYW0uY3BwICov
LAorCQkJCUIxRTQ2QkYzMTMzM0I1M0EwMDgyMkQ3RiAvKiBTdHJlYW0uaCAqLywKKwkJCQlCMUU0
NkJGNDEzMzNCNTNBMDA4MjJEN0YgLyogU3RyZWFtLmlkbCAqLywKIAkJCQk4MTAyQzU4NzEzMjVC
QjExMDBEREU2N0EgLyogU3RyaW5nQ2FsbGJhY2suY3BwICovLAogCQkJCTgxQUM2QzM1MTMxQzU3
RDMwMDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5oICovLAogCQkJCTgxQUM2QzM0MTMxQzU3QzIw
MDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5pZGwgKi8sCkBAIC0yMjcxOSwxMiArMjI3NDcsMTYg
QEAKIAkJCQkzMTk0NjIwNDEzMDIyQkYxMDA0QkIzRjggLyogRE9NV2ViS2l0QW5pbWF0aW9uTGlz
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE5RTY5QjMxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktp
dEFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE5RTY5QjYxMzI5OUJCRDAwNEFDOTFB
IC8qIFdlYktpdEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2QkY5MTMz
M0I1M0EwMDgyMkQ3RiAvKiBHZW5lcmF0ZWRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCUIx
RTQ2QkZDMTMzM0I1M0EwMDgyMkQ3RiAvKiBTdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUIx
RTQ2QzA5MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjFFNDZDMEMxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUIxRTQ2QzBGMTMzM0I1N0Yw
MDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAorCQkJCUIxRTQ2QzRGMTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVyYXRlZFN0cmVhbS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQjFFNDZDNTMxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxRTQ2QzU1MTMzM0MxREMw
MDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIxRTQ2QzU3MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDNTkxMzMzQzFEQzAw
ODIyRDdGIC8qIEpTU3RyZWFtLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI1MzkzLDExICsyNTQyNSwx
NSBAQAogCQkJCTMxOUU2ODg3MTMyN0M5MTEwMDRBQzkxQSAvKiBKU1dlYktpdEFuaW1hdGlvbkN1
c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTlFNjlCMjEzMjk5QkJEMDA0QUM5MUEgLyog
V2ViS2l0QW5pbWF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxOUU2OUI1MTMyOTlCQkQw
MDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIx
RTQ2QkY4MTMzM0I1M0EwMDgyMkQ3RiAvKiBHZW5lcmF0ZWRTdHJlYW0uY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQjFFNDZCRkIxMzMzQjUzQTAwODIyRDdGIC8qIFN0cmVhbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCMUU0NkMwQjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU0NkMwRTEzMzNCNTdGMDA4
MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUIxRTQ2QzRFMTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVyYXRlZFN0cmVhbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU0NkM1MjEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMUU0NkM1NDEzMzND
MURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUIxRTQ2QzU2MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkM1ODEz
MzNDMURDMDA4MjJEN0YgLyogSlNTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUFsbEluT25lLmNwcAppbmRleCAwOGE3NjgwMjM4MzFmNDJhZDYzMjM1ZjcxMDA0YmUyMzQ3
OTI1NTUxLi5kZWRjNzU2ZWY0NTlmYmU0ZjcwYjQ5NjdmZmUyNDA3NWZjZGQyYmRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKQEAgLTc0LDYgKzc0LDcgQEAKICNpbmNsdWRlICJFdmVu
dFRhcmdldC5jcHAiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQmFzZS5jcHAiCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5jcHAiCisjaW5jbHVkZSAiR2VuZXJhdGVkU3RyZWFtLmNwcCIKICNpbmNsdWRl
ICJJbnB1dEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuY3BwIgogI2luY2x1
ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKQEAgLTExMCw2ICsxMTEsNyBAQAogI2luY2x1ZGUgIlNw
YWNlU3BsaXRTdHJpbmcuY3BwIgogI2luY2x1ZGUgIlN0YXRpY0hhc2hTZXROb2RlTGlzdC5jcHAi
CiAjaW5jbHVkZSAiU3RhdGljTm9kZUxpc3QuY3BwIgorI2luY2x1ZGUgIlN0cmVhbS5jcHAiCiAj
aW5jbHVkZSAiU3R5bGVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmNwcCIK
ICNpbmNsdWRlICJUYWdOb2RlTGlzdC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vR2VuZXJhdGVkU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJl
YW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJjMzRhZDBkMjM3ODM5MjQ5YmJiMmIyMTM2NGYyMThkMWM2MWE2
ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFt
LmNwcApAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHZW5l
cmF0ZWRTdHJlYW0uaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJF
dmVudC5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJT
dHJlYW1Db250cm9sbGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxH
ZW5lcmF0ZWRTdHJlYW0+IEdlbmVyYXRlZFN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIGludCBzdHJlYW1JZCwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEdlbmVyYXRlZFN0cmVhbShjb250ZXh0LCBzdHJlYW1JZCwg
bGFiZWwpKTsKK30KKworR2VuZXJhdGVkU3RyZWFtOjpHZW5lcmF0ZWRTdHJlYW0oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgaW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxhYmVs
KQorICAgIDogU3RyZWFtKGNvbnRleHQsIHN0cmVhbUlkLCBsYWJlbCkKK3sKK30KKworR2VuZXJh
dGVkU3RyZWFtOjp+R2VuZXJhdGVkU3RyZWFtKCkKK3sKKyAgICAvLyBBc3N1bWluZyB0aGF0IHRo
ZSBsb2NhbCBzdHJlYW1zIHNob3VsZCBiZSBzdG9wcGVkIHdoZW4gdGhleSBnbyBvdXQgb2Ygc2Nv
cGUuCisgICAgaWYgKG1fcmVhZHlTdGF0ZSAhPSBFTkRFRCkKKyAgICAgICAgc3RvcCgpOworfQor
Cit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6c3RvcCgpCit7CisgICAgLy8gRklYTUU6IHNob3VsZCB1
c2UgdGhlIERPTSBtYW5pcHVsYXRpb24gdGFzayBzb3VyY2UuCisgICAgQVNTRVJUKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
aXNDb250ZXh0VGhyZWFkKCkpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRh
c2sobmV3IERpc3BhdGNoU3RyZWFtVXBkYXRlVGFzazxHZW5lcmF0ZWRTdHJlYW0+KHRoaXMsICZH
ZW5lcmF0ZWRTdHJlYW06Om9uU3RvcCkpOworfQorCit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6cGF1
c2UoKQoreworICAgIC8vIEZJWE1FOiBzaG91bGQgdXNlIHRoZSBET00gbWFuaXB1bGF0aW9uIHRh
c2sgc291cmNlLgorICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIEFT
U0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzQ29udGV4dFRocmVhZCgpKTsKKyAgICBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKG5ldyBEaXNwYXRjaFN0cmVhbVVwZGF0
ZVRhc2s8R2VuZXJhdGVkU3RyZWFtPih0aGlzLCAmR2VuZXJhdGVkU3RyZWFtOjpvblBhdXNlKSk7
Cit9CisKK3ZvaWQgR2VuZXJhdGVkU3RyZWFtOjpyZXN1bWUoKQoreworICAgIC8vIEZJWE1FOiBz
aG91bGQgdXNlIHRoZSBET00gbWFuaXB1bGF0aW9uIHRhc2sgc291cmNlLgorICAgIEFTU0VSVChz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmlzQ29udGV4dFRocmVhZCgpKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PnBvc3RUYXNrKG5ldyBEaXNwYXRjaFN0cmVhbVVwZGF0ZVRhc2s8R2VuZXJhdGVkU3RyZWFtPih0
aGlzLCAmR2VuZXJhdGVkU3RyZWFtOjpvblJlc3VtZSkpOworfQorCit2b2lkIEdlbmVyYXRlZFN0
cmVhbTo6b25TdG9wKCkKK3sKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IEVOREVEKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAoU3RyZWFtQ29udHJvbGxlciogY29udHJvbGxlciA9IGdldENv
bnRyb2xsZXIoKSkKKyAgICAgICAgY29udHJvbGxlci0+c3RvcEdlbmVyYXRlZFN0cmVhbShtX3N0
cmVhbUlkKTsKKworICAgIG1fcmVhZHlTdGF0ZSA9IEVOREVEOworICAgIGRpc3BhdGNoRXZlbnQo
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7Cit9
CisKK3ZvaWQgR2VuZXJhdGVkU3RyZWFtOjpvblBhdXNlKCkKK3sKKyAgICBpZiAobV9yZWFkeVN0
YXRlICE9IExJVkUpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChTdHJlYW1Db250cm9sbGVy
KiBjb250cm9sbGVyID0gZ2V0Q29udHJvbGxlcigpKQorICAgICAgICBjb250cm9sbGVyLT5wYXVz
ZUdlbmVyYXRlZFN0cmVhbShtX3N0cmVhbUlkKTsKKworICAgIG1fcmVhZHlTdGF0ZSA9IFBBVVNF
RDsKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnBhdXNlRXZl
bnQsIGZhbHNlLCBmYWxzZSkpOworfQorCit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6b25SZXN1bWUo
KQoreworICAgIGlmIChtX3JlYWR5U3RhdGUgIT0gUEFVU0VEKQorICAgICAgICByZXR1cm47CisK
KyAgICBpZiAoU3RyZWFtQ29udHJvbGxlciogY29udHJvbGxlciA9IGdldENvbnRyb2xsZXIoKSkK
KyAgICAgICAgY29udHJvbGxlci0+cmVzdW1lR2VuZXJhdGVkU3RyZWFtKG1fc3RyZWFtSWQpOwor
CisgICAgbV9yZWFkeVN0YXRlID0gTElWRTsKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLnBsYXlFdmVudCwgZmFsc2UsIGZhbHNlKSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vR2VuZXJhdGVkU3RyZWFtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI2MTM4ZWZiMjhkYjE1ZjAwNWE3
MGE0YWI0ZmFiNWExODViNDZmNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9HZW5lcmF0ZWRTdHJlYW0uaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBHZW5lcmF0ZWRTdHJl
YW1faAorI2RlZmluZSBHZW5lcmF0ZWRTdHJlYW1faAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgor
I2luY2x1ZGUgIlN0cmVhbS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIEdlbmVyYXRlZFN0cmVhbSA6IHB1YmxpYyBTdHJl
YW0geworcHVibGljOgorICAgIC8vIE11c3QgbWF0Y2ggdGhlIGNvbnN0YW50cyBpbiB0aGUgLmlk
bCBmaWxlLgorICAgIGVudW0geworICAgICAgICBQQVVTRUQgPSAzCisgICAgfTsKKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBpbnQgc3RyZWFtSWQsIGNvbnN0IFN0cmluZyYgbGFiZWwpOworICAgIHZpcnR1YWwg
fkdlbmVyYXRlZFN0cmVhbSgpOworCisgICAgdm9pZCBzdG9wKCk7CisgICAgdm9pZCBwYXVzZSgp
OworICAgIHZvaWQgcmVzdW1lKCk7CisKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKHBhdXNlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBsYXkpOwor
Citwcml2YXRlOgorICAgIEdlbmVyYXRlZFN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
aW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxhYmVsKTsKKworICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBmcmllbmQgY2xhc3MgRGlzcGF0Y2hTdHJlYW1VcGRhdGVUYXNrOworICAgIHZvaWQg
b25TdG9wKCk7CisgICAgdm9pZCBvblBhdXNlKCk7CisgICAgdm9pZCBvblJlc3VtZSgpOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2VuZGlmIC8vIEdlbmVyYXRlZFN0cmVhbV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0
ZWRTdHJlYW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiNGM2NWJmMmRhZmMwZjU3MDdiNjU3ZDQ1ZjJlMGM5
MTMyOGM2NjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVk
U3RyZWFtLmlkbApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworCisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAorICAgICAgICBFdmVudFRhcmdl
dAorICAgIF0gR2VuZXJhdGVkU3RyZWFtIDogU3RyZWFtIHsKKyAgICAgICAgdm9pZCBzdG9wKCk7
CisKKyAgICAgICAgLy8gdGVtcG9yYXJpbHkgcGF1c2luZyB0aGUgc3RyZWFtCisgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFBBVVNFRCA9IDM7CisgICAgICAgIHZvaWQgcGF1c2UoKTsKKyAg
ICAgICAgdm9pZCByZXN1bWUoKTsKKworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBv
bnBhdXNlOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnBsYXk7CisKKyAgICAg
ICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCisgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5l
cihpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2
ZW50TGlzdGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBi
b29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4g
RE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVu
dExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
Ym9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2
ZW50IGV2dCkKKyAgICAgICAgICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CisKKyAgICB9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TdHJlYW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjMTk5YTgxMDI5MDI3YjA3YWVmNzgz
MzU4NzgxMDI0MWM2N2IzNTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U3RyZWFtLmNwcApAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJTdHJlYW0uaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJEb2N1
bWVudC5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNz
UmVmUHRyPFN0cmVhbT4gU3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgaW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxhYmVsKQoreworICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgU3RyZWFtKGNvbnRleHQsIHN0cmVhbUlkLCBsYWJlbCkpOworfQorCitTdHJl
YW06OlN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBpbnQgc3RyZWFtSWQs
IGNvbnN0IFN0cmluZyYgbGFiZWwpCisgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhp
cykKKyAgICAsIG1fc3RyZWFtSWQoc3RyZWFtSWQpCisgICAgLCBtX2xhYmVsKGxhYmVsKQorICAg
ICwgbV9yZWFkeVN0YXRlKExJVkUpCit7Cit9CisKK1N0cmVhbTo6flN0cmVhbSgpCit7CisgICAg
aWYgKFN0cmVhbUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBnZXRDb250cm9sbGVyKCkpCisgICAg
ICAgIGNvbnRyb2xsZXItPnVucmVnaXN0ZXJTdHJlYW0obV9zdHJlYW1JZCk7Cit9CisKK1N0cmVh
bUNvbnRyb2xsZXIqIFN0cmVhbTo6Z2V0Q29udHJvbGxlcigpCit7CisgICAgaWYgKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKKyAg
ICAgICAgaWYgKGNvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGlmIChQYWdlKiBw
YWdlID0gcmVpbnRlcnByZXRfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIHBhZ2UtPnN0cmVhbUNvbnRyb2xsZXIoKTsKKyAgICB9CisgICAg
cmV0dXJuIDA7Cit9CisKK3ZvaWQgU3RyZWFtOjpzdHJlYW1FbmRlZCgpCit7CisgICAgLy8gRklY
TUU6IHNob3VsZCB1c2UgdGhlIG5ldHdvcmtpbmcgdGFzayBzb3VyY2UuCisgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+aXNDb250ZXh0VGhyZWFkKCkpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
cG9zdFRhc2sobmV3IERpc3BhdGNoU3RyZWFtVXBkYXRlVGFzazxTdHJlYW0+KHRoaXMsICZTdHJl
YW06Om9uRW5kZWQpKTsKK30KKwordm9pZCBTdHJlYW06Om9uRW5kZWQoKQoreworICAgIGlmICht
X3JlYWR5U3RhdGUgPT0gRU5ERUQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcmVhZHlTdGF0
ZSA9IEVOREVEOworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCku
ZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7Cit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IFN0cmVhbTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEFj
dGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworfQorCitFdmVudFRhcmdl
dERhdGEqIFN0cmVhbTo6ZXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRU
YXJnZXREYXRhOworfQorCitFdmVudFRhcmdldERhdGEqIFN0cmVhbTo6ZW5zdXJlRXZlbnRUYXJn
ZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0
cmVhbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE4MTk2N2M2NWY1YTQ5YTFiMDk3ZmQ1ZTMyMTk2ZDJmZDgwZDQ2
OGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmgKQEAgLTAs
MCArMSwxMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIFN0cmVhbV9oCisjZGVmaW5lIFN0cmVhbV9oCisKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVk
ZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlN0cmVhbUNvbnRyb2xsZXIuaCIKKyNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBT
dHJlYW0gOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJlYW0+LAorICAgICAgICAgICAgICAgcHVibGlj
IEFjdGl2ZURPTU9iamVjdCwKKyAgICAgICAgICAgICAgIHB1YmxpYyBFdmVudFRhcmdldCwKKyAg
ICAgICAgICAgICAgIHB1YmxpYyBTdHJlYW1Db250cm9sbGVyOjpTdHJlYW1MaXN0ZW5lciB7Citw
dWJsaWM6CisgICAgLy8gTXVzdCBtYXRjaCB0aGUgY29uc3RhbnRzIGluIHRoZSAuaWRsIGZpbGUu
CisgICAgZW51bSB7CisgICAgICAgIExJVkUgPSAxLAorICAgICAgICBFTkRFRCA9IDIKKyAgICB9
OworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RyZWFtPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIGludCBzdHJlYW1JZCwgY29uc3QgU3RyaW5nJiBsYWJlbCk7CisgICAgdmlydHVh
bCB+U3RyZWFtKCk7CisKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50IHdoZW4gdGhlIFN0cmVhbVJl
Y29yZGVyIGNsYXNzIGlzIGF2YWlsYWJsZS4KKyAgICAvLyBQYXNzUmVmUHRyPFN0cmVhbVJlY29y
ZGVyPiByZWNvcmQoKTsKKworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVy
biBtX2xhYmVsOyB9CisgICAgdW5zaWduZWQgc2hvcnQgcmVhZHlTdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVhZHlTdGF0ZTsgfQorCisgICAgaW50IHN0cmVhbUlkKCkgY29uc3QgeyByZXR1cm4g
bV9zdHJlYW1JZDsgfQorCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWFk
eXN0YXRlY2hhbmdlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVuZGVk
KTsKKworICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OworCisg
ICAgdXNpbmcgUmVmQ291bnRlZDxTdHJlYW0+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxT
dHJlYW0+OjpkZXJlZjsKKworICAgIC8vIFN0cmVhbUNvbnRyb2xsZXI6OlN0cmVhbUxpc3RlbmVy
IGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1FbmRlZCgpOworCisgICAg
Ly8gVGVtcGxhdGUgdXNlZCB0byBwb3N0IHRhc2tzIHRvIGV2ZW50IHVwZGF0ZXMgaW4gU3RyZWFt
IGFuZCBkZXJpdmVkIGNsYXNzZXMuCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgY2xh
c3MgRGlzcGF0Y2hTdHJlYW1VcGRhdGVUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OlRhc2sgeworICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB2b2lkIChUOjoqQ2FsbGJh
Y2spKCk7CisKKyAgICAgICAgRGlzcGF0Y2hTdHJlYW1VcGRhdGVUYXNrKFQqIG9iamVjdCwgQ2Fs
bGJhY2sgY2FsbGJhY2spCisgICAgICAgICAgICA6IG1fb2JqZWN0KGFkb3B0UmVmKG9iamVjdCkp
CisgICAgICAgICAgICAsIG1fY2FsbGJhY2soY2FsbGJhY2spIHsgfQorCisgICAgICAgIHZpcnR1
YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKKyAgICAgICAgewor
ICAgICAgICAgICAgKG1fb2JqZWN0LmdldCgpLT4qbV9jYWxsYmFjaykoKTsKKyAgICAgICAgfQor
CisgICAgcHVibGljOgorICAgICAgICBSZWZQdHI8VD4gbV9vYmplY3Q7CisgICAgICAgIENhbGxi
YWNrIG1fY2FsbGJhY2s7CisgICAgfTsKKworcHJvdGVjdGVkOgorICAgIFN0cmVhbShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgaW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxhYmVsKTsKKyAg
ICBTdHJlYW1Db250cm9sbGVyKiBnZXRDb250cm9sbGVyKCk7CisKKyAgICAvLyBFdmVudFRhcmdl
dCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJn
ZXREYXRhKCk7CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0
RGF0YSgpOworCisgICAgaW50IG1fc3RyZWFtSWQ7CisgICAgU3RyaW5nIG1fbGFiZWw7CisgICAg
dW5zaWduZWQgc2hvcnQgbV9yZWFkeVN0YXRlOworCitwcml2YXRlOgorICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiBmcmllbmQgY2xhc3MgRGlzcGF0Y2hTdHJlYW1VcGRhdGVUYXNrOworICAgIHZv
aWQgb25FbmRlZCgpOworCisgICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCisgICAg
dmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBkZXJlZigpOyB9CisKKyAgICBFdmVudFRhcmdldERhdGEg
bV9ldmVudFRhcmdldERhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gU3RyZWFtX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0
cmVhbS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQ4MmM3MGFkOTlmMzEzNWQ3MDc2ZmMyMzg2YWI1ODhhZDgx
ZWZmYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaWRsCkBA
IC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBD
b25kaXRpb25hbD1NRURJQV9TVFJFQU0sCisgICAgICAgIEV2ZW50VGFyZ2V0CisgICAgXSBTdHJl
YW0geworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOworICAgICAg
ICAvLyBGSVhNRTogaW1wbGVtZW50IHdoZW4gdGhlIFN0cmVhbVJlY29yZGVyIGNsYXNzIGlzIGF2
YWlsYWJsZS4KKyAgICAgICAgLy8gU3RyZWFtUmVjb3JkZXIgcmVjb3JkKCk7CisKKyAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgTElWRSA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IEVOREVEID0gMjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IHJlYWR5U3RhdGU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
cmVhZHlzdGF0ZWNoYW5nZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25lbmRlZDsKKworICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAg
dm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQgcmVt
b3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29sZWFu
IGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZlbnRF
eGNlcHRpb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44M2M0
NDVmNmE5MDc0MjdjNjVlMDRjNTNjMjI1N2IwY2QyZjljY2U1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3Bw
CkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
CisjaW5jbHVkZSAiR2VuZXJhdGVkU3RyZWFtLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSB7CisKKy8vIEZJWE1FOiB0
aGlzIHNob3VsZCBiZSBtYWRlIGEgdGVtcGxhdGUgYW5kIG1lcmdlZCB3aXRoIHRoZSBlcXVpdmFs
ZW50IHZlcnNpb25zIGluCisvLyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGFuZCBC
bG9iQ2FsbGJhY2suCitjbGFzcyBEaXNwYXRjaENhbGxiYWNrVGFzayA6IHB1YmxpYyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxE
aXNwYXRjaENhbGxiYWNrVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrPiBjYWxsYmFjaywgR2VuZXJhdGVkU3RyZWFtKiBkYXRhKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEaXNwYXRjaENhbGxiYWNrVGFzayhjYWxsYmFj
aywgZGF0YSkpOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRF
eGVjdXRpb25Db250ZXh0KikKKyAgICB7CisgICAgICAgIG1fY2FsbGJhY2stPmhhbmRsZUV2ZW50
KG1fZGF0YS5nZXQoKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIERpc3BhdGNoQ2FsbGJhY2tU
YXNrKFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBjYWxsYmFj
aywgR2VuZXJhdGVkU3RyZWFtKiBkYXRhKQorICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
CisgICAgICAgICwgbV9kYXRhKGFkb3B0UmVmKGRhdGEpKQorICAgIHsKKyAgICB9CisKKyAgICBS
ZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBtX2NhbGxiYWNrOworICAg
IFJlZlB0cjxHZW5lcmF0ZWRTdHJlYW0+IG1fZGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlCisK
K3ZvaWQgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpzY2hlZHVsZUNhbGxiYWNr
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEdlbmVyYXRlZFN0cmVhbSogZGF0YSkK
K3sKKyAgICBjb250ZXh0LT5wb3N0VGFzayhEaXNwYXRjaENhbGxiYWNrVGFzazo6Y3JlYXRlKHRo
aXMsIGRhdGEpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCmluZGV4IDNkMmUzZjc2NGZjNmQyZDIxYmE4
N2ZmMTI1NWRiMjBjYmE1NDg3ZTQuLmJjOWU3MTA1NjFhZDI5YWE5NmViYzkzMjdkZjU0ZmVlOWYz
YTRlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaApAQCAtMzcsMTQgKzM3LDE2IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorY2xhc3MgR2VuZXJhdGVkU3RyZWFtOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKIAogY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIDogcHVi
bGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKCkgeyB9
Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudCB0aGUgcHJvcGVyIGFyZ3VtZW50IG9uY2UgdGhlIEdl
bmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFibGUuCi0gICAgLy8gdmlydHVhbCBib29sIGhh
bmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFuZGxl
RXZlbnQoKSA9IDA7CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVh
bSopID0gMDsKKworICAgIC8vIEhlbHBlciB0byBwb3N0IGNhbGxiYWNrIHRhc2suCisgICAgdm9p
ZCBzY2hlZHVsZUNhbGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBHZW5lcmF0ZWRTdHJl
YW0qKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbAppbmRl
eCBhMGJjZGJjZjYyNzFlNmViM2Y4ZjlmMWIwYjkyYzVkZDNhOTEyYWU1Li40NzNjM2JhMDVjYzc4
M2E4NGQxZmRlMTNlOGI1MjQ4NjY2MDNiMzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0zNSw5
ICszNSw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJF
QU0sCiAgICAgICAgIENhbGxiYWNrPUZ1bmN0aW9uT25seQogICAgIF0gTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrIHsKLSAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCB0aGUgcHJv
cGVyIGFyZ3VtZW50IG9uY2UgdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFibGUu
Ci0gICAgICAgIC8vIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gR2VuZXJhdGVkU3RyZWFtIHN0cmVh
bSk7Ci0gICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoKTsKKyAgICAgICAgYm9vbGVhbiBoYW5k
bGVFdmVudChpbiBHZW5lcmF0ZWRTdHJlYW0gc3RyZWFtKTsKICAgICB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TdHJlYW1DbGllbnQuaAppbmRleCA3NmRhNDQyNjI1ZTM4YzcwZjA5NTAwNzkwOWZmZjBl
MjNiMWRjYjE5Li4zOTczYmMwMWU1YTk5ZDc3MWNkMThlYTE2YzdkOTMxNzVmZmZkMTE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3RyZWFtQ2xpZW50LmgKQEAgLTQ5LDYgKzQ5LDE1IEBAIHB1YmxpYzoKICAg
ICAvLyBHZW5lcmF0ZSBhIG5ldyBsb2NhbCBzdHJlYW0uCiAgICAgdmlydHVhbCB2b2lkIGdlbmVy
YXRlU3RyZWFtKGludCByZXF1ZXN0SWQsIGJvb2wgdmlkZW8sIGJvb2wgYXVkaW8sIFBhc3NSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+KSA9IDA7CiAKKyAgICAvLyBTdG9wIGEgZ2VuZXJhdGVkIHN0cmVh
bS4KKyAgICB2aXJ0dWFsIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShpbnQgc3RyZWFtSWQpID0g
MDsKKworICAgIC8vIFBhdXNlIGEgZ2VuZXJhdGVkIHN0cmVhbS4KKyAgICB2aXJ0dWFsIHZvaWQg
cGF1c2VHZW5lcmF0ZWRTdHJlYW0oaW50IHN0cmVhbUlkKSA9IDA7CisKKyAgICAvLyBSZXN1bWUg
YSBwcmV2aW91c2x5IHBhdXNlZCBnZW5lcmF0ZWQgc3RyZWFtLgorICAgIHZpcnR1YWwgdm9pZCBy
ZXN1bWVHZW5lcmF0ZWRTdHJlYW0oaW50IHN0cmVhbUlkKSA9IDA7CisKIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIH5TdHJlYW1DbGllbnQoKSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1N0cmVhbUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJl
YW1Db250cm9sbGVyLmNwcAppbmRleCAzM2I0OTg0OWVhNzE0YTYwODU2ZjM2MWRkNTVjNGUwYzg5
NzM4ZjIyLi5mMGU3Y2I1MTZmYTJkMmRiOWIzZGQwZWM5NDhjZDk2NWIzODQ2NTZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRl
ICJHZW5lcmF0ZWRTdHJlYW0uaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU3RyZWFtQ2xpZW50Lmgi
CkBAIC01NCw2ICs1NSwxMiBAQCBTdHJlYW1Db250cm9sbGVyOjp+U3RyZWFtQ29udHJvbGxlcigp
CiAgICAgbV9jbGllbnQtPnNldExpc3RlbmVyKDApOwogfQogCit2b2lkIFN0cmVhbUNvbnRyb2xs
ZXI6OnVucmVnaXN0ZXJTdHJlYW0oaW50IHN0cmVhbUlkKQoreworICAgIEFTU0VSVChtX3N0cmVh
bXMuY29udGFpbnMoc3RyZWFtSWQpKTsKKyAgICBtX3N0cmVhbXMucmVtb3ZlKHN0cmVhbUlkKTsK
K30KKwogYm9vbCBTdHJlYW1Db250cm9sbGVyOjpnZW5lcmF0ZVN0cmVhbShjb25zdCBTdHJpbmcm
IG9wdGlvbnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBz
dWNjZXNzQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBh
c3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykK
IHsKQEAgLTc5LDExICs4NiwzNSBAQCBib29sIFN0cmVhbUNvbnRyb2xsZXI6OmdlbmVyYXRlU3Ry
ZWFtKGNvbnN0IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0bwogICAgIHJldHVy
biB0cnVlOwogfQogCit2b2lkIFN0cmVhbUNvbnRyb2xsZXI6OnN0b3BHZW5lcmF0ZWRTdHJlYW0o
aW50IHN0cmVhbUlkKQoreworICAgIEFTU0VSVChtX3N0cmVhbXMuY29udGFpbnMoc3RyZWFtSWQp
KTsKKyAgICBtX2NsaWVudC0+c3RvcEdlbmVyYXRlZFN0cmVhbShzdHJlYW1JZCk7Cit9CisKK3Zv
aWQgU3RyZWFtQ29udHJvbGxlcjo6cGF1c2VHZW5lcmF0ZWRTdHJlYW0oaW50IHN0cmVhbUlkKQor
eworICAgIEFTU0VSVChtX3N0cmVhbXMuY29udGFpbnMoc3RyZWFtSWQpKTsKKyAgICBtX2NsaWVu
dC0+cGF1c2VHZW5lcmF0ZWRTdHJlYW0oc3RyZWFtSWQpOworfQorCit2b2lkIFN0cmVhbUNvbnRy
b2xsZXI6OnJlc3VtZUdlbmVyYXRlZFN0cmVhbShpbnQgc3RyZWFtSWQpCit7CisgICAgQVNTRVJU
KG1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1JZCkpOworICAgIG1fY2xpZW50LT5yZXN1bWVHZW5l
cmF0ZWRTdHJlYW0oc3RyZWFtSWQpOworfQorCiB2b2lkIFN0cmVhbUNvbnRyb2xsZXI6OnN0cmVh
bUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBpbnQgc3RyZWFtSWQsIGNvbnN0IFN0cmluZyYgbGFi
ZWwpCiB7CiAgICAgQVNTRVJUKG1fc3RyZWFtUmVxdWVzdHMuY29udGFpbnMocmVxdWVzdElkKSk7
CisgICAgQVNTRVJUKCFtX3N0cmVhbXMuY29udGFpbnMoc3RyZWFtSWQpKTsKIAotICAgIC8vIEZJ
WE1FOiBpbXBsZW1lbnQgR2VuZXJhdGVkU3RyZWFtIG9iamVjdCBjcmVhdGlvbiBhbmQgc2NoZWR1
bGUgdGhlIHN1Y2Nlc3MgY2FsbGJhY2suCisgICAgUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gZ2Vu
ZXJhdGVkU3RyZWFtID0gR2VuZXJhdGVkU3RyZWFtOjpjcmVhdGUobV9kb2N1bWVudCwgc3RyZWFt
SWQsIGxhYmVsKTsKKyAgICBtX3N0cmVhbXMuc2V0KHN0cmVhbUlkLCBhZG9wdFJlZihuZXcgU3Ry
ZWFtRGF0YShnZW5lcmF0ZWRTdHJlYW0uZ2V0KCkpKSk7CisKKyAgICBSZWZQdHI8U3RyZWFtUmVx
dWVzdD4gc3RyZWFtUmVxdWVzdCA9IG1fc3RyZWFtUmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCk7Cisg
ICAgQVNTRVJUKHN0cmVhbVJlcXVlc3QuZ2V0KCkpOworICAgIHN0cmVhbVJlcXVlc3QtPm1fc3Vj
Y2Vzc0NhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKG1fZG9jdW1lbnQsIGdlbmVyYXRlZFN0cmVh
bS5nZXQoKSk7CiAKICAgICBtX3N0cmVhbVJlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOwogfQpA
QCAtMTAyLDYgKzEzMywxMiBAQCB2b2lkIFN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRp
b25GYWlsZWQoaW50IHJlcXVlc3RJZCwgdW5zaWduZWQgc2hvcnQgY29kZQogICAgIG1fc3RyZWFt
UmVxdWVzdHMucmVtb3ZlKHJlcXVlc3RJZCk7CiB9CiAKK3ZvaWQgU3RyZWFtQ29udHJvbGxlcjo6
c3RyZWFtRmFpbGVkKGludCBzdHJlYW1JZCkKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1zLmNvbnRh
aW5zKHN0cmVhbUlkKSk7CisgICAgbV9zdHJlYW1zLmdldChzdHJlYW1JZCktPm1fbGlzdGVuZXIt
PnN0cmVhbUVuZGVkKCk7Cit9CisKIFN0cmVhbUNvbnRyb2xsZXI6OlN0cmVhbVJlcXVlc3Q6OlN0
cmVhbVJlcXVlc3QoUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+
IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrKQogICAgIDogbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKQpAQCAt
MTA5LDYgKzE0NiwxMSBAQCBTdHJlYW1Db250cm9sbGVyOjpTdHJlYW1SZXF1ZXN0OjpTdHJlYW1S
ZXF1ZXN0KFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjYwogewogfQogCitTdHJlYW1D
b250cm9sbGVyOjpTdHJlYW1EYXRhOjpTdHJlYW1EYXRhKFN0cmVhbUxpc3RlbmVyKiBsaXN0ZW5l
cikKKyAgICA6IG1fbGlzdGVuZXIobGlzdGVuZXIpCit7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3RyZWFtQ29udHJvbGxlci5oCmluZGV4IDk4Yzc4MTA4ZjUwYjdhNzRmMTMyMWE3Njg5YzdlZTY4
NWQ2YmM2NDQuLmNiMDUyYjI4Y2EyMzA5ODUxOWM4MDI0YWYwODYyMGVkYThmN2FhYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oCkBAIC01MiwxNCArNTIsMzMgQEAgcHVi
bGljOgogICAgIFN0cmVhbUNvbnRyb2xsZXIoU3RyZWFtQ2xpZW50KiwgRG9jdW1lbnQqKTsKICAg
ICB2aXJ0dWFsIH5TdHJlYW1Db250cm9sbGVyKCk7CiAKKyAgICBjbGFzcyBTdHJlYW1MaXN0ZW5l
ciB7CisgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtRW5kZWQoKSA9IDA7
CisgICAgICAgIHZpcnR1YWwgflN0cmVhbUxpc3RlbmVyKCkgeyB9CisgICAgfTsKKworICAgIC8v
IFVucmVnaXN0ZXIgYSBzdHJlYW0gb2JqZWN0IGZvciByZWNlaXZpbmcgYW55IGZ1cnRoZXIgZXZl
bnRzLgorICAgIHZvaWQgdW5yZWdpc3RlclN0cmVhbShpbnQgc3RyZWFtSWQpOworCiAgICAgLy8g
Q3JlYXRlIGEgbmV3IGdlbmVyYXRlZCBzdHJlYW0gYXN5bmNocm9ub3VzbHkgd2l0aCB0aGUgcHJv
dmlkZWQgb3B0aW9ucy4KICAgICBib29sIGdlbmVyYXRlU3RyZWFtKGNvbnN0IFN0cmluZyYgb3B0
aW9ucywKICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrPiwKICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4pOwogCisgICAgLy8gU3RvcCBhIGdlbmVy
YXRlZCBzdHJlYW0uCisgICAgdm9pZCBzdG9wR2VuZXJhdGVkU3RyZWFtKGludCBzdHJlYW1JZCk7
CisKKyAgICAvLyBQYXVzZSBhIGdlbmVyYXRlZCBzdHJlYW0uCisgICAgdm9pZCBwYXVzZUdlbmVy
YXRlZFN0cmVhbShpbnQgc3RyZWFtSWQpOworCisgICAgLy8gUmVzdW1lIGEgcHJldmlvdXNseSBw
YXVzZWQgZ2VuZXJhdGVkIHN0cmVhbS4KKyAgICB2b2lkIHJlc3VtZUdlbmVyYXRlZFN0cmVhbShp
bnQgc3RyZWFtSWQpOworCiAgICAgLy8gU3RyZWFtTGlzdGVuZXIgaW1wbGVtZW50YXRpb24uCiAg
ICAgdmlydHVhbCB2b2lkIHN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBpbnQgc3RyZWFt
SWQsIGNvbnN0IFN0cmluZyYgbGFiZWwpOwogICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1HZW5lcmF0
aW9uRmFpbGVkKGludCByZXF1ZXN0SWQsIHVuc2lnbmVkIHNob3J0IGNvZGUpOworICAgIHZpcnR1
YWwgdm9pZCBzdHJlYW1GYWlsZWQoaW50IHN0cmVhbUlkKTsKIAogcHJpdmF0ZToKICAgICBzdHJ1
Y3QgU3RyZWFtUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbVJlcXVlc3Q+IHsKQEAg
LTcwLDExICs4OSwxOSBAQCBwcml2YXRlOgogICAgICAgICBSZWZQdHI8TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjaz4gbV9lcnJvckNhbGxiYWNrOwogICAgIH07CiAKKyAgICBzdHJ1Y3Qg
U3RyZWFtRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbURhdGE+IHsKKyAgICAgICAgU3Ry
ZWFtRGF0YShTdHJlYW1MaXN0ZW5lciopOworCisgICAgICAgIFN0cmVhbUxpc3RlbmVyKiBtX2xp
c3RlbmVyOworICAgIH07CisKICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8U3RyZWFt
UmVxdWVzdD4gPiBTdHJlYW1SZXF1ZXN0TWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxTdHJlYW1EYXRhPiA+IFN0cmVhbU1hcDsKIAogICAgIFN0cmVhbUNsaWVudCogbV9jbGll
bnQ7CiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAgU3RyZWFtUmVxdWVzdE1hcCBtX3N0
cmVhbVJlcXVlc3RzOworICAgIFN0cmVhbU1hcCBtX3N0cmVhbXM7CiAgICAgaW50IG1fbmV4dFN0
cmVhbVJlcXVlc3RJZDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Ry
ZWFtTGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtTGlzdGVuZXIuaAppbmRl
eCA5MDE2NDVhYjBhM2Y3MWQ0ODUzMzRhMjM0M2IxOTkxMTdmMzhhMGVmLi45OTMyOWQzYTFlZDk3
OWI0MjFhNGE5ZjgzMGRjM2IwZjE4Y2IyMzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1N0cmVhbUxpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1MaXN0
ZW5lci5oCkBAIC01MCw2ICs1MCw5IEBAIHB1YmxpYzoKICAgICAvLyBSZXBvcnQgYSBmYWlsdXJl
IGluIHRoZSBnZW5lcmF0aW9uIG9mIGEgbmV3IHN0cmVhbS4KICAgICB2aXJ0dWFsIHZvaWQgc3Ry
ZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVzdElkLCB1bnNpZ25lZCBzaG9ydCBjb2RlKSA9
IDA7CiAKKyAgICAvLyBSZXBvcnQgdGhlIGVuZCBvZiBhIHN0cmVhbSBmb3IgZXh0ZXJuYWwgcmVh
c29ucy4KKyAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtRmFpbGVkKGludCBzdHJlYW1JZCkgPSAwOwor
CiAgICAgdmlydHVhbCB+U3RyZWFtTGlzdGVuZXIoKSB7IH0KIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86200</attachid>
            <date>2011-03-18 12:57:06 -0700</date>
            <delta_ts>2011-04-15 13:42:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56666-20110318195704.patch</filename>
            <type>text/plain</type>
            <size>116775</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZmRjYjBhNmU0OTczYjI3NzRlZmM3NDNiY2QzNGU2MjBk
OTQ5NDhiMi4uZTIxNmRiM2Y5NTQyZDUxMzI4ODE3MjEyMTZiN2RmYTAyZWFiNzQ4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE1Nyw2ICsxNTcsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMK
ICAgICBkb20vRXJyb3JFdmVudC5pZGwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAgICAg
ZG9tL0V2ZW50LmlkbAorICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsCiAgICAgZG9tL0hhc2hD
aGFuZ2VFdmVudC5pZGwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5pZGwKICAgICBkb20vTWVzc2Fn
ZUNoYW5uZWwuaWRsCkBAIC0xNzcsNiArMTc4LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgZG9tL1Byb2dyZXNzRXZlbnQuaWRsCiAgICAgZG9tL1JhbmdlRXhjZXB0aW9uLmlkbAogICAg
IGRvbS9SYW5nZS5pZGwKKyAgICBkb20vU3RyZWFtLmlkbAogICAgIGRvbS9TdHJpbmdDYWxsYmFj
ay5pZGwKICAgICBkb20vVGV4dEV2ZW50LmlkbAogICAgIGRvbS9UZXh0LmlkbApAQCAtMzM1LDYg
KzMzNyw5IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvTG9jYXRpb24uaWRsCiAg
ICAgcGFnZS9NZW1vcnlJbmZvLmlkbAogICAgIHBhZ2UvTmF2aWdhdG9yLmlkbAorICAgIHBhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmlkbAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKQEAgLTczNSw2ICs3
NDAsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0V2ZW50UXVldWUuY3BwCiAgICAg
ZG9tL0V4Y2VwdGlvbkJhc2UuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCisgICAgZG9t
L0dlbmVyYXRlZFN0cmVhbS5jcHAKICAgICBkb20vSW5wdXRFbGVtZW50LmNwcAogICAgIGRvbS9L
ZXlib2FyZEV2ZW50LmNwcAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5jcHAKQEAgLTc3NCw2ICs3
ODAsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3Bw
CiAgICAgZG9tL1N0YXRpY0hhc2hTZXROb2RlTGlzdC5jcHAKICAgICBkb20vU3RhdGljTm9kZUxp
c3QuY3BwCisgICAgZG9tL1N0cmVhbS5jcHAKICAgICBkb20vU3R5bGVkRWxlbWVudC5jcHAKICAg
ICBkb20vU3R5bGVFbGVtZW50LmNwcAogICAgIGRvbS9UYWdOb2RlTGlzdC5jcHAKQEAgLTExNjYs
NiArMTE3Myw4IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL01vdXNlRXZlbnRXaXRo
SGl0VGVzdFJlc3VsdHMuY3BwCiAgICAgcGFnZS9OYXZpZ2F0b3IuY3BwCiAgICAgcGFnZS9OYXZp
Z2F0b3JCYXNlLmNwcAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5j
cHAKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAKICAgICBw
YWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcAogICAgIHBhZ2UvUGFnZS5jcHAKICAgICBwYWdlL1Bh
Z2VHcm91cC5jcHAKQEAgLTExNzgsNiArMTE4Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAg
ICBwYWdlL1NjcmVlbi5jcHAKICAgICBwYWdlL1NlY3VyaXR5T3JpZ2luLmNwcAogICAgIHBhZ2Uv
U2V0dGluZ3MuY3BwCisgICAgcGFnZS9TdHJlYW1Db250cm9sbGVyLmNwcAogICAgIHBhZ2UvU3Bh
dGlhbE5hdmlnYXRpb24uY3BwCiAgICAgcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcAogICAgIHBh
Z2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGUzZjFkMjFiNDM1NDRm
N2Y4NzhlZjhmZGM2M2M1MzlhZWQwY2M2ZjIuLjRhNzk4NWQzZDhiNzc3ZmZmZGIzYzI5YTM2Nzgx
NmNlOTZmMGEzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNTIgQEAKKzIwMTEtMDMtMTggIExl
YW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0cmVhbSBBUEkg
cGF0Y2ggMjogYWRkaW5nIFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY2NgorCisgICAg
ICAgIEFkZCB0aGUgU3RyZWFtIGFuZCBHZW5lcmF0ZWRTdHJlYW0gY2xhc3NlcyBhbmQgaW50ZWdy
YXRlIHRoZW0gd2l0aCB0aGUgZXhpc3RpbmcgY29udHJvbGxlciBhbmQgaW50ZXJmYWNlcy4KKwor
ICAgICAgICBUZXN0cyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSBidWcgNTY1ODcgdG9nZXRoZXIg
d2l0aCB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXIgYW5kIGNsaWVudCBtb2NrIGNvZGUuCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBkb20vRE9NQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGRvbS9HZW5lcmF0ZWRTdHJl
YW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6R2VuZXJhdGVkU3RyZWFtKToK
KyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6fkdlbmVyYXRlZFN0cmVhbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06OnN0b3ApOgorICAgICAgICAoV2ViQ29y
ZTo6R2VuZXJhdGVkU3RyZWFtOjpwYXVzZSk6CisgICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRT
dHJlYW06OnJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06Om9uU3Rv
cCk6CisgICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06Om9uUGF1c2UpOgorICAgICAg
ICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpvblJlc3VtZSk6CisgICAgICAgICogZG9tL0dl
bmVyYXRlZFN0cmVhbS5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vR2VuZXJhdGVkU3RyZWFtLmlk
bDogQWRkZWQuCisgICAgICAgICogZG9tL1N0cmVhbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U3RyZWFtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpTdHJlYW0p
OgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjp+U3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6
OlN0cmVhbTo6Z2V0Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OnN0cmVh
bUVuZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6b25FbmRlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHJlYW06OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6U3RyZWFtOjpldmVudFRhcmdldERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpl
bnN1cmVFdmVudFRhcmdldERhdGEpOgorICAgICAgICAqIGRvbS9TdHJlYW0uaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTdHJlYW06OmxhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bTo6cmVhZHlTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OnN0cmVhbUlkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6RGlzcGF0Y2hTdHJlYW1VcGRhdGVUYXNrOjpEaXNwYXRj
aFN0cmVhbVVwZGF0ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpEaXNwYXRjaFN0
cmVhbVVwZGF0ZVRhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6
cmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpkZXJlZkV2ZW50VGFy
Z2V0KToKKyAgICAgICAgKiBkb20vU3RyZWFtLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6c2NoZWR1bGVDYWxsYmFj
ayk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaDoK
KyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGw6Cisg
ICAgICAgICogcGFnZS9TdHJlYW1DbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL1N0cmVhbUNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6dW5yZWdpc3Rl
clN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpzdG9wR2VuZXJh
dGVkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OnBhdXNlR2Vu
ZXJhdGVkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OnJlc3Vt
ZUdlbmVyYXRlZFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpz
dHJlYW1HZW5lcmF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6c3Ry
ZWFtRmFpbGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OlN0cmVhbURh
dGE6OlN0cmVhbURhdGEpOgorICAgICAgICAqIHBhZ2UvU3RyZWFtQ29udHJvbGxlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6U3RyZWFtTGlzdGVuZXI6On5TdHJlYW1M
aXN0ZW5lcik6CisgICAgICAgICogcGFnZS9TdHJlYW1MaXN0ZW5lci5oOgorCisyMDExLTAzLTE3
ICBMZWFuZHJvIEdyYWNpYSBHaWwgIDxsZWFuZHJvZ3JhY2lhQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2VyIG1lZGlhIHZp
ZGVvY29uZmVyZW5jaW5nIHBhdGNoIDA6IGFkZGluZyBjb21waWxhdGlvbiBndWFyZHMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjQ1OAorCisgICAg
ICAgIEFkZGluZyB0aGUgZmxhZ3MgdG8gbWFrZSBidWlsZC13ZWJraXQgd29yayB3aXRoIHRoZSBu
ZXcgb3B0aW9ucy4KKyAgICAgICAgTm8gbmV3IGNvZGUgYWRkZWQuIE5vIHRlc3RzIHJlcXVpcmVk
LgorCisgICAgICAgICogZmVhdHVyZXMucHJpOgorCisyMDExLTAzLTE3ICBMZWFuZHJvIEdyYWNp
YSBHaWwgIDxsZWFuZHJvZ3JhY2lhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZWRpYSBTdHJlYW0gQVBJIHBhdGNoIDE6IGFk
ZGluZyB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIGJhc2ljIHNrZWxldG9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1ODYKKworICAg
ICAgICBBZGQgdGhlIGdldFVzZXJNZWRpYSBtZXRob2QgdG8gdGhlIG5hdmlnYXRvciBhbG9uZyBp
dHMgZXJyb3IgYW5kIGNhbGxiYWNrIEpTIHR5cGVzCisgICAgICAgIGFuZCB0aGUgYmFzaWMgc2tl
bGV0b24gZm9yIHRoZSBzdHJlYW0gY29udHJvbGxlciBhbmQgdGhlIGNsaWVudCBhbmQgbGlzdGVu
ZXIgaW50ZXJmYWNlcy4KKworICAgICAgICBUZXN0cyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSBi
dWcgNTY1ODcgdG9nZXRoZXIgd2l0aCB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXIgYW5kIGNsaWVu
dCBtb2NrIGNvZGUuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb2Rl
R2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0b3I6OmdldFVzZXJNZWRpYSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0
b3IuaDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5pZGw6CisgICAgICAgICogcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRv
clVzZXJNZWRpYUVycm9yOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcik6CisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6fk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpjb2RlKToKKyAgICAg
ICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbDogQWRkZWQuCisgICAgICAgICog
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpzY2hlZHVsZUNhbGxi
YWNrKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
Ojp+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6On5OYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RyZWFt
Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlQ2xpZW50czo6UGFnZUNs
aWVudHMpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvU3RyZWFtQ2xp
ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ2xpZW50Ojp+U3RyZWFtQ2xp
ZW50KToKKyAgICAgICAgKiBwYWdlL1N0cmVhbUNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OlN0cmVhbUNvbnRyb2xsZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6flN0cmVhbUNvbnRyb2xsZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0pOgorICAgICAgICAo
V2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6U3RyZWFtUmVxdWVzdDo6U3RyZWFtUmVxdWVz
dCk6CisgICAgICAgICogcGFnZS9TdHJlYW1Db250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAq
IHBhZ2UvU3RyZWFtTGlzdGVuZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1M
aXN0ZW5lcjo6flN0cmVhbUxpc3RlbmVyKToKKworMjAxMS0wMy0xNyAgTGVhbmRybyBHcmFjaWEg
R2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVkaWEgU3RyZWFtIEFQSSBwYXRjaCAwOiBhZGRp
bmcgY29tcGlsYXRpb24gZ3VhcmRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTY0NTgKKworICAgICAgICBBZGRpbmcgdGhlIGZsYWdzIHRvIG1ha2Ug
YnVpbGQtd2Via2l0IHdvcmsgd2l0aCB0aGUgbmV3IG9wdGlvbnMuCisgICAgICAgIE5vIG5ldyBj
b2RlIGFkZGVkLiBObyB0ZXN0cyByZXF1aXJlZC4KKworICAgICAgICAqIGZlYXR1cmVzLnByaToK
KwogMjAxMS0wMy0xOCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjgxNDg3LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpIGIvU291cmNlL1dlYkNvcmUvQ29kZUdl
bmVyYXRvcnMucHJpCmluZGV4IDJmODlhNWQwYjc4OWZjMTY2MTQ3MGI0YmQ2YmNhMzNlZmUxNGY5
ZDIuLjg1ODdmMTkzNDA3OThiZThlMmU0MzcyMTk5ZTk0Y2U2NmUyZDJkNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
b2RlR2VuZXJhdG9ycy5wcmkKQEAgLTEyOCw2ICsxMjgsNyBAQCBJRExfQklORElOR1MgKz0gXAog
ICAgIGRvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAogIyAgICBkb20vRXZlbnRMaXN0ZW5lci5pZGwg
XAogIyAgICBkb20vRXZlbnRUYXJnZXQuaWRsIFwKKyAgICBkb20vR2VuZXJhdGVkU3RyZWFtLmlk
bCBcCiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogICAgIGRvbS9LZXlib2FyZEV2ZW50
LmlkbCBcCiAgICAgZG9tL01vdXNlRXZlbnQuaWRsIFwKQEAgLTE0OCw2ICsxNDksNyBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIGRvbS9Qcm9ncmVzc0V2ZW50LmlkbCBcCiAgICAgZG9tL1Jhbmdl
RXhjZXB0aW9uLmlkbCBcCiAgICAgZG9tL1JhbmdlLmlkbCBcCisgICAgZG9tL1N0cmVhbS5pZGwg
XAogICAgIGRvbS9TdHJpbmdDYWxsYmFjay5pZGwgXAogICAgIGRvbS9UZXh0LmlkbCBcCiAgICAg
ZG9tL1RleHRFdmVudC5pZGwgXApAQCAtMzI2LDYgKzMyOCw5IEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwgXAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwgXAogICAg
IHBhZ2UvTmF2aWdhdG9yLmlkbCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5p
ZGwgXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwgXAorICAg
IHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAgICAgcGFnZS9Q
ZXJmb3JtYW5jZS5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCBcCiAg
ICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CmluZGV4IDI0MDIyZjc0ZWY2Yjg4MjM3YWViZmJlNTk4MDhjM2JhNDc3YmZlODIuLjJhNDhhZjE0
NTc3NGY1MWU0OWM0NmQ0NmRkNWRiNzI5ZDFjZmYwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKQEAgLTEzMSw2ICsxMzEsNyBAQAogI2luY2x1ZGUgIkpTRmlsZVdyaXRlclN5bmMuY3Bw
IgogI2luY2x1ZGUgIkpTRmxhZ3MuY3BwIgogI2luY2x1ZGUgIkpTRmxvYXQzMkFycmF5LmNwcCIK
KyNpbmNsdWRlICJKU0dlbmVyYXRlZFN0cmVhbS5jcHAiCiAjaW5jbHVkZSAiSlNHZW9sb2NhdGlv
bi5jcHAiCiAjaW5jbHVkZSAiSlNHZW9wb3NpdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNIYXNoQ2hh
bmdlRXZlbnQuY3BwIgpAQCAtMjQ1LDYgKzI0Niw5IEBACiAjaW5jbHVkZSAiSlNNdXRhdGlvbkV2
ZW50LmNwcCIKICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcC5jcHAiCiAjaW5jbHVkZSAiSlNOYXZp
Z2F0b3IuY3BwIgorI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIgorI2lu
Y2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAiCisjaW5jbHVkZSAi
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTm9k
ZS5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlRmlsdGVyLmNwcCIKICNpbmNsdWRlICJKU05vZGVJdGVy
YXRvci5jcHAiCkBAIC0yODMsNiArMjg3LDcgQEAKICNpbmNsdWRlICJKU1NRTFRyYW5zYWN0aW9u
U3luY0NhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU1N0b3JhZ2UuY3BwIgogI2luY2x1ZGUgIkpT
U3RvcmFnZUV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU1N0cmVhbS5jcHAiCiAjaW5jbHVkZSAiSlNT
dHJpbmdDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZU1lZGlhLmNwcCIKICNpbmNsdWRl
ICJKU1N0eWxlU2hlZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggOGVj
MTkzMWE5NDAzMjIwNGVmODY4ZjExZDEzNGNkYzUzODkxN2RlZC4uZjY1NTE2OWZmZTlkOTgzY2Rj
ZWY3MTJkZjVlMDdmZmNlOTRhYjljNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xOTcsNiArMTk3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRmlsZVdyaXRlclN5bmMgXAog
ICAgIEZpbGVTeXN0ZW1DYWxsYmFjayBcCiAgICAgRmxhZ3MgXAorICAgIEdlbmVyYXRlZFN0cmVh
bSBcCiAgICAgR2VvbG9jYXRpb24gXAogICAgIEdlb3Bvc2l0aW9uIFwKICAgICBIYXNoQ2hhbmdl
RXZlbnQgXApAQCAtMzA3LDYgKzMwOCw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE11dGF0aW9u
RXZlbnQgXAogICAgIE5hbWVkTm9kZU1hcCBcCiAgICAgTmF2aWdhdG9yIFwKKyAgICBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvciBcCisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBc
CisgICAgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIFwKICAgICBOb2RlIFwKICAg
ICBOb2RlRmlsdGVyIFwKICAgICBOb2RlSXRlcmF0b3IgXApAQCAtMzUxLDYgKzM1NSw3IEBAIERP
TV9DTEFTU0VTID0gXAogICAgIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrIFwKICAgICBTdG9y
YWdlIFwKICAgICBTdG9yYWdlRXZlbnQgXAorICAgIFN0cmVhbSBcCiAgICAgU3RyaW5nQ2FsbGJh
Y2sgXAogICAgIFNWR0FFbGVtZW50IFwKICAgICBTVkdBbHRHbHlwaEVsZW1lbnQgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQppbmRleCAyNmZiNmIxYTBmZGI5YmYzMTdiZGQ0Y2IxMDkyNmUzNzEwZDAyZDA5
Li4xN2FjMGRhNzI3ODZkMDQ0N2ZiYTE1MzI3NDYwNzU3YTlkMjJiNzMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQpAQCAtMjcxLDYgKzI3MSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVSZWFkZXJTeW5jLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNGbG9hdDMyQXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRmxvYXQzMkFycmF5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW5lcmF0ZWRT
dHJlYW0uY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VuZXJhdGVkU3RyZWFtLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTR2VvcG9zaXRpb24uY3BwIFwKQEAgLTQ3MCw2ICs0NzIsMTIgQEAgd2ViY29yZV9idWlsdF9z
b3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2RlTWFwLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU05vZGVGaWx0ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm9kZUZp
bHRlci5oIFwKQEAgLTg2Niw2ICs4NzQsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU2hhcmVkV29ya2VyQ3VzdG9tLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9tLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTU3RyZWFtLmNwcCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdHJl
YW0uaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdHlsZVNoZWV0Q3VzdG9tLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdHlsZVNoZWV0TGlzdEN1c3RvbS5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAgXApAQCAt
MTIzMCw2ICsxMjQwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vRXhjZXB0aW9uQ29kZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2Rl
LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBc
CisJU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURl
c3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9J
bnB1dEVsZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vSW5wdXRFbGVtZW50LmggXApA
QCAtMTMxOCw2ICsxMzMwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vU3RhdGljSGFzaFNldE5vZGVMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0
aWNOb2RlTGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNOb2RlTGlzdC5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1N0
cmVhbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHls
ZUVsZW1lbnQuY3BwIFwKQEAgLTIyNjYsNiArMjI4MCwxMSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yQmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yQmFz
ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAor
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
ay5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmggXAogCVNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgXApAQCAtMjMwOCw2ICsyMzI3LDEwIEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BhZ2UvU3BlZWNoSW5wdXRSZXN1bHRMaXN0LmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3RyZWFtQ2xpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5j
cHAgXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9wYWdlL1N0cmVhbUxpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50VHlwZXMuaCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggMmU2MThmOWE2NzZhM2QwYTBlMTZjMmZiMDAwNzM5OGQzYzlmZjRjNC4uODRj
NDhmZWE3MjM4MjI0ZWU4MjVjMTljZDkwOGExNDVmNWRmODhmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTMxMCw2ICsxMzEwLDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24uaWRs
JywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9FdmVudFRhcmdldC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9HZW5lcmF0ZWRTdHJlYW0uaWRs
JywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAn
ZG9tL0tleWJvYXJkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZUNoYW5uZWwu
aWRsJywKQEAgLTEzMzEsNiArMTMzMiw3IEBACiAgICAgICAgICAgICAnZG9tL1JhbmdlLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9t
L1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnZG9tL1N0
cmVhbS5pZGwnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9UZXh0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RleHRFdmVudC5pZGwnLApA
QCAtMTUxMyw2ICsxNTE1LDkgQEAKICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9OYXZp
Z2F0b3IuaWRsJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlk
bCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlk
bCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmlkbCcsCiAgICAgICAgICAgICAn
cGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmlkbCcsCkBAIC0yNjI5LDYgKzI2MzQsOCBAQAogICAgICAgICAgICAgJ2Rv
bS9FeGNlcHRpb25CYXNlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuaCcs
CiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkNvZGUuY3BwJywKKyAgICAgICAgICAgICdkb20v
R2VuZXJhdGVkU3RyZWFtLmNwcCcsCisgICAgICAgICAgICAnZG9tL0dlbmVyYXRlZFN0cmVhbS5o
JywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmgnLAogICAgICAgICAgICAgJ2Rv
bS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oJywKICAgICAgICAgICAg
ICdkb20vSW5wdXRFbGVtZW50LmNwcCcsCkBAIC0yNzAyLDYgKzI3MDksOCBAQAogICAgICAgICAg
ICAgJ2RvbS9TdGF0aWNIYXNoU2V0Tm9kZUxpc3QuaCcsCiAgICAgICAgICAgICAnZG9tL1N0YXRp
Y05vZGVMaXN0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1N0YXRpY05vZGVMaXN0LmgnLAorICAg
ICAgICAgICAgJ2RvbS9TdHJlYW0uY3BwJywKKyAgICAgICAgICAgICdkb20vU3RyZWFtLmgnLAog
ICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5jcHAnLAogICAgICAgICAgICAgJ2RvbS9T
dHJpbmdDYWxsYmFjay5oJywKICAgICAgICAgICAgICdkb20vU3R5bGVFbGVtZW50LmNwcCcsCkBA
IC0zNTY3LDYgKzM1NzYsMTEgQEAKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5oJywKICAg
ICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuY3BwJywKICAgICAgICAgICAgICdwYWdlL05h
dmlnYXRvckJhc2UuaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2su
Y3BwJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2su
aCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
Y3BwJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
ay5oJywKICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCcsCiAgICAgICAg
ICAgICAncGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5oJywKICAgICAgICAgICAgICdwYWdlL1BhZ2Uu
Y3BwJywKQEAgLTM1OTcsNiArMzYxMSwxMCBAQAogICAgICAgICAgICAgJ3BhZ2UvU3BlZWNoSW5w
dXRSZXN1bHQuaCcsCiAgICAgICAgICAgICAncGFnZS9TcGVlY2hJbnB1dFJlc3VsdExpc3QuY3Bw
JywKICAgICAgICAgICAgICdwYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5oJywKKyAgICAgICAg
ICAgICdwYWdlL1N0cmVhbUNsaWVudC5oJywKKyAgICAgICAgICAgICdwYWdlL1N0cmVhbUxpc3Rl
bmVyLmgnLAorICAgICAgICAgICAgJ3BhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAnLAorICAgICAg
ICAgICAgJ3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oJywKICAgICAgICAgICAgICdwYWdlL1N1c3Bl
bmRhYmxlVGltZXIuY3BwJywKICAgICAgICAgICAgICdwYWdlL1N1c3BlbmRhYmxlVGltZXIuaCcs
CiAgICAgICAgICAgICAncGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5w
cm8KaW5kZXggNTRjMDA5OWEzMDFiNTc4ODAxMzJlZTAwMDJhOTI0OGVhM2U1YmFhMy4uMTZjMmEw
ZGU3NGY5ZTU1NzA2OTI1NWI4ZjMwZjZkZTUzYmUxMzQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQ4
OSw2ICs0ODksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vRXZlbnRRdWV1ZS5jcHAgXAogICAg
IGRvbS9FeGNlcHRpb25CYXNlLmNwcCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGUuY3BwIFwKKyAg
ICBkb20vR2VuZXJhdGVkU3RyZWFtLmNwcCBcCiAgICAgZG9tL0lucHV0RWxlbWVudC5jcHAgXAog
ICAgIGRvbS9LZXlib2FyZEV2ZW50LmNwcCBcCiAgICAgZG9tL01lc3NhZ2VDaGFubmVsLmNwcCBc
CkBAIC01MjksNiArNTMwLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1NlbGVjdG9yTm9kZUxp
c3QuY3BwIFwKICAgICBkb20vU3BhY2VTcGxpdFN0cmluZy5jcHAgXAogICAgIGRvbS9TdGF0aWNO
b2RlTGlzdC5jcHAgXAorICAgIGRvbS9TdHJlYW0uY3BwIFwKICAgICBkb20vU3R5bGVkRWxlbWVu
dC5jcHAgXAogICAgIGRvbS9TdHlsZUVsZW1lbnQuY3BwIFwKICAgICBkb20vVGFnTm9kZUxpc3Qu
Y3BwIFwKQEAgLTkwNiw2ICs5MDgsOCBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdlL01lbW9yeUlu
Zm8uY3BwIFwKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwIFwKICAg
ICBwYWdlL05hdmlnYXRvci5jcHAgXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjay5jcHAgXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmNwcCBcCiAgICAgcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAgICAgcGFnZS9PcmlnaW5BY2Nl
c3NFbnRyeS5jcHAgXAogICAgIHBhZ2UvUGFnZS5jcHAgXApAQCAtOTIwLDYgKzkyNCw3IEBAIFNP
VVJDRVMgKz0gXAogICAgIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwIFwKICAgICBwYWdlL1NldHRp
bmdzLmNwcCBcCiAgICAgcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAgXAorICAgIHBhZ2UvU3Ry
ZWFtQ29udHJvbGxlci5jcHAgXAogICAgIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgXAogICAg
IHBhZ2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCBcCiAgICAgcGFnZS9XaW5kb3dGZWF0dXJl
cy5jcHAgXApAQCAtMTQ0Niw2ICsxNDUxLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0V4Y2Vw
dGlvbkJhc2UuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGUuaCBcCiAgICAgZG9tL0ZyYWdtZW50
U2NyaXB0aW5nUGVybWlzc2lvbi5oIFwKKyAgICBkb20vR2VuZXJhdGVkU3RyZWFtLmggXAogICAg
IGRvbS9JbnB1dEVsZW1lbnQuaCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaCBcCiAgICAgZG9t
L01lc3NhZ2VDaGFubmVsLmggXApAQCAtMTQ2NSw2ICsxNDcxLDcgQEAgSEVBREVSUyArPSBcCiAg
ICAgZG9tL09wdGlvbkVsZW1lbnQuaCBcCiAgICAgZG9tL09wdGlvbkdyb3VwRWxlbWVudC5oIFwK
ICAgICBkb20vU3RhdGljSGFzaFNldE5vZGVMaXN0LmggXAorICAgIGRvbS9TdHJlYW0uaCBcCiAg
ICAgZG9tL092ZXJmbG93RXZlbnQuaCBcCiAgICAgZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCBc
CiAgICAgZG9tL1Bvc2l0aW9uLmggXApAQCAtMTgzMiw2ICsxODM5LDkgQEAgSEVBREVSUyArPSBc
CiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggXAogICAgIHBhZ2UvTmF2
aWdhdG9yQmFzZS5oIFwKICAgICBwYWdlL05hdmlnYXRvci5oIFwKKyAgICBwYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmggXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIFwK
ICAgICBwYWdlL1BhZ2VHcm91cC5oIFwKICAgICBwYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5o
IFwKICAgICBwYWdlL1BhZ2UuaCBcCkBAIC0xODQ4LDYgKzE4NTgsOSBAQCBIRUFERVJTICs9IFwK
ICAgICBwYWdlL1NwZWVjaElucHV0TGlzdGVuZXIuaCBcCiAgICAgcGFnZS9TcGVlY2hJbnB1dFJl
c3VsdC5oIFwKICAgICBwYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5oIFwKKyAgICBwYWdlL1N0
cmVhbUNsaWVudC5oIFwKKyAgICBwYWdlL1N0cmVhbUNvbnRyb2xsZXIuaCBcCisgICAgcGFnZS9T
dHJlYW1MaXN0ZW5lci5oIFwKICAgICBwYWdlL1dlYktpdEFuaW1hdGlvbi5oIFwKICAgICBwYWdl
L1dlYktpdEFuaW1hdGlvbkxpc3QuaCBcCiAgICAgcGFnZS9XaW5kb3dGZWF0dXJlcy5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNzNmZWYx
M2RlZTA3MmQ1YzhkYzU2MTNhMjUyOWFjOGQ5NmI2YjI1NC4uNjBlMGI1M2MzODNiYjdiZTUxZjky
ZmU3ZGJhZjBkMGY2ZjcyYzQ0YiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTU1NDIsNiArNTU0Miw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTR2VuZXJhdGVkU3RyZWFtLmNwcCIKKwkJ
CQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2Vf
TFRDR3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTR2VuZXJhdGVkU3RyZWFtLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNHZW9sb2NhdGlvbi5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgpAQCAtMTE4NzgsNiArMTE5MzQsMTc0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAi
CisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJv
X0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlX0xUQ0d8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVh
c2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNOb2RlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0xMzU1
OCw2ICsxMzc4Miw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTU3RyZWFtLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU3RyZWFtLmgiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNTdHlsZU1lZGlhLmNwcCIKIAkJCQk+
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0yNDg5NCw2ICsyNTE3NCwyMiBAQAogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRo
PSIuLlxwYWdlXE9yaWdpbkFjY2Vzc0VudHJ5LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0y
NTAzMCw2ICsyNTMyNiwyMiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwYWdlXFN0cmVhbUNsaWVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN0cmVhbUNvbnRyb2xsZXIuY3BwIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN0
cmVhbUNvbnRyb2xsZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5ccGFnZVxTdHJlYW1MaXN0ZW5lci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN1c3BlbmRhYmxlVGltZXIuY3BwIgog
CQkJCT4KIAkJCTwvRmlsZT4KQEAgLTQ0NTA2LDYgKzQ0ODE4LDYyIEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxHZW5lcmF0ZWRTdHJlYW0u
Y3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZV9MVENHfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGRvbVxHZW5lcmF0ZWRTdHJlYW0uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEhhc2hDaGFuZ2VFdmVudC5oIgogCQkJCT4K
IAkJCTwvRmlsZT4KQEAgLTQ2NTc0LDYgKzQ2OTQyLDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJlYW0uY3BwIgorCQkJCT4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9MVENHfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxT
dHJlYW0uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZG9tXFN0cmluZ0NhbGxiYWNrLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggYzljZjliMzgyYzI0YmMyZWVlYjkzYjc0NjdjMjRhNDcyMTQ2NTMzMC4uYTE2Njc4YzZl
ZGNjNThkZGM3ZmVkZGRlMWM2MjlkNWU3YmUzYjBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA3OCw2ICs0MDc4LDI0IEBA
CiAJCUIwMTQ5RTdFMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0ExMUE0QjIx
NTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggKi87IH07CiAJCUIwMTQ5RTdGMTFBNEIy
MTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIElt
YWdlUmVzaXplclRocmVhZC5jcHAgKi87IH07CiAJCUIwMTQ5RTgwMTFBNEIyMTUwMDE5NkE3QiAv
KiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJl
YWQuaCAqLzsgfTsKKwkJQjFFNDZCRjgxMzMzQjUzQTAwODIyRDdGIC8qIEdlbmVyYXRlZFN0cmVh
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0
NkJFRjEzMzNCNTNBMDA4MjJEN0YgLyogR2VuZXJhdGVkU3RyZWFtLmNwcCAqLzsgfTsKKwkJQjFF
NDZCRjkxMzMzQjUzQTAwODIyRDdGIC8qIEdlbmVyYXRlZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZCRjAxMzMzQjUzQTAwODIyRDdG
IC8qIEdlbmVyYXRlZFN0cmVhbS5oICovOyB9OworCQlCMUU0NkJGQjEzMzNCNTNBMDA4MjJEN0Yg
LyogU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxRTQ2QkYyMTMzM0I1M0EwMDgyMkQ3RiAvKiBTdHJlYW0uY3BwICovOyB9OworCQlCMUU0
NkJGQzEzMzNCNTNBMDA4MjJEN0YgLyogU3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkJGMzEzMzNCNTNBMDA4MjJEN0YgLyogU3RyZWFt
LmggKi87IH07CisJCUIxRTQ2QzA5MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjFFNDZDMDExMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87
IH07CisJCUIxRTQ2QzBCMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxRTQ2QzAzMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmNwcCAqLzsgfTsKKwkJQjFFNDZDMEMxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzA0MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmggKi87IH07CisJCUIxRTQ2QzBGMTMzM0I1N0YwMDgyMkQ3RiAv
KiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNDZDNEUxMzMz
QzFEQzAwODIyRDdGIC8qIEpTR2VuZXJhdGVkU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQwMTMzM0MxREMwMDgyMkQ3RiAvKiBK
U0dlbmVyYXRlZFN0cmVhbS5jcHAgKi87IH07CisJCUIxRTQ2QzRGMTMzM0MxREMwMDgyMkQ3RiAv
KiBKU0dlbmVyYXRlZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjFFNDZDNDExMzMzQzFEQzAwODIyRDdGIC8qIEpTR2VuZXJhdGVkU3RyZWFt
LmggKi87IH07CisJCUIxRTQ2QzUyMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxRTQ2QzQ0MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmNwcCAqLzsgfTsKKwkJQjFFNDZDNTMxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxRTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggKi87IH07CisJCUIxRTQ2QzU0MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjFFNDZDNDYxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5jcHAgKi87IH07CisJCUIxRTQ2QzU1MTMzM0MxREMwMDgyMkQ3RiAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ3MTMzM0MxREMwMDgyMkQ3RiAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNDZDNTYxMzMz
QzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ4MTMz
M0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAg
Ki87IH07CisJCUIxRTQ2QzU3MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjFFNDZDNDkxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmggKi87IH07CisJCUIxRTQ2QzU4MTMzM0MxREMwMDgyMkQ3RiAvKiBK
U1N0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMUU0NkM0QTEzMzNDMURDMDA4MjJEN0YgLyogSlNTdHJlYW0uY3BwICovOyB9OworCQlCMUU0
NkM1OTEzMzNDMURDMDA4MjJEN0YgLyogSlNTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzRCMTMzM0MxREMwMDgyMkQ3RiAvKiBKU1N0
cmVhbS5oICovOyB9OwogCQlCMjAxMTEwNzBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAx
MTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMDEx
MTA4MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyog
SlNTVkdBRWxlbWVudC5oICovOyB9OwogCQlCMjIyNzk2MjBEMDBCRjIyMDA3MUI3ODIgLyogQ29s
b3JEaXN0YW5jZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMjIyNzdDQjBEMDBCRjFGMDA3MUI3ODIgLyogQ29sb3JEaXN0YW5jZS5jcHAgKi87IH07
CkBAIC0xMDMxMiw2ICsxMDMzMCwyOSBAQAogCQlCMDE0OUU3QTExQTRCMjE1MDAxOTZBN0IgLyog
QXN5bmNJbWFnZVJlc2l6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN5
bmNJbWFnZVJlc2l6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjAxNDlFN0Ix
MUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNp
emVyVGhyZWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlUmVzaXpl
clRocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkJFRjEzMzNCNTNB
MDA4MjJEN0YgLyogR2VuZXJhdGVkU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEdlbmVyYXRlZFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUIxRTQ2QkYwMTMzM0I1M0EwMDgyMkQ3RiAvKiBHZW5lcmF0ZWRTdHJlYW0uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJhdGVkU3RyZWFtLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QkYxMTMzM0I1M0EwMDgyMkQ3RiAvKiBHZW5lcmF0
ZWRTdHJlYW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdlbmVyYXRlZFN0cmVhbS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QkYyMTMzM0I1M0EwMDgyMkQ3RiAv
KiBTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RyZWFt
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZCRjMxMzMzQjUzQTAwODIy
RDdGIC8qIFN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJlYW0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZCRjQxMzMzQjUzQTAwODIyRDdG
IC8qIFN0cmVhbS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3RyZWFtLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDExMzMzQjU3RjAwODIyRDdGIC8qIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIx
RTQ2QzAyMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMwMzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDQxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCMUU0NkMwNTEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2
QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzA4MTMz
M0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQwMTMzM0MxREMwMDgyMkQ3
RiAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0dlbmVyYXRlZFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIxRTQ2QzQxMTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVyYXRlZFN0cmVhbS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dlbmVyYXRlZFN0cmVhbS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0NjEzMzND
MURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQ3MTMz
M0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQ4MTMzM0MxREMw
MDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQ5MTMz
M0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0QTEzMzND
MURDMDA4MjJEN0YgLyogSlNTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0
NkM0QjEzMzNDMURDMDA4MjJEN0YgLyogSlNTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIw
MTExMDUwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHQUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdBRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzdDQjBEMDBCRjFGMDA3MUI3ODIgLyog
Q29sb3JEaXN0YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q29sb3JEaXN0YW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDE3MSw2
ICsxNDIxMiwxMyBAQAogCQkJCUE5QzZFNjVEMEQ3NDY2OTQwMDY0NDJFOSAvKiBOYXZpZ2F0b3Iu
aWRsICovLAogCQkJCUUxMjcxOUM5MEVFRUMyMTMwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmNw
cCAqLywKIAkJCQlFMTI3MTlDNjBFRUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9yQmFzZS5oICov
LAorCQkJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oICovLAorCQkJCUIxRTQ2QzAyMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5pZGwgKi8sCisJCQkJQjFFNDZDMDMxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwICovLAorCQkJCUIxRTQ2QzA0MTMzM0I1N0YwMDgy
MkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8sCisJCQkJQjFFNDZD
MDUxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRs
ICovLAorCQkJCUIxRTQ2QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaCAqLywKKwkJCQlCMUU0NkMwODEzMzNCNTdGMDA4MjJEN0YgLyogTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLywKIAkJCQkwMDE0NjI4ODEwM0NE
MURFMDAwQjIwREIgLyogT3JpZ2luQWNjZXNzRW50cnkuY3BwICovLAogCQkJCTAwMTQ2Mjg5MTAz
Q0QxREUwMDBCMjBEQiAvKiBPcmlnaW5BY2Nlc3NFbnRyeS5oICovLAogCQkJCTY1RkVBODY4MDk4
MzNBREUwMEJFRDRBQiAvKiBQYWdlLmNwcCAqLywKQEAgLTE2ODI1LDYgKzE2ODczLDggQEAKIAkJ
CQk2NURGMzIyRTA5RDFEREJDMDAwQkUzMjUgLyogSlNFbnRpdHkuaCAqLywKIAkJCQk5M0Y5Qjc3
MjBCQTVGRERDMDA4NTQwNjQgLyogSlNFbnRpdHlSZWZlcmVuY2UuY3BwICovLAogCQkJCTkzRjlC
NzczMEJBNUZEREMwMDg1NDA2NCAvKiBKU0VudGl0eVJlZmVyZW5jZS5oICovLAorCQkJCUIxRTQ2
QzQwMTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgKi8sCisJCQkJQjFF
NDZDNDExMzMzQzFEQzAwODIyRDdGIC8qIEpTR2VuZXJhdGVkU3RyZWFtLmggKi8sCiAJCQkJRkU4
MERBNUYwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uY3BwICovLAogCQkJCUZFODBE
QTYwMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmggKi8sCiAJCQkJRkU4MERBNjEw
RTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvcG9zaXRpb24uY3BwICovLApAQCAtMTY4NDksNiArMTY4
OTksOCBAQAogCQkJCTc1NDE1RDUyMTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVz
dWx0LmggKi8sCiAJCQkJNzU0MTVENTMxMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRS
ZXN1bHRMaXN0LmNwcCAqLywKIAkJCQk3NTQxNUQ1NDEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVl
Y2hJbnB1dFJlc3VsdExpc3QuaCAqLywKKwkJCQlCMUU0NkM0QTEzMzNDMURDMDA4MjJEN0YgLyog
SlNTdHJlYW0uY3BwICovLAorCQkJCUIxRTQ2QzRCMTMzM0MxREMwMDgyMkQ3RiAvKiBKU1N0cmVh
bS5oICovLAogCQkJCTY1REYzMUVGMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAog
CQkJCTY1REYzMUYwMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuaCAqLywKIAkJCSk7CkBAIC0x
ODIzMiw2ICsxODI4NCwxMiBAQAogCQkJCTlGRkUzRUE0MTFCNUE0MzkwMDM3ODc0RSAvKiBKU01l
bW9yeUluZm8uaCAqLywKIAkJCQlBOUQyNDdGNTBENzU3RTMzMDBGREY5NTkgLyogSlNOYXZpZ2F0
b3IuY3BwICovLAogCQkJCUE5RDI0N0Y2MEQ3NTdFMzMwMEZERjk1OSAvKiBKU05hdmlnYXRvci5o
ICovLAorCQkJCUIxRTQ2QzQ0MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmNwcCAqLywKKwkJCQlCMUU0NkM0NTEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oICovLAorCQkJCUIxRTQ2QzQ2MTMzM0MxREMwMDgyMkQ3RiAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwICovLAorCQkJCUIxRTQ2QzQ3MTMz
M0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLywK
KwkJCQlCMUU0NkM0ODEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suY3BwICovLAorCQkJCUIxRTQ2QzQ5MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovLAogCQkJCThBOUE1ODcyMTFFODRD
ODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmNwcCAqLywKIAkJCQk4QTlBNTg3MzExRTg0Qzgx
MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5oICovLAogCQkJCThBOUE1ODZFMTFFODRDMzUwMDhB
Q0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgKi8sCkBAIC0xOTIyMSw2ICsxOTI3
OSw5IEBACiAJCQkJOTM4MzFCNTYwRDA4N0Q2MDAwRTVDOTg0IC8qIEV4Y2VwdGlvbkNvZGUuY3Bw
ICovLAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRpb25Db2RlLmggKi8s
CiAJCQkJQTg1MzEyM0MxMUQwNDcxQjAwRDREMDc3IC8qIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbi5oICovLAorCQkJCUIxRTQ2QkVGMTMzM0I1M0EwMDgyMkQ3RiAvKiBHZW5lcmF0ZWRTdHJl
YW0uY3BwICovLAorCQkJCUIxRTQ2QkYwMTMzM0I1M0EwMDgyMkQ3RiAvKiBHZW5lcmF0ZWRTdHJl
YW0uaCAqLywKKwkJCQlCMUU0NkJGMTEzMzNCNTNBMDA4MjJEN0YgLyogR2VuZXJhdGVkU3RyZWFt
LmlkbCAqLywKIAkJCQkyNDQyQkJGODExOTRDOUQzMDBENDk0NjkgLyogSGFzaENoYW5nZUV2ZW50
LmggKi8sCiAJCQkJODQ4MkI3NDQxMTk4QzMyRTAwQkZCMDA1IC8qIEhhc2hDaGFuZ2VFdmVudC5p
ZGwgKi8sCiAJCQkJOEFCNEJDNzYxMjZGREI3MTAwREVCNzI3IC8qIElnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudEluY3JlbWVudGVyLmggKi8sCkBAIC0xOTMzMSw2ICsxOTM5Miw5IEBACiAJCQkJ
Q0VBMzk0OUIxMUQ0NUNEQTAwMzA5NENGIC8qIFN0YXRpY0hhc2hTZXROb2RlTGlzdC5oICovLAog
CQkJCUJDN0ZBNjJDMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2RlTGlzdC5jcHAgKi8sCiAJ
CQkJQkM3RkE2MkIwRDFGMEVGRjAwREIyMkE5IC8qIFN0YXRpY05vZGVMaXN0LmggKi8sCisJCQkJ
QjFFNDZCRjIxMzMzQjUzQTAwODIyRDdGIC8qIFN0cmVhbS5jcHAgKi8sCisJCQkJQjFFNDZCRjMx
MzMzQjUzQTAwODIyRDdGIC8qIFN0cmVhbS5oICovLAorCQkJCUIxRTQ2QkY0MTMzM0I1M0EwMDgy
MkQ3RiAvKiBTdHJlYW0uaWRsICovLAogCQkJCTgxMDJDNTg3MTMyNUJCMTEwMERERTY3QSAvKiBT
dHJpbmdDYWxsYmFjay5jcHAgKi8sCiAJCQkJODFBQzZDMzUxMzFDNTdEMzAwMDlBN0UwIC8qIFN0
cmluZ0NhbGxiYWNrLmggKi8sCiAJCQkJODFBQzZDMzQxMzFDNTdDMjAwMDlBN0UwIC8qIFN0cmlu
Z0NhbGxiYWNrLmlkbCAqLywKQEAgLTIyNjgwLDYgKzIyNzQ0LDE2IEBACiAJCQkJMzE5NDYyMDQx
MzAyMkJGMTAwNEJCM0Y4IC8qIERPTVdlYktpdEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxOUU2OUIzMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTMxOUU2OUI2MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRp
b25MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkJGOTEzMzNCNTNBMDA4MjJEN0YgLyog
R2VuZXJhdGVkU3RyZWFtLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkJGQzEzMzNCNTNBMDA4
MjJEN0YgLyogU3RyZWFtLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkMwOTEzMzNCNTdGMDA4
MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUIx
RTQ2QzBDMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkMwRjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkM0
RjEzMzNDMURDMDA4MjJEN0YgLyogSlNHZW5lcmF0ZWRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAor
CQkJCUIxRTQ2QzUzMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkM1NTEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkM1
NzEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2QzU5MTMzM0MxREMwMDgyMkQ3RiAvKiBKU1N0cmVh
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNTM0OCw2ICsyNTQyMiwxNSBAQAogCQkJCTMxOUU2ODg3
MTMyN0M5MTEwMDRBQzkxQSAvKiBKU1dlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkzMTlFNjlCMjEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTMxOUU2OUI1MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRB
bmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTQ2QkY4MTMzM0I1M0EwMDgy
MkQ3RiAvKiBHZW5lcmF0ZWRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNDZCRkIx
MzMzQjUzQTAwODIyRDdGIC8qIFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkMw
QjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkMwRTEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTQ2QzRF
MTMzM0MxREMwMDgyMkQ3RiAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlCMUU0NkM1MjEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkM1NDEzMzNDMURDMDA4MjJEN0YgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIx
RTQ2QzU2MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkM1ODEzMzNDMURDMDA4MjJEN0YgLyog
SlNTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApp
bmRleCAwOGE3NjgwMjM4MzFmNDJhZDYzMjM1ZjcxMDA0YmUyMzQ3OTI1NTUxLi5kZWRjNzU2ZWY0
NTlmYmU0ZjcwYjQ5NjdmZmUyNDA3NWZjZGQyYmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9u
ZS5jcHAKQEAgLTc0LDYgKzc0LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5jcHAiCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQmFzZS5jcHAiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5jcHAiCisj
aW5jbHVkZSAiR2VuZXJhdGVkU3RyZWFtLmNwcCIKICNpbmNsdWRlICJJbnB1dEVsZW1lbnQuY3Bw
IgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVs
LmNwcCIKQEAgLTExMCw2ICsxMTEsNyBAQAogI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuY3Bw
IgogI2luY2x1ZGUgIlN0YXRpY0hhc2hTZXROb2RlTGlzdC5jcHAiCiAjaW5jbHVkZSAiU3RhdGlj
Tm9kZUxpc3QuY3BwIgorI2luY2x1ZGUgIlN0cmVhbS5jcHAiCiAjaW5jbHVkZSAiU3R5bGVFbGVt
ZW50LmNwcCIKICNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmNwcCIKICNpbmNsdWRlICJUYWdOb2Rl
TGlzdC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJjMzRhZDBkMjM3ODM5MjQ5YmJiMmIyMTM2NGYyMThkMWM2MWE2ZmYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmNwcApAQCAtMCwwICsxLDEy
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHZW5lcmF0ZWRTdHJlYW0uaCIKKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJTdHJlYW1Db250cm9sbGVyLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxHZW5lcmF0ZWRTdHJlYW0+IEdl
bmVyYXRlZFN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGlu
dCBzdHJlYW1JZCwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEdlbmVyYXRlZFN0cmVhbShjb250ZXh0LCBzdHJlYW1JZCwgbGFiZWwpKTsKK30KKworR2Vu
ZXJhdGVkU3RyZWFtOjpHZW5lcmF0ZWRTdHJlYW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgaW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxhYmVsKQorICAgIDogU3RyZWFtKGNv
bnRleHQsIHN0cmVhbUlkLCBsYWJlbCkKK3sKK30KKworR2VuZXJhdGVkU3RyZWFtOjp+R2VuZXJh
dGVkU3RyZWFtKCkKK3sKKyAgICAvLyBBc3N1bWluZyB0aGF0IHRoZSBsb2NhbCBzdHJlYW1zIHNo
b3VsZCBiZSBzdG9wcGVkIHdoZW4gdGhleSBnbyBvdXQgb2Ygc2NvcGUuCisgICAgaWYgKG1fcmVh
ZHlTdGF0ZSAhPSBFTkRFRCkKKyAgICAgICAgc3RvcCgpOworfQorCit2b2lkIEdlbmVyYXRlZFN0
cmVhbTo6c3RvcCgpCit7CisgICAgLy8gRklYTUU6IHNob3VsZCB1c2UgdGhlIERPTSBtYW5pcHVs
YXRpb24gdGFzayBzb3VyY2UuCisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7
CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhyZWFkKCkp
OworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2sobmV3IERpc3BhdGNoU3Ry
ZWFtVXBkYXRlVGFzazxHZW5lcmF0ZWRTdHJlYW0+KHRoaXMsICZHZW5lcmF0ZWRTdHJlYW06Om9u
U3RvcCkpOworfQorCit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6cGF1c2UoKQoreworICAgIC8vIEZJ
WE1FOiBzaG91bGQgdXNlIHRoZSBET00gbWFuaXB1bGF0aW9uIHRhc2sgc291cmNlLgorICAgIEFT
U0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmlzQ29udGV4dFRocmVhZCgpKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPnBvc3RUYXNrKG5ldyBEaXNwYXRjaFN0cmVhbVVwZGF0ZVRhc2s8R2VuZXJhdGVkU3Ry
ZWFtPih0aGlzLCAmR2VuZXJhdGVkU3RyZWFtOjpvblBhdXNlKSk7Cit9CisKK3ZvaWQgR2VuZXJh
dGVkU3RyZWFtOjpyZXN1bWUoKQoreworICAgIC8vIEZJWE1FOiBzaG91bGQgdXNlIHRoZSBET00g
bWFuaXB1bGF0aW9uIHRhc2sgc291cmNlLgorICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpOworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzQ29udGV4dFRo
cmVhZCgpKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKG5ldyBEaXNw
YXRjaFN0cmVhbVVwZGF0ZVRhc2s8R2VuZXJhdGVkU3RyZWFtPih0aGlzLCAmR2VuZXJhdGVkU3Ry
ZWFtOjpvblJlc3VtZSkpOworfQorCit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6b25TdG9wKCkKK3sK
KyAgICBpZiAobV9yZWFkeVN0YXRlID09IEVOREVEKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAoU3RyZWFtQ29udHJvbGxlciogY29udHJvbGxlciA9IGdldENvbnRyb2xsZXIoKSkKKyAgICAg
ICAgY29udHJvbGxlci0+c3RvcEdlbmVyYXRlZFN0cmVhbShtX3N0cmVhbUlkKTsKKworICAgIG1f
cmVhZHlTdGF0ZSA9IEVOREVEOworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7Cit9CisKK3ZvaWQgR2VuZXJhdGVk
U3RyZWFtOjpvblBhdXNlKCkKK3sKKyAgICBpZiAobV9yZWFkeVN0YXRlICE9IExJVkUpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmIChTdHJlYW1Db250cm9sbGVyKiBjb250cm9sbGVyID0gZ2V0
Q29udHJvbGxlcigpKQorICAgICAgICBjb250cm9sbGVyLT5wYXVzZUdlbmVyYXRlZFN0cmVhbSht
X3N0cmVhbUlkKTsKKworICAgIG1fcmVhZHlTdGF0ZSA9IFBBVVNFRDsKKyAgICBkaXNwYXRjaEV2
ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnBhdXNlRXZlbnQsIGZhbHNlLCBmYWxzZSkp
OworfQorCit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6b25SZXN1bWUoKQoreworICAgIGlmIChtX3Jl
YWR5U3RhdGUgIT0gUEFVU0VEKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoU3RyZWFtQ29u
dHJvbGxlciogY29udHJvbGxlciA9IGdldENvbnRyb2xsZXIoKSkKKyAgICAgICAgY29udHJvbGxl
ci0+cmVzdW1lR2VuZXJhdGVkU3RyZWFtKG1fc3RyZWFtSWQpOworCisgICAgbV9yZWFkeVN0YXRl
ID0gTElWRTsKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnBs
YXlFdmVudCwgZmFsc2UsIGZhbHNlKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vR2VuZXJhdGVkU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3Ry
ZWFtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODI2MTM4ZWZiMjhkYjE1ZjAwNWE3MGE0YWI0ZmFiNWExODViNDZm
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0u
aApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBHZW5lcmF0ZWRTdHJlYW1faAorI2RlZmluZSBHZW5l
cmF0ZWRTdHJlYW1faAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIlN0cmVhbS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CisKK2NsYXNzIEdlbmVyYXRlZFN0cmVhbSA6IHB1YmxpYyBTdHJlYW0geworcHVibGljOgorICAg
IC8vIE11c3QgbWF0Y2ggdGhlIGNvbnN0YW50cyBpbiB0aGUgLmlkbCBmaWxlLgorICAgIGVudW0g
eworICAgICAgICBQQVVTRUQgPSAzCisgICAgfTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdl
bmVyYXRlZFN0cmVhbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBpbnQgc3RyZWFt
SWQsIGNvbnN0IFN0cmluZyYgbGFiZWwpOworICAgIHZpcnR1YWwgfkdlbmVyYXRlZFN0cmVhbSgp
OworCisgICAgdm9pZCBzdG9wKCk7CisgICAgdm9pZCBwYXVzZSgpOworICAgIHZvaWQgcmVzdW1l
KCk7CisKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBhdXNlKTsKKyAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBsYXkpOworCitwcml2YXRlOgorICAgIEdl
bmVyYXRlZFN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgaW50IHN0cmVhbUlkLCBjb25z
dCBTdHJpbmcmIGxhYmVsKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBmcmllbmQgY2xh
c3MgRGlzcGF0Y2hTdHJlYW1VcGRhdGVUYXNrOworICAgIHZvaWQgb25TdG9wKCk7CisgICAgdm9p
ZCBvblBhdXNlKCk7CisgICAgdm9pZCBvblJlc3VtZSgpOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIEdl
bmVyYXRlZFN0cmVhbV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVk
U3RyZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRiNGM2NWJmMmRhZmMwZjU3MDdiNjU3ZDQ1ZjJlMGM5MTMyOGM2NjUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmlkbApAQCAtMCww
ICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworbW9kdWxlIGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0
aW9uYWw9TUVESUFfU1RSRUFNLAorICAgICAgICBFdmVudFRhcmdldAorICAgIF0gR2VuZXJhdGVk
U3RyZWFtIDogU3RyZWFtIHsKKyAgICAgICAgdm9pZCBzdG9wKCk7CisKKyAgICAgICAgLy8gdGVt
cG9yYXJpbHkgcGF1c2luZyB0aGUgc3RyZWFtCisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFBBVVNFRCA9IDM7CisgICAgICAgIHZvaWQgcGF1c2UoKTsKKyAgICAgICAgdm9pZCByZXN1bWUo
KTsKKworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnBhdXNlOworICAgICAgICBh
dHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnBsYXk7CisKKyAgICAgICAgLy8gRXZlbnRUYXJnZXQg
aW50ZXJmYWNlCisgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlw
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVu
ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUp
OworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0dXJl
KTsKKyAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2dCkKKyAgICAgICAg
ICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CisKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhjMTk5YTgxMDI5MDI3YjA3YWVmNzgzMzU4NzgxMDI0MWM2N2IzNTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmNwcApAQCAtMCww
ICsxLDEwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTdHJlYW0uaCIKKworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUg
IkV2ZW50LmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFN0cmVhbT4gU3Ry
ZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgaW50IHN0cmVhbUlk
LCBjb25zdCBTdHJpbmcmIGxhYmVsKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RyZWFt
KGNvbnRleHQsIHN0cmVhbUlkLCBsYWJlbCkpOworfQorCitTdHJlYW06OlN0cmVhbShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBpbnQgc3RyZWFtSWQsIGNvbnN0IFN0cmluZyYgbGFi
ZWwpCisgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKKyAgICAsIG1fc3RyZWFt
SWQoc3RyZWFtSWQpCisgICAgLCBtX2xhYmVsKGxhYmVsKQorICAgICwgbV9yZWFkeVN0YXRlKExJ
VkUpCit7Cit9CisKK1N0cmVhbTo6flN0cmVhbSgpCit7CisgICAgaWYgKFN0cmVhbUNvbnRyb2xs
ZXIqIGNvbnRyb2xsZXIgPSBnZXRDb250cm9sbGVyKCkpCisgICAgICAgIGNvbnRyb2xsZXItPnVu
cmVnaXN0ZXJTdHJlYW0obV9zdHJlYW1JZCk7Cit9CisKK1N0cmVhbUNvbnRyb2xsZXIqIFN0cmVh
bTo6Z2V0Q29udHJvbGxlcigpCit7CisgICAgaWYgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKKyAgICAgICAgaWYgKGNvbnRleHQt
PmlzRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gcmVpbnRlcnByZXRf
Y2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5wYWdlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHBhZ2UtPnN0cmVhbUNvbnRyb2xsZXIoKTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3Zv
aWQgU3RyZWFtOjpzdHJlYW1FbmRlZCgpCit7CisgICAgLy8gRklYTUU6IHNob3VsZCB1c2UgdGhl
IG5ldHdvcmtpbmcgdGFzayBzb3VyY2UuCisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSk7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhy
ZWFkKCkpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2sobmV3IERpc3Bh
dGNoU3RyZWFtVXBkYXRlVGFzazxTdHJlYW0+KHRoaXMsICZTdHJlYW06Om9uRW5kZWQpKTsKK30K
Kwordm9pZCBTdHJlYW06Om9uRW5kZWQoKQoreworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gRU5E
RUQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcmVhZHlTdGF0ZSA9IEVOREVEOworICAgIGRp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZW5kZWRFdmVudCwgZmFsc2Us
IGZhbHNlKSk7Cit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFN0cmVhbTo6c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOworfQorCitFdmVudFRhcmdldERhdGEqIFN0cmVhbTo6ZXZl
bnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCitF
dmVudFRhcmdldERhdGEqIFN0cmVhbTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICBy
ZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1N0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE4MTk2N2M2NWY1YTQ5YTFiMDk3ZmQ1ZTMyMTk2ZDJmZDgwZDQ2OGIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmgKQEAgLTAsMCArMSwxMjggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFN0cmVhbV9oCisjZGVmaW5lIFN0cmVhbV9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
CisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgor
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIgorI2luY2x1ZGUgIlN0cmVhbUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJlYW0gOiBwdWJsaWMgUmVm
Q291bnRlZDxTdHJlYW0+LAorICAgICAgICAgICAgICAgcHVibGljIEFjdGl2ZURPTU9iamVjdCwK
KyAgICAgICAgICAgICAgIHB1YmxpYyBFdmVudFRhcmdldCwKKyAgICAgICAgICAgICAgIHB1Ymxp
YyBTdHJlYW1Db250cm9sbGVyOjpTdHJlYW1MaXN0ZW5lciB7CitwdWJsaWM6CisgICAgLy8gTXVz
dCBtYXRjaCB0aGUgY29uc3RhbnRzIGluIHRoZSAuaWRsIGZpbGUuCisgICAgZW51bSB7CisgICAg
ICAgIExJVkUgPSAxLAorICAgICAgICBFTkRFRCA9IDIKKyAgICB9OworCisgICAgc3RhdGljIFBh
c3NSZWZQdHI8U3RyZWFtPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGludCBzdHJl
YW1JZCwgY29uc3QgU3RyaW5nJiBsYWJlbCk7CisgICAgdmlydHVhbCB+U3RyZWFtKCk7CisKKyAg
ICAvLyBGSVhNRTogaW1wbGVtZW50IHdoZW4gdGhlIFN0cmVhbVJlY29yZGVyIGNsYXNzIGlzIGF2
YWlsYWJsZS4KKyAgICAvLyBQYXNzUmVmUHRyPFN0cmVhbVJlY29yZGVyPiByZWNvcmQoKTsKKwor
ICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9CisgICAg
dW5zaWduZWQgc2hvcnQgcmVhZHlTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVhZHlTdGF0ZTsg
fQorCisgICAgaW50IHN0cmVhbUlkKCkgY29uc3QgeyByZXR1cm4gbV9zdHJlYW1JZDsgfQorCisg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWFkeXN0YXRlY2hhbmdlKTsKKyAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVuZGVkKTsKKworICAgIC8vIEV2ZW50
VGFyZ2V0IGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OworCisgICAgdXNpbmcgUmVmQ291bnRl
ZDxTdHJlYW0+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxTdHJlYW0+OjpkZXJlZjsKKwor
ICAgIC8vIFN0cmVhbUNvbnRyb2xsZXI6OlN0cmVhbUxpc3RlbmVyIGltcGxlbWVudGF0aW9uLgor
ICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1FbmRlZCgpOworCisgICAgLy8gVGVtcGxhdGUgdXNlZCB0
byBwb3N0IHRhc2tzIHRvIGV2ZW50IHVwZGF0ZXMgaW4gU3RyZWFtIGFuZCBkZXJpdmVkIGNsYXNz
ZXMuCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgY2xhc3MgRGlzcGF0Y2hTdHJlYW1V
cGRhdGVUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgeworICAgIHB1
YmxpYzoKKyAgICAgICAgdHlwZWRlZiB2b2lkIChUOjoqQ2FsbGJhY2spKCk7CisKKyAgICAgICAg
RGlzcGF0Y2hTdHJlYW1VcGRhdGVUYXNrKFQqIG9iamVjdCwgQ2FsbGJhY2sgY2FsbGJhY2spCisg
ICAgICAgICAgICA6IG1fb2JqZWN0KGFkb3B0UmVmKG9iamVjdCkpCisgICAgICAgICAgICAsIG1f
Y2FsbGJhY2soY2FsbGJhY2spIHsgfQorCisgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFz
ayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKKyAgICAgICAgeworICAgICAgICAgICAgKG1fb2Jq
ZWN0LmdldCgpLT4qbV9jYWxsYmFjaykoKTsKKyAgICAgICAgfQorCisgICAgcHVibGljOgorICAg
ICAgICBSZWZQdHI8VD4gbV9vYmplY3Q7CisgICAgICAgIENhbGxiYWNrIG1fY2FsbGJhY2s7Cisg
ICAgfTsKKworcHJvdGVjdGVkOgorICAgIFN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
aW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxhYmVsKTsKKyAgICBTdHJlYW1Db250cm9sbGVy
KiBnZXRDb250cm9sbGVyKCk7CisKKyAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4K
KyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CisgICAgdmly
dHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOworCisgICAgaW50
IG1fc3RyZWFtSWQ7CisgICAgU3RyaW5nIG1fbGFiZWw7CisgICAgdW5zaWduZWQgc2hvcnQgbV9y
ZWFkeVN0YXRlOworCitwcml2YXRlOgorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBmcmllbmQg
Y2xhc3MgRGlzcGF0Y2hTdHJlYW1VcGRhdGVUYXNrOworICAgIHZvaWQgb25FbmRlZCgpOworCisg
ICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCisgICAgdmlydHVhbCB2b2lkIHJlZkV2
ZW50VGFyZ2V0KCkgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0
KCkgeyBkZXJlZigpOyB9CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCisjZW5kaWYgLy8gU3RyZWFtX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWQ4MmM3MGFkOTlmMzEzNWQ3MDc2ZmMyMzg2YWI1ODhhZDgxZWZmYQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaWRsCkBAIC0wLDAgKzEsNTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1
bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9T
VFJFQU0sCisgICAgICAgIEV2ZW50VGFyZ2V0CisgICAgXSBTdHJlYW0geworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOworICAgICAgICAvLyBGSVhNRTogaW1wbGVt
ZW50IHdoZW4gdGhlIFN0cmVhbVJlY29yZGVyIGNsYXNzIGlzIGF2YWlsYWJsZS4KKyAgICAgICAg
Ly8gU3RyZWFtUmVjb3JkZXIgcmVjb3JkKCk7CisKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgTElWRSA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVOREVEID0gMjsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHJlYWR5U3RhdGU7CisgICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsK
KyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25lbmRlZDsKKworICAg
ICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBhZGRFdmVudExpc3Rl
bmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihp
biBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2
ZW50TGlzdGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4g
RXZlbnQgZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNlcHRpb24pOworICAgIH07
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL2ZlYXR1cmVzLnByaQppbmRleCA4ZmJjZmVlOGI3YTI0YzhjMzQ0MzE1NTI1MmM5ZGQ3
NTIxNTg3NzMwLi5iOGU3MWIxY2NmZTVmNzNiMmRiMmY0NTRmNThhMWVhN2E5MzIwMDJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
ZmVhdHVyZXMucHJpCkBAIC03NSw2ICs3NSw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9T
SU5HTEVfVEhSRUFERUQ9MSkgewogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJfQVVESU89
Lik6IERFRklORVMgKz0gRU5BQkxFX1dFQl9BVURJTz0wCiAhY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX1dFQkdMPS4pOiBERUZJTkVTICs9IEVOQUJMRV9XRUJHTD0wCiAhY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX01FRElBX1NUQVRJU1RJQ1M9Lik6IERFRklORVMgKz0gRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1M9MAorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJFQU09Lik6IERF
RklORVMgKz0gRU5BQkxFX01FRElBX1NUUkVBTT0wCiAKICMgU1ZHIHN1cHBvcnQKICFjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfU1ZHPTApIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAppbmRl
eCA2YTI2N2FkNDE2MTk2OTkwM2M4MGNhNjM5NDQwYzM5MWFmNTMwN2VkLi5iZGYyNTIyZjE3NjA4
MzkxYmRmODMwMWQ5ZGE2NmM1NGVhZmEyNzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3Bw
CkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgorI2luY2x1ZGUg
IlN0cmVhbUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI0Miw0ICsyNDMsMTcgQEAgdm9pZCBOYXZpZ2F0b3I6OnJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcm
IHVybCwKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK3ZvaWQgTmF2aWdh
dG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEoY29uc3QgU3RyaW5nJiBvcHRpb25zLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2spCit7CisgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKKyAgICBp
ZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIHBhZ2UtPnN0cmVhbUNvbnRyb2xsZXIo
KS0+Z2VuZXJhdGVTdHJlYW0ob3B0aW9ucywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNr
KTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuaAppbmRleCA2OTNiZGUxM2Y5MDgyYzRhYzE3N2ZmNTVlNjM0NDhiMTYzYTNmMTcyLi4yYTdk
Y2VhOTcwODY0Y2RjYjk5MDhlMmY4ZjE5ZjQ3ODViYjYxNTJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmgKQEAgLTIxLDYgKzIxLDggQEAKICNkZWZpbmUgTmF2aWdhdG9yX2gKIAogI2luY2x1ZGUg
Ik5hdmlnYXRvckJhc2UuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC02Nyw2ICs2OSwxMSBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUsIEV4Y2VwdGlvbkNvZGUmKTsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICB2aXJ0dWFsIHZvaWQgd2Via2l0R2V0
VXNlck1lZGlhKGNvbnN0IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2s+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiA9IDApOworI2Vu
ZGlmCisKIHByaXZhdGU6CiAgICAgTmF2aWdhdG9yKEZyYW1lKik7CiAgICAgRnJhbWUqIG1fZnJh
bWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKaW5kZXggYmYzZjEwOGVjOTAyNWMwMDg2YmYy
ODBmMzgxOTBjNGU5M2FlZDk3ZS4uOGMxYmVjMzY2Zjg1YWM5MjBhN2ExMGQ2NDVkOWE4MTEwOTE5
MDg5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbApAQCAtMzcsNyArMzcsNyBAQCBtb2R1
bGUgd2luZG93IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2ZW5kb3JT
dWI7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvb2tpZUVuYWJsZWQ7CiAg
ICAgICAgIGJvb2xlYW4gamF2YUVuYWJsZWQoKTsKLSAgICAgICAgCisKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gb25MaW5lOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfR0VPTE9D
QVRJT04pICYmIEVOQUJMRV9HRU9MT0NBVElPTgpAQCAtNTIsNiArNTIsMTIgQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoaW4gRE9NU3RyaW5n
IHNjaGVtZSwgaW4gRE9NU3RyaW5nIHVybCwgaW4gRE9NU3RyaW5nIHRpdGxlKQogICAgICAgICAg
ICAgcmFpc2VzKERvbUV4Y2VwdGlvbik7CiAjZW5kaWYKKworI2lmIGRlZmluZWQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJiYgRU5BQkxFX01FRElBX1NUUkVBTQorICAgICAgICB2b2lkIHdlYmtpdEdl
dFVzZXJNZWRpYShpbiBET01TdHJpbmcgb3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW0NhbGxiYWNrXSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbQ2Fs
bGJhY2ssIE9wdGlvbmFsXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2Fs
bGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmZjI2YmU5ZDRkYWFiMjQ2ZDhjZjBj
YjUzNDVhNWY4Nzg0MTA0NjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JfaAorI2RlZmluZSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCisK
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciA6
IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiB7CitwdWJsaWM6Cisg
ICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IodW5zaWduZWQgc2hvcnQgY29kZSkgOiBtX2NvZGUo
Y29kZSkgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoKSB7IH0KKwor
ICAgIGVudW0geworICAgICAgICBQRVJNSVNTSU9OX0RFTklFRCA9IDEKKyAgICB9OworCisgICAg
dW5zaWduZWQgc2hvcnQgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQorCitwcml2YXRl
OgorICAgIHVuc2lnbmVkIHNob3J0IG1fY29kZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3NTY2NDhhYjU5NWE0ODcwODYzNDllZTNhYmI2
M2Q1ODkyMTBmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmlkbApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisK
KyAgICAvLyBGSVhNRTogZGVsZXRlIHRoaXMgaW50ZXJmYWNlIGFuZCBpbXBsZW1lbnQgYSBjdXN0
b20gYmluZGluZyBzaW5jZSBzcGVjIGRlZmluZXMgaXQgYXMgYSBOb0ludGVyZmFjZU9iamVjdC4K
KyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0KKyAgICBd
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIHsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
UEVSTUlTU0lPTl9ERU5JRUQgPSAxOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgc2hvcnQgY29kZTsKKyAgICB9OworCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjli
NjFiZGQyNmRjOTBlNDkwYjVlMDFmNDFjNWNhMWIxMjhhYjk5ZTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3Bw
CkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
I2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSB7CisKKy8vIEZJ
WE1FOiB0aGlzIHNob3VsZCBiZSBtYWRlIGEgdGVtcGxhdGUgYW5kIG1lcmdlZCB3aXRoIHRoZSBl
cXVpdmFsZW50IHZlcnNpb25zIGluCisvLyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2sgYW5kIEJsb2JDYWxsYmFjay4KK2NsYXNzIERpc3BhdGNoQ2FsbGJhY2tUYXNrIDogcHVibGlj
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
T3duUHRyPERpc3BhdGNoQ2FsbGJhY2tUYXNrPiBjcmVhdGUoTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayogY2FsbGJhY2ssIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKiBkYXRhKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEaXNwYXRjaENhbGxiYWNrVGFzayhjYWxs
YmFjaywgZGF0YSkpOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KikKKyAgICB7CisgICAgICAgIG1fY2FsbGJhY2stPmhhbmRsZUV2
ZW50KG1fZGF0YS5nZXQoKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIERpc3BhdGNoQ2FsbGJh
Y2tUYXNrKE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sqIGNhbGxiYWNrLCBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvciogZGF0YSkKKyAgICAgICAgOiBtX2NhbGxiYWNrKGNhbGxiYWNrKQor
ICAgICAgICAsIG1fZGF0YShhZG9wdFJlZihkYXRhKSkKKyAgICB7CisgICAgfQorCisgICAgUmVm
UHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IG1fY2FsbGJhY2s7CisgICAgUmVm
UHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiBtX2RhdGE7Cit9OworCit9IC8vIG5hbWVzcGFj
ZQorCit2b2lkIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6OnNjaGVkdWxlQ2FsbGJh
Y2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IqIGRhdGEpCit7CisgICAgY29udGV4dC0+cG9zdFRhc2soRGlzcGF0Y2hDYWxsYmFja1Rhc2s6
OmNyZWF0ZSh0aGlzLCBkYXRhKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkOGJkMjgy
ZjE1NGEwNzMxNmFmODZhNTdhYjRjMGI4NTRhZGY0NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaApAQCAtMCww
ICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKKyNkZWZp
bmUgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjsKK2NsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgOiBw
dWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiB7CitwdWJs
aWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaygpIHsgfQor
ICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciopID0g
MDsKKworICAgIC8vIEhlbHBlciB0byBwb3N0IGNhbGxiYWNrIHRhc2suCisgICAgdm9pZCBzY2hl
ZHVsZUNhbGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvciopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTRlZDllNzM4Yjc4M2VlZWUxYmFiNzgzOTY0
Y2RkMTc4NTBkYTQzYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3
aW5kb3cgeworCisgICAgLy8gRklYTUU6IGRlbGV0ZSB0aGlzIGludGVyZmFjZSBhbmQgaW1wbGVt
ZW50IGEgY3VzdG9tIGJpbmRpbmcgc2luY2Ugc3BlYyBkZWZpbmVzIGl0IGFzIGEgTm9JbnRlcmZh
Y2VPYmplY3QuCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RS
RUFNLAorICAgICAgICBDYWxsYmFjaz1GdW5jdGlvbk9ubHkKKyAgICBdIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yIGVycm9yKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODNjNDQ1ZjZhOTA3NDI3YzY1ZTA0YzUzYzIyNTdiMGNkMmY5Y2NlNQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmNwcApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorCisjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkdlbmVyYXRlZFN0cmVhbS5oIgorI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2Ug
eworCisvLyBGSVhNRTogdGhpcyBzaG91bGQgYmUgbWFkZSBhIHRlbXBsYXRlIGFuZCBtZXJnZWQg
d2l0aCB0aGUgZXF1aXZhbGVudCB2ZXJzaW9ucyBpbgorLy8gTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayBhbmQgQmxvYkNhbGxiYWNrLgorY2xhc3MgRGlzcGF0Y2hDYWxsYmFja1Rhc2sg
OiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NPd25QdHI8RGlzcGF0Y2hDYWxsYmFja1Rhc2s+IGNyZWF0ZShQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gY2FsbGJhY2ssIEdlbmVyYXRlZFN0cmVh
bSogZGF0YSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRGlzcGF0Y2hDYWxs
YmFja1Rhc2soY2FsbGJhY2ssIGRhdGEpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCisgICAgeworICAgICAgICBtX2NhbGxi
YWNrLT5oYW5kbGVFdmVudChtX2RhdGEuZ2V0KCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBE
aXNwYXRjaENhbGxiYWNrVGFzayhQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjaz4gY2FsbGJhY2ssIEdlbmVyYXRlZFN0cmVhbSogZGF0YSkKKyAgICAgICAgOiBtX2Nh
bGxiYWNrKGNhbGxiYWNrKQorICAgICAgICAsIG1fZGF0YShhZG9wdFJlZihkYXRhKSkKKyAgICB7
CisgICAgfQorCisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4g
bV9jYWxsYmFjazsKKyAgICBSZWZQdHI8R2VuZXJhdGVkU3RyZWFtPiBtX2RhdGE7Cit9OworCit9
IC8vIG5hbWVzcGFjZQorCit2b2lkIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6
c2NoZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBHZW5lcmF0
ZWRTdHJlYW0qIGRhdGEpCit7CisgICAgY29udGV4dC0+cG9zdFRhc2soRGlzcGF0Y2hDYWxsYmFj
a1Rhc2s6OmNyZWF0ZSh0aGlzLCBkYXRhKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iYzllNzEwNTYxYWQyOWFhOTZlYmM5MzI3ZGY1NGZlZTlmM2E0ZWFjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2tfaAorI2RlZmluZSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tfaAorCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR2VuZXJhdGVkU3RyZWFtOworY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVh
bSopID0gMDsKKworICAgIC8vIEhlbHBlciB0byBwb3N0IGNhbGxiYWNrIHRhc2suCisgICAgdm9p
ZCBzY2hlZHVsZUNhbGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBHZW5lcmF0ZWRTdHJl
YW0qKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3M2MzYmEwNWNjNzgzYTg0ZDFmZGUx
M2U4YjUyNDg2NjYwM2IzODAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKQEAgLTAsMCArMSw0MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21v
ZHVsZSB3aW5kb3cgeworCisgICAgLy8gRklYTUU6IGRlbGV0ZSB0aGlzIGludGVyZmFjZSBhbmQg
aW1wbGVtZW50IGEgY3VzdG9tIGJpbmRpbmcgc2luY2Ugc3BlYyBkZWZpbmVzIGl0IGFzIGEgTm9J
bnRlcmZhY2VPYmplY3QuCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNLAorICAgICAgICBDYWxsYmFjaz1GdW5jdGlvbk9ubHkKKyAgICBdIE5hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQo
aW4gR2VuZXJhdGVkU3RyZWFtIHN0cmVhbSk7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
aW5kZXggYmZhZDJiODMyYzQ5YmZhMGRhMWQ4ZDcyNTZjNzhlNWIzZDM0Yzg4Zi4uMzkxOWIwZjgy
OTc2ODgzZWE2MTUyMzJmZGJlYTM2MTFhNGFhODY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC02
Nyw2ICs2Nyw4IEBACiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiU3BlZWNo
SW5wdXQuaCIKICNpbmNsdWRlICJTcGVlY2hJbnB1dENsaWVudC5oIgorI2luY2x1ZGUgIlN0cmVh
bUNsaWVudC5oIgorI2luY2x1ZGUgIlN0cmVhbUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJUZXh0
UmVzb3VyY2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KQEAgLTEzOSw2ICsxNDEsOSBAQCBQYWdlOjpQYWdlKGNvbnN0IFBhZ2VDbGllbnRz
JiBwYWdlQ2xpZW50cykKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgICwgbV9zcGVlY2hJ
bnB1dENsaWVudChwYWdlQ2xpZW50cy5zcGVlY2hJbnB1dENsaWVudCkKICNlbmRpZgorI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisgICAgLCBtX3N0cmVhbUNsaWVudChwYWdlQ2xpZW50cy5zdHJl
YW1DbGllbnQpCisjZW5kaWYKICAgICAsIG1fc2V0dGluZ3MoYWRvcHRQdHIobmV3IFNldHRpbmdz
KHRoaXMpKSkKICAgICAsIG1fcHJvZ3Jlc3MoYWRvcHRQdHIobmV3IFByb2dyZXNzVHJhY2tlcikp
CiAgICAgLCBtX2JhY2tGb3J3YXJkQ29udHJvbGxlcihhZG9wdFB0cihuZXcgQmFja0ZvcndhcmRD
b250cm9sbGVyKHRoaXMsIHBhZ2VDbGllbnRzLmJhY2tGb3J3YXJkQ2xpZW50KSkpCkBAIC04NDQs
NiArODQ5LDE3IEBAIFNwZWVjaElucHV0KiBQYWdlOjpzcGVlY2hJbnB1dCgpCiB9CiAjZW5kaWYK
IAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmVhbUNvbnRyb2xsZXIqIFBhZ2U6OnN0
cmVhbUNvbnRyb2xsZXIoKQoreworICAgIEFTU0VSVChtX3N0cmVhbUNsaWVudCk7CisgICAgaWYg
KCFtX3N0cmVhbUNvbnRyb2xsZXIuZ2V0KCkpCisgICAgICAgIG1fc3RyZWFtQ29udHJvbGxlci5z
ZXQobmV3IFN0cmVhbUNvbnRyb2xsZXIobV9zdHJlYW1DbGllbnQsIG1haW5GcmFtZSgpLT5kb2N1
bWVudCgpKSk7CisgICAgcmV0dXJuIG1fc3RyZWFtQ29udHJvbGxlci5nZXQoKTsKK30KKyNlbmRp
ZgorCiB2b2lkIFBhZ2U6OmRuc1ByZWZldGNoaW5nU3RhdGVDaGFuZ2VkKCkKIHsKICAgICBmb3Ig
KEZyYW1lKiBmcmFtZSA9IG1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgp
LT50cmF2ZXJzZU5leHQoKSkKQEAgLTk0Myw2ICs5NTksNyBAQCBQYWdlOjpQYWdlQ2xpZW50czo6
UGFnZUNsaWVudHMoKQogICAgICwgZGV2aWNlTW90aW9uQ2xpZW50KDApCiAgICAgLCBkZXZpY2VP
cmllbnRhdGlvbkNsaWVudCgwKQogICAgICwgc3BlZWNoSW5wdXRDbGllbnQoMCkKKyAgICAsIHN0
cmVhbUNsaWVudCgwKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDg3Y2I2Y2M5OGJiYzIyYTNh
Y2YyMjQwMmE2YWRmY2M5MWNlNzU5ZTguLmViOWFjZjg1NmIzNzA2ZWEzMzk2NGMzY2E3ZjY0YjM3
ODM5YmI3MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC03OSw2ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAgICAgY2xhc3MgU3RvcmFnZU5hbWVzcGFj
ZTsKICNlbmRpZgorICAgIGNsYXNzIFN0cmVhbUNsaWVudDsKKyAgICBjbGFzcyBTdHJlYW1Db250
cm9sbGVyOwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGNsYXNzIE5vdGlmaWNhdGlv
blByZXNlbnRlcjsKICNlbmRpZgpAQCAtMTE0LDYgKzExNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBkZXZpY2VPcmllbnRhdGlv
bkNsaWVudDsKICAgICAgICAgICAgIFJlZlB0cjxCYWNrRm9yd2FyZExpc3Q+IGJhY2tGb3J3YXJk
Q2xpZW50OwogICAgICAgICAgICAgU3BlZWNoSW5wdXRDbGllbnQqIHNwZWVjaElucHV0Q2xpZW50
OworICAgICAgICAgICAgU3RyZWFtQ2xpZW50KiBzdHJlYW1DbGllbnQ7CiAgICAgICAgIH07CiAK
ICAgICAgICAgUGFnZShjb25zdCBQYWdlQ2xpZW50cyYpOwpAQCAtMTgwLDYgKzE4Myw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgICAgICBTcGVl
Y2hJbnB1dCogc3BlZWNoSW5wdXQoKTsKICNlbmRpZgorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CisgICAgICAgIFN0cmVhbUNvbnRyb2xsZXIqIHN0cmVhbUNvbnRyb2xsZXIoKTsKKyNlbmRpZgog
ICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLmdl
dCgpOyB9CiAgICAgICAgIFByb2dyZXNzVHJhY2tlciogcHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVy
biBtX3Byb2dyZXNzLmdldCgpOyB9CiAgICAgICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlciogYmFj
a0ZvcndhcmQoKSBjb25zdCB7IHJldHVybiBtX2JhY2tGb3J3YXJkQ29udHJvbGxlci5nZXQoKTsg
fQpAQCAtMzMzLDkgKzMzOSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFNwZWVj
aElucHV0Q2xpZW50KiBtX3NwZWVjaElucHV0Q2xpZW50OwogICAgICAgICBPd25QdHI8U3BlZWNo
SW5wdXQ+IG1fc3BlZWNoSW5wdXQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
ICAgICAgICBTdHJlYW1DbGllbnQqIG1fc3RyZWFtQ2xpZW50OworICAgICAgICBPd25QdHI8U3Ry
ZWFtQ29udHJvbGxlcj4gbV9zdHJlYW1Db250cm9sbGVyOworI2VuZGlmCiAgICAgICAgIE93blB0
cjxTZXR0aW5ncz4gbV9zZXR0aW5nczsKICAgICAgICAgT3duUHRyPFByb2dyZXNzVHJhY2tlcj4g
bV9wcm9ncmVzczsKLSAgICAgICAgCisKICAgICAgICAgT3duUHRyPEJhY2tGb3J3YXJkQ29udHJv
bGxlcj4gbV9iYWNrRm9yd2FyZENvbnRyb2xsZXI7CiAgICAgICAgIFJlZlB0cjxGcmFtZT4gbV9t
YWluRnJhbWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NzNi
YzAxZTVhOTlkNzcxY2QxOGVhMTZjN2Q5MzE3NWZmZmQxMTgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNsaWVudC5oCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0cmVh
bUNsaWVudF9oCisjZGVmaW5lIFN0cmVhbUNsaWVudF9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQorCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgU3RyZWFtTGlzdGVuZXI7CisKK2NsYXNzIFN0cmVhbUNsaWVudCB7CitwdWJsaWM6
CisgICAgLy8gUmVnaXN0ZXIgdGhlIGxpc3RlbmVyIGZvciByZWNlaXZpbmcgY2FsbGJhY2tzLiBT
aG91bGQgc2V0IHRvIG51bGwgd2hlbiBub3QgcmVxdWlyZWQgYW55bW9yZS4gTm8gb3duZXJzaGlw
IGlzIHRha2VuLgorICAgIHZpcnR1YWwgdm9pZCBzZXRMaXN0ZW5lcihTdHJlYW1MaXN0ZW5lciop
ID0gMDsKKworICAgIC8vIEdlbmVyYXRlIGEgbmV3IGxvY2FsIHN0cmVhbS4KKyAgICB2aXJ0dWFs
IHZvaWQgZ2VuZXJhdGVTdHJlYW0oaW50IHJlcXVlc3RJZCwgYm9vbCB2aWRlbywgYm9vbCBhdWRp
bywgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4pID0gMDsKKworICAgIC8vIFN0b3AgYSBnZW5l
cmF0ZWQgc3RyZWFtLgorICAgIHZpcnR1YWwgdm9pZCBzdG9wR2VuZXJhdGVkU3RyZWFtKGludCBz
dHJlYW1JZCkgPSAwOworCisgICAgLy8gUGF1c2UgYSBnZW5lcmF0ZWQgc3RyZWFtLgorICAgIHZp
cnR1YWwgdm9pZCBwYXVzZUdlbmVyYXRlZFN0cmVhbShpbnQgc3RyZWFtSWQpID0gMDsKKworICAg
IC8vIFJlc3VtZSBhIHByZXZpb3VzbHkgcGF1c2VkIGdlbmVyYXRlZCBzdHJlYW0uCisgICAgdmly
dHVhbCB2b2lkIHJlc3VtZUdlbmVyYXRlZFN0cmVhbShpbnQgc3RyZWFtSWQpID0gMDsKKworcHJv
dGVjdGVkOgorICAgIHZpcnR1YWwgflN0cmVhbUNsaWVudCgpIHsgfQorfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlm
IC8vIFN0cmVhbUNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVh
bUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1Db250cm9sbGVyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMGU3Y2I1MTZmYTJkMmRiOWIzZGQwZWM5NDhjZDk2NWIzODQ2NTZmCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1Db250cm9sbGVyLmNw
cApAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTdHJlYW1D
b250cm9sbGVyLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKKyNpbmNsdWRlICJHZW5lcmF0ZWRTdHJlYW0uaCIKKyNpbmNsdWRlICJOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVk
ZSAiU3RyZWFtQ2xpZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU3RyZWFtQ29udHJv
bGxlcjo6U3RyZWFtQ29udHJvbGxlcihTdHJlYW1DbGllbnQqIGNsaWVudCwgRG9jdW1lbnQqIGRv
Y3VtZW50KQorICAgIDogbV9jbGllbnQoY2xpZW50KQorICAgICwgbV9kb2N1bWVudChkb2N1bWVu
dCkKKyAgICAsIG1fbmV4dFN0cmVhbVJlcXVlc3RJZCgxKQoreworICAgIEFTU0VSVChtX2RvY3Vt
ZW50KTsKKyAgICBtX2NsaWVudC0+c2V0TGlzdGVuZXIodGhpcyk7Cit9CisKK1N0cmVhbUNvbnRy
b2xsZXI6On5TdHJlYW1Db250cm9sbGVyKCkKK3sKKyAgICBtX2NsaWVudC0+c2V0TGlzdGVuZXIo
MCk7Cit9CisKK3ZvaWQgU3RyZWFtQ29udHJvbGxlcjo6dW5yZWdpc3RlclN0cmVhbShpbnQgc3Ry
ZWFtSWQpCit7CisgICAgQVNTRVJUKG1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1JZCkpOworICAg
IG1fc3RyZWFtcy5yZW1vdmUoc3RyZWFtSWQpOworfQorCitib29sIFN0cmVhbUNvbnRyb2xsZXI6
OmdlbmVyYXRlU3RyZWFtKGNvbnN0IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQoreworICAgIGlmICghc3VjY2Vzc0NhbGxiYWNr
LmdldCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIHZpZGVvID0gZmFsc2U7
CisgICAgYm9vbCBhdWRpbyA9IGZhbHNlOworICAgIFZlY3RvcjxTdHJpbmc+IHNwbGl0T3B0aW9u
czsKKyAgICBvcHRpb25zLnNwbGl0KCIsIiwgc3BsaXRPcHRpb25zKTsKKyAgICBmb3IgKFZlY3Rv
cjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHNwbGl0T3B0aW9ucy5iZWdpbigpOyBpdCAh
PSBzcGxpdE9wdGlvbnMuZW5kKCkgJiYgKCF2aWRlbyB8fCAhYXVkaW8pOyArK2l0KQorICAgICAg
ICBpZiAoKml0ID09ICJ2aWRlbyIpCisgICAgICAgICAgICB2aWRlbyA9IHRydWU7CisgICAgICAg
IGVsc2UgaWYgKCppdCA9PSAiYXVkaW8iKQorICAgICAgICAgICAgYXVkaW8gPSB0cnVlOworCisg
ICAgaWYgKCFhdWRpbyAmJiAhdmlkZW8pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1f
c3RyZWFtUmVxdWVzdHMuc2V0KG1fbmV4dFN0cmVhbVJlcXVlc3RJZCwgYWRvcHRSZWYobmV3IFN0
cmVhbVJlcXVlc3Qoc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSkpOworICAgIG1fY2xp
ZW50LT5nZW5lcmF0ZVN0cmVhbShtX25leHRTdHJlYW1SZXF1ZXN0SWQsIHZpZGVvLCBhdWRpbywg
bV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSk7CisgICAgKyttX25leHRTdHJlYW1SZXF1ZXN0
SWQ7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgU3RyZWFtQ29udHJvbGxlcjo6c3RvcEdl
bmVyYXRlZFN0cmVhbShpbnQgc3RyZWFtSWQpCit7CisgICAgQVNTRVJUKG1fc3RyZWFtcy5jb250
YWlucyhzdHJlYW1JZCkpOworICAgIG1fY2xpZW50LT5zdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVh
bUlkKTsKK30KKwordm9pZCBTdHJlYW1Db250cm9sbGVyOjpwYXVzZUdlbmVyYXRlZFN0cmVhbShp
bnQgc3RyZWFtSWQpCit7CisgICAgQVNTRVJUKG1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1JZCkp
OworICAgIG1fY2xpZW50LT5wYXVzZUdlbmVyYXRlZFN0cmVhbShzdHJlYW1JZCk7Cit9CisKK3Zv
aWQgU3RyZWFtQ29udHJvbGxlcjo6cmVzdW1lR2VuZXJhdGVkU3RyZWFtKGludCBzdHJlYW1JZCkK
K3sKKyAgICBBU1NFUlQobV9zdHJlYW1zLmNvbnRhaW5zKHN0cmVhbUlkKSk7CisgICAgbV9jbGll
bnQtPnJlc3VtZUdlbmVyYXRlZFN0cmVhbShzdHJlYW1JZCk7Cit9CisKK3ZvaWQgU3RyZWFtQ29u
dHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGludCBzdHJlYW1JZCwgY29u
c3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1SZXF1ZXN0cy5jb250YWlu
cyhyZXF1ZXN0SWQpKTsKKyAgICBBU1NFUlQoIW1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1JZCkp
OworCisgICAgUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gZ2VuZXJhdGVkU3RyZWFtID0gR2VuZXJh
dGVkU3RyZWFtOjpjcmVhdGUobV9kb2N1bWVudCwgc3RyZWFtSWQsIGxhYmVsKTsKKyAgICBtX3N0
cmVhbXMuc2V0KHN0cmVhbUlkLCBhZG9wdFJlZihuZXcgU3RyZWFtRGF0YShnZW5lcmF0ZWRTdHJl
YW0uZ2V0KCkpKSk7CisKKyAgICBSZWZQdHI8U3RyZWFtUmVxdWVzdD4gc3RyZWFtUmVxdWVzdCA9
IG1fc3RyZWFtUmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCk7CisgICAgQVNTRVJUKHN0cmVhbVJlcXVl
c3QuZ2V0KCkpOworICAgIHN0cmVhbVJlcXVlc3QtPm1fc3VjY2Vzc0NhbGxiYWNrLT5zY2hlZHVs
ZUNhbGxiYWNrKG1fZG9jdW1lbnQsIGdlbmVyYXRlZFN0cmVhbS5nZXQoKSk7CisKKyAgICBtX3N0
cmVhbVJlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOworfQorCit2b2lkIFN0cmVhbUNvbnRyb2xs
ZXI6OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQoaW50IHJlcXVlc3RJZCwgdW5zaWduZWQgc2hvcnQg
Y29kZSkKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1SZXF1ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQp
KTsKKyAgICBSZWZQdHI8U3RyZWFtUmVxdWVzdD4gc3RyZWFtUmVxdWVzdCA9IG1fc3RyZWFtUmVx
dWVzdHMuZ2V0KHJlcXVlc3RJZCk7CisgICAgQVNTRVJUKHN0cmVhbVJlcXVlc3QuZ2V0KCkpOwor
CisgICAgaWYgKFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNh
bGxiYWNrID0gc3RyZWFtUmVxdWVzdC0+bV9lcnJvckNhbGxiYWNrKSB7CisgICAgICAgIFJlZlB0
cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4gZXJyb3IgPSBhZG9wdFJlZihuZXcgTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IoY29kZSkpOworICAgICAgICBlcnJvckNhbGxiYWNrLT5zY2hlZHVsZUNh
bGxiYWNrKG1fZG9jdW1lbnQsIGVycm9yLmdldCgpKTsKKyAgICB9CisKKyAgICBtX3N0cmVhbVJl
cXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOworfQorCit2b2lkIFN0cmVhbUNvbnRyb2xsZXI6OnN0
cmVhbUZhaWxlZChpbnQgc3RyZWFtSWQpCit7CisgICAgQVNTRVJUKG1fc3RyZWFtcy5jb250YWlu
cyhzdHJlYW1JZCkpOworICAgIG1fc3RyZWFtcy5nZXQoc3RyZWFtSWQpLT5tX2xpc3RlbmVyLT5z
dHJlYW1FbmRlZCgpOworfQorCitTdHJlYW1Db250cm9sbGVyOjpTdHJlYW1SZXF1ZXN0OjpTdHJl
YW1SZXF1ZXN0KFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBz
dWNjZXNzQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JD
YWxsYmFjaykKKyAgICA6IG1fc3VjY2Vzc0NhbGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykKKyAgICAs
IG1fZXJyb3JDYWxsYmFjayhlcnJvckNhbGxiYWNrKQoreworfQorCitTdHJlYW1Db250cm9sbGVy
OjpTdHJlYW1EYXRhOjpTdHJlYW1EYXRhKFN0cmVhbUxpc3RlbmVyKiBsaXN0ZW5lcikKKyAgICA6
IG1fbGlzdGVuZXIobGlzdGVuZXIpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N0cmVhbUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29u
dHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiMDUyYjI4Y2EyMzA5ODUxOWM4MDI0YWYwODYyMGVkYThm
N2FhYjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNvbnRy
b2xsZXIuaApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3RyZWFtQ29udHJvbGxlcl9oCisjZGVm
aW5lIFN0cmVhbUNvbnRyb2xsZXJfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2lu
Y2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJTdHJlYW1MaXN0ZW5l
ci5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
KyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50OworY2xhc3MgU3RyZWFt
Q2xpZW50OworCitjbGFzcyBTdHJlYW1Db250cm9sbGVyIDogcHVibGljIFN0cmVhbUxpc3RlbmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1Db250cm9sbGVyKTsKK3B1YmxpYzoK
KyAgICBTdHJlYW1Db250cm9sbGVyKFN0cmVhbUNsaWVudCosIERvY3VtZW50Kik7CisgICAgdmly
dHVhbCB+U3RyZWFtQ29udHJvbGxlcigpOworCisgICAgY2xhc3MgU3RyZWFtTGlzdGVuZXIgewor
ICAgIHB1YmxpYzoKKyAgICAgICAgdmlydHVhbCB2b2lkIHN0cmVhbUVuZGVkKCkgPSAwOworICAg
ICAgICB2aXJ0dWFsIH5TdHJlYW1MaXN0ZW5lcigpIHsgfQorICAgIH07CisKKyAgICAvLyBVbnJl
Z2lzdGVyIGEgc3RyZWFtIG9iamVjdCBmb3IgcmVjZWl2aW5nIGFueSBmdXJ0aGVyIGV2ZW50cy4K
KyAgICB2b2lkIHVucmVnaXN0ZXJTdHJlYW0oaW50IHN0cmVhbUlkKTsKKworICAgIC8vIENyZWF0
ZSBhIG5ldyBnZW5lcmF0ZWQgc3RyZWFtIGFzeW5jaHJvbm91c2x5IHdpdGggdGhlIHByb3ZpZGVk
IG9wdGlvbnMuCisgICAgYm9vbCBnZW5lcmF0ZVN0cmVhbShjb25zdCBTdHJpbmcmIG9wdGlvbnMs
CisgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjaz4sCisgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+KTsKKworICAgIC8vIFN0b3AgYSBnZW5lcmF0ZWQg
c3RyZWFtLgorICAgIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShpbnQgc3RyZWFtSWQpOworCisg
ICAgLy8gUGF1c2UgYSBnZW5lcmF0ZWQgc3RyZWFtLgorICAgIHZvaWQgcGF1c2VHZW5lcmF0ZWRT
dHJlYW0oaW50IHN0cmVhbUlkKTsKKworICAgIC8vIFJlc3VtZSBhIHByZXZpb3VzbHkgcGF1c2Vk
IGdlbmVyYXRlZCBzdHJlYW0uCisgICAgdm9pZCByZXN1bWVHZW5lcmF0ZWRTdHJlYW0oaW50IHN0
cmVhbUlkKTsKKworICAgIC8vIFN0cmVhbUxpc3RlbmVyIGltcGxlbWVudGF0aW9uLgorICAgIHZp
cnR1YWwgdm9pZCBzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwgaW50IHN0cmVhbUlkLCBj
b25zdCBTdHJpbmcmIGxhYmVsKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtR2VuZXJhdGlvbkZh
aWxlZChpbnQgcmVxdWVzdElkLCB1bnNpZ25lZCBzaG9ydCBjb2RlKTsKKyAgICB2aXJ0dWFsIHZv
aWQgc3RyZWFtRmFpbGVkKGludCBzdHJlYW1JZCk7CisKK3ByaXZhdGU6CisgICAgc3RydWN0IFN0
cmVhbVJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJlYW1SZXF1ZXN0PiB7CisgICAgICAg
IFN0cmVhbVJlcXVlc3QoUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2s+LAorICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjaz4pOworCisgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2s+IG1fc3VjY2Vzc0NhbGxiYWNrOworICAgICAgICBSZWZQdHI8TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gbV9lcnJvckNhbGxiYWNrOworICAgIH07CisKKyAgICBz
dHJ1Y3QgU3RyZWFtRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbURhdGE+IHsKKyAgICAg
ICAgU3RyZWFtRGF0YShTdHJlYW1MaXN0ZW5lciopOworCisgICAgICAgIFN0cmVhbUxpc3RlbmVy
KiBtX2xpc3RlbmVyOworICAgIH07CisKKyAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8
U3RyZWFtUmVxdWVzdD4gPiBTdHJlYW1SZXF1ZXN0TWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxp
bnQsIFJlZlB0cjxTdHJlYW1EYXRhPiA+IFN0cmVhbU1hcDsKKworICAgIFN0cmVhbUNsaWVudCog
bV9jbGllbnQ7CisgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CisgICAgU3RyZWFtUmVxdWVzdE1h
cCBtX3N0cmVhbVJlcXVlc3RzOworICAgIFN0cmVhbU1hcCBtX3N0cmVhbXM7CisgICAgaW50IG1f
bmV4dFN0cmVhbVJlcXVlc3RJZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBTdHJlYW1Db250cm9sbGVy
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtTGlzdGVuZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtTGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTMyOWQzYTFl
ZDk3OWI0MjFhNGE5ZjgzMGRjM2IwZjE4Y2IyMzhjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TdHJlYW1MaXN0ZW5lci5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0cmVhbUxp
c3RlbmVyX2gKKyNkZWZpbmUgU3RyZWFtTGlzdGVuZXJfaAorCisjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworLy8gVGhpcyBpbnRlcmZhY2UgY29tcG9zZXMgdGhlIGRpZmZlcmVudCBraW5kcyBvZiBp
bmNvbWluZyBtZXNzYWdlcyBzbyB0aGF0IHRoZXkgY2FuCisvLyBiZSBpbXBsZW1lbnRlZCBieSBi
b3RoIHRoZSBTdHJlYW1Db250cm9sbGVyIGFuZCB0aGUgU3RyZWFtQ2xpZW50TW9jay4KK2NsYXNz
IFN0cmVhbUxpc3RlbmVyICB7CitwdWJsaWM6CisKKyAgICAvLyBSZXBvcnQgdGhlIGdlbmVyYXRp
b24gb2YgYSBuZXcgbG9jYWwgc3RyZWFtLgorICAgIC8vIFRoZSBzdHJlYW0gaWQgc2hvdWxkIGJl
IGEgdW5pcXVlIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBzdHJlYW0gb2JqZWN0IGluIGEgMTox
IHJlbGF0aW9uIHdpdGggdGhlIGxhYmVsLgorICAgIC8vIFRoZSBpZCBzaG91bGQgYmUgcHJvdmlk
ZWQgYnkgdGhlIFVBIGFuZCB3aWxsIGJlIHVzZWQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHRoZSBs
YWJlbCB0byBzaW1wbGlmeSBvcGVyYXRpb25zLgorICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1HZW5l
cmF0ZWQoaW50IHJlcXVlc3RJZCwgaW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxhYmVsKSA9
IDA7CisKKyAgICAvLyBSZXBvcnQgYSBmYWlsdXJlIGluIHRoZSBnZW5lcmF0aW9uIG9mIGEgbmV3
IHN0cmVhbS4KKyAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVx
dWVzdElkLCB1bnNpZ25lZCBzaG9ydCBjb2RlKSA9IDA7CisKKyAgICAvLyBSZXBvcnQgdGhlIGVu
ZCBvZiBhIHN0cmVhbSBmb3IgZXh0ZXJuYWwgcmVhc29ucy4KKyAgICB2aXJ0dWFsIHZvaWQgc3Ry
ZWFtRmFpbGVkKGludCBzdHJlYW1JZCkgPSAwOworCisgICAgdmlydHVhbCB+U3RyZWFtTGlzdGVu
ZXIoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBTdHJlYW1MaXN0ZW5lcl9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCmluZGV4IDU4M2VjY2ViMjRiZTliMDhiYzBkNDZlMWQyMGEyN2UzZjA2MDhk
ZWMuLjBkNjZhMjZjMGIzNGVjMGZiZWMxMThlNjllNTFmZDQ2MjNiOTI2Y2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMTcgIExlYW5kcm8gR3Jh
Y2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZXIgbWVkaWEgdmlkZW9jb25mZXJlbmNp
bmcgcGF0Y2ggMDogYWRkaW5nIGNvbXBpbGF0aW9uIGd1YXJkcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NDU4CisKKyAgICAgICAgRW5hYmxpbmcg
dGhlIGZlYXR1cmUgYnkgZGVmYXVsdCBmb3IgY2hyb21pdW0gYnVpbGRzLgorCisgICAgICAgICog
ZmVhdHVyZXMuZ3lwaToKKworMjAxMS0wMy0xNyAgTGVhbmRybyBHcmFjaWEgR2lsICA8bGVhbmRy
b2dyYWNpYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTWVkaWEgU3RyZWFtIEFQSSBwYXRjaCAwOiBhZGRpbmcgY29tcGlsYXRp
b24gZ3VhcmRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTY0NTgKKworICAgICAgICBFbmFibGluZyB0aGUgZmVhdHVyZSBieSBkZWZhdWx0IGZvciBj
aHJvbWl1bSBidWlsZHMuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorCiAyMDExLTAzLTE3
ICBBbGV4ZXkgTWFyaW5pY2hldiAgPGFtYXJpbmljaGV2QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVz
Lmd5cGkKaW5kZXggY2NmYmUwOTRmZjRlMmFkNWYwMGYwYmFjN2NkNjZmZGIwMzUzNTQ1ZS4uZDMy
MzY1NGM4OTA5NjM5MzE5NzhkOWM2M2M1ODI0YzZiNTUyNThhMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaQpAQCAtNjcsNiArNjcsNyBAQAogICAgICAgICAnRU5BQkxFX0xJTktf
UFJFRkVUQ0g9MScsCiAgICAgICAgICdFTkFCTEVfTUFUSE1MPTAnLAogICAgICAgICAnRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1M9MScsCisgICAgICAgICdFTkFCTEVfTUVESUFfU1RSRUFNPTEnLAog
ICAgICAgICAnRU5BQkxFX01FVEVSX1RBRz0xJywKICAgICAgICAgJ0VOQUJMRV9OT1RJRklDQVRJ
T05TPTEnLAogICAgICAgICAnRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUz0xJywKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjYjJmY2Ew
NjA1N2U4OWUwYzk2YTJhNTAwMDExOWU0MmEzNjIyYWJkLi41YzcwMTFhZmJkZThjYTFhNzkxNzc2
MTEwOTc0NGY3ZjczNmIwNjhlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMTcgIExlYW5kcm8gR3JhY2lh
IEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZXIgbWVkaWEgdmlkZW9jb25mZXJlbmNpbmcg
cGF0Y2ggMDogYWRkaW5nIGNvbXBpbGF0aW9uIGd1YXJkcy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NDU4CisKKyAgICAgICAgQWRkaW5nIG9wdGlv
bnMgdG8gZW5hYmxlIHRoZSB1c2VyIG1lZGlhIHZpZGVvY29uZmVyZW5jaW5nIGZlYXR1cmUgaW4g
Q2hyb21pdW0uCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKworMjAxMS0wMy0x
NyAgTGVhbmRybyBHcmFjaWEgR2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVkaWEgU3RyZWFt
IEFQSSBwYXRjaCAwOiBhZGRpbmcgY29tcGlsYXRpb24gZ3VhcmRzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY0NTgKKworICAgICAgICBBZGRpbmcg
b3B0aW9ucyB0byBlbmFibGUgdGhlIG1lZGlhIHN0cmVhbSBBUEkgZmVhdHVyZSBpbiBDaHJvbWl1
bS4KKworICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorCiAyMDExLTAzLTE4ICBBbmRy
ZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbmJyZWFrIFF0IGJ1aWxk
IGFmdGVyIHI4MTQ5NC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIv
VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggY2VmNjZkZDgwOWVmYTg1YThkMmVhOTJi
MGQ1ZjkyYzY0ZTRkN2U0Ni4uZjQwZDUwZmIzMWFlNDA3MWMxYjBiYzE1MTVkMTg0YzhmMTMwZjVj
OSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2Ny
aXB0cy9idWlsZC13ZWJraXQKQEAgLTg5LDYgKzg5LDcgQEAgbXkgKAogICAgICRsaW5rUHJlZmV0
Y2hTdXBwb3J0LAogICAgICRtYXRobWxTdXBwb3J0LAogICAgICRtZWRpYVN0YXRpc3RpY3NTdXBw
b3J0LAorICAgICRtZWRpYVN0cmVhbVN1cHBvcnQsCiAgICAgJG1ldGVyVGFnU3VwcG9ydCwKICAg
ICAkbmV0c2NhcGVQbHVnaW5TdXBwb3J0LAogICAgICRub3RpZmljYXRpb25zU3VwcG9ydCwKQEAg
LTI1OSw2ICsyNjAsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gInRvdWNo
LWV2ZW50cyIsIGRlc2MgPT4gIlRvZ2dsZSBUb3VjaCBFdmVudHMgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9UT1VDSF9FVkVOVFMiLCBkZWZhdWx0ID0+IGlzUXQoKSwgdmFsdWUg
PT4gXCR0b3VjaEV2ZW50c1N1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJtZWRpYS1zdHJl
YW0iLCBkZXNjID0+ICJUb2dnbGUgTWVkaWEgU3RyZWFtIEFQSSBzdXBwb3J0IChpbXBsaWVzIEJs
b2Igc3VwcG9ydCwgY3VycmVudGx5IENocm9taXVtIG9ubHkpIiwKKyAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX01FRElBX1NUUkVBTSIsIGRlZmF1bHQgPT4gaXNDaHJvbWl1bSgpLCB2YWx1ZSA9PiBc
JG1lZGlhU3RyZWFtU3VwcG9ydCB9LAorCiAgICAgeyBvcHRpb24gPT4gInZpZGVvIiwgZGVzYyA9
PiAiVG9nZ2xlIFZpZGVvIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfVklERU8i
LCBkZWZhdWx0ID0+IChpc0FwcGxlV2ViS2l0KCkgfHwgaXNHdGsoKSksIHZhbHVlID0+IFwkdmlk
ZW9TdXBwb3J0IH0sCiAKQEAgLTMyNiw2ICszMzAsNyBAQCAkc3ZnU3VwcG9ydCA9ICRzdmdTdXBw
b3J0IHx8ICRzdmdBbmltYXRpb25TdXBwb3J0IHx8ICRzdmdBc0ltYWdlU3VwcG9ydAogICAgIHx8
ICRzdmdET01PYmpDQmluZGluZ3NTdXBwb3J0IHx8ICRzdmdGb250c1N1cHBvcnQKICAgICB8fCAk
c3ZnRm9yZWlnbk9iamVjdFN1cHBvcnQgfHwgJHN2Z1VzZVN1cHBvcnQ7CiAKKyRibG9iU3VwcG9y
dCA9ICRibG9iU3VwcG9ydCB8fCAkbWVkaWFTdHJlYW1TdXBwb3J0OwogCiBteSAkcHJvZ3JhbU5h
bWUgPSBiYXNlbmFtZSgkMCk7CiBteSAkdXNhZ2UgPSA8PEVPRjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93803</attachid>
            <date>2011-05-17 11:36:01 -0700</date>
            <delta_ts>2011-05-20 11:13:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56666-20110517193558.patch</filename>
            <type>text/plain</type>
            <size>65407</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY2ODkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzJkZWM3
ODhiN2IyOGRkNDAyNzJjNDA0YzUzYTZmNDgzNjU5MjNjNi4uMGZiMzhlMzYyYWYzZTUyOWUzYTE4
NzE1MzQ1ZmZjNDY3ZTA5Y2YwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5MzUsMTEgKzE5
MzUsMTUgQEAgRU5ESUYgKCkKIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgIExJU1QoQVBQ
RU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHAKKyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKKyAgICAgICAgZG9tL1N0cmVh
bS5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCiAgICAgICAgIHBh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCiAgICAgKQogCiAgICAgTElTVChBUFBF
TkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwKKyAg
ICAgICAgZG9tL1N0cmVhbS5pZGwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5pZGwKICAgICApCiBFTkRJRiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGExOGNjNTdkMjA0MTg2NmEwYTg2
MzE4NjFhYTBmMjJjZWNlMjc2OTAuLjMyODhmNGQwZDBiMTE0ZWY3NDhhMGE4ODIxOTI2MDZmODhi
YmI5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OCBAQAorMjAxMS0wNS0xNyAgTGVhbmRybyBH
cmFjaWEgR2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVkaWEgU3RyZWFtIEFQSTogYWRkaW5n
IFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY2NgorCisgICAgICAgIEFkZCB0aGUgY29k
ZSBmb3IgdGhlIFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMgYW5kIGludGVncmF0
ZSBpdAorICAgICAgICB3aXRoIHRoZSBleGlzdGluZyBzdHJlYW0gZ2VuZXJhdGlvbiByZXF1ZXN0
cy4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92
aWRlZCBieSB0aGUgYnVnIDU2NTg3LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgor
ICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2
ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6
OmNvbnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3QpOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9u
ZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50VGFyZ2V0Ojp0b1N0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6
dG9HZW5lcmF0ZWRTdHJlYW0pOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAg
ICAqIGRvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okdl
bmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6R2VuZXJhdGVkU3RyZWFtOjpEaXNwYXRjaFVwZGF0ZVRhc2s6OnBlcmZvcm1UYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrOjpE
aXNwYXRjaFVwZGF0ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpHZW5lcmF0ZWRTdHJl
YW0pOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjp+R2VuZXJhdGVkU3RyZWFt
KToKKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6dG9HZW5lcmF0ZWRTdHJlYW0p
OgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpkZXRhY2hFbWJlZGRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06OnN0b3ApOgorICAgICAgICAoV2ViQ29y
ZTo6R2VuZXJhdGVkU3RyZWFtOjpvblN0b3ApOgorICAgICAgICAqIGRvbS9HZW5lcmF0ZWRTdHJl
YW0uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06OmlzR2VuZXJh
dGVkU3RyZWFtKToKKyAgICAgICAgKiBkb20vR2VuZXJhdGVkU3RyZWFtLmlkbDogQWRkZWQuCisg
ICAgICAgICogZG9tL1N0cmVhbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFt
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpTdHJlYW0pOgorICAgICAgICAo
V2ViQ29yZTo6U3RyZWFtOjp+U3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6dG9T
dHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpzdHJlYW1FbmRlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTdHJlYW06OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6U3RyZWFtOjpldmVudFRhcmdldERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFt
OjplbnN1cmVFdmVudFRhcmdldERhdGEpOgorICAgICAgICAqIGRvbS9TdHJlYW0uaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OnJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U3RyZWFtOjpsYWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OnJlZkV2ZW50VGFy
Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6ZGVyZWZFdmVudFRhcmdldCk6CisgICAg
ICAgICogZG9tL1N0cmVhbS5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvQ2FsbGJhY2tUYXNr
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDYWxsYmFja1Rhc2sxOjpTY2hlZHVsZXI6On5TY2hlZHVs
ZXIpOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaDoKKyAgICAgICAgKiBwYWdl
L01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bUNvbnRyb2xsZXI6OnN0b3BHZW5lcmF0ZWRTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW1Db250cm9sbGVyOjpzdHJlYW1GYWlsZWQpOgorICAgICAgICAqIHBhZ2UvTWVkaWFT
dHJlYW1Db250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6
UmVxdWVzdDo6UmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcjo6R2VuZXJhdGVTdHJlYW1SZXF1ZXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdDo6YWJv
cnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVy
YXRlU3RyZWFtUmVxdWVzdDo6R2VuZXJhdGVTdHJlYW1SZXF1ZXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjp1bnJlZ2lzdGVyKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpnZXRTdHJlYW1Gcm9tTGFiZWwpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmdlbmVyYXRlU3Ry
ZWFtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdG9w
R2VuZXJhdGVkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyOjpzdHJlYW1HZW5lcmF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnN0cmVhbUZhaWxlZCk6CisgICAgICAgICog
cGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRp
YUVycm9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3I6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbDoKKwogMjAxMS0wNS0xNyAgUGF2ZWwgRmVsZG1hbiAgPHBm
ZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNr
eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQppbmRleCA1YjMzMWMzNjk3ODk5OGM5ODY4MzM3
ZjBlODhiNzkwYTUzYmM1MGE5Li44NjgxZjk4NTRkNGM5N2MyZTRlZmVkODA1MmM1ZjZjNTNhMjEy
ZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCkBAIC0xMzAsNiArMTMwLDcgQEAgSURM
X0JJTkRJTkdTICs9IFwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICMgICAgZG9tL0V2
ZW50TGlzdGVuZXIuaWRsIFwKICMgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCisgICAgZG9tL0dl
bmVyYXRlZFN0cmVhbS5pZGwgXAogICAgIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKICAgICBk
b20vS2V5Ym9hcmRFdmVudC5pZGwgXAogICAgIGRvbS9Nb3VzZUV2ZW50LmlkbCBcCkBAIC0xNTAs
NiArMTUxLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vUHJvZ3Jlc3NFdmVudC5pZGwg
XAogICAgIGRvbS9SYW5nZUV4Y2VwdGlvbi5pZGwgXAogICAgIGRvbS9SYW5nZS5pZGwgXAorICAg
IGRvbS9TdHJlYW0uaWRsIFwKICAgICBkb20vU3RyaW5nQ2FsbGJhY2suaWRsIFwKICAgICBkb20v
VGV4dC5pZGwgXAogICAgIGRvbS9UZXh0RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAppbmRleCBjMjllZGZjOWYzZDk2YjY3ZWEzZjQ2NmNhMTA1YTBlNzQzNDIzZTNlLi5mOGQ2
MmNlOWFmOTc4ZDU4YzljYTIzNjMyODM1MzAzODI5MGQxNzA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCkBAIC0xMjksNiArMTI5LDcgQEAKICNpbmNsdWRlICJKU0ZpbGVXcml0ZXJTeW5j
LmNwcCIKICNpbmNsdWRlICJKU1dlYktpdEZsYWdzLmNwcCIKICNpbmNsdWRlICJKU0Zsb2F0MzJB
cnJheS5jcHAiCisjaW5jbHVkZSAiSlNHZW5lcmF0ZWRTdHJlYW0uY3BwIgogI2luY2x1ZGUgIkpT
R2VvbG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTR2VvcG9zaXRpb24uY3BwIgogI2luY2x1ZGUg
IkpTSGFzaENoYW5nZUV2ZW50LmNwcCIKQEAgLTI4Myw2ICsyODQsNyBAQAogI2luY2x1ZGUgIkpT
U3RvcmFnZUluZm8uY3BwIgogI2luY2x1ZGUgIkpTU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmNw
cCIKICNpbmNsdWRlICJKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5jcHAiCisjaW5jbHVkZSAi
SlNTdHJlYW0uY3BwIgogI2luY2x1ZGUgIkpTU3RyaW5nQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUg
IkpTU3R5bGVNZWRpYS5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZVNoZWV0LmNwcCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDUyYmM3NmMwYmQ5ZTRhMmNiZmU2ODRkZTRkNWIwZWQ3
MmYzNTQxZDUuLjE5NDgzNTU4NzY2N2RmYTRmNDBkYmNiYTU0MWI4OGUwNzNlMjVhNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTk3LDYgKzE5Nyw3IEBAIERPTV9DTEFTU0VT
ID0gXAogICAgIEZpbGVXcml0ZXJTeW5jIFwKICAgICBGaWxlU3lzdGVtQ2FsbGJhY2sgXAogICAg
IFdlYktpdEZsYWdzIFwKKyAgICBHZW5lcmF0ZWRTdHJlYW0gXAogICAgIEdlb2xvY2F0aW9uIFwK
ICAgICBHZW9wb3NpdGlvbiBcCiAgICAgSGFzaENoYW5nZUV2ZW50IFwKQEAgLTM1NCw2ICszNTUs
NyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBTdG9yYWdlSW5mbyBcCiAgICAgU3RvcmFnZUluZm9F
cnJvckNhbGxiYWNrIFwKICAgICBTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2sgXAorICAgIFN0cmVh
bSBcCiAgICAgU3RyaW5nQ2FsbGJhY2sgXAogICAgIFNWR0FFbGVtZW50IFwKICAgICBTVkdBbHRH
bHlwaEVsZW1lbnQgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZmJlNTcwNTll
ODkzOTA3ZDlhODU1MzY3ZTdmYWNiZGIxZjI2NmZlOC4uZGNlZTIyZGEyNmYxYzlmNzMwMjQ2ZTA2
MTI2ODU0NTExOTBkNTcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xNzQs
NiArMTc0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRmlsZVJlYWRlclN5bmMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zs
b2F0MzJBcnJheS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDMyQXJyYXku
aCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlbmVyYXRlZFN0cmVhbS5jcHAgXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW5lcmF0ZWRTdHJlYW0uaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dlb2xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9wb3NpdGlvbi5j
cHAgXApAQCAtNDQ0LDYgKzQ0Niw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0b3JhZ2VJbmZvLmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNTdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU3RyZWFtLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cmVhbS5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3R5bGVNZWRpYS5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTdHlsZU1lZGlhLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNT
dHlsZVNoZWV0LmNwcCBcCkBAIC0xMTUxLDYgKzExNTUsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL0V4Y2VwdGlvbkNvZGUuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0ZyYWdtZW50U2Ny
aXB0aW5nUGVybWlzc2lvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFt
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvZG9tL0ljb25VUkwuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vSWNv
blVSTC5oIFwKQEAgLTEyNDIsNiArMTI0OCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL1N0YXRpY0hhc2hTZXROb2RlTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vU3RhdGljTm9kZUxpc3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljTm9k
ZUxpc3QuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL2RvbS9TdHJlYW0uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMzk0OTRjMDQyMTZi
ZWEzZjBhYjE5ZThkYmZmNDBkZTY2NjM2MWY1YS4uNWY5OGM2MjI1ZGNjM2ZmNjU1ZGJkYTFiZWI3
NzliMWY4YWQ5ZmYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTEzOCw2ICsxMTM4LDcgQEAKICAg
ICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24uaWRsJywKICAgICAgICAgICAgICdkb20vRXZl
bnRMaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudFRhcmdldC5pZGwnLAorICAg
ICAgICAgICAgJ2RvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsJywKICAgICAgICAgICAgICdkb20vSGFz
aENoYW5nZUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0tleWJvYXJkRXZlbnQuaWRsJywK
ICAgICAgICAgICAgICdkb20vTWVzc2FnZUNoYW5uZWwuaWRsJywKQEAgLTExNTksNiArMTE2MCw3
IEBACiAgICAgICAgICAgICAnZG9tL1JhbmdlLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1Jhbmdl
RXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnZG9tL1N0cmVhbS5pZGwnLAogICAgICAgICAgICAg
J2RvbS9TdHJpbmdDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2RvbS9UZXh0LmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL1RleHRFdmVudC5pZGwnLApAQCAtMjQ3NCw2ICsyNDc2LDggQEAKICAg
ICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9FeGNl
cHRpb25CYXNlLmgnLAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25Db2RlLmNwcCcsCisgICAg
ICAgICAgICAnZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAnLAorICAgICAgICAgICAgJ2RvbS9HZW5l
cmF0ZWRTdHJlYW0uaCcsCiAgICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5oJywKICAg
ICAgICAgICAgICdkb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCcs
CiAgICAgICAgICAgICAnZG9tL0ljb25VUkwuY3BwJywKQEAgLTI1NTAsNiArMjU1NCw4IEBACiAg
ICAgICAgICAgICAnZG9tL1N0YXRpY0hhc2hTZXROb2RlTGlzdC5oJywKICAgICAgICAgICAgICdk
b20vU3RhdGljTm9kZUxpc3QuY3BwJywKICAgICAgICAgICAgICdkb20vU3RhdGljTm9kZUxpc3Qu
aCcsCisgICAgICAgICAgICAnZG9tL1N0cmVhbS5jcHAnLAorICAgICAgICAgICAgJ2RvbS9TdHJl
YW0uaCcsCiAgICAgICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmNwcCcsCiAgICAgICAgICAg
ICAnZG9tL1N0cmluZ0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2RvbS9TdHlsZUVsZW1lbnQu
Y3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMzZlYmNjMmE1N2M0ZTlhZjZlOTY1ZTdkMmJjMjJkNGRm
MTc4YzNjZS4uNjQzMzU3N2RmOTVjY2M0NDVlOWU3N2FkYTcwYzFmN2ZlZGY4Yzk3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KQEAgLTMxMDIsNiArMzEwMiw4IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9H
RU9MT0NBVElPTj0xKSB7CiAKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJFQU09
MSkgewogICAgIEhFQURFUlMgKz0gXAorICAgICAgICBkb20vR2VuZXJhdGVkU3RyZWFtLmggXAor
ICAgICAgICBkb20vU3RyZWFtLmggXAogICAgICAgICBwYWdlL0NhbGxiYWNrVGFzay5oIFwKICAg
ICAgICAgcGFnZS9NZWRpYVN0cmVhbUNsaWVudC5oIFwKICAgICAgICAgcGFnZS9NZWRpYVN0cmVh
bUNvbnRyb2xsZXIuaCBcCkBAIC0zMTExLDYgKzMxMTMsOCBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaAogCiAgICAgU09VUkNFUyArPSBcCisgICAgICAgIGRvbS9HZW5lcmF0
ZWRTdHJlYW0uY3BwIFwKKyAgICAgICAgZG9tL1N0cmVhbS5jcHAgXAogICAgICAgICBwYWdlL01l
ZGlhU3RyZWFtQ29udHJvbGxlci5jcHAgXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCmluZGV4IDhjYWQ2Y2I0NDBlNGJlYzRmYjI4NWY1OTExYjdiMzE0OTU2ZjM3OGUuLjM1
ZmE4ZTdmMWViZDIyODBiNzgyMTBlZTQyMDk3ZTU1YjUxY2QwMDMgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC01MzE4LDYgKzUzMTgsNjIgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0dlbmVy
YXRlZFN0cmVhbS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNHZW5lcmF0ZWRTdHJlYW0uaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0dlb2xvY2F0aW9uLmNwcCIKIAkJCQk+
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0xMzMwMiw2ICsxMzM1OCw2MiBAQAogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU3RyZWFtLmNwcCIK
KwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1
Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU1N0cmVhbS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTU3RyaW5nQ2FsbGJhY2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KQEAgLTQ0NTc4LDYgKzQ0NjkwLDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxHZW5lcmF0ZWRTdHJlYW0uY3BwIgorCQkJCT4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cR2Vu
ZXJhdGVkU3RyZWFtLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGRvbVxIYXNoQ2hhbmdlRXZlbnQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC00
NjcwNiw2ICs0Njg3NCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cU3RyZWFtLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFN0cmVhbS5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cU3RyaW5nQ2FsbGJh
Y2suY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3N2RmNWE4MTM0YmI3
MmEwMDYyM2JlMWFlNWEwYjUxNGE3NDg4OGJjLi4zMmYzODViYTg5Njk1MzE1Mzg2OGY1ZjA0ZGU1
ZjgyMjc3MTE5MTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC00MDk2LDEyICs0MDk2LDIwIEBACiAJCUIxRTU0NTk5MTM0NjI5
QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1OEQxMzQ2MjlDMTAwOTJBNTQ1IC8q
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CiAJCUIxRTU0NTlCMTM0NjI5QzEwMDky
QTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU4RjEzNDYyOUMxMDA5MkE1NDUg
LyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9OwogCQlCMUU1NDU5RDEz
NDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU5MTEzNDYy
OUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07
CisJCUIxRTU0NTdBMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1NzExMzQ2Mjkx
RjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgKi87IH07CisJCUIxRTU0NTdCMTM0NjI5
MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NTcyMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0
ZWRTdHJlYW0uaCAqLzsgfTsKKwkJQjFFNTQ1N0QxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3
NDEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmNwcCAqLzsgfTsKKwkJQjFFNTQ1N0UxMzQ2Mjkx
RjAwOTJBNTQ1IC8qIFN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjFFNTQ1NzUxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5oICovOyB9Owog
CQlCMUU1NDVERjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVE
MTEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgKi87IH07
CiAJCUIxRTU0NUUwMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVE
MjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovOyB9Owog
CQlCMUU1NDVFMTEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIxRTU0NUQzMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2suY3BwICovOyB9OwogCQlCMUU1NDVFMjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi87IH07CiAJCUIxRTU0NUUzMTM0NjJCMEIwMDkyQTU0
NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENTEzNDYyQjBCMDA5MkE1
NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwICovOyB9OwogCQlC
MUU1NDVFNDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTU0NUQ2MTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5oICovOyB9OworCQlCMUU1NDVERDEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRT
dHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjFFNTQ1Q0YxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2VuZXJhdGVkU3RyZWFtLmNwcCAqLzsgfTsK
KwkJQjFFNTQ1REUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2VuZXJhdGVkU3RyZWFtLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVEMDEzNDYyQjBC
MDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRTdHJlYW0uaCAqLzsgfTsKKwkJQjFFNTQ1RTUxMzQ2MkIw
QjAwOTJBNTQ1IC8qIEpTU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxRTU0NUQ3MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAg
Ki87IH07CisJCUIxRTU0NUU2MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDgxMzQ2MkIwQjAw
OTJBNTQ1IC8qIEpTU3RyZWFtLmggKi87IH07CiAJCUIyMDExMTA3MEFCNzc0MDUwMERCMEU2OCAv
KiBKU1NWR0FFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAq
LzsgfTsKIAkJQjIwMTExMDgwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA2MEFCNzc0
MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi87IH07CiAJCUIyMjI3OTYyMEQwMEJGMjIw
MDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3Rh
bmNlLmNwcCAqLzsgfTsKQEAgLTEwMzYxLDYgKzEwMzY5LDEyIEBACiAJCUIxRTU0NThBMTM0NjI5
QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU4QjEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFT
dHJlYW1Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1lZGlhU3RyZWFtQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUIxRTU0NThDMTM0NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUNvbnRyb2xsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1Db250cm9sbGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NTcxMTM0NjI5MUYwMDkyQTU0NSAvKiBH
ZW5lcmF0ZWRTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
R2VuZXJhdGVkU3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1
NzIxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBHZW5lcmF0ZWRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjFFNTQ1NzMxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR2VuZXJhdGVkU3RyZWFtLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1NzQxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHJlYW0uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU3NTEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmVhbS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU3NjEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdHJlYW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMUU1NDU4NzEzNDYyOUMxMDA5MkE1NDUgLyogQ2FsbGJhY2tUYXNrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxiYWNrVGFzay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU4RDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1
OEUxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMDM2OCw2ICsxMDM4MiwxMCBAQAogCQlCMUU1NDU5MDEzNDYy
OUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NTkyMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUIxRTU0NUNGMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dlbmVyYXRlZFN0cmVh
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NUQwMTM0NjJCMEIwMDky
QTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0dlbmVyYXRlZFN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
MUU1NDVENzEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCMUU1NDVEODEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQjFFNTQ1RDExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0
NUQyMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1RDMxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTY4NjEsNiArMTY4NzksOCBAQAogCQkJ
CTY1REYzMjJFMDlEMUREQkMwMDBCRTMyNSAvKiBKU0VudGl0eS5oICovLAogCQkJCTkzRjlCNzcy
MEJBNUZEREMwMDg1NDA2NCAvKiBKU0VudGl0eVJlZmVyZW5jZS5jcHAgKi8sCiAJCQkJOTNGOUI3
NzMwQkE1RkREQzAwODU0MDY0IC8qIEpTRW50aXR5UmVmZXJlbmNlLmggKi8sCisJCQkJQjFFNTQ1
Q0YxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2VuZXJhdGVkU3RyZWFtLmNwcCAqLywKKwkJCQlCMUU1
NDVEMDEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRTdHJlYW0uaCAqLywKIAkJCQlGRTgw
REE1RjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5jcHAgKi8sCiAJCQkJRkU4MERB
NjAwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uaCAqLywKIAkJCQlGRTgwREE2MTBF
OUM0NzAzMDAwRDZGNzUgLyogSlNHZW9wb3NpdGlvbi5jcHAgKi8sCkBAIC0xNjg4NSw2ICsxNjkw
NSw4IEBACiAJCQkJNzU0MTVENTIxMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1
bHQuaCAqLywKIAkJCQk3NTQxNUQ1MzEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJl
c3VsdExpc3QuY3BwICovLAogCQkJCTc1NDE1RDU0MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVj
aElucHV0UmVzdWx0TGlzdC5oICovLAorCQkJCUIxRTU0NUQ3MTM0NjJCMEIwMDkyQTU0NSAvKiBK
U1N0cmVhbS5jcHAgKi8sCisJCQkJQjFFNTQ1RDgxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTU3RyZWFt
LmggKi8sCiAJCQkJNjVERjMxRUYwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5jcHAgKi8sCiAJ
CQkJNjVERjMxRjAwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5oICovLAogCQkJKTsKQEAgLTE5
Mjk5LDYgKzE5MzIxLDkgQEAKIAkJCQk5MzgzMUI1NjBEMDg3RDYwMDBFNUM5ODQgLyogRXhjZXB0
aW9uQ29kZS5jcHAgKi8sCiAJCQkJOTM1RkJDRjEwOUJBMTQzQjAwRTIzMEIxIC8qIEV4Y2VwdGlv
bkNvZGUuaCAqLywKIAkJCQlBODUzMTIzQzExRDA0NzFCMDBENEQwNzcgLyogRnJhZ21lbnRTY3Jp
cHRpbmdQZXJtaXNzaW9uLmggKi8sCisJCQkJQjFFNTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdl
bmVyYXRlZFN0cmVhbS5jcHAgKi8sCisJCQkJQjFFNTQ1NzIxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdl
bmVyYXRlZFN0cmVhbS5oICovLAorCQkJCUIxRTU0NTczMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5l
cmF0ZWRTdHJlYW0uaWRsICovLAogCQkJCTI0NDJCQkY4MTE5NEM5RDMwMEQ0OTQ2OSAvKiBIYXNo
Q2hhbmdlRXZlbnQuaCAqLywKIAkJCQk4NDgyQjc0NDExOThDMzJFMDBCRkIwMDUgLyogSGFzaENo
YW5nZUV2ZW50LmlkbCAqLywKIAkJCQk0NUJBQzJBRjEzNjBCQkFCMDA1REEyNTggLyogSWNvblVS
TC5oICovLApAQCAtMTk0MTIsNiArMTk0MzcsOSBAQAogCQkJCUNFQTM5NDlCMTFENDVDREEwMDMw
OTRDRiAvKiBTdGF0aWNIYXNoU2V0Tm9kZUxpc3QuaCAqLywKIAkJCQlCQzdGQTYyQzBEMUYwRUZG
MDBEQjIyQTkgLyogU3RhdGljTm9kZUxpc3QuY3BwICovLAogCQkJCUJDN0ZBNjJCMEQxRjBFRkYw
MERCMjJBOSAvKiBTdGF0aWNOb2RlTGlzdC5oICovLAorCQkJCUIxRTU0NTc0MTM0NjI5MUYwMDky
QTU0NSAvKiBTdHJlYW0uY3BwICovLAorCQkJCUIxRTU0NTc1MTM0NjI5MUYwMDkyQTU0NSAvKiBT
dHJlYW0uaCAqLywKKwkJCQlCMUU1NDU3NjEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmlkbCAq
LywKIAkJCQk4MTAyQzU4NzEzMjVCQjExMDBEREU2N0EgLyogU3RyaW5nQ2FsbGJhY2suY3BwICov
LAogCQkJCTgxQUM2QzM1MTMxQzU3RDMwMDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5oICovLAog
CQkJCTgxQUM2QzM0MTMxQzU3QzIwMDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5pZGwgKi8sCkBA
IC0yMjgxNyw2ICsyMjg0NSwxMCBAQAogCQkJCUZENTM3MzU3MTM3QjY1M0IwMDAwOERDRSAvKiBE
eW5hbWljc0NvbXByZXNzb3JLZXJuZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRjdFNDkxMTM3
Q0Q3QzcwMDFEREFFNyAvKiBBZGp1c3RWaWV3U2l6ZU9yTm90LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMUU1NDU5MzEzNDYyOUMxMDA5MkE1NDUgLyogQ2FsbGJhY2tUYXNrLmggaW4gSGVhZGVycyAq
LywKKwkJCQlCMUU1NDU3QjEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMUU1NDU3RTEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMUU1NDVERTEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRT
dHJlYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NUU2MTM0NjJCMEIwMDkyQTU0NSAvKiBK
U1N0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNTQ5MCw2ICsyNTUyMiwxMCBAQAogCQkJCTM3
OUUzNzE2MTM3MzZBNjYwMEI5RTkxOSAvKiBRdW90ZWRQcmludGFibGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUZENTM3MzU2MTM3QjY1M0IwMDAwOERDRSAvKiBEeW5hbWljc0NvbXByZXNz
b3JLZXJuZWwuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1N0ExMzQ2MjkxRjAwOTJBNTQ1
IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU1NDU3RDEzNDYy
OTFGMDA5MkE1NDUgLyogU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTU0NUREMTM0
NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlCMUU1NDVFNTEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwCmluZGV4IDg2
ZDljNjdjNjk5MGEyMzFiOGM2NDIzYTYxYjM5Mzk4NDQxZjRkZDAuLjMxMDhjZGJkZTVkOGI1YTQ3
M2M1NjhkNGVjN2QzNWZiYzMxM2UyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRUYXJnZXQuY3BwCkBAIC0xMDAsNiArMTAwLDExIEBACiAjaW5jbHVkZSAiRmlsZVJl
YWRlci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2luY2x1ZGUgIkdl
bmVyYXRlZFN0cmVhbS5oIgorI2luY2x1ZGUgIlN0cmVhbS5oIgorI2VuZGlmCisKIHVzaW5nIG5h
bWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE4OSw2ICsxOTQsMTQgQEAg
SlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgRXZlbnRUYXJnZXQqIHRhcmcKICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0LCBmaWxlUmVhZGVyKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KyAgICBpZiAoR2VuZXJhdGVkU3RyZWFtKiBnZW5lcmF0ZWRTdHJlYW0gPSB0YXJnZXQtPnRvR2Vu
ZXJhdGVkU3RyZWFtKCkpCisgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwg
Z2VuZXJhdGVkU3RyZWFtKTsKKworICAgIGlmIChTdHJlYW0qIHN0cmVhbSA9IHRhcmdldC0+dG9T
dHJlYW0oKSkKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJlYW0p
OworI2VuZGlmCisKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4ganNOdWxs
KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBw
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAppbmRl
eCBlMmY4OTZiOTk5ZWFlM2E0ZTNhNDdmYTI4NDMxN2Y1NzgyMDRhZGIzLi4wYjI5MGNjNWJjZDQw
ODU0OGU5MTA3ODQ2ZDVmYTY4NTk1NmEyMDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJWOEV2ZW50
U291cmNlLmgiCiAjaW5jbHVkZSAiVjhGaWxlUmVhZGVyLmgiCiAjaW5jbHVkZSAiVjhGaWxlV3Jp
dGVyLmgiCisjaW5jbHVkZSAiVjhHZW5lcmF0ZWRTdHJlYW0uaCIKICNpbmNsdWRlICJWOEhUTUxD
b2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiVjhIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJWOElE
QkRhdGFiYXNlLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2lu
Y2x1ZGUgIlY4U2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiVjhTaGFyZWRXb3JrZXJDb250ZXh0
LmgiCisjaW5jbHVkZSAiVjhTdHJlYW0uaCIKICNpbmNsdWRlICJWOFN0eWxlU2hlZXQuaCIKICNp
bmNsdWRlICJWOFdlYlNvY2tldC5oIgogI2luY2x1ZGUgIlY4V29ya2VyLmgiCkBAIC00NDgsNiAr
NDUwLDE0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdyYXBwZXI6OmNvbnZlcnRFdmVu
dFRhcmdldFRvVjhPYmplY3QoRXZlbnRUYXJnZXQqIHRhCiAgICAgICAgIHJldHVybiB0b1Y4KGF1
ZGlvQ29udGV4dCk7CiAjZW5kaWYgICAgCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAg
IGlmIChHZW5lcmF0ZWRTdHJlYW0qIGdlbmVyYXRlZFN0cmVhbSA9IHRhcmdldC0+dG9HZW5lcmF0
ZWRTdHJlYW0oKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoZ2VuZXJhdGVkU3RyZWFtKTsKKworICAg
IGlmIChTdHJlYW0qIHN0cmVhbSA9IHRhcmdldC0+dG9TdHJlYW0oKSkKKyAgICAgICAgcmV0dXJu
IHRvVjgoc3RyZWFtKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUKDApOwogICAgIHJldHVybiBub3RI
YW5kbGVkQnlJbnRlcmNlcHRvcigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKaW5k
ZXggZjI5NDliMTc1YjY1NjAzMDY5N2YzMDgyYTljZjUyNWNjZWVhZTdlNy4uMWZlYzNjNWNhYmE0
OTEzM2U0MzlkM2QxNzk0MjQxMjYxOTkyMDZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTUFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCkBAIC03NSw2ICs3NSw3IEBACiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuY3BwIgogI2luY2x1
ZGUgIkV4Y2VwdGlvbkJhc2UuY3BwIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuY3BwIgorI2lu
Y2x1ZGUgIkdlbmVyYXRlZFN0cmVhbS5jcHAiCiAjaW5jbHVkZSAiSWNvblVSTC5jcHAiCiAjaW5j
bHVkZSAiS2V5Ym9hcmRFdmVudC5jcHAiCiAjaW5jbHVkZSAiTWVzc2FnZUNoYW5uZWwuY3BwIgpA
QCAtMTEyLDYgKzExMyw3IEBACiAjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5jcHAiCiAjaW5j
bHVkZSAiU3RhdGljSGFzaFNldE5vZGVMaXN0LmNwcCIKICNpbmNsdWRlICJTdGF0aWNOb2RlTGlz
dC5jcHAiCisjaW5jbHVkZSAiU3RyZWFtLmNwcCIKICNpbmNsdWRlICJTdHlsZUVsZW1lbnQuY3Bw
IgogI2luY2x1ZGUgIlN0eWxlZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIlRhZ05vZGVMaXN0LmNw
cCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IDdjMDU4YzIzZmRhZmMwMGNjMmJm
NTVmOGNjNWFhNzZiMGVlZDNkY2EuLjViYjMyYzZkNDMyNGU4ZjNmNjY2YjNjZmY3NzVkZGJhMTJi
ZDM3NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtMjA1LDYgKzIwNSwxOCBA
QCBJREJWZXJzaW9uQ2hhbmdlUmVxdWVzdCogRXZlbnRUYXJnZXQ6OnRvSURCVmVyc2lvbkNoYW5n
ZVJlcXVlc3QoKQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyZWFt
KiBFdmVudFRhcmdldDo6dG9TdHJlYW0oKQoreworICAgIHJldHVybiAwOworfQorCitHZW5lcmF0
ZWRTdHJlYW0qIEV2ZW50VGFyZ2V0Ojp0b0dlbmVyYXRlZFN0cmVhbSgpCit7CisgICAgcmV0dXJu
IDA7Cit9CisjZW5kaWYKKwogYm9vbCBFdmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0
ZW5lciwgYm9vbCB1c2VDYXB0dXJlKQogewogICAgIEV2ZW50VGFyZ2V0RGF0YSogZCA9IGVuc3Vy
ZUV2ZW50VGFyZ2V0RGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCA2OTZiZTg4
ZTJlYmUxZjNmMDJkMDA1ZjU3ODk0ZWVkNzE3NzhkNjJmLi5hNTJlYzUwZWQ3ZWNjYWZlNDZhYjA5
Y2MwNjA1ZTVkMjNjMmY3NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtNDksNiAr
NDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnRTb3VyY2U7CiAgICAg
Y2xhc3MgRmlsZVJlYWRlcjsKICAgICBjbGFzcyBGaWxlV3JpdGVyOworICAgIGNsYXNzIEdlbmVy
YXRlZFN0cmVhbTsKICAgICBjbGFzcyBJREJEYXRhYmFzZTsKICAgICBjbGFzcyBJREJSZXF1ZXN0
OwogICAgIGNsYXNzIElEQlRyYW5zYWN0aW9uOwpAQCAtNjEsNiArNjIsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBT
aGFyZWRXb3JrZXI7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyQ29udGV4dDsKKyAgICBjbGFzcyBT
dHJlYW07CiAgICAgY2xhc3MgV2ViU29ja2V0OwogICAgIGNsYXNzIFdvcmtlcjsKICAgICBjbGFz
cyBYTUxIdHRwUmVxdWVzdDsKQEAgLTE0Nyw2ICsxNDksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0KiB0b0lEQlZlcnNpb25D
aGFuZ2VSZXF1ZXN0KCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAg
ICAgIHZpcnR1YWwgU3RyZWFtKiB0b1N0cmVhbSgpOworICAgICAgICB2aXJ0dWFsIEdlbmVyYXRl
ZFN0cmVhbSogdG9HZW5lcmF0ZWRTdHJlYW0oKTsKKyNlbmRpZgorCiAgICAgICAgIHZpcnR1YWwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0ID0g
MDsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiwgYm9vbCB1c2VDYXB0
dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY3
NWE0MTdhZDc2YWFhNjg2NDMwZGE0NTIwMmM2YTUyNTViMmU2MwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwCkBAIC0wLDAgKzEsMTExIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
CisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR2VuZXJhdGVk
U3RyZWFtLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiRXZlbnQu
aCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR2VuZXJhdGVkU3RyZWFtOjpEaXNwYXRjaFVwZGF0ZVRh
c2sgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CitwdWJsaWM6CisgICAg
dHlwZWRlZiB2b2lkIChHZW5lcmF0ZWRTdHJlYW06OipDYWxsYmFjaykoKTsKKworICAgIHN0YXRp
YyBQYXNzT3duUHRyPERpc3BhdGNoVXBkYXRlVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8R2VuZXJh
dGVkU3RyZWFtPiBvYmplY3QsIENhbGxiYWNrIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBEaXNwYXRjaFVwZGF0ZVRhc2sob2JqZWN0LCBjYWxsYmFjaykpOwor
ICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250
ZXh0KikKKyAgICB7CisgICAgICAgIChtX29iamVjdC5nZXQoKS0+Km1fY2FsbGJhY2spKCk7Cisg
ICAgfQorCitwdWJsaWM6CisgICAgRGlzcGF0Y2hVcGRhdGVUYXNrKFBhc3NSZWZQdHI8R2VuZXJh
dGVkU3RyZWFtPiBvYmplY3QsIENhbGxiYWNrIGNhbGxiYWNrKQorICAgICAgICA6IG1fb2JqZWN0
KG9iamVjdCkKKyAgICAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKSB7IH0KKworICAgIFJlZlB0
cjxHZW5lcmF0ZWRTdHJlYW0+IG1fb2JqZWN0OworICAgIENhbGxiYWNrIG1fY2FsbGJhY2s7Cit9
OworCitQYXNzUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gR2VuZXJhdGVkU3RyZWFtOjpjcmVhdGUo
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5n
JiBsYWJlbCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdlbmVyYXRlZFN0cmVhbShmcmFt
ZUNvbnRyb2xsZXIsIGxhYmVsKSk7Cit9CisKK0dlbmVyYXRlZFN0cmVhbTo6R2VuZXJhdGVkU3Ry
ZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0
cmluZyYgbGFiZWwpCisgICAgOiBTdHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCkKK3sKK30K
KworR2VuZXJhdGVkU3RyZWFtOjp+R2VuZXJhdGVkU3RyZWFtKCkKK3sKK30KKworR2VuZXJhdGVk
U3RyZWFtKiBHZW5lcmF0ZWRTdHJlYW06OnRvR2VuZXJhdGVkU3RyZWFtKCkKK3sKKyAgICByZXR1
cm4gdGhpczsKK30KKwordm9pZCBHZW5lcmF0ZWRTdHJlYW06OmRldGFjaEVtYmVkZGVyKCkKK3sK
KyAgICAvLyBBc3N1bWluZyB3ZSBzaG91bGQgc3RvcCBhbnkgbGl2ZSBzdHJlYW1zIHdoZW4gbG9z
aW5nIGFjY2VzcyB0byB0aGUgZW1iZWRkZXIuCisgICAgaWYgKG1fcmVhZHlTdGF0ZSAhPSBFTkRF
RCkKKyAgICAgICAgc3RvcCgpOworCisgICAgU3RyZWFtOjpkZXRhY2hFbWJlZGRlcigpOworfQor
Cit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6c3RvcCgpCit7CisgICAgLy8gRG9uJ3QgYXNzZXJ0IHNp
bmNlIGl0IGNhbiBiZSBudWxsIGluIGRlZ2VuZXJhdGUgY2FzZXMgbGlrZSBmcmFtZXMgZGV0YWNo
ZWQgZnJvbSB0aGVpciBwYWdlcy4KKyAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
aXNDb250ZXh0VGhyZWFkKCkpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRh
c2soRGlzcGF0Y2hVcGRhdGVUYXNrOjpjcmVhdGUodGhpcywgJkdlbmVyYXRlZFN0cmVhbTo6b25T
dG9wKSk7Cit9CisKK3ZvaWQgR2VuZXJhdGVkU3RyZWFtOjpvblN0b3AoKQoreworICAgIGlmICgh
bWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKSB8fCBtX3JlYWR5U3RhdGUgPT0gRU5ERUQpCisg
ICAgICAgIHJldHVybjsKKworICAgIG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCktPnN0b3BH
ZW5lcmF0ZWRTdHJlYW0obGFiZWwoKSk7CisKKyAgICBtX3JlYWR5U3RhdGUgPSBFTkRFRDsKKyAg
ICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQsIGZh
bHNlLCBmYWxzZSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVy
YXRlZFN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBhNDU1YzQ1MTFiOTUxZTVjOWEwYWI2YTc1N2RmYjYxZTNlMDNiYzAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmgKQEAgLTAsMCAr
MSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBHZW5lcmF0ZWRTdHJlYW1faAorI2RlZmlu
ZSBHZW5lcmF0ZWRTdHJlYW1faAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1
ZGUgIlN0cmVhbS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgR2VuZXJhdGVkU3RyZWFtIDogcHVibGljIFN0cmVhbSB7CitwdWJsaWM6
CisgICAgLy8gRklYTUU6IGFkZCBhdWRpbyBhbmQgdmlkZW8gdHJhY2tzIHdoZW4gYXZhaWxhYmxl
LgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gY3JlYXRlKE1lZGlhU3Ry
ZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3RyaW5nJiBsYWJlbCk7CisgICAgdmlydHVhbCB+
R2VuZXJhdGVkU3RyZWFtKCk7CisKKyAgICB2b2lkIHN0b3AoKTsKKworICAgIC8vIE1lZGlhU3Ry
ZWFtRnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGllbnQgaW1wbGVtZW50YXRpb24uCisgICAgdmly
dHVhbCBib29sIGlzR2VuZXJhdGVkU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAg
IHZpcnR1YWwgdm9pZCBkZXRhY2hFbWJlZGRlcigpOworCisgICAgLy8gRXZlbnRUYXJnZXQuCisg
ICAgdmlydHVhbCBHZW5lcmF0ZWRTdHJlYW0qIHRvR2VuZXJhdGVkU3RyZWFtKCk7CisKK3ByaXZh
dGU6CisgICAgR2VuZXJhdGVkU3RyZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29u
c3QgU3RyaW5nJiBsYWJlbCk7CisgICAgY2xhc3MgRGlzcGF0Y2hVcGRhdGVUYXNrOworICAgIGZy
aWVuZCBjbGFzcyBEaXNwYXRjaFVwZGF0ZVRhc2s7CisKKyAgICB2b2lkIG9uU3RvcCgpOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2VuZGlmIC8vIEdlbmVyYXRlZFN0cmVhbV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0
ZWRTdHJlYW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzOGQ2YzBmNjVmNGRkNTFlMmMwNjdjYTFiMGNlMGUx
OWZjMmZmM2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVk
U3RyZWFtLmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7
CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAorICAg
ICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKKyAgICAgICAgRXZlbnRUYXJnZXQKKyAgICBd
IEdlbmVyYXRlZFN0cmVhbSA6IFN0cmVhbSB7CisgICAgICAgIHZvaWQgc3RvcCgpOworCisgICAg
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgYXVkaW8gYW5kIHZpZGVvIHRyYWNrcyB3aGVuIGF2YWls
YWJsZS4KKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwMzJkYTUy
MDM5ZjZlOTQ2Yzg5OTQwNWQ2ZjAyMDMxMGJlODlkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3RyZWFtLmNwcApAQCAtMCwwICsxLDgxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgor
ICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU3RyZWFtLmgiCisKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxTdHJl
YW0+IFN0cmVhbTo6Y3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRy
b2xsZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
dHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCkpOworfQorCitTdHJlYW06OlN0cmVhbShNZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25zdCBTdHJpbmcmIGxh
YmVsKQorICAgIDogU3RyZWFtQ2xpZW50KGZyYW1lQ29udHJvbGxlciwgbGFiZWwpCisgICAgLCBt
X3JlYWR5U3RhdGUoTElWRSkKK3sKK30KKworU3RyZWFtOjp+U3RyZWFtKCkKK3sKK30KKworU3Ry
ZWFtKiBTdHJlYW06OnRvU3RyZWFtKCkKK3sKKyAgICByZXR1cm4gdGhpczsKK30KKwordm9pZCBT
dHJlYW06OnN0cmVhbUVuZGVkKCkKK3sKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IEVOREVEKQor
ICAgICAgICByZXR1cm47CisKKyAgICBtX3JlYWR5U3RhdGUgPSBFTkRFRDsKKyAgICBkaXNwYXRj
aEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQsIGZhbHNlLCBmYWxz
ZSkpOworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBTdHJlYW06OnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVybiBtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
cigpID8gbWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIDogMDsKK30KKworRXZlbnRUYXJnZXREYXRhKiBTdHJlYW06OmV2ZW50VGFyZ2V0RGF0YSgp
Cit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRh
KiBTdHJlYW06OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50
VGFyZ2V0RGF0YTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0u
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTg5ZTdjOTJmNGZh
MmIyYmE1NTk0ZTM0M2ZiMmM2MjA2OTk0MThiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1N0cmVhbS5oCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgU3RyZWFtX2gKKyNkZWZpbmUgU3RyZWFtX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNp
bmNsdWRlICJNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBTdHJlYW0gOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJlYW0+LAor
ICAgICAgICAgICAgICAgcHVibGljIEV2ZW50VGFyZ2V0LAorICAgICAgICAgICAgICAgcHVibGlj
IE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGllbnQgeworcHVibGljOgorICAg
IC8vIE11c3QgbWF0Y2ggdGhlIGNvbnN0YW50cyBpbiB0aGUgLmlkbCBmaWxlLgorICAgIGVudW0g
eworICAgICAgICBMSVZFID0gMSwKKyAgICAgICAgRU5ERUQgPSAyCisgICAgfTsKKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFN0cmVhbT4gY3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
KiwgY29uc3QgU3RyaW5nJiBsYWJlbCk7CisgICAgdmlydHVhbCB+U3RyZWFtKCk7CisKKyAgICAv
LyBGSVhNRTogaW1wbGVtZW50IHRoZSByZWNvcmQgbWV0aG9kIHdoZW4gU3RyZWFtUmVjb3JkZXIg
aXMgYXZhaWxhYmxlLgorCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWFk
eXN0YXRlY2hhbmdlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVuZGVk
KTsKKworICAgIHVuc2lnbmVkIHNob3J0IHJlYWR5U3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3Jl
YWR5U3RhdGU7IH0KKyAgICBjb25zdCBTdHJpbmcmIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gY2xp
ZW50SWQoKTsgfQorCisgICAgLy8gTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OlN0cmVhbUNs
aWVudCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtRW5kZWQoKTsKKwor
ICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgU3RyZWFtKiB0
b1N0cmVhbSgpOworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpIGNvbnN0OworCisgICAgdXNpbmcgUmVmQ291bnRlZDxTdHJlYW0+Ojpy
ZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxTdHJlYW0+OjpkZXJlZjsKKworcHJvdGVjdGVkOgor
ICAgIFN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYgbGFi
ZWwpOworCisgICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCisgICAgdmlydHVhbCBF
dmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpOworICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKKworICAgIHVuc2lnbmVkIHNob3J0IG1f
cmVhZHlTdGF0ZTsKKworcHJpdmF0ZToKKyAgICB2b2lkIG9uRW5kZWQoKTsKKworICAgIC8vIEV2
ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdl
dCgpIHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVy
ZWYoKTsgfQorCisgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkK
KworI2VuZGlmIC8vIFN0cmVhbV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3Ry
ZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmNGI4
OTA3YjliYzExZmE2NjAwZDdmYjk1ZDg2NjkxZWY1NzM5ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmlkbApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9
TUVESUFfU1RSRUFNLAorICAgICAgICBFdmVudFRhcmdldAorICAgIF0gU3RyZWFtIHsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsYWJlbDsKKyAgICAgICAgLy8gRklYTUU6
IGltcGxlbWVudCB0aGUgcmVjb3JkIG1ldGhvZCB3aGVuIFN0cmVhbVJlY29yZGVyIGlzIGF2YWls
YWJsZS4KKworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBMSVZFID0gMTsKKyAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgRU5ERUQgPSAyOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgcmVhZHlTdGF0ZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRl
IEV2ZW50TGlzdGVuZXIgb25yZWFkeXN0YXRlY2hhbmdlOworICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmVuZGVkOworCisgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsK
KyAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7
CisgICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldmVudCkKKyAgICAgICAg
ICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fs
bGJhY2tUYXNrLmgKaW5kZXggNzI2ZWIyNjk2MWJkNzFiMmUxNzVlODEwZDcyZDQyNzIwMjlmNGMz
Ny4uZWQwMGQzMTNkMWM2Njk2NmU5MzBjOWEwNTFhY2M2NmNhNmFiNjkzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NhbGxiYWNrVGFzay5oCkBAIC01MSw2ICs1MSw4IEBAIHB1YmxpYzoKIAogICAgIGNsYXNz
IFNjaGVkdWxlciB7CiAgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIH5TY2hlZHVsZXIoKSB7
IH0KKwogICAgICAgICBib29sIHNjaGVkdWxlQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgUGFzc1JlZlB0cjxBcmd1bWVudFR5cGU+IGRhdGEpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmIChjb250ZXh0KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ2xp
ZW50LmgKaW5kZXggZTdiNTE0YzczNjlmOGJmYjAzMzg0NzkwZTIxMWUxZTNhZGZjMWQzMC4uMWQw
ZWJiMGJhMmUwNTZjOWM3YjM1MGQ5ZWFiNTIwY2RiY2E4NWQyZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWVkaWFTdHJlYW1DbGllbnQuaApAQCAtNDksNiArNDksOSBAQCBwdWJsaWM6CiAgICAgLy8g
R2VuZXJhdGUgYSBuZXcgbG9jYWwgc3RyZWFtLgogICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZVN0
cmVhbShpbnQgcmVxdWVzdElkLCBHZW5lcmF0ZVN0cmVhbU9wdGlvbkZsYWdzLCBQYXNzUmVmUHRy
PFNlY3VyaXR5T3JpZ2luPikgPSAwOwogCisgICAgLy8gU3RvcCBhIGdlbmVyYXRlZCBzdHJlYW0u
CisgICAgdmlydHVhbCB2b2lkIHN0b3BHZW5lcmF0ZWRTdHJlYW0oY29uc3QgU3RyaW5nJiBzdHJl
YW1MYWJlbCkgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1DbGll
bnQoKSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFt
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxl
ci5jcHAKaW5kZXggZjk5OTMyM2Y1YTMyYjVhMTVmN2UwOTAwMDcwMzhjY2Y2ZTM3NzliYy4uOGMx
MmRjYWNhZDMzNjNkYTEwNmNkMTZhOGMwMzgzODNkZmJmOTNlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcApAQCAtMTEyLDYgKzExMiwxMSBAQCB2
b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0oTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXIqIGZyYW1lQ29udAogICAgIG1fY2xpZW50LT5nZW5lcmF0ZVN0cmVhbShjb250
cm9sbGVyUmVxdWVzdElkLCBmbGFncywgc2VjdXJpdHlPcmlnaW4pOwogfQogCit2b2lkIE1lZGlh
U3RyZWFtQ29udHJvbGxlcjo6c3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVh
bUxhYmVsKQoreworICAgIG1fY2xpZW50LT5zdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVhbUxhYmVs
KTsKK30KKwogdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQg
Y29udHJvbGxlclJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCkKIHsKICAgICAv
LyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGZyYW1lIGNvbnRyb2xsZXIgY2FuIGhhdmUgYmVlbiBk
ZXN0cm95ZWQgd2hpbGUgdGhlIHJlcXVlc3QgcmVwbHkgd2FzIGNvbWluZyBiYWNrLgpAQCAtMTM0
LDYgKzEzOSwxMyBAQCB2b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGlv
bkZhaWxlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgTmF2aQogICAgIH0KIH0KIAordm9pZCBN
ZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxh
YmVsKQoreworICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgZnJhbWUgY29udHJvbGxlciBj
YW4gaGF2ZSBiZWVuIGRlc3Ryb3llZCBieSB0aGUgdGltZSB0aGlzIGlzIGNhbGxlZC4KKyAgICBp
ZiAobV9zdHJlYW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkKKyAgICAgICAgbV9zdHJlYW1zLmdl
dChzdHJlYW1MYWJlbCktPnN0cmVhbUZhaWxlZChzdHJlYW1MYWJlbCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuaAppbmRleCA3YjI5MzhhMjllNjAw
MTYwYmNkNWQwOTk1MGY0OWRlMTIxNzliN2UzLi43MjIxOTJiMzIxYmFlM2Y4YTU0YmE1MGZlZThj
ODA2ZWQ1MTNhYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFt
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9s
bGVyLmgKQEAgLTUwLDkgKzUwLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHVucmVnaXN0ZXJGcmFt
ZUNvbnRyb2xsZXIoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqKTsKIAogICAgIHZvaWQgZ2Vu
ZXJhdGVTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBpbnQgcmVxdWVzdElkLCBH
ZW5lcmF0ZVN0cmVhbU9wdGlvbkZsYWdzLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPik7Cisg
ICAgdm9pZCBzdG9wR2VuZXJhdGVkU3RyZWFtKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOwog
CiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBz
dHJlYW1MYWJlbCk7CiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCByZXF1ZXN0
SWQsIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpFcnJvckNvZGUpOworICAgIHZvaWQgc3RyZWFt
RmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOwogCiBwcml2YXRlOgogICAgIGludCBy
ZWdpc3RlclJlcXVlc3QoaW50IGxvY2FsUmVxdWVzdElkLCBNZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1l
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyLmNwcAppbmRleCBiZGEyN2MwMGY1MDE0MDdkYjY4Mzg2ZTY0ZmUzZjI3M2Q3NGYxMWJj
Li4yYzgwMDZhNWFjMWRkYzkxMDg1NzEwNTI2NDdlY2EzMzg3NGNjNDJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcApAQCAtMzAs
NiArMzAsNyBAQAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJHZW5lcmF0ZWRTdHJlYW0uaCIKICNpbmNs
dWRlICJNZWRpYVN0cmVhbUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmgiCkBAIC00Miw5ICs0Myw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8UmVx
dWVzdD4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcXVlc3QpOwogcHVibGljOgotICAg
IFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkK
LSAgICAgICAgOiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCkgeyB9Ci0KICAgICB2aXJ0dWFsIH5SZXF1ZXN0KCkgeyB9CiAKICAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0OyB9CkBAIC01Myw2ICs1MSwxMCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgYWJvcnQoKSA9IDA7CiAKK3Byb3RlY3RlZDoKKyAgICBSZXF1ZXN0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAgIDogbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpIHsgfQorCiBwcml2
YXRlOgogICAgIC8vIFRoaXMgaXMgZ3VhcmFudGVlZCB0byBoYXZlIHRoZSBsaWZldGltZSBvZiB0
aGUgRnJhbWUsIGFuZCBpdCdzIG9ubHkgdXNlZCB0byBtYWtlCiAgICAgLy8gdGhlIGNhbGxiYWNr
IGFzeW5jaHJvbm91cy4gVGhlIG9yaWdpbmFsIGNhbGxiYWNrIGNvbnRleHQgaXMgdXNlZCBpbiB0
aGUgY2FsbC4KQEAgLTYyLDEyICs2NCwxMiBAQCBwcml2YXRlOgogY2xhc3MgTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdCA6IHB1YmxpYyBSZXF1ZXN0IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW5lcmF0ZVN0cmVhbVJlcXVlc3QpOwogcHVibGlj
OgotICAgIEdlbmVyYXRlU3RyZWFtUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRy
PE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCi0gICAgICAgIDogUmVxdWVzdChzY3JpcHRFeGVjdXRp
b25Db250ZXh0KQotICAgICAgICAsIG1fc3VjY2Vzc0NhbGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykK
LSAgICAgICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFjaykgeyB9CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgR2VuZXJhdGVTdHJlYW1SZXF1ZXN0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpOworICAgIH0KIAogICAgIHZpcnR1YWwg
fkdlbmVyYXRlU3RyZWFtUmVxdWVzdCgpIHsgfQogCkBAIC03Niw3ICs3OCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgYWJvcnQoKQogICAgIHsKICAgICAgICAgaWYgKG1fZXJyb3JDYWxs
YmFjaykgewotICAgICAgICAgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiBlcnJv
ciA9IGFkb3B0UmVmKG5ldyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcihOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcjo6UEVSTUlTU0lPTl9ERU5JRUQpKTsKKyAgICAgICAgICAgIFJlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvcj4gZXJyb3IgPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6Y3JlYXRl
KE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpQRVJNSVNTSU9OX0RFTklFRCk7CiAgICAgICAgICAg
ICAvLyBUaGUgY2FsbGJhY2sgaXRzZWxmIGlzIG1hZGUgd2l0aCB0aGUgSlMgY2FsbGJhY2sncyBj
b250ZXh0LCBub3Qgd2l0aCB0aGUgZnJhbWUncyBjb250ZXh0LgogICAgICAgICAgICAgbV9lcnJv
ckNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgZXJy
b3IpOwogICAgICAgICB9CkBAIC04Niw2ICs4OCwxMyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0
cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKCkgY29uc3Qg
eyByZXR1cm4gbV9lcnJvckNhbGxiYWNrOyB9CiAKIHByaXZhdGU6CisgICAgR2VuZXJhdGVTdHJl
YW1SZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxs
YmFjaykKKyAgICAgICAgOiBSZXF1ZXN0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAg
ICwgbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKQorICAgICAgICAsIG1fZXJyb3JD
YWxsYmFjayhlcnJvckNhbGxiYWNrKSB7IH0KKwogICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2s+IG1fc3VjY2Vzc0NhbGxiYWNrOwogICAgIFJlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBtX2Vycm9yQ2FsbGJhY2s7CiB9OwpAQCAtMTUyLDkg
KzE2MSwyNCBAQCBNZWRpYVN0cmVhbUNvbnRyb2xsZXIqIE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyOjpwYWdlQ29udHJvbGxlcigpIGNvbnN0CiB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyOjp1bnJlZ2lzdGVyKFN0cmVhbUNsaWVudCogY2xpZW50KQogewogICAgIEFTU0VSVChtX3N0
cmVhbXMuY29udGFpbnMoY2xpZW50LT5jbGllbnRJZCgpKSk7CisKKyAgICAvLyBBc3N1bWluZyB3
ZSBzaG91bGQgc3RvcCBhbnkgbGl2ZSBzdHJlYW1zIHdoZW4gbG9zaW5nIGFjY2VzcyB0byB0aGUg
ZW1iZWRkZXIuCisgICAgaWYgKGNsaWVudC0+aXNHZW5lcmF0ZWRTdHJlYW0oKSkgeworICAgICAg
ICBHZW5lcmF0ZWRTdHJlYW0qIHN0cmVhbSA9IHN0YXRpY19jYXN0PEdlbmVyYXRlZFN0cmVhbSo+
KGNsaWVudCk7CisgICAgICAgIGlmIChzdHJlYW0tPnJlYWR5U3RhdGUoKSA9PSBTdHJlYW06OkxJ
VkUpCisgICAgICAgICAgICBzdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVhbS0+bGFiZWwoKSk7Cisg
ICAgfQorCiAgICAgbV9zdHJlYW1zLnJlbW92ZShjbGllbnQtPmNsaWVudElkKCkpOwogfQogCitT
dHJlYW0qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpnZXRTdHJlYW1Gcm9tTGFiZWwoY29u
c3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1zLmNvbnRhaW5z
KGxhYmVsKSk7CisgICAgQVNTRVJUKG1fc3RyZWFtcy5nZXQobGFiZWwpLT5pc1N0cmVhbSgpKTsK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RyZWFtKj4obV9zdHJlYW1zLmdldChsYWJlbCkpOwor
fQorCiB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjplbnRlckRldGFjaGVkU3RhdGUo
KQogewogICAgIGlmIChtX2lzSW5EZXRhY2hlZFN0YXRlKSB7CkBAIC0yNTMsNyArMjc3LDcgQEAg
dm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0oY29uc3QgU3Ry
aW5nJiBvcHRpb25zLAogICAgIH0KIAogICAgIGludCByZXF1ZXN0SWQgPSBtX3JlcXVlc3RzLmdl
dE5leHRJZCgpOwotICAgIG1fcmVxdWVzdHMuYWRkKHJlcXVlc3RJZCwgYWRvcHRSZWYobmV3IEdl
bmVyYXRlU3RyZWFtUmVxdWVzdChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN1Y2Nlc3NDYWxs
YmFjaywgZXJyb3JDYWxsYmFjaykpKTsKKyAgICBtX3JlcXVlc3RzLmFkZChyZXF1ZXN0SWQsIEdl
bmVyYXRlU3RyZWFtUmVxdWVzdDo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3Vj
Y2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSk7CiAKICAgICBpZiAoIWlzQ2xpZW50QXZhaWxh
YmxlKCkpIHsKICAgICAgICAgLy8gVGhpcyBtYWtlcyBzdXJlIHRvIGNhbGwgdGhlIGVycm9yIGNh
bGxiYWNrIGlmIHByb3ZpZGVkLgpAQCAtMjY0LDM0ICsyODgsNTQgQEAgdm9pZCBNZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBvcHRpb25zLAog
ICAgIHBhZ2VDb250cm9sbGVyKCktPmdlbmVyYXRlU3RyZWFtKHRoaXMsIHJlcXVlc3RJZCwgZmxh
Z3MsIHNlY3VyaXR5T3JpZ2luKCkpOwogfQogCit2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyOjpzdG9wR2VuZXJhdGVkU3RyZWFtKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpCit7Cisg
ICAgQVNTRVJUKG1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1MYWJlbCkpOworICAgIEFTU0VSVCht
X3N0cmVhbXMuZ2V0KHN0cmVhbUxhYmVsKS0+aXNHZW5lcmF0ZWRTdHJlYW0oKSk7CisKKyAgICBp
ZiAoaXNDbGllbnRBdmFpbGFibGUoKSkKKyAgICAgICAgcGFnZUNvbnRyb2xsZXIoKS0+c3RvcEdl
bmVyYXRlZFN0cmVhbShzdHJlYW1MYWJlbCk7Cit9CisKIHZvaWQgTWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIGxh
YmVsKQogewogICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgcmVxdWVzdCBjYW4gaGF2ZSBi
ZWVuIGFib3J0ZWQgYXMgYSByZXN1bHQgb2YgZW1iZWRkZXIgZGV0YWNobWVudC4KLSAgICBpZiAo
bV9yZXF1ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKSB7Ci0gICAgICAgIEFTU0VSVChtX3JlcXVl
c3RzLmdldChyZXF1ZXN0SWQpLT5pc0dlbmVyYXRlU3RyZWFtUmVxdWVzdCgpKTsKLSAgICAgICAg
QVNTRVJUKCFsYWJlbC5pc051bGwoKSk7CisgICAgaWYgKCFtX3JlcXVlc3RzLmNvbnRhaW5zKHJl
cXVlc3RJZCkpCisgICAgICAgIHJldHVybjsKIAotICAgICAgICAvLyBGSVhNRTogY3JlYXRlIGEg
R2VuZXJhdGVkU3RyZWFtIG9iamVjdCBhbmQgaW52b2tlIHRoZSBjYWxsYmFjayB3aGVuIHRoZSBj
bGFzcyBpcyBhdmFpbGFibGUuCi0gICAgICAgIG1fcmVxdWVzdHMucmVtb3ZlKHJlcXVlc3RJZCk7
Ci0gICAgfQorICAgIEFTU0VSVChtX3JlcXVlc3RzLmdldChyZXF1ZXN0SWQpLT5pc0dlbmVyYXRl
U3RyZWFtUmVxdWVzdCgpKTsKKyAgICBBU1NFUlQoIWxhYmVsLmlzTnVsbCgpKTsKKworICAgIFJl
ZlB0cjxHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q+IHN0cmVhbVJlcXVlc3QgPSBzdGF0aWNfY2FzdDxH
ZW5lcmF0ZVN0cmVhbVJlcXVlc3QqPihtX3JlcXVlc3RzLmdldChyZXF1ZXN0SWQpLmdldCgpKTsK
KyAgICBSZWZQdHI8R2VuZXJhdGVkU3RyZWFtPiBnZW5lcmF0ZWRTdHJlYW0gPSBHZW5lcmF0ZWRT
dHJlYW06OmNyZWF0ZSh0aGlzLCBsYWJlbCk7CisgICAgbV9zdHJlYW1zLmFkZChsYWJlbCwgZ2Vu
ZXJhdGVkU3RyZWFtLmdldCgpKTsKKyAgICBtX3JlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOwor
ICAgIHN0cmVhbVJlcXVlc3QtPnN1Y2Nlc3NDYWxsYmFjaygpLT5oYW5kbGVFdmVudChnZW5lcmF0
ZWRTdHJlYW0uZ2V0KCkpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpz
dHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCByZXF1ZXN0SWQsIE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yOjpFcnJvckNvZGUgY29kZSkKIHsKICAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIHJl
cXVlc3QgY2FuIGhhdmUgYmVlbiBhYm9ydGVkIGFzIGEgcmVzdWx0IG9mIGVtYmVkZGVyIGRldGFj
aG1lbnQuCi0gICAgaWYgKG1fcmVxdWVzdHMuY29udGFpbnMocmVxdWVzdElkKSkgewotICAgICAg
ICBBU1NFUlQobV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS0+aXNHZW5lcmF0ZVN0cmVhbVJlcXVl
c3QoKSk7CisgICAgaWYgKCFtX3JlcXVlc3RzLmNvbnRhaW5zKHJlcXVlc3RJZCkpCisgICAgICAg
IHJldHVybjsKIAotICAgICAgICBSZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBzdHJlYW1S
ZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0Kj4obV9yZXF1ZXN0cy5n
ZXQocmVxdWVzdElkKS5nZXQoKSk7Ci0gICAgICAgIG1fcmVxdWVzdHMucmVtb3ZlKHJlcXVlc3RJ
ZCk7CisgICAgQVNTRVJUKG1fcmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCktPmlzR2VuZXJhdGVTdHJl
YW1SZXF1ZXN0KCkpOwogCi0gICAgICAgIGlmIChzdHJlYW1SZXF1ZXN0LT5lcnJvckNhbGxiYWNr
KCkpIHsKLSAgICAgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4gZXJyb3Ig
PSBhZG9wdFJlZihuZXcgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoY29kZSkpOwotICAgICAgICAg
ICAgc3RyZWFtUmVxdWVzdC0+ZXJyb3JDYWxsYmFjaygpLT5oYW5kbGVFdmVudChlcnJvci5nZXQo
KSk7Ci0gICAgICAgIH0KKyAgICBSZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBzdHJlYW1S
ZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0Kj4obV9yZXF1ZXN0cy5n
ZXQocmVxdWVzdElkKS5nZXQoKSk7CisgICAgbV9yZXF1ZXN0cy5yZW1vdmUocmVxdWVzdElkKTsK
KworICAgIGlmIChzdHJlYW1SZXF1ZXN0LT5lcnJvckNhbGxiYWNrKCkpIHsKKyAgICAgICAgUmVm
UHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiBlcnJvciA9IE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yOjpjcmVhdGUoY29kZSk7CisgICAgICAgIHN0cmVhbVJlcXVlc3QtPmVycm9yQ2FsbGJhY2so
KS0+aGFuZGxlRXZlbnQoZXJyb3IuZ2V0KCkpOwogICAgIH0KIH0KIAordm9pZCBNZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgbGFiZWwpCit7Cisg
ICAgZ2V0U3RyZWFtRnJvbUxhYmVsKGxhYmVsKS0+c3RyZWFtRW5kZWQoKTsKK30KKworCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oCmluZGV4
IDQ5NDYxYTk3YzM1ZTY4NzEyMzZhMWI2NmZmNzJhNmEyYjU4ZGU2NGMuLjk2ZGFmMTc5MWFmOGMw
NGJiYWZjODNmYjlmMmUwYjVjYzYwZmJmMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgKQEAgLTM4LDEyICszOCwxNCBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKK2NsYXNzIEdlbmVyYXRlZFN0cmVhbTsKIGNs
YXNzIE1lZGlhU3RyZWFtQ29udHJvbGxlcjsKIGNsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s7CiBjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s7CiBjbGFz
cyBQYWdlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFNlY3VyaXR5T3Jp
Z2luOworY2xhc3MgU3RyZWFtOwogCiBjbGFzcyBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIpOwpA
QCAtMTMwLDYgKzEzMiw5IEBAIHB1YmxpYzoKICAgICAvLyBDcmVhdGUgYSBuZXcgZ2VuZXJhdGVk
IHN0cmVhbSBhc3luY2hyb25vdXNseSB3aXRoIHRoZSBwcm92aWRlZCBvcHRpb25zLgogICAgIHZv
aWQgZ2VuZXJhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIC8vIFN0b3AgYSBnZW5l
cmF0ZWQgc3RyZWFtLgorICAgIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcm
IHN0cmVhbUxhYmVsKTsKKwogICAgIC8vIC0tLSBDYWxscyBjb21pbmcgYmFjayBmcm9tIHRoZSBj
b250cm9sbGVyLiAtLS0gLy8KIAogICAgIC8vIFJlcG9ydCB0aGUgZ2VuZXJhdGlvbiBvZiBhIG5l
dyBsb2NhbCBzdHJlYW0uCkBAIC0xMzgsNiArMTQzLDkgQEAgcHVibGljOgogICAgIC8vIFJlcG9y
dCBhIGZhaWx1cmUgaW4gdGhlIGdlbmVyYXRpb24gb2YgYSBuZXcgc3RyZWFtLgogICAgIHZvaWQg
c3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVzdElkLCBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvcjo6RXJyb3JDb2RlKTsKIAorICAgIC8vIFJlcG9ydCB0aGUgZW5kIG9mIGEgc3RyZWFtIGZv
ciBleHRlcm5hbCByZWFzb25zLgorICAgIHZvaWQgc3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYg
c3RyZWFtTGFiZWwpOworCiBwcml2YXRlOgogICAgIGNsYXNzIFJlcXVlc3Q7CiAgICAgY2xhc3Mg
R2VuZXJhdGVTdHJlYW1SZXF1ZXN0OwpAQCAtMTc3LDYgKzE4NSw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIHVucmVnaXN0ZXIoU3RyZWFtQ2xpZW50Kik7CiAgICAgTWVkaWFTdHJlYW1Db250cm9s
bGVyKiBwYWdlQ29udHJvbGxlcigpIGNvbnN0OworICAgIFN0cmVhbSogZ2V0U3RyZWFtRnJvbUxh
YmVsKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCiAgICAgUmVxdWVzdE1hcCBtX3JlcXVlc3RzOwog
ICAgIFN0cmVhbU1hcCBtX3N0cmVhbXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmgKaW5kZXggY2M4OGI0ZjExZjY3NjI2NDUzMTE5NjcyYmMxMTJiMTA2
Nzc5MDJjOC4uNWVkZDk3ZDkwYjA5NGIyODIwODlkMTVhYjZmMWQ5Nzk3YjcxMDY1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaApAQCAtMjUsNiAr
MjUsNyBAQAogI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCiAjZGVmaW5lIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yX2gKIAorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCkBAIC0z
OCwxMiArMzksMTggQEAgcHVibGljOgogICAgICAgICBQRVJNSVNTSU9OX0RFTklFRCA9IDEKICAg
ICB9OwogCi0gICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoRXJyb3JDb2RlIGNvZGUpIDogbV9j
b2RlKGNvZGUpIHsgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yPiBjcmVhdGUoRXJyb3JDb2RlIGNvZGUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKGNvZGUpKTsKKyAgICB9CisKICAgICB2aXJ0
dWFsIH5OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcigpIHsgfQogCiAgICAgRXJyb3JDb2RlIGNvZGUo
KSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KIAogcHJpdmF0ZToKKyAgICBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvcihFcnJvckNvZGUgY29kZSkgOiBtX2NvZGUoY29kZSkgeyB9CisKICAgICBFcnJv
ckNvZGUgbV9jb2RlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKaW5kZXggNzcwNjkzZDA2ZTQ3MTU2Yzdl
MTU2MGE1YzJiN2RiOTVmYzMxZjYxOC4uNTM0ZTc0MTc2NGU5NmUzM2U5MDE2NTEwMzUyNTI4M2Yz
Y2IxMDk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0zMSwxMiArMzEsMTIgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBHZW5lcmF0ZWRTdHJlYW07CisKIGNsYXNzIE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gewogcHVibGljOgogICAgIHZpcnR1YWwgfk5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaygpIHsgfQotICAgIC8vIEZJWE1FOiBzZXQgY29ycmVjdCB0
eXBlIHdoZW4gdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFibGUuCi0gICAgLy8g
dmlydHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0gMDsKLSAgICB2aXJ0
dWFsIGJvb2wgaGFuZGxlRXZlbnQoaW50IGR1bW15KSA9IDA7CisgICAgdmlydHVhbCBib29sIGhh
bmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbAppbmRleCBlMTI1NDBjYTYzZjBmZWQ0N2U2YTJjZDAxN2Jj
ZTlmMWQ1NjhiZWZjLi5hMTJhOWU4NTc4ZmUwMGI1OTAwMmUyN2JjZDU1OGNlNjU0MzcwNWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0yNyw5ICsyNyw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAg
ICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgICAgIENhbGxiYWNrPUZ1bmN0aW9u
T25seQogICAgIF0gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHsKLSAgICAgICAg
Ly8gRklYTUU6IGltcGxlbWVudCB0aGUgY29ycmVjdCB0eXBlIHdoZW4gdGhlIEdlbmVyYXRlZFN0
cmVhbSBjbGFzcyBpcyBhdmFpbGFibGUuCi0gICAgICAgIC8vIGJvb2xlYW4gaGFuZGxlRXZlbnQo
aW4gR2VuZXJhdGVkU3RyZWFtIHN0cmVhbSk7Ci0gICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQo
aW4gaW50IGR1bW15KTsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBHZW5lcmF0ZWRT
dHJlYW0gc3RyZWFtKTsKICAgICB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94243</attachid>
            <date>2011-05-20 11:13:39 -0700</date>
            <delta_ts>2011-05-23 11:21:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56666-20110520191337.patch</filename>
            <type>text/plain</type>
            <size>66497</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY5NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTIxNTI1
MTU4NGQyOTdiNmQ5NTllYTA5YTFlYzBiNjhlZjRmNGIxZi4uYjI4YzBjZTU1ZTVjYzY1NTAxYWE1
YjA5NTFmNGRhNjA4Yjk4OGI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5MzcsMTEgKzE5
MzcsMTUgQEAgRU5ESUYgKCkKIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgIExJU1QoQVBQ
RU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHAKKyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKKyAgICAgICAgZG9tL1N0cmVh
bS5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCiAgICAgICAgIHBh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCiAgICAgKQogCiAgICAgTElTVChBUFBF
TkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwKKyAg
ICAgICAgZG9tL1N0cmVhbS5pZGwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5pZGwKICAgICApCiBFTkRJRiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVhN2U1NWY2ZDZlN2RhZDQyODQ0
MzUyZGY1YzJjY2ZlOWU1YjRmNWMuLmY4ZjNmZDA4OTAwZmM5MjBlM2E1ZDY3ZGIwZGZjMzZmYzY4
NTVkOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAxMS0wNS0yMCAgTGVhbmRybyBH
cmFjaWEgR2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVkaWEgU3RyZWFtIEFQSTogYWRkaW5n
IFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY2NgorCisgICAgICAgIEFkZCB0aGUgY29k
ZSBmb3IgdGhlIFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMgYW5kIGludGVncmF0
ZSBpdAorICAgICAgICB3aXRoIHRoZSBleGlzdGluZyBzdHJlYW0gZ2VuZXJhdGlvbiByZXF1ZXN0
cy4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92
aWRlZCBieSB0aGUgYnVnIDU2NTg3LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgor
ICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2
ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6
OmNvbnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3QpOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9u
ZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50VGFyZ2V0Ojp0b1N0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6
dG9HZW5lcmF0ZWRTdHJlYW0pOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAg
ICAqIGRvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okdl
bmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6R2VuZXJhdGVkU3RyZWFtOjpEaXNwYXRjaFVwZGF0ZVRhc2s6OnBlcmZvcm1UYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrOjpE
aXNwYXRjaFVwZGF0ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpHZW5lcmF0ZWRTdHJl
YW0pOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjp+R2VuZXJhdGVkU3RyZWFt
KToKKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6dG9HZW5lcmF0ZWRTdHJlYW0p
OgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpkZXRhY2hFbWJlZGRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06OnN0b3ApOgorICAgICAgICAoV2ViQ29y
ZTo6R2VuZXJhdGVkU3RyZWFtOjpvblN0b3ApOgorICAgICAgICAqIGRvbS9HZW5lcmF0ZWRTdHJl
YW0uaDogQWRkZWQuCisgICAgICAgICogZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGw6IEFkZGVkLgor
ICAgICAgICAqIGRvbS9TdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6U3RyZWFtKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0cmVhbTo6flN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OnRv
U3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6c3RyZWFtRW5kZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OlN0cmVhbTo6ZXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKiBkb20vU3RyZWFtLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpyZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0cmVhbTo6bGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpyZWZFdmVudFRh
cmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OmRlcmVmRXZlbnRUYXJnZXQpOgorICAg
ICAgICAqIGRvbS9TdHJlYW0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0NhbGxiYWNrVGFz
ay5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrMTo6U2NoZWR1bGVyOjp+U2NoZWR1
bGVyKToKKyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtQ2xpZW50Lmg6CisgICAgICAgICogcGFn
ZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1Db250cm9sbGVyOjpzdG9wR2VuZXJhdGVkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKToKKyAgICAgICAgKiBwYWdlL01lZGlh
U3RyZWFtQ29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6
OlJlcXVlc3Q6OlJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q6OmFi
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpHZW5l
cmF0ZVN0cmVhbVJlcXVlc3Q6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6dW5yZWdpc3Rlcik6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Z2V0U3RyZWFtRnJvbUxhYmVsKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpnZW5lcmF0ZVN0
cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3Rv
cEdlbmVyYXRlZFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1GYWlsZWQpOgorICAgICAgICAq
IHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGllbnQ6OlN0cmVhbUNsaWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6U3RyZWFtQ2xpZW50
Ojppc0dlbmVyYXRlZFN0cmVhbSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmg6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaWRsOgorCiAyMDExLTA1LTIwICBYaWFvbWVpIEppICA8eGppQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9y
cy5wcmkKaW5kZXggYzkzYjI0NzU0MGZjYjA3Yjk5MDE4YWYzNjM1ODQ1MjZlZDdmYTFiZS4uNDE1
NTNiNzlkMWFjMGUwNmNlMjA2ODkyOTM2MzU3OWUwNTNjMmYwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5l
cmF0b3JzLnByaQpAQCAtMTMyLDYgKzEzMiw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZG9t
L0V2ZW50RXhjZXB0aW9uLmlkbCBcCiAjICAgIGRvbS9FdmVudExpc3RlbmVyLmlkbCBcCiAjICAg
IGRvbS9FdmVudFRhcmdldC5pZGwgXAorICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsIFwKICAg
ICBkb20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwK
ICAgICBkb20vTW91c2VFdmVudC5pZGwgXApAQCAtMTUyLDYgKzE1Myw3IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgZG9tL1Byb2dyZXNzRXZlbnQuaWRsIFwKICAgICBkb20vUmFuZ2VFeGNlcHRp
b24uaWRsIFwKICAgICBkb20vUmFuZ2UuaWRsIFwKKyAgICBkb20vU3RyZWFtLmlkbCBcCiAgICAg
ZG9tL1N0cmluZ0NhbGxiYWNrLmlkbCBcCiAgICAgZG9tL1RleHQuaWRsIFwKICAgICBkb20vVGV4
dEV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggN2Q1ZTRmOTdmOGZi
ODdkMTI0OTQxYmJjNGY0ZDA2ODE0ODY4YWFjMy4uNmFlN2YzNjU1ZTk1YjljMTc3OWJiNzBiODIy
OWEzYjBhYzUyMzE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTI5LDYgKzEy
OSw3IEBACiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNXZWJL
aXRGbGFncy5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuY3BwIgorI2luY2x1ZGUgIkpT
R2VuZXJhdGVkU3RyZWFtLmNwcCIKICNpbmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIKICNpbmNs
dWRlICJKU0dlb3Bvc2l0aW9uLmNwcCIKICNpbmNsdWRlICJKU0hhc2hDaGFuZ2VFdmVudC5jcHAi
CkBAIC0yODQsNiArMjg1LDcgQEAKICNpbmNsdWRlICJKU1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFj
ay5jcHAiCiAjaW5jbHVkZSAiSlNTdG9yYWdlSW5mb1F1b3RhQ2FsbGJhY2suY3BwIgogI2luY2x1
ZGUgIkpTU3RvcmFnZUluZm9Vc2FnZUNhbGxiYWNrLmNwcCIKKyNpbmNsdWRlICJKU1N0cmVhbS5j
cHAiCiAjaW5jbHVkZSAiSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZU1l
ZGlhLmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggN2JjZjMwMGE0ZjA4Y2Y4M2EzYzFhOTI4YWNiYThlZmZlNTdlMjNiYy4u
NmQ0YTI1MDczOGE1OWI1OGMzN2MzNTFlNjk2MDk1OWU4ZmY2OTY0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC0xOTcsNiArMTk3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAg
RmlsZVdyaXRlclN5bmMgXAogICAgIEZpbGVTeXN0ZW1DYWxsYmFjayBcCiAgICAgV2ViS2l0Rmxh
Z3MgXAorICAgIEdlbmVyYXRlZFN0cmVhbSBcCiAgICAgR2VvbG9jYXRpb24gXAogICAgIEdlb3Bv
c2l0aW9uIFwKICAgICBIYXNoQ2hhbmdlRXZlbnQgXApAQCAtMzU1LDYgKzM1Niw3IEBAIERPTV9D
TEFTU0VTID0gXAogICAgIFN0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjayBcCiAgICAgU3RvcmFnZUlu
Zm9RdW90YUNhbGxiYWNrIFwKICAgICBTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2sgXAorICAgIFN0
cmVhbSBcCiAgICAgU3RyaW5nQ2FsbGJhY2sgXAogICAgIFNWR0FFbGVtZW50IFwKICAgICBTVkdB
bHRHbHlwaEVsZW1lbnQgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMDlkZmZl
MjQ0MDJiNTI0OTViMzc4ZGQ4NzFlYjc4Y2Q4YWQ1MmVkNy4uOGE3ODYwZjNjNzI2ZjMzNmE5NGNh
M2NkZDc0M2I0MzMwMjdlYzJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0x
NzQsNiArMTc0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRmlsZVJlYWRlclN5bmMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0Zsb2F0MzJBcnJheS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDMyQXJy
YXkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlbmVyYXRlZFN0cmVhbS5jcHAgXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW5lcmF0ZWRTdHJlYW0uaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dlb2xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9wb3NpdGlv
bi5jcHAgXApAQCAtNDQ1LDYgKzQ0Nyw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjay5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3RvcmFnZUluZm9RdW90YUNhbGxiYWNrLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2suaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cmVhbS5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTdHJlYW0uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3R5bGVNZWRpYS5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU3R5bGVTaGVldC5jcHAgXApAQCAtMTE1Miw2ICsxMTU2LDggQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCisJU291cmNlL1dlYkNvcmUvZG9t
L0dlbmVyYXRlZFN0cmVhbS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJl
YW0uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudElu
Y3JlbWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9JY29uVVJMLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL0ljb25VUkwuaCBcCkBAIC0xMjQ3LDYgKzEyNTMsOCBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNIYXNoU2V0Tm9kZUxpc3QuaCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY05vZGVMaXN0LmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1N0YXRpY05vZGVMaXN0LmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9T
dHlsZWRFbGVtZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlRWxlbWVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IGFlMDVlY2QyMDgwNjgzZmQwNzgwNTk2ZDFmYTA3YjE4NjQ1MTMwNGYuLjNjNDU2MmEzNWNk
ZDFjZDA1ZDRmMTAwNGM4ODQzNTU5YTYwZTU1ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTExNDAs
NiArMTE0MCw3IEBACiAgICAgICAgICAgICAnZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL0V2ZW50TGlzdGVuZXIuaWRsJywKICAgICAgICAgICAgICdkb20vRXZlbnRU
YXJnZXQuaWRsJywKKyAgICAgICAgICAgICdkb20vR2VuZXJhdGVkU3RyZWFtLmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9LZXli
b2FyZEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmlkbCcsCkBA
IC0xMTYxLDYgKzExNjIsNyBAQAogICAgICAgICAgICAgJ2RvbS9SYW5nZS5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9SYW5nZUV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9SZXF1ZXN0
QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5pZGwnLAorICAgICAgICAgICAgJ2RvbS9TdHJlYW0uaWRs
JywKICAgICAgICAgICAgICdkb20vU3RyaW5nQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdk
b20vVGV4dC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9UZXh0RXZlbnQuaWRsJywKQEAgLTI0Nzcs
NiArMjQ3OSw4IEBACiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuY3BwJywKICAgICAg
ICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5oJywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9u
Q29kZS5jcHAnLAorICAgICAgICAgICAgJ2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwJywKKyAgICAg
ICAgICAgICdkb20vR2VuZXJhdGVkU3RyZWFtLmgnLAogICAgICAgICAgICAgJ2RvbS9IYXNoQ2hh
bmdlRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3Vu
dEluY3JlbWVudGVyLmgnLAogICAgICAgICAgICAgJ2RvbS9JY29uVVJMLmNwcCcsCkBAIC0yNTU3
LDYgKzI1NjEsOCBAQAogICAgICAgICAgICAgJ2RvbS9TdGF0aWNIYXNoU2V0Tm9kZUxpc3QuaCcs
CiAgICAgICAgICAgICAnZG9tL1N0YXRpY05vZGVMaXN0LmNwcCcsCiAgICAgICAgICAgICAnZG9t
L1N0YXRpY05vZGVMaXN0LmgnLAorICAgICAgICAgICAgJ2RvbS9TdHJlYW0uY3BwJywKKyAgICAg
ICAgICAgICdkb20vU3RyZWFtLmgnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5j
cHAnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5oJywKICAgICAgICAgICAgICdk
b20vU3R5bGVFbGVtZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDJjNTI2MThlYjQyYjA4YTQ5
ZDc4ODk5MjU1YjM4M2NmNTVjNzc1OTkuLmFmZTFiNWFhNTllOGE2NmIzZmVhNGQ3ZWU5MmNhYmE3
MzZkM2IyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTEwLDYgKzMxMTAsOCBAQCBjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfR0VPTE9DQVRJT049MSkgewogCiBjb250YWlucyhERUZJTkVTLCBFTkFC
TEVfTUVESUFfU1RSRUFNPTEpIHsKICAgICBIRUFERVJTICs9IFwKKyAgICAgICAgZG9tL0dlbmVy
YXRlZFN0cmVhbS5oIFwKKyAgICAgICAgZG9tL1N0cmVhbS5oIFwKICAgICAgICAgcGFnZS9DYWxs
YmFja1Rhc2suaCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaCBcCiAgICAgICAg
IHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmggXApAQCAtMzExOSw2ICszMTIxLDggQEAgY29u
dGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAgICAgIHBhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKIAogICAgIFNPVVJDRVMgKz0gXAorICAg
ICAgICBkb20vR2VuZXJhdGVkU3RyZWFtLmNwcCBcCisgICAgICAgIGRvbS9TdHJlYW0uY3BwIFwK
ICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwIFwKICAgICAgICAgcGFnZS9N
ZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA4N2MzODYyNzUxMDQwY2E5MTk1MTA3NjlkMDQ2
NzRlMmZlNjgxZjQ4Li5iY2YxYWU5ZWYwY2Y3MGFmODQ0MWM0OGRiMDdlZDk5OTEwZjIwYmU4IDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTMx
OCw2ICs1MzE4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNHZW5lcmF0ZWRTdHJlYW0uY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTR2VuZXJhdGVkU3RyZWFtLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNHZW9sb2Nh
dGlvbi5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMTMzMTAsNiArMTMz
NjYsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU1N0cmVhbS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNTdHJlYW0uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1N0cmluZ0NhbGxiYWNrLmNwcCIKIAkJCQk+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCkBAIC00NDU4Niw2ICs0NDY5OCw2MiBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cR2VuZXJhdGVkU3RyZWFt
LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxp
dGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2Vf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXEdlbmVyYXRlZFN0cmVhbS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cSGFzaENoYW5nZUV2ZW50LmgiCiAJCQkJPgog
CQkJPC9GaWxlPgpAQCAtNDY4ODIsNiArNDcwNTAsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFN0cmVhbS5jcHAiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJl
YW0uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXFN0cmluZ0NhbGxiYWNrLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggNDI3OGYzYjhmNjZiZWY5MjI5NWNhZDQ4ZmVhN2YyYzA4ZjE3NDViMS4uMGU1NDk2MzkxYjY3
ZDgyYTY0OGQyNjIyZWZiMGE5OTI3ODEwNGE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA5OCwxMiArNDA5OCwyMCBAQAog
CQlCMUU1NDU5OTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NThEMTM0
NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovOyB9OwogCQlCMUU1
NDU5QjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1OEYx
MzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLzsg
fTsKIAkJQjFFNTQ1OUQxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjFFNTQ1OTExMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oICovOyB9OworCQlCMUU1NDU3QTEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVk
U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIxRTU0NTcxMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uY3BwICovOyB9Owor
CQlCMUU1NDU3QjEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3MjEzNDYyOTFGMDA5
MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmggKi87IH07CisJCUIxRTU0NTdEMTM0NjI5MUYwMDky
QTU0NSAvKiBTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjFFNTQ1NzQxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAgKi87IH07CisJ
CUIxRTU0NTdFMTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NTc1MTM0NjI5MUYwMDkyQTU0NSAvKiBT
dHJlYW0uaCAqLzsgfTsKIAkJQjFFNTQ1REYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjFFNTQ1RDExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuY3BwICovOyB9OwogCQlCMUU1NDVFMDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjFFNTQ1RDIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCAqLzsgfTsKIAkJQjFFNTQ1RTExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVEMzEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJQjFFNTQ1RTIxMzQ2MkIwQjAwOTJB
NTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDQxMzQ2MkIwQjAwOTJBNTQ1
IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9OwogCQlCMUU1NDVF
MzEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1
RDUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmNwcCAqLzsgfTsKIAkJQjFFNTQ1RTQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMUU1NDVENjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNTQ1REQxMzQ2MkIwQjAwOTJBNTQ1
IC8qIEpTR2VuZXJhdGVkU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxRTU0NUNGMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0
cmVhbS5jcHAgKi87IH07CisJCUIxRTU0NURFMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRl
ZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjFFNTQ1RDAxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2VuZXJhdGVkU3RyZWFtLmggKi87IH07CisJ
CUIxRTU0NUU1MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENzEzNDYyQjBCMDA5MkE1NDUg
LyogSlNTdHJlYW0uY3BwICovOyB9OworCQlCMUU1NDVFNjEzNDYyQjBCMDA5MkE1NDUgLyogSlNT
dHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTU0NUQ4MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5oICovOyB9OwogCQlCMjAxMTEwNzBB
Qjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNT
VkdBRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMDExMTA4MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NW
R0FFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oICovOyB9OwogCQlC
MjIyNzk2MjBEMDBCRjIyMDA3MUI3ODIgLyogQ29sb3JEaXN0YW5jZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzdDQjBEMDBCRjFGMDA3MUI3
ODIgLyogQ29sb3JEaXN0YW5jZS5jcHAgKi87IH07CkBAIC0xMDM2NywxMiArMTAzNzUsMjIgQEAK
IAkJQjFFNTQ1OEExMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NThCMTM0NjI5QzEw
MDkyQTU0NSAvKiBNZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1OEMxMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFt
Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVh
bUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1NzExMzQ2
MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHZW5lcmF0ZWRTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCMUU1NDU3MjEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyYXRlZFN0cmVhbS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU3MzEzNDYyOTFGMDA5MkE1NDUgLyogR2Vu
ZXJhdGVkU3RyZWFtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHZW5lcmF0ZWRTdHJlYW0u
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU3NDEzNDYyOTFGMDA5MkE1
NDUgLyogU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0
cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NTc1MTM0NjI5MUYw
MDkyQTU0NSAvKiBTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Ry
ZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NTc2MTM0NjI5MUYwMDky
QTU0NSAvKiBTdHJlYW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0cmVhbS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NThEMTM0NjI5QzEwMDkyQTU0NSAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCMUU1NDU4RTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1OEYxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMUU1NDU5MDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0
NTkyMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NUNGMTM0NjJCMEIw
MDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0dlbmVyYXRlZFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUIxRTU0NUQwMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dlbmVyYXRlZFN0cmVhbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVENzEzNDYyQjBCMDA5MkE1NDUgLyog
SlNTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJl
YW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVEODEzNDYyQjBCMDA5
MkE1NDUgLyogSlNTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNT
dHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1RDExMzQ2MkIwQjAw
OTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NUQyMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjFFNTQ1RDMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTY4NjUsNiArMTY4ODMsOCBAQAogCQkJCTY1REYzMjJFMDlEMUREQkMwMDBCRTMyNSAv
KiBKU0VudGl0eS5oICovLAogCQkJCTkzRjlCNzcyMEJBNUZEREMwMDg1NDA2NCAvKiBKU0VudGl0
eVJlZmVyZW5jZS5jcHAgKi8sCiAJCQkJOTNGOUI3NzMwQkE1RkREQzAwODU0MDY0IC8qIEpTRW50
aXR5UmVmZXJlbmNlLmggKi8sCisJCQkJQjFFNTQ1Q0YxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2Vu
ZXJhdGVkU3RyZWFtLmNwcCAqLywKKwkJCQlCMUU1NDVEMDEzNDYyQjBCMDA5MkE1NDUgLyogSlNH
ZW5lcmF0ZWRTdHJlYW0uaCAqLywKIAkJCQlGRTgwREE1RjBFOUM0NzAzMDAwRDZGNzUgLyogSlNH
ZW9sb2NhdGlvbi5jcHAgKi8sCiAJCQkJRkU4MERBNjAwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2Vv
bG9jYXRpb24uaCAqLywKIAkJCQlGRTgwREE2MTBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9wb3Np
dGlvbi5jcHAgKi8sCkBAIC0xNjg4OSw2ICsxNjkwOSw4IEBACiAJCQkJNzU0MTVENTIxMjlBQjJE
MjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1bHQuaCAqLywKIAkJCQk3NTQxNUQ1MzEyOUFC
MkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuY3BwICovLAogCQkJCTc1NDE1
RDU0MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5oICovLAorCQkJ
CUIxRTU0NUQ3MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAgKi8sCisJCQkJQjFFNTQ1
RDgxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTU3RyZWFtLmggKi8sCiAJCQkJNjVERjMxRUYwOUQxQ0M2
MDAwMEJFMzI1IC8qIEpTVGV4dC5jcHAgKi8sCiAJCQkJNjVERjMxRjAwOUQxQ0M2MDAwMEJFMzI1
IC8qIEpTVGV4dC5oICovLAogCQkJKTsKQEAgLTE5MzA0LDYgKzE5MzI2LDkgQEAKIAkJCQk5Mzgz
MUI1NjBEMDg3RDYwMDBFNUM5ODQgLyogRXhjZXB0aW9uQ29kZS5jcHAgKi8sCiAJCQkJOTM1RkJD
RjEwOUJBMTQzQjAwRTIzMEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCAqLywKIAkJCQlBODUzMTIzQzEx
RDA0NzFCMDBENEQwNzcgLyogRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggKi8sCisJCQkJ
QjFFNTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgKi8sCisJCQkJ
QjFFNTQ1NzIxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5oICovLAorCQkJCUIx
RTU0NTczMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uaWRsICovLAogCQkJCTI0
NDJCQkY4MTE5NEM5RDMwMEQ0OTQ2OSAvKiBIYXNoQ2hhbmdlRXZlbnQuaCAqLywKIAkJCQk4NDgy
Qjc0NDExOThDMzJFMDBCRkIwMDUgLyogSGFzaENoYW5nZUV2ZW50LmlkbCAqLywKIAkJCQk0NTA5
OUM0MDEzNzBBNzgwMDA1OEQ1MTMgLyogSWNvblVSTC5jcHAgKi8sCkBAIC0xOTQyMSw2ICsxOTQ0
Niw5IEBACiAJCQkJQ0VBMzk0OUIxMUQ0NUNEQTAwMzA5NENGIC8qIFN0YXRpY0hhc2hTZXROb2Rl
TGlzdC5oICovLAogCQkJCUJDN0ZBNjJDMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2RlTGlz
dC5jcHAgKi8sCiAJCQkJQkM3RkE2MkIwRDFGMEVGRjAwREIyMkE5IC8qIFN0YXRpY05vZGVMaXN0
LmggKi8sCisJCQkJQjFFNTQ1NzQxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAgKi8sCisJ
CQkJQjFFNTQ1NzUxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5oICovLAorCQkJCUIxRTU0NTc2
MTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaWRsICovLAogCQkJCTgxMDJDNTg3MTMyNUJCMTEw
MERERTY3QSAvKiBTdHJpbmdDYWxsYmFjay5jcHAgKi8sCiAJCQkJODFBQzZDMzUxMzFDNTdEMzAw
MDlBN0UwIC8qIFN0cmluZ0NhbGxiYWNrLmggKi8sCiAJCQkJODFBQzZDMzQxMzFDNTdDMjAwMDlB
N0UwIC8qIFN0cmluZ0NhbGxiYWNrLmlkbCAqLywKQEAgLTIyODI4LDYgKzIyODU2LDEwIEBACiAJ
CQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0ZpbHRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMUU1NDU3QjEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3Ry
ZWFtLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1NDU3RTEzNDYyOTFGMDA5MkE1NDUgLyogU3Ry
ZWFtLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1NDVERTEzNDYyQjBCMDA5MkE1NDUgLyogSlNH
ZW5lcmF0ZWRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NUU2MTM0NjJCMEIwMDky
QTU0NSAvKiBKU1N0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNTUwMiw2ICsyNTUzNCwxMCBA
QAogCQkJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0ZpbHRlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1Bv
bGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1N0ExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdl
bmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU1NDU3RDEzNDYyOTFGMDA5
MkE1NDUgLyogU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTU0NUREMTM0NjJCMEIw
MDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU1
NDVFNTEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwCmluZGV4IDg2ZDljNjdj
Njk5MGEyMzFiOGM2NDIzYTYxYjM5Mzk4NDQxZjRkZDAuLjMxMDhjZGJkZTVkOGI1YTQ3M2M1Njhk
NGVjN2QzNWZiYzMxM2UyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRUYXJnZXQuY3BwCkBAIC0xMDAsNiArMTAwLDExIEBACiAjaW5jbHVkZSAiRmlsZVJlYWRlci5o
IgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2luY2x1ZGUgIkdlbmVyYXRl
ZFN0cmVhbS5oIgorI2luY2x1ZGUgIlN0cmVhbS5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFj
ZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE4OSw2ICsxOTQsMTQgQEAgSlNWYWx1
ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
RXZlbnRUYXJnZXQqIHRhcmcKICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0
LCBmaWxlUmVhZGVyKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBp
ZiAoR2VuZXJhdGVkU3RyZWFtKiBnZW5lcmF0ZWRTdHJlYW0gPSB0YXJnZXQtPnRvR2VuZXJhdGVk
U3RyZWFtKCkpCisgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgZ2VuZXJh
dGVkU3RyZWFtKTsKKworICAgIGlmIChTdHJlYW0qIHN0cmVhbSA9IHRhcmdldC0+dG9TdHJlYW0o
KSkKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJlYW0pOworI2Vu
ZGlmCisKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4ganNOdWxsKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAppbmRleCBlMmY4
OTZiOTk5ZWFlM2E0ZTNhNDdmYTI4NDMxN2Y1NzgyMDRhZGIzLi4wYjI5MGNjNWJjZDQwODU0OGU5
MTA3ODQ2ZDVmYTY4NTk1NmEyMDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERPTVdyYXBwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV3JhcHBlci5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJWOEV2ZW50U291cmNl
LmgiCiAjaW5jbHVkZSAiVjhGaWxlUmVhZGVyLmgiCiAjaW5jbHVkZSAiVjhGaWxlV3JpdGVyLmgi
CisjaW5jbHVkZSAiVjhHZW5lcmF0ZWRTdHJlYW0uaCIKICNpbmNsdWRlICJWOEhUTUxDb2xsZWN0
aW9uLmgiCiAjaW5jbHVkZSAiVjhIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJWOElEQkRhdGFi
YXNlLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2luY2x1ZGUg
IlY4U2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiVjhTaGFyZWRXb3JrZXJDb250ZXh0LmgiCisj
aW5jbHVkZSAiVjhTdHJlYW0uaCIKICNpbmNsdWRlICJWOFN0eWxlU2hlZXQuaCIKICNpbmNsdWRl
ICJWOFdlYlNvY2tldC5oIgogI2luY2x1ZGUgIlY4V29ya2VyLmgiCkBAIC00NDgsNiArNDUwLDE0
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdyYXBwZXI6OmNvbnZlcnRFdmVudFRhcmdl
dFRvVjhPYmplY3QoRXZlbnRUYXJnZXQqIHRhCiAgICAgICAgIHJldHVybiB0b1Y4KGF1ZGlvQ29u
dGV4dCk7CiAjZW5kaWYgICAgCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGlmIChH
ZW5lcmF0ZWRTdHJlYW0qIGdlbmVyYXRlZFN0cmVhbSA9IHRhcmdldC0+dG9HZW5lcmF0ZWRTdHJl
YW0oKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoZ2VuZXJhdGVkU3RyZWFtKTsKKworICAgIGlmIChT
dHJlYW0qIHN0cmVhbSA9IHRhcmdldC0+dG9TdHJlYW0oKSkKKyAgICAgICAgcmV0dXJuIHRvVjgo
c3RyZWFtKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUKDApOwogICAgIHJldHVybiBub3RIYW5kbGVk
QnlJbnRlcmNlcHRvcigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFs
bEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKaW5kZXggZGYx
MDEzOGY2NDE1M2FlMGE0YTIzMGQxNGQzYTc4YTQ2YzRkYWMwZS4uZTA5MWU5ZjIxNTVmMDRjM2Mx
YWYzNTc1YWZhYzUxZTllYmU2OGYzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RP
TUFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCkBA
IC03NSw2ICs3NSw3IEBACiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuY3BwIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkJhc2UuY3BwIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuY3BwIgorI2luY2x1ZGUg
IkdlbmVyYXRlZFN0cmVhbS5jcHAiCiAjaW5jbHVkZSAiSWNvblVSTC5jcHAiCiAjaW5jbHVkZSAi
S2V5Ym9hcmRFdmVudC5jcHAiCiAjaW5jbHVkZSAiTWVzc2FnZUNoYW5uZWwuY3BwIgpAQCAtMTE0
LDYgKzExNSw3IEBACiAjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5jcHAiCiAjaW5jbHVkZSAi
U3RhdGljSGFzaFNldE5vZGVMaXN0LmNwcCIKICNpbmNsdWRlICJTdGF0aWNOb2RlTGlzdC5jcHAi
CisjaW5jbHVkZSAiU3RyZWFtLmNwcCIKICNpbmNsdWRlICJTdHlsZUVsZW1lbnQuY3BwIgogI2lu
Y2x1ZGUgIlN0eWxlZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIlRhZ05vZGVMaXN0LmNwcCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IDdjMDU4YzIzZmRhZmMwMGNjMmJmNTVmOGNj
NWFhNzZiMGVlZDNkY2EuLjViYjMyYzZkNDMyNGU4ZjNmNjY2YjNjZmY3NzVkZGJhMTJiZDM3NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtMjA1LDYgKzIwNSwxOCBAQCBJREJW
ZXJzaW9uQ2hhbmdlUmVxdWVzdCogRXZlbnRUYXJnZXQ6OnRvSURCVmVyc2lvbkNoYW5nZVJlcXVl
c3QoKQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyZWFtKiBFdmVu
dFRhcmdldDo6dG9TdHJlYW0oKQoreworICAgIHJldHVybiAwOworfQorCitHZW5lcmF0ZWRTdHJl
YW0qIEV2ZW50VGFyZ2V0Ojp0b0dlbmVyYXRlZFN0cmVhbSgpCit7CisgICAgcmV0dXJuIDA7Cit9
CisjZW5kaWYKKwogYm9vbCBFdmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciwg
Ym9vbCB1c2VDYXB0dXJlKQogewogICAgIEV2ZW50VGFyZ2V0RGF0YSogZCA9IGVuc3VyZUV2ZW50
VGFyZ2V0RGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCA2OTZiZTg4ZTJlYmUx
ZjNmMDJkMDA1ZjU3ODk0ZWVkNzE3NzhkNjJmLi5hNTJlYzUwZWQ3ZWNjYWZlNDZhYjA5Y2MwNjA1
ZTVkMjNjMmY3NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtNDksNiArNDksNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnRTb3VyY2U7CiAgICAgY2xhc3Mg
RmlsZVJlYWRlcjsKICAgICBjbGFzcyBGaWxlV3JpdGVyOworICAgIGNsYXNzIEdlbmVyYXRlZFN0
cmVhbTsKICAgICBjbGFzcyBJREJEYXRhYmFzZTsKICAgICBjbGFzcyBJREJSZXF1ZXN0OwogICAg
IGNsYXNzIElEQlRyYW5zYWN0aW9uOwpAQCAtNjEsNiArNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBTaGFyZWRX
b3JrZXI7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyQ29udGV4dDsKKyAgICBjbGFzcyBTdHJlYW07
CiAgICAgY2xhc3MgV2ViU29ja2V0OwogICAgIGNsYXNzIFdvcmtlcjsKICAgICBjbGFzcyBYTUxI
dHRwUmVxdWVzdDsKQEAgLTE0Nyw2ICsxNDksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0KiB0b0lEQlZlcnNpb25DaGFuZ2VS
ZXF1ZXN0KCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgICAgIHZp
cnR1YWwgU3RyZWFtKiB0b1N0cmVhbSgpOworICAgICAgICB2aXJ0dWFsIEdlbmVyYXRlZFN0cmVh
bSogdG9HZW5lcmF0ZWRTdHJlYW0oKTsKKyNlbmRpZgorCiAgICAgICAgIHZpcnR1YWwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0ID0gMDsKIAog
ICAgICAgICB2aXJ0dWFsIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiwgYm9vbCB1c2VDYXB0dXJlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE1YzhjZTcw
YjVhOWIzYTI5Nzc2Yzg0YjUzM2IzMzkzMjZjODQ1MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwCkBAIC0wLDAgKzEsMTEyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR2VuZXJhdGVkU3RyZWFt
LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgR2VuZXJhdGVkU3RyZWFtOjpEaXNwYXRjaFVwZGF0ZVRhc2sgOiBw
dWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CitwdWJsaWM6CisgICAgdHlwZWRl
ZiB2b2lkIChHZW5lcmF0ZWRTdHJlYW06OipDYWxsYmFjaykoKTsKKworICAgIHN0YXRpYyBQYXNz
T3duUHRyPERpc3BhdGNoVXBkYXRlVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8R2VuZXJhdGVkU3Ry
ZWFtPiBvYmplY3QsIENhbGxiYWNrIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBEaXNwYXRjaFVwZGF0ZVRhc2sob2JqZWN0LCBjYWxsYmFjaykpOworICAgIH0K
KworICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikK
KyAgICB7CisgICAgICAgIChtX29iamVjdC5nZXQoKS0+Km1fY2FsbGJhY2spKCk7CisgICAgfQor
CitwdWJsaWM6CisgICAgRGlzcGF0Y2hVcGRhdGVUYXNrKFBhc3NSZWZQdHI8R2VuZXJhdGVkU3Ry
ZWFtPiBvYmplY3QsIENhbGxiYWNrIGNhbGxiYWNrKQorICAgICAgICA6IG1fb2JqZWN0KG9iamVj
dCkKKyAgICAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKSB7IH0KKworICAgIFJlZlB0cjxHZW5l
cmF0ZWRTdHJlYW0+IG1fb2JqZWN0OworICAgIENhbGxiYWNrIG1fY2FsbGJhY2s7Cit9OworCitQ
YXNzUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gR2VuZXJhdGVkU3RyZWFtOjpjcmVhdGUoTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJl
bCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdlbmVyYXRlZFN0cmVhbShmcmFtZUNvbnRy
b2xsZXIsIGxhYmVsKSk7Cit9CisKK0dlbmVyYXRlZFN0cmVhbTo6R2VuZXJhdGVkU3RyZWFtKE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0cmluZyYg
bGFiZWwpCisgICAgOiBTdHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCwgdHJ1ZSkKK3sKK30K
KworR2VuZXJhdGVkU3RyZWFtOjp+R2VuZXJhdGVkU3RyZWFtKCkKK3sKK30KKworR2VuZXJhdGVk
U3RyZWFtKiBHZW5lcmF0ZWRTdHJlYW06OnRvR2VuZXJhdGVkU3RyZWFtKCkKK3sKKyAgICByZXR1
cm4gdGhpczsKK30KKwordm9pZCBHZW5lcmF0ZWRTdHJlYW06OmRldGFjaEVtYmVkZGVyKCkKK3sK
KyAgICAvLyBBc3N1bWluZyB3ZSBzaG91bGQgc3RvcCBhbnkgbGl2ZSBzdHJlYW1zIHdoZW4gbG9z
aW5nIGFjY2VzcyB0byB0aGUgZW1iZWRkZXIuCisgICAgaWYgKG1fcmVhZHlTdGF0ZSAhPSBFTkRF
RCkKKyAgICAgICAgc3RvcCgpOworCisgICAgU3RyZWFtOjpkZXRhY2hFbWJlZGRlcigpOworfQor
Cit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6c3RvcCgpCit7CisgICAgaWYgKCFtZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlcigpIHx8IG1fcmVhZHlTdGF0ZSA9PSBFTkRFRCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgbWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+c3RvcEdlbmVyYXRlZFN0cmVh
bShsYWJlbCgpKTsKKworICAgIG1fcmVhZHlTdGF0ZSA9IEVOREVEOworCisgICAgLy8gRG9uJ3Qg
YXNzZXJ0IHNpbmNlIGl0IGNhbiBiZSBudWxsIGluIGRlZ2VuZXJhdGUgY2FzZXMgbGlrZSBmcmFt
ZXMgZGV0YWNoZWQgZnJvbSB0aGVpciBwYWdlcy4KKyAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+aXNDb250ZXh0VGhyZWFkKCkpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+cG9zdFRhc2soRGlzcGF0Y2hVcGRhdGVUYXNrOjpjcmVhdGUodGhpcywgJkdlbmVyYXRlZFN0
cmVhbTo6b25TdG9wKSk7Cit9CisKK3ZvaWQgR2VuZXJhdGVkU3RyZWFtOjpvblN0b3AoKQorewor
ICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZW5kZWRFdmVudCwg
ZmFsc2UsIGZhbHNlKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2Vu
ZXJhdGVkU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDRiMjVlMGM4NzQ2MTA2YjExYTNlYWJhNjNjYjg1YTNjNjViZjVlNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uaApAQCAtMCww
ICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEdlbmVyYXRlZFN0cmVhbV9oCisjZGVm
aW5lIEdlbmVyYXRlZFN0cmVhbV9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5j
bHVkZSAiU3RyZWFtLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBHZW5lcmF0ZWRTdHJlYW0gOiBwdWJsaWMgU3RyZWFtIHsKK3B1Ymxp
YzoKKyAgICAvLyBGSVhNRTogYWRkIGF1ZGlvIGFuZCB2aWRlbyB0cmFja3Mgd2hlbiBhdmFpbGFi
bGUuCisgICAgc3RhdGljIFBhc3NSZWZQdHI8R2VuZXJhdGVkU3RyZWFtPiBjcmVhdGUoTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsKTsKKyAgICB2aXJ0dWFs
IH5HZW5lcmF0ZWRTdHJlYW0oKTsKKworICAgIHZvaWQgc3RvcCgpOworCisgICAgLy8gTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXI6OlN0cmVhbUNsaWVudCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2
aXJ0dWFsIHZvaWQgZGV0YWNoRW1iZWRkZXIoKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0LgorICAg
IHZpcnR1YWwgR2VuZXJhdGVkU3RyZWFtKiB0b0dlbmVyYXRlZFN0cmVhbSgpOworCitwcml2YXRl
OgorICAgIEdlbmVyYXRlZFN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0
IFN0cmluZyYgbGFiZWwpOworICAgIGNsYXNzIERpc3BhdGNoVXBkYXRlVGFzazsKKyAgICBmcmll
bmQgY2xhc3MgRGlzcGF0Y2hVcGRhdGVUYXNrOworCisgICAgdm9pZCBvblN0b3AoKTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
CisKKyNlbmRpZiAvLyBHZW5lcmF0ZWRTdHJlYW1faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVk
U3RyZWFtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzhkNmMwZjY1ZjRkZDUxZTJjMDY3Y2ExYjBjZTBlMTlm
YzJmZjNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0
cmVhbS5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgewor
ICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAg
ICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCisgICAgICAgIEV2ZW50VGFyZ2V0CisgICAgXSBH
ZW5lcmF0ZWRTdHJlYW0gOiBTdHJlYW0geworICAgICAgICB2b2lkIHN0b3AoKTsKKworICAgICAg
ICAvLyBGSVhNRTogaW1wbGVtZW50IGF1ZGlvIGFuZCB2aWRlbyB0cmFja3Mgd2hlbiBhdmFpbGFi
bGUuCisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTllYTlmZWJj
MzExY2UwNjAyOTkwODZmNmYzNTA0YzY5MGRiMGJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1N0cmVhbS5jcHAKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAq
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN0cmVhbS5oIgorCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8U3RyZWFt
PiBTdHJlYW06OmNyZWF0ZShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9s
bGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3Ry
ZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwpKTsKK30KKworU3RyZWFtOjpTdHJlYW0oTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJl
bCwgYm9vbCBpc0dlbmVyYXRlZFN0cmVhbSkKKyAgICA6IFN0cmVhbUNsaWVudChmcmFtZUNvbnRy
b2xsZXIsIGxhYmVsLCBpc0dlbmVyYXRlZFN0cmVhbSkKKyAgICAsIG1fcmVhZHlTdGF0ZShMSVZF
KQoreworfQorCitTdHJlYW06On5TdHJlYW0oKQoreworfQorCitTdHJlYW0qIFN0cmVhbTo6dG9T
dHJlYW0oKQoreworICAgIHJldHVybiB0aGlzOworfQorCit2b2lkIFN0cmVhbTo6c3RyZWFtRW5k
ZWQoKQoreworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gRU5ERUQpCisgICAgICAgIHJldHVybjsK
KworICAgIG1fcmVhZHlTdGF0ZSA9IEVOREVEOworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkuZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7Cit9CisKK1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIFN0cmVhbTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCkgPyBtZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlcigpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgOiAwOworfQorCitF
dmVudFRhcmdldERhdGEqIFN0cmVhbTo6ZXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4g
Jm1fZXZlbnRUYXJnZXREYXRhOworfQorCitFdmVudFRhcmdldERhdGEqIFN0cmVhbTo6ZW5zdXJl
RXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFN
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL1N0cmVhbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5ODQ2ZTczNmQ2MzkzMWQ3MWY3Mjc1NjdjOTk3
MjgxYmQ1ODllNmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFt
LmgKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJlYW1faAorI2Rl
ZmluZSBTdHJlYW1faAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIk1lZGlhU3Ry
ZWFtRnJhbWVDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFN0cmVhbSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbT4sCisgICAgICAgICAgICAgICBw
dWJsaWMgRXZlbnRUYXJnZXQsCisgICAgICAgICAgICAgICBwdWJsaWMgTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXI6OlN0cmVhbUNsaWVudCB7CitwdWJsaWM6CisgICAgLy8gTXVzdCBtYXRjaCB0
aGUgY29uc3RhbnRzIGluIHRoZSAuaWRsIGZpbGUuCisgICAgZW51bSB7CisgICAgICAgIExJVkUg
PSAxLAorICAgICAgICBFTkRFRCA9IDIKKyAgICB9OworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8
U3RyZWFtPiBjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcm
IGxhYmVsKTsKKyAgICB2aXJ0dWFsIH5TdHJlYW0oKTsKKworICAgIC8vIEZJWE1FOiBpbXBsZW1l
bnQgdGhlIHJlY29yZCBtZXRob2Qgd2hlbiBTdHJlYW1SZWNvcmRlciBpcyBhdmFpbGFibGUuCisK
KyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlYWR5c3RhdGVjaGFuZ2UpOwor
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZW5kZWQpOworCisgICAgdW5zaWdu
ZWQgc2hvcnQgcmVhZHlTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVhZHlTdGF0ZTsgfQorICAg
IGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBjbGllbnRJZCgpOyB9CisKKyAg
ICAvLyBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6U3RyZWFtQ2xpZW50IGltcGxlbWVudGF0
aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1FbmRlZCgpOworCisgICAgLy8gRXZlbnRUYXJn
ZXQgaW1wbGVtZW50YXRpb24uCisgICAgdmlydHVhbCBTdHJlYW0qIHRvU3RyZWFtKCk7CisgICAg
dmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
Y29uc3Q7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPFN0cmVhbT46OnJlZjsKKyAgICB1c2luZyBS
ZWZDb3VudGVkPFN0cmVhbT46OmRlcmVmOworCitwcm90ZWN0ZWQ6CisgICAgU3RyZWFtKE1lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3RyaW5nJiBsYWJlbCwgYm9vbCBpc0dlbmVy
YXRlZFN0cmVhbSA9IGZhbHNlKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9u
LgorICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKKyAgICB2
aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7CisKKyAgICB1
bnNpZ25lZCBzaG9ydCBtX3JlYWR5U3RhdGU7CisKK3ByaXZhdGU6CisgICAgdm9pZCBvbkVuZGVk
KCk7CisKKyAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZv
aWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigpOyB9CisgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZl
bnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KKworICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFy
Z2V0RGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBTdHJlYW1faApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1N0cmVhbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kZjRiODkwN2I5YmMxMWZhNjYwMGQ3ZmI5NWQ4NjY5MWVmNTczOWU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5pZGwKQEAgLTAsMCArMSw1
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgRXZlbnRUYXJnZXQKKyAgICBd
IFN0cmVhbSB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7Cisg
ICAgICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdGhlIHJlY29yZCBtZXRob2Qgd2hlbiBTdHJlYW1S
ZWNvcmRlciBpcyBhdmFpbGFibGUuCisKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTElW
RSA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVOREVEID0gMjsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHJlYWR5U3RhdGU7CisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKKyAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25lbmRlZDsKKworICAgICAgICAv
LyBFdmVudFRhcmdldCBpbnRlcmZhY2UKKyAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGlu
IERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRM
aXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xl
YW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01T
dHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlz
dGVuZXIgbGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29s
ZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQg
ZXZlbnQpCisgICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNlcHRpb24pOworICAgIH07CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oCmluZGV4IDcyNmViMjY5NjFiZDcxYjJlMTc1ZTgx
MGQ3MmQ0MjcyMDI5ZjRjMzcuLmVkMDBkMzEzZDFjNjY5NjZlOTMwYzlhMDUxYWNjNjZjYTZhYjY5
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaApAQCAtNTEsNiArNTEsOCBAQCBwdWJs
aWM6CiAKICAgICBjbGFzcyBTY2hlZHVsZXIgewogICAgIHB1YmxpYzoKKyAgICAgICAgdmlydHVh
bCB+U2NoZWR1bGVyKCkgeyB9CisKICAgICAgICAgYm9vbCBzY2hlZHVsZUNhbGxiYWNrKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8QXJndW1lbnRUeXBlPiBkYXRh
KQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoY29udGV4dCkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9NZWRpYVN0cmVhbUNsaWVudC5oCmluZGV4IGU3YjUxNGM3MzY5ZjhiZmIwMzM4NDc5MGUyMTFl
MWUzYWRmYzFkMzAuLjFkMGViYjBiYTJlMDU2YzljN2IzNTBkOWVhYjUyMGNkYmNhODVkMmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ2xpZW50LmgKQEAgLTQ5LDYgKzQ5LDkgQEAg
cHVibGljOgogICAgIC8vIEdlbmVyYXRlIGEgbmV3IGxvY2FsIHN0cmVhbS4KICAgICB2aXJ0dWFs
IHZvaWQgZ2VuZXJhdGVTdHJlYW0oaW50IHJlcXVlc3RJZCwgR2VuZXJhdGVTdHJlYW1PcHRpb25G
bGFncywgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4pID0gMDsKIAorICAgIC8vIFN0b3AgYSBn
ZW5lcmF0ZWQgc3RyZWFtLgorICAgIHZpcnR1YWwgdm9pZCBzdG9wR2VuZXJhdGVkU3RyZWFtKGNv
bnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
fk1lZGlhU3RyZWFtQ2xpZW50KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRp
YVN0cmVhbUNvbnRyb2xsZXIuY3BwCmluZGV4IGY5OTkzMjNmNWEzMmI1YTE1ZjdlMDkwMDA3MDM4
Y2NmNmUzNzc5YmMuLjhjMTJkY2FjYWQzMzYzZGExMDZjZDE2YThjMDM4MzgzZGZiZjkzZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKQEAgLTEx
Miw2ICsxMTIsMTEgQEAgdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OmdlbmVyYXRlU3RyZWFt
KE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnQKICAgICBtX2NsaWVudC0+Z2Vu
ZXJhdGVTdHJlYW0oY29udHJvbGxlclJlcXVlc3RJZCwgZmxhZ3MsIHNlY3VyaXR5T3JpZ2luKTsK
IH0KIAordm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0b3BHZW5lcmF0ZWRTdHJlYW0oY29u
c3QgU3RyaW5nJiBzdHJlYW1MYWJlbCkKK3sKKyAgICBtX2NsaWVudC0+c3RvcEdlbmVyYXRlZFN0
cmVhbShzdHJlYW1MYWJlbCk7Cit9CisKIHZvaWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzdHJl
YW1HZW5lcmF0ZWQoaW50IGNvbnRyb2xsZXJSZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgc3RyZWFt
TGFiZWwpCiB7CiAgICAgLy8gRG9uJ3QgYXNzZXJ0IHNpbmNlIHRoZSBmcmFtZSBjb250cm9sbGVy
IGNhbiBoYXZlIGJlZW4gZGVzdHJveWVkIHdoaWxlIHRoZSByZXF1ZXN0IHJlcGx5IHdhcyBjb21p
bmcgYmFjay4KQEAgLTEzNCw2ICsxMzksMTMgQEAgdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6
OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQoaW50IGNvbnRyb2xsZXJSZXF1ZXN0SWQsIE5hdmkKICAg
ICB9CiB9CiAKK3ZvaWQgTWVkaWFTdHJlYW1Db250cm9sbGVyOjpzdHJlYW1GYWlsZWQoY29uc3Qg
U3RyaW5nJiBzdHJlYW1MYWJlbCkKK3sKKyAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGZy
YW1lIGNvbnRyb2xsZXIgY2FuIGhhdmUgYmVlbiBkZXN0cm95ZWQgYnkgdGhlIHRpbWUgdGhpcyBp
cyBjYWxsZWQuCisgICAgaWYgKG1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1MYWJlbCkpCisgICAg
ICAgIG1fc3RyZWFtcy5nZXQoc3RyZWFtTGFiZWwpLT5zdHJlYW1GYWlsZWQoc3RyZWFtTGFiZWwp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmgKaW5k
ZXggN2IyOTM4YTI5ZTYwMDE2MGJjZDVkMDk5NTBmNDlkZTEyMTc5YjdlMy4uNzIyMTkyYjMyMWJh
ZTNmOGE1NGJhNTBmZWU4YzgwNmVkNTEzYWFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01l
ZGlhU3RyZWFtQ29udHJvbGxlci5oCkBAIC01MCw5ICs1MCwxMSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB1bnJlZ2lzdGVyRnJhbWVDb250cm9sbGVyKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKik7
CiAKICAgICB2b2lkIGdlbmVyYXRlU3RyZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwg
aW50IHJlcXVlc3RJZCwgR2VuZXJhdGVTdHJlYW1PcHRpb25GbGFncywgUGFzc1JlZlB0cjxTZWN1
cml0eU9yaWdpbj4pOworICAgIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcm
IHN0cmVhbUxhYmVsKTsKIAogICAgIHZvaWQgc3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQs
IGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOwogICAgIHZvaWQgc3RyZWFtR2VuZXJhdGlvbkZh
aWxlZChpbnQgcmVxdWVzdElkLCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6RXJyb3JDb2RlKTsK
KyAgICB2b2lkIHN0cmVhbUZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKTsKIAogcHJp
dmF0ZToKICAgICBpbnQgcmVnaXN0ZXJSZXF1ZXN0KGludCBsb2NhbFJlcXVlc3RJZCwgTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAKaW5kZXggYmRhMjdjMDBmNTAxNDA3ZGI2ODM4NmU2
NGZlM2YyNzNkNzRmMTFiYy4uMmM4MDA2YTVhYzFkZGM5MTA4NTcxMDUyNjQ3ZWNhMzM4NzRjYzQy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiR2VuZXJhdGVk
U3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIk5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgpAQCAtNDIsOSArNDMsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6UmVxdWVzdCA6IHB1Ymxp
YyBSZWZDb3VudGVkPFJlcXVlc3Q+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXF1ZXN0
KTsKIHB1YmxpYzoKLSAgICBSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpCi0gICAgICAgIDogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQpIHsgfQotCiAgICAgdmlydHVhbCB+UmVxdWVzdCgpIHsgfQogCiAg
ICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0
IHsgcmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsgfQpAQCAtNTMsNiArNTEsMTAgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFib3J0KCkgPSAwOwogCitwcm90ZWN0ZWQ6Cisg
ICAgUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KQorICAgICAgICA6IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChzY3JpcHRFeGVjdXRpb25Db250
ZXh0KSB7IH0KKwogcHJpdmF0ZToKICAgICAvLyBUaGlzIGlzIGd1YXJhbnRlZWQgdG8gaGF2ZSB0
aGUgbGlmZXRpbWUgb2YgdGhlIEZyYW1lLCBhbmQgaXQncyBvbmx5IHVzZWQgdG8gbWFrZQogICAg
IC8vIHRoZSBjYWxsYmFjayBhc3luY2hyb25vdXMuIFRoZSBvcmlnaW5hbCBjYWxsYmFjayBjb250
ZXh0IGlzIHVzZWQgaW4gdGhlIGNhbGwuCkBAIC02MiwxMiArNjQsMTIgQEAgcHJpdmF0ZToKIGNs
YXNzIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpHZW5lcmF0ZVN0cmVhbVJlcXVlc3QgOiBw
dWJsaWMgUmVxdWVzdCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VuZXJhdGVTdHJlYW1S
ZXF1ZXN0KTsKIHB1YmxpYzoKLSAgICBHZW5lcmF0ZVN0cmVhbVJlcXVlc3QoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nl
c3NDYWxsYmFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQotICAgICAgICA6IFJlcXVl
c3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKLSAgICAgICAgLCBtX3N1Y2Nlc3NDYWxsYmFjayhz
dWNjZXNzQ2FsbGJhY2spCi0gICAgICAgICwgbV9lcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2sp
IHsgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdlbmVyYXRlU3RyZWFtUmVxdWVzdD4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRy
PE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdlbmVyYXRlU3RyZWFtUmVxdWVzdChzY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKTsKKyAgICB9
CiAKICAgICB2aXJ0dWFsIH5HZW5lcmF0ZVN0cmVhbVJlcXVlc3QoKSB7IH0KIApAQCAtNzYsNyAr
NzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFib3J0KCkKICAgICB7CiAgICAgICAg
IGlmIChtX2Vycm9yQ2FsbGJhY2spIHsKLSAgICAgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvcj4gZXJyb3IgPSBhZG9wdFJlZihuZXcgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Io
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6OlBFUk1JU1NJT05fREVOSUVEKSk7CisgICAgICAgICAg
ICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I+IGVycm9yID0gTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3I6OmNyZWF0ZShOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6UEVSTUlTU0lPTl9ERU5J
RUQpOwogICAgICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIGl0c2VsZiBpcyBtYWRlIHdpdGggdGhl
IEpTIGNhbGxiYWNrJ3MgY29udGV4dCwgbm90IHdpdGggdGhlIGZyYW1lJ3MgY29udGV4dC4KICAg
ICAgICAgICAgIG1fZXJyb3JDYWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIGVycm9yKTsKICAgICAgICAgfQpAQCAtODYsNiArODgsMTMgQEAgcHVibGlj
OgogICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JD
YWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JDYWxsYmFjazsgfQogCiBwcml2YXRlOgor
ICAgIEdlbmVyYXRlU3RyZWFtUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2s+IGVycm9yQ2FsbGJhY2spCisgICAgICAgIDogUmVxdWVzdChzY3JpcHRFeGVjdXRpb25D
b250ZXh0KQorICAgICAgICAsIG1fc3VjY2Vzc0NhbGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykKKyAg
ICAgICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFjaykgeyB9CisKICAgICBSZWZQdHI8
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBtX3N1Y2Nlc3NDYWxsYmFjazsKICAg
ICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gbV9lcnJvckNhbGxiYWNr
OwogfTsKQEAgLTE1Miw5ICsxNjEsMjQgQEAgTWVkaWFTdHJlYW1Db250cm9sbGVyKiBNZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlcjo6cGFnZUNvbnRyb2xsZXIoKSBjb25zdAogdm9pZCBNZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlcjo6dW5yZWdpc3RlcihTdHJlYW1DbGllbnQqIGNsaWVudCkKIHsK
ICAgICBBU1NFUlQobV9zdHJlYW1zLmNvbnRhaW5zKGNsaWVudC0+Y2xpZW50SWQoKSkpOworCisg
ICAgLy8gQXNzdW1pbmcgd2Ugc2hvdWxkIHN0b3AgYW55IGxpdmUgc3RyZWFtcyB3aGVuIGxvc2lu
ZyBhY2Nlc3MgdG8gdGhlIGVtYmVkZGVyLgorICAgIGlmIChjbGllbnQtPmlzR2VuZXJhdGVkU3Ry
ZWFtKCkpIHsKKyAgICAgICAgR2VuZXJhdGVkU3RyZWFtKiBzdHJlYW0gPSBzdGF0aWNfY2FzdDxH
ZW5lcmF0ZWRTdHJlYW0qPihjbGllbnQpOworICAgICAgICBpZiAoc3RyZWFtLT5yZWFkeVN0YXRl
KCkgPT0gU3RyZWFtOjpMSVZFKQorICAgICAgICAgICAgc3RvcEdlbmVyYXRlZFN0cmVhbShzdHJl
YW0tPmxhYmVsKCkpOworICAgIH0KKwogICAgIG1fc3RyZWFtcy5yZW1vdmUoY2xpZW50LT5jbGll
bnRJZCgpKTsKIH0KIAorU3RyZWFtKiBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Z2V0U3Ry
ZWFtRnJvbUxhYmVsKGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0Cit7CisgICAgQVNTRVJUKG1f
c3RyZWFtcy5jb250YWlucyhsYWJlbCkpOworICAgIEFTU0VSVChtX3N0cmVhbXMuZ2V0KGxhYmVs
KS0+aXNTdHJlYW0oKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cmVhbSo+KG1fc3RyZWFt
cy5nZXQobGFiZWwpKTsKK30KKwogdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6ZW50
ZXJEZXRhY2hlZFN0YXRlKCkKIHsKICAgICBpZiAobV9pc0luRGV0YWNoZWRTdGF0ZSkgewpAQCAt
MjUzLDcgKzI3Nyw3IEBAIHZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmdlbmVyYXRl
U3RyZWFtKGNvbnN0IFN0cmluZyYgb3B0aW9ucywKICAgICB9CiAKICAgICBpbnQgcmVxdWVzdElk
ID0gbV9yZXF1ZXN0cy5nZXROZXh0SWQoKTsKLSAgICBtX3JlcXVlc3RzLmFkZChyZXF1ZXN0SWQs
IGFkb3B0UmVmKG5ldyBHZW5lcmF0ZVN0cmVhbVJlcXVlc3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKSk7CisgICAgbV9yZXF1ZXN0cy5h
ZGQocmVxdWVzdElkLCBHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpOwogCiAgICAgaWYg
KCFpc0NsaWVudEF2YWlsYWJsZSgpKSB7CiAgICAgICAgIC8vIFRoaXMgbWFrZXMgc3VyZSB0byBj
YWxsIHRoZSBlcnJvciBjYWxsYmFjayBpZiBwcm92aWRlZC4KQEAgLTI2NCwzNCArMjg4LDU0IEBA
IHZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmdlbmVyYXRlU3RyZWFtKGNvbnN0IFN0
cmluZyYgb3B0aW9ucywKICAgICBwYWdlQ29udHJvbGxlcigpLT5nZW5lcmF0ZVN0cmVhbSh0aGlz
LCByZXF1ZXN0SWQsIGZsYWdzLCBzZWN1cml0eU9yaWdpbigpKTsKIH0KIAordm9pZCBNZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlcjo6c3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0
cmVhbUxhYmVsKQoreworICAgIEFTU0VSVChtX3N0cmVhbXMuY29udGFpbnMoc3RyZWFtTGFiZWwp
KTsKKyAgICBBU1NFUlQobV9zdHJlYW1zLmdldChzdHJlYW1MYWJlbCktPmlzR2VuZXJhdGVkU3Ry
ZWFtKCkpOworCisgICAgaWYgKGlzQ2xpZW50QXZhaWxhYmxlKCkpCisgICAgICAgIHBhZ2VDb250
cm9sbGVyKCktPnN0b3BHZW5lcmF0ZWRTdHJlYW0oc3RyZWFtTGFiZWwpOworfQorCiB2b2lkIE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwg
Y29uc3QgU3RyaW5nJiBsYWJlbCkKIHsKICAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIHJl
cXVlc3QgY2FuIGhhdmUgYmVlbiBhYm9ydGVkIGFzIGEgcmVzdWx0IG9mIGVtYmVkZGVyIGRldGFj
aG1lbnQuCi0gICAgaWYgKG1fcmVxdWVzdHMuY29udGFpbnMocmVxdWVzdElkKSkgewotICAgICAg
ICBBU1NFUlQobV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS0+aXNHZW5lcmF0ZVN0cmVhbVJlcXVl
c3QoKSk7Ci0gICAgICAgIEFTU0VSVCghbGFiZWwuaXNOdWxsKCkpOworICAgIGlmICghbV9yZXF1
ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKQorICAgICAgICByZXR1cm47CiAKLSAgICAgICAgLy8g
RklYTUU6IGNyZWF0ZSBhIEdlbmVyYXRlZFN0cmVhbSBvYmplY3QgYW5kIGludm9rZSB0aGUgY2Fs
bGJhY2sgd2hlbiB0aGUgY2xhc3MgaXMgYXZhaWxhYmxlLgotICAgICAgICBtX3JlcXVlc3RzLnJl
bW92ZShyZXF1ZXN0SWQpOwotICAgIH0KKyAgICBBU1NFUlQobV9yZXF1ZXN0cy5nZXQocmVxdWVz
dElkKS0+aXNHZW5lcmF0ZVN0cmVhbVJlcXVlc3QoKSk7CisgICAgQVNTRVJUKCFsYWJlbC5pc051
bGwoKSk7CisKKyAgICBSZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBzdHJlYW1SZXF1ZXN0
ID0gc3RhdGljX2Nhc3Q8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0Kj4obV9yZXF1ZXN0cy5nZXQocmVx
dWVzdElkKS5nZXQoKSk7CisgICAgUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gZ2VuZXJhdGVkU3Ry
ZWFtID0gR2VuZXJhdGVkU3RyZWFtOjpjcmVhdGUodGhpcywgbGFiZWwpOworICAgIG1fc3RyZWFt
cy5hZGQobGFiZWwsIGdlbmVyYXRlZFN0cmVhbS5nZXQoKSk7CisgICAgbV9yZXF1ZXN0cy5yZW1v
dmUocmVxdWVzdElkKTsKKyAgICBzdHJlYW1SZXF1ZXN0LT5zdWNjZXNzQ2FsbGJhY2soKS0+aGFu
ZGxlRXZlbnQoZ2VuZXJhdGVkU3RyZWFtLmdldCgpKTsKIH0KIAogdm9pZCBNZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVzdElkLCBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcjo6RXJyb3JDb2RlIGNvZGUpCiB7CiAgICAgLy8gRG9uJ3QgYXNz
ZXJ0IHNpbmNlIHRoZSByZXF1ZXN0IGNhbiBoYXZlIGJlZW4gYWJvcnRlZCBhcyBhIHJlc3VsdCBv
ZiBlbWJlZGRlciBkZXRhY2htZW50LgotICAgIGlmIChtX3JlcXVlc3RzLmNvbnRhaW5zKHJlcXVl
c3RJZCkpIHsKLSAgICAgICAgQVNTRVJUKG1fcmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCktPmlzR2Vu
ZXJhdGVTdHJlYW1SZXF1ZXN0KCkpOworICAgIGlmICghbV9yZXF1ZXN0cy5jb250YWlucyhyZXF1
ZXN0SWQpKQorICAgICAgICByZXR1cm47CiAKLSAgICAgICAgUmVmUHRyPEdlbmVyYXRlU3RyZWFt
UmVxdWVzdD4gc3RyZWFtUmVxdWVzdCA9IHN0YXRpY19jYXN0PEdlbmVyYXRlU3RyZWFtUmVxdWVz
dCo+KG1fcmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCkuZ2V0KCkpOwotICAgICAgICBtX3JlcXVlc3Rz
LnJlbW92ZShyZXF1ZXN0SWQpOworICAgIEFTU0VSVChtX3JlcXVlc3RzLmdldChyZXF1ZXN0SWQp
LT5pc0dlbmVyYXRlU3RyZWFtUmVxdWVzdCgpKTsKIAotICAgICAgICBpZiAoc3RyZWFtUmVxdWVz
dC0+ZXJyb3JDYWxsYmFjaygpKSB7Ci0gICAgICAgICAgICBSZWZQdHI8TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3I+IGVycm9yID0gYWRvcHRSZWYobmV3IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKGNv
ZGUpKTsKLSAgICAgICAgICAgIHN0cmVhbVJlcXVlc3QtPmVycm9yQ2FsbGJhY2soKS0+aGFuZGxl
RXZlbnQoZXJyb3IuZ2V0KCkpOwotICAgICAgICB9CisgICAgUmVmUHRyPEdlbmVyYXRlU3RyZWFt
UmVxdWVzdD4gc3RyZWFtUmVxdWVzdCA9IHN0YXRpY19jYXN0PEdlbmVyYXRlU3RyZWFtUmVxdWVz
dCo+KG1fcmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCkuZ2V0KCkpOworICAgIG1fcmVxdWVzdHMucmVt
b3ZlKHJlcXVlc3RJZCk7CisKKyAgICBpZiAoc3RyZWFtUmVxdWVzdC0+ZXJyb3JDYWxsYmFjaygp
KSB7CisgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4gZXJyb3IgPSBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcjo6Y3JlYXRlKGNvZGUpOworICAgICAgICBzdHJlYW1SZXF1ZXN0
LT5lcnJvckNhbGxiYWNrKCktPmhhbmRsZUV2ZW50KGVycm9yLmdldCgpKTsKICAgICB9CiB9CiAK
K3ZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnN0cmVhbUZhaWxlZChjb25zdCBTdHJp
bmcmIGxhYmVsKQoreworICAgIGdldFN0cmVhbUZyb21MYWJlbChsYWJlbCktPnN0cmVhbUVuZGVk
KCk7Cit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1F
RElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXIuaAppbmRleCA0OTQ2MWE5N2MzNWU2ODcxMjM2YTFiNjZmZjcyYTZhMmI1OGRlNjRj
Li5jYzAzMzFmYTRkMDYyZjJhZmI0MjNkNWU5NTE1ODQ2NWUxZmE3N2MwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oCkBAIC0zOCwxMiAr
MzgsMTQgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CitjbGFzcyBHZW5l
cmF0ZWRTdHJlYW07CiBjbGFzcyBNZWRpYVN0cmVhbUNvbnRyb2xsZXI7CiBjbGFzcyBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOwogY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrOwogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBj
bGFzcyBTZWN1cml0eU9yaWdpbjsKK2NsYXNzIFN0cmVhbTsKIAogY2xhc3MgTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhU3RyZWFtRnJh
bWVDb250cm9sbGVyKTsKQEAgLTEwMSwxNiArMTAzLDIzIEBAIHB1YmxpYzoKIAogICAgIGNsYXNz
IFN0cmVhbUNsaWVudCA6IHB1YmxpYyBDbGllbnRCYXNlPFN0cmluZz4gewogICAgIHB1YmxpYzoK
LSAgICAgICAgU3RyZWFtQ2xpZW50KE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNv
bnRyb2xsZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwpIDogQ2xpZW50QmFzZTxTdHJpbmc+KGZyYW1l
Q29udHJvbGxlciwgbGFiZWwpIHsgfQorICAgICAgICBTdHJlYW1DbGllbnQoTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCwgYm9v
bCBpc0dlbmVyYXRlZFN0cmVhbSkKKyAgICAgICAgICAgIDogQ2xpZW50QmFzZTxTdHJpbmc+KGZy
YW1lQ29udHJvbGxlciwgbGFiZWwpCisgICAgICAgICAgICAsIG1faXNHZW5lcmF0ZWRTdHJlYW0o
aXNHZW5lcmF0ZWRTdHJlYW0pIHsgfQorCiAgICAgICAgIHZpcnR1YWwgflN0cmVhbUNsaWVudCgp
IHsgdW5yZWdpc3RlcigpOyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIGlzU3RyZWFtKCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAgICAgIC8vIEFjY2Vzc2VkIGJ5IHRoZSBkZXN0cnVj
dG9yLgorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNHZW5lcmF0ZWRTdHJlYW0oKSBjb25zdCB7IHJl
dHVybiBtX2lzR2VuZXJhdGVkU3RyZWFtOyB9CisKICAgICAgICAgLy8gU3RyZWFtIGhhcyBlbmRl
ZCBmb3Igc29tZSBleHRlcm5hbCByZWFzb24uCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1F
bmRlZCgpID0gMDsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lz
dGVyKCkgeyB1bnJlZ2lzdGVyQ2xpZW50KHRoaXMpOyB9CisgICAgICAgIGJvb2wgbV9pc0dlbmVy
YXRlZFN0cmVhbTsKICAgICB9OwogCiAgICAgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoRnJh
bWUqKTsKQEAgLTEzMCw2ICsxMzksOSBAQCBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlIGEgbmV3IGdl
bmVyYXRlZCBzdHJlYW0gYXN5bmNocm9ub3VzbHkgd2l0aCB0aGUgcHJvdmlkZWQgb3B0aW9ucy4K
ICAgICB2b2lkIGdlbmVyYXRlU3RyZWFtKGNvbnN0IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0
cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICAvLyBTdG9w
IGEgZ2VuZXJhdGVkIHN0cmVhbS4KKyAgICB2b2lkIHN0b3BHZW5lcmF0ZWRTdHJlYW0oY29uc3Qg
U3RyaW5nJiBzdHJlYW1MYWJlbCk7CisKICAgICAvLyAtLS0gQ2FsbHMgY29taW5nIGJhY2sgZnJv
bSB0aGUgY29udHJvbGxlci4gLS0tIC8vCiAKICAgICAvLyBSZXBvcnQgdGhlIGdlbmVyYXRpb24g
b2YgYSBuZXcgbG9jYWwgc3RyZWFtLgpAQCAtMTM4LDYgKzE1MCw5IEBAIHB1YmxpYzoKICAgICAv
LyBSZXBvcnQgYSBmYWlsdXJlIGluIHRoZSBnZW5lcmF0aW9uIG9mIGEgbmV3IHN0cmVhbS4KICAg
ICB2b2lkIHN0cmVhbUdlbmVyYXRpb25GYWlsZWQoaW50IHJlcXVlc3RJZCwgTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3I6OkVycm9yQ29kZSk7CiAKKyAgICAvLyBSZXBvcnQgdGhlIGVuZCBvZiBhIHN0
cmVhbSBmb3IgZXh0ZXJuYWwgcmVhc29ucy4KKyAgICB2b2lkIHN0cmVhbUZhaWxlZChjb25zdCBT
dHJpbmcmIHN0cmVhbUxhYmVsKTsKKwogcHJpdmF0ZToKICAgICBjbGFzcyBSZXF1ZXN0OwogICAg
IGNsYXNzIEdlbmVyYXRlU3RyZWFtUmVxdWVzdDsKQEAgLTE3Nyw2ICsxOTIsNyBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCB1bnJlZ2lzdGVyKFN0cmVhbUNsaWVudCopOwogICAgIE1lZGlhU3RyZWFt
Q29udHJvbGxlciogcGFnZUNvbnRyb2xsZXIoKSBjb25zdDsKKyAgICBTdHJlYW0qIGdldFN0cmVh
bUZyb21MYWJlbChjb25zdCBTdHJpbmcmKSBjb25zdDsKIAogICAgIFJlcXVlc3RNYXAgbV9yZXF1
ZXN0czsKICAgICBTdHJlYW1NYXAgbV9zdHJlYW1zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCmluZGV4IGNjODhiNGYxMWY2NzYyNjQ1MzExOTY3MmJj
MTEyYjEwNjc3OTAyYzguLjVlZGQ5N2Q5MGIwOTRiMjgyMDg5ZDE1YWI2ZjFkOTc5N2I3MTA2NTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKQEAg
LTI1LDYgKzI1LDcgQEAKICNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JfaAogI2RlZmlu
ZSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCiAKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQpAQCAtMzgsMTIgKzM5LDE4IEBAIHB1YmxpYzoKICAgICAgICAgUEVSTUlTU0lPTl9ERU5JRUQg
PSAxCiAgICAgfTsKIAotICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKEVycm9yQ29kZSBjb2Rl
KSA6IG1fY29kZShjb2RlKSB7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvcj4gY3JlYXRlKEVycm9yQ29kZSBjb2RlKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcihjb2RlKSk7CisgICAgfQorCiAg
ICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoKSB7IH0KIAogICAgIEVycm9yQ29k
ZSBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlOyB9CiAKIHByaXZhdGU6CisgICAgTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IoRXJyb3JDb2RlIGNvZGUpIDogbV9jb2RlKGNvZGUpIHsgfQorCiAg
ICAgRXJyb3JDb2RlIG1fY29kZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCmluZGV4IDc3MDY5M2QwNmU0
NzE1NmM3ZTE1NjBhNWMyYjdkYjk1ZmMzMWY2MTguLjUzNGU3NDE3NjRlOTZlMzNlOTAxNjUxMDM1
MjUyODNmM2NiMTA5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaApAQCAtMzEsMTIgKzMxLDEyIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgR2VuZXJhdGVkU3RyZWFtOworCiBjbGFzcyBOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soKSB7IH0KLSAgICAvLyBGSVhNRTogc2V0IGNv
cnJlY3QgdHlwZSB3aGVuIHRoZSBHZW5lcmF0ZWRTdHJlYW0gY2xhc3MgaXMgYXZhaWxhYmxlLgot
ICAgIC8vIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChHZW5lcmF0ZWRTdHJlYW0qKSA9IDA7Ci0g
ICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KGludCBkdW1teSkgPSAwOworICAgIHZpcnR1YWwg
Ym9vbCBoYW5kbGVFdmVudChHZW5lcmF0ZWRTdHJlYW0qKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKaW5kZXggZTEyNTQwY2E2M2YwZmVkNDdlNmEy
Y2QwMTdiY2U5ZjFkNTY4YmVmYy4uYTEyYTllODU3OGZlMDBiNTkwMDJlMjdiY2Q1NThjZTY1NDM3
MDVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbApAQCAtMjcsOSArMjcsNyBAQCBtb2R1bGUgd2luZG93
IHsKICAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAogICAgICAgICBDYWxsYmFjaz1G
dW5jdGlvbk9ubHkKICAgICBdIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayB7Ci0g
ICAgICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdGhlIGNvcnJlY3QgdHlwZSB3aGVuIHRoZSBHZW5l
cmF0ZWRTdHJlYW0gY2xhc3MgaXMgYXZhaWxhYmxlLgotICAgICAgICAvLyBib29sZWFuIGhhbmRs
ZUV2ZW50KGluIEdlbmVyYXRlZFN0cmVhbSBzdHJlYW0pOwotICAgICAgICBib29sZWFuIGhhbmRs
ZUV2ZW50KGluIGludCBkdW1teSk7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gR2Vu
ZXJhdGVkU3RyZWFtIHN0cmVhbSk7CiAgICAgfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94448</attachid>
            <date>2011-05-23 11:18:15 -0700</date>
            <delta_ts>2011-05-24 06:12:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56666-20110523191813.patch</filename>
            <type>text/plain</type>
            <size>66388</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcwODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTIxNTI1
MTU4NGQyOTdiNmQ5NTllYTA5YTFlYzBiNjhlZjRmNGIxZi4uYjI4YzBjZTU1ZTVjYzY1NTAxYWE1
YjA5NTFmNGRhNjA4Yjk4OGI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5MzcsMTEgKzE5
MzcsMTUgQEAgRU5ESUYgKCkKIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgIExJU1QoQVBQ
RU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHAKKyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKKyAgICAgICAgZG9tL1N0cmVh
bS5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCiAgICAgICAgIHBh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCiAgICAgKQogCiAgICAgTElTVChBUFBF
TkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwKKyAg
ICAgICAgZG9tL1N0cmVhbS5pZGwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5pZGwKICAgICApCiBFTkRJRiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDcwYTFlODkyZjQ3YThhMjUyNzEx
NjBhZjZlMWY2NGZhMDBlMzQyYjEuLmU4ZDExN2U1NzlkZDM1ZTNhYzlmMjE3ODM5YmVjZTA3NGMz
MmFkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAxMS0wNS0yMyAgTGVhbmRybyBH
cmFjaWEgR2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVkaWEgU3RyZWFtIEFQSTogYWRkaW5n
IFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY2NgorCisgICAgICAgIEFkZCB0aGUgY29k
ZSBmb3IgdGhlIFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMgYW5kIGludGVncmF0
ZSBpdAorICAgICAgICB3aXRoIHRoZSBleGlzdGluZyBzdHJlYW0gZ2VuZXJhdGlvbiByZXF1ZXN0
cy4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92
aWRlZCBieSB0aGUgYnVnIDU2NTg3LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgor
ICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2
ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6
OmNvbnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3QpOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9u
ZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50VGFyZ2V0Ojp0b1N0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6
dG9HZW5lcmF0ZWRTdHJlYW0pOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAg
ICAqIGRvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okdl
bmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6R2VuZXJhdGVkU3RyZWFtOjpEaXNwYXRjaFVwZGF0ZVRhc2s6OnBlcmZvcm1UYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrOjpE
aXNwYXRjaFVwZGF0ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpHZW5lcmF0ZWRTdHJl
YW0pOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjp+R2VuZXJhdGVkU3RyZWFt
KToKKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6dG9HZW5lcmF0ZWRTdHJlYW0p
OgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpkZXRhY2hFbWJlZGRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06OnN0b3ApOgorICAgICAgICAoV2ViQ29y
ZTo6R2VuZXJhdGVkU3RyZWFtOjpvblN0b3ApOgorICAgICAgICAqIGRvbS9HZW5lcmF0ZWRTdHJl
YW0uaDogQWRkZWQuCisgICAgICAgICogZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGw6IEFkZGVkLgor
ICAgICAgICAqIGRvbS9TdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6U3RyZWFtKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0cmVhbTo6flN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OnRv
U3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6c3RyZWFtRW5kZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OlN0cmVhbTo6ZXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKiBkb20vU3RyZWFtLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpyZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0cmVhbTo6bGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpyZWZFdmVudFRh
cmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OmRlcmVmRXZlbnRUYXJnZXQpOgorICAg
ICAgICAqIGRvbS9TdHJlYW0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0NhbGxiYWNrVGFz
ay5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrMTo6U2NoZWR1bGVyOjp+U2NoZWR1
bGVyKToKKyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtQ2xpZW50Lmg6CisgICAgICAgICogcGFn
ZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1Db250cm9sbGVyOjpzdG9wR2VuZXJhdGVkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKToKKyAgICAgICAgKiBwYWdlL01lZGlh
U3RyZWFtQ29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6
OlJlcXVlc3Q6OlJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q6OmFi
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpHZW5l
cmF0ZVN0cmVhbVJlcXVlc3Q6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6dW5yZWdpc3Rlcik6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Z2V0U3RyZWFtRnJvbUxhYmVsKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpnZW5lcmF0ZVN0
cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3Rv
cEdlbmVyYXRlZFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1GYWlsZWQpOgorICAgICAgICAq
IHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGllbnQ6OlN0cmVhbUNsaWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6U3RyZWFtQ2xpZW50
Ojppc0dlbmVyYXRlZFN0cmVhbSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmg6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaWRsOgorCiAyMDExLTA1LTIwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVucmljYSBDYXN1Y2NpLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVy
YXRvcnMucHJpCmluZGV4IGM5M2IyNDc1NDBmY2IwN2I5OTAxOGFmMzYzNTg0NTI2ZWQ3ZmExYmUu
LjQxNTUzYjc5ZDFhYzBlMDZjZTIwNjg5MjkzNjM1NzllMDUzYzJmMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Db2Rl
R2VuZXJhdG9ycy5wcmkKQEAgLTEzMiw2ICsxMzIsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAg
IGRvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAogIyAgICBkb20vRXZlbnRMaXN0ZW5lci5pZGwgXAog
IyAgICBkb20vRXZlbnRUYXJnZXQuaWRsIFwKKyAgICBkb20vR2VuZXJhdGVkU3RyZWFtLmlkbCBc
CiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogICAgIGRvbS9LZXlib2FyZEV2ZW50Lmlk
bCBcCiAgICAgZG9tL01vdXNlRXZlbnQuaWRsIFwKQEAgLTE1Miw2ICsxNTMsNyBAQCBJRExfQklO
RElOR1MgKz0gXAogICAgIGRvbS9Qcm9ncmVzc0V2ZW50LmlkbCBcCiAgICAgZG9tL1JhbmdlRXhj
ZXB0aW9uLmlkbCBcCiAgICAgZG9tL1JhbmdlLmlkbCBcCisgICAgZG9tL1N0cmVhbS5pZGwgXAog
ICAgIGRvbS9TdHJpbmdDYWxsYmFjay5pZGwgXAogICAgIGRvbS9UZXh0LmlkbCBcCiAgICAgZG9t
L1RleHRFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDdkNWU0Zjk3
ZjhmYjg3ZDEyNDk0MWJiYzRmNGQwNjgxNDg2OGFhYzMuLjZhZTdmMzY1NWU5NWI5YzE3NzliYjcw
YjgyMjlhM2IwYWM1MjMxODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTEyOSw2
ICsxMjksNyBAQAogI2luY2x1ZGUgIkpTRmlsZVdyaXRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpT
V2ViS2l0RmxhZ3MuY3BwIgogI2luY2x1ZGUgIkpTRmxvYXQzMkFycmF5LmNwcCIKKyNpbmNsdWRl
ICJKU0dlbmVyYXRlZFN0cmVhbS5jcHAiCiAjaW5jbHVkZSAiSlNHZW9sb2NhdGlvbi5jcHAiCiAj
aW5jbHVkZSAiSlNHZW9wb3NpdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNIYXNoQ2hhbmdlRXZlbnQu
Y3BwIgpAQCAtMjg0LDYgKzI4NSw3IEBACiAjaW5jbHVkZSAiSlNTdG9yYWdlSW5mb0Vycm9yQ2Fs
bGJhY2suY3BwIgogI2luY2x1ZGUgIkpTU3RvcmFnZUluZm9RdW90YUNhbGxiYWNrLmNwcCIKICNp
bmNsdWRlICJKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5jcHAiCisjaW5jbHVkZSAiSlNTdHJl
YW0uY3BwIgogI2luY2x1ZGUgIkpTU3RyaW5nQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTU3R5
bGVNZWRpYS5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZVNoZWV0LmNwcCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IDdiY2YzMDBhNGYwOGNmODNhM2MxYTkyOGFjYmE4ZWZmZTU3ZTIz
YmMuLjZkNGEyNTA3MzhhNTliNThjMzdjMzUxZTY5NjA5NTllOGZmNjk2NDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTk3LDYgKzE5Nyw3IEBAIERPTV9DTEFTU0VTID0gXAog
ICAgIEZpbGVXcml0ZXJTeW5jIFwKICAgICBGaWxlU3lzdGVtQ2FsbGJhY2sgXAogICAgIFdlYktp
dEZsYWdzIFwKKyAgICBHZW5lcmF0ZWRTdHJlYW0gXAogICAgIEdlb2xvY2F0aW9uIFwKICAgICBH
ZW9wb3NpdGlvbiBcCiAgICAgSGFzaENoYW5nZUV2ZW50IFwKQEAgLTM1NSw2ICszNTYsNyBAQCBE
T01fQ0xBU1NFUyA9IFwKICAgICBTdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2sgXAogICAgIFN0b3Jh
Z2VJbmZvUXVvdGFDYWxsYmFjayBcCiAgICAgU3RvcmFnZUluZm9Vc2FnZUNhbGxiYWNrIFwKKyAg
ICBTdHJlYW0gXAogICAgIFN0cmluZ0NhbGxiYWNrIFwKICAgICBTVkdBRWxlbWVudCBcCiAgICAg
U1ZHQWx0R2x5cGhFbGVtZW50IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVk
ZjYzZGQ0MzkwMjFiZGQxZWJmNzA0ZTE0MGE4NjA0MmM4ZGM0M2EuLmI1NTEyNGE1MTRiZTlkZDcy
NmQ4MzYyZGVhNDE5MWU0NWFmMjNmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMTc0LDYgKzE3NCw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0ZpbGVSZWFkZXJTeW5jLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNGbG9hdDMyQXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQz
MkFycmF5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW5lcmF0ZWRTdHJlYW0uY3Bw
IFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VuZXJhdGVkU3RyZWFtLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHZW9sb2NhdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvcG9z
aXRpb24uY3BwIFwKQEAgLTQ0NSw2ICs0NDcsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0g
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2suaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0b3JhZ2VJbmZvUXVvdGFDYWxsYmFjay5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3RvcmFnZUluZm9Vc2FnZUNhbGxiYWNrLmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJlYW0uY3BwIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTU3RyZWFtLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHlsZU1lZGlh
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlU2hlZXQuY3BwIFwKQEAgLTExNTIsNiArMTE1Niw4IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggXAorCVNvdXJjZS9XZWJDb3Jl
L2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVk
U3RyZWFtLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291
bnRJbmNyZW1lbnRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vSWNvblVSTC5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9JY29uVVJMLmggXApAQCAtMTI0Nyw2ICsxMjUzLDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljSGFzaFNldE5vZGVMaXN0
LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNOb2RlTGlzdC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9TdGF0aWNOb2RlTGlzdC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFt
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vU3R5bGVkRWxlbWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50
LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCBlNGZhYjY0ZGUxYTQ5ZDk2YjdmMDlhNWVkMzA1N2MzNWYwNDBjN2ExLi5hZTdhNDEy
NDRhOTMwNDY5NTIwNDk5OWI1ZGJiNTg4OWQ0MDI2MGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0x
MTQwLDYgKzExNDAsNyBAQAogICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0V2
ZW50VGFyZ2V0LmlkbCcsCisgICAgICAgICAgICAnZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20v
S2V5Ym9hcmRFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwn
LApAQCAtMTE2MSw2ICsxMTYyLDcgQEAKICAgICAgICAgICAgICdkb20vUmFuZ2UuaWRsJywKICAg
ICAgICAgICAgICdkb20vUmFuZ2VFeGNlcHRpb24uaWRsJywKICAgICAgICAgICAgICdkb20vUmVx
dWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaWRsJywKKyAgICAgICAgICAgICdkb20vU3RyZWFt
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmlkbCcsCiAgICAgICAgICAg
ICAnZG9tL1RleHQuaWRsJywKICAgICAgICAgICAgICdkb20vVGV4dEV2ZW50LmlkbCcsCkBAIC0y
NDc3LDYgKzI0NzksOCBAQAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25CYXNlLmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuaCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2Vw
dGlvbkNvZGUuY3BwJywKKyAgICAgICAgICAgICdkb20vR2VuZXJhdGVkU3RyZWFtLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL0dlbmVyYXRlZFN0cmVhbS5oJywKICAgICAgICAgICAgICdkb20vSGFz
aENoYW5nZUV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRl
Q291bnRJbmNyZW1lbnRlci5oJywKICAgICAgICAgICAgICdkb20vSWNvblVSTC5jcHAnLApAQCAt
MjU1Nyw2ICsyNTYxLDggQEAKICAgICAgICAgICAgICdkb20vU3RhdGljSGFzaFNldE5vZGVMaXN0
LmgnLAogICAgICAgICAgICAgJ2RvbS9TdGF0aWNOb2RlTGlzdC5jcHAnLAogICAgICAgICAgICAg
J2RvbS9TdGF0aWNOb2RlTGlzdC5oJywKKyAgICAgICAgICAgICdkb20vU3RyZWFtLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL1N0cmVhbS5oJywKICAgICAgICAgICAgICdkb20vU3RyaW5nQ2FsbGJh
Y2suY3BwJywKICAgICAgICAgICAgICdkb20vU3RyaW5nQ2FsbGJhY2suaCcsCiAgICAgICAgICAg
ICAnZG9tL1N0eWxlRWxlbWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAyYzUyNjE4ZWI0MmIw
OGE0OWQ3ODg5OTI1NWIzODNjZjU1Yzc3NTk5Li5hZmUxYjVhYTU5ZThhNjZiM2ZlYTRkN2VlOTJj
YWJhNzM2ZDNiMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMzExMCw2ICszMTEwLDggQEAgY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpIHsKIAogY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAgSEVBREVSUyArPSBcCisgICAgICAgIGRvbS9H
ZW5lcmF0ZWRTdHJlYW0uaCBcCisgICAgICAgIGRvbS9TdHJlYW0uaCBcCiAgICAgICAgIHBhZ2Uv
Q2FsbGJhY2tUYXNrLmggXAogICAgICAgICBwYWdlL01lZGlhU3RyZWFtQ2xpZW50LmggXAogICAg
ICAgICBwYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oIFwKQEAgLTMxMTksNiArMzEyMSw4IEBA
IGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJFQU09MSkgewogICAgICAgICBwYWdl
L05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCiAKICAgICBTT1VSQ0VTICs9IFwK
KyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAgXAorICAgICAgICBkb20vU3RyZWFtLmNw
cCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcCBcCiAgICAgICAgIHBh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNWQzMzk3MzVmOWU2NDUzOWQxMGMyMzUz
YzM0NWViOGNlOTA5OGMwMi4uOWQ1OGQzNWExNGMzMGYzMTk1ZTA0NzFkYzExNmFkOTViZWQ1MTk0
OSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAg
LTUzMTgsNiArNTMxOCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTR2VuZXJhdGVkU3RyZWFtLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0dlbmVyYXRlZFN0cmVhbS5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTR2Vv
bG9jYXRpb24uY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTEzMzEwLDYg
KzEzMzY2LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNTdHJlYW0uY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRl
YnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU3RyZWFtLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAJCQkJPgog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNDQ1ODYsNiArNDQ2OTgsNjIgQEAKIAkJCQk+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEdlbmVyYXRlZFN0
cmVhbS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGRvbVxHZW5lcmF0ZWRTdHJlYW0uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEhhc2hDaGFuZ2VFdmVudC5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KQEAgLTQ2ODgyLDYgKzQ3MDUwLDYyIEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTdHJlYW0uY3BwIgorCQkJCT4K
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
dXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
U3RyZWFtLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGRvbVxTdHJpbmdDYWxsYmFjay5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDBiNzhkODlhM2NhNGQzODFlM2FmMGVkNWVmZmJmOTg4YzExMTQxZWIuLjJhNjk0Y2Ji
MjlmYWFiMTUzMTJkYWE3MjI2Yjk4MWJlZGYzZjczMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQwOTgsMTIgKzQwOTgsMjAg
QEAKIAkJQjFFNTQ1OTkxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU4
RDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLzsgfTsKIAkJ
QjFFNTQ1OUIxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0
NThGMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgg
Ki87IH07CiAJCUIxRTU0NTlEMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNTQ1N0ExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVy
YXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMUU1NDU3MTEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmNwcCAqLzsg
fTsKKwkJQjFFNTQ1N0IxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1NzIxMzQ2Mjkx
RjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5oICovOyB9OworCQlCMUU1NDU3RDEzNDYyOTFG
MDA5MkE1NDUgLyogU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxRTU0NTc0MTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uY3BwICovOyB9
OworCQlCMUU1NDU3RTEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3NTEzNDYyOTFGMDA5MkE1NDUg
LyogU3RyZWFtLmggKi87IH07CiAJCUIxRTU0NURGMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxRTU0NUQxMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmNwcCAqLzsgfTsKIAkJQjFFNTQ1RTAxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxRTU0NUQyMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmggKi87IH07CiAJCUIxRTU0NUUxMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgKi87IH07CiAJCUIxRTU0NUUyMTM0NjJCMEIw
MDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NUQ0MTM0NjJCMEIwMDky
QTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjFF
NTQ1RTMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTU0NUQ1MTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5jcHAgKi87IH07CiAJCUIxRTU0NUU0MTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07CisJCUIxRTU0NUREMTM0NjJCMEIwMDky
QTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVDRjEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0
ZWRTdHJlYW0uY3BwICovOyB9OworCQlCMUU1NDVERTEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5l
cmF0ZWRTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxRTU0NUQwMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5oICovOyB9
OworCQlCMUU1NDVFNTEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDcxMzQ2MkIwQjAwOTJB
NTQ1IC8qIEpTU3RyZWFtLmNwcCAqLzsgfTsKKwkJQjFFNTQ1RTYxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTU3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMUU1NDVEODEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uaCAqLzsgfTsKIAkJQjIwMTEx
MDcwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIwMTExMDUwQUI3NzQwNTAwREIwRTY4IC8q
IEpTU1ZHQUVsZW1lbnQuY3BwICovOyB9OwogCQlCMjAxMTEwODBBQjc3NDA1MDBEQjBFNjggLyog
SlNTVkdBRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLzsgfTsK
IAkJQjIyMjc5NjIwRDAwQkYyMjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc3Q0IwRDAwQkYxRjAw
NzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwICovOyB9OwpAQCAtMTAzNjYsMTIgKzEwMzc0LDIy
IEBACiAJCUIxRTU0NThBMTM0NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbUZyYW1l
Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU4QjEzNDYy
OUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFtQ29udHJvbGxlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NThDMTM0NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0
cmVhbUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFT
dHJlYW1Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NTcx
MTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR2VuZXJhdGVkU3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1NzIxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVh
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmF0ZWRTdHJlYW0uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1NzMxMzQ2MjkxRjAwOTJBNTQ1IC8q
IEdlbmVyYXRlZFN0cmVhbS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR2VuZXJhdGVkU3Ry
ZWFtLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1NzQxMzQ2MjkxRjAw
OTJBNTQ1IC8qIFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU3NTEzNDYy
OTFGMDA5MkE1NDUgLyogU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU3NjEzNDYyOTFG
MDA5MkE1NDUgLyogU3RyZWFtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdHJlYW0uaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU4RDEzNDYyOUMxMDA5MkE1NDUg
LyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjFFNTQ1OEUxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NThGMTM0NjI5QzEwMDkyQTU0NSAv
KiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1OTAxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCMUU1NDU5MTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
MUU1NDU5MjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVDRjEzNDYy
QjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNHZW5lcmF0ZWRTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCMUU1NDVEMDEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRTdHJl
YW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHZW5lcmF0ZWRTdHJlYW0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1RDcxMzQ2MkIwQjAwOTJBNTQ1
IC8qIEpTU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
U3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1RDgxMzQ2MkIw
QjAwOTJBNTQ1IC8qIEpTU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NUQxMTM0NjJC
MEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDVEMjEzNDYyQjBCMDA5MkE1NDUgLyog
SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUIxRTU0NUQzMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE2ODYyLDYgKzE2ODgwLDggQEAKIAkJCQk2NURGMzIyRTA5RDFEREJDMDAwQkUz
MjUgLyogSlNFbnRpdHkuaCAqLywKIAkJCQk5M0Y5Qjc3MjBCQTVGRERDMDA4NTQwNjQgLyogSlNF
bnRpdHlSZWZlcmVuY2UuY3BwICovLAogCQkJCTkzRjlCNzczMEJBNUZEREMwMDg1NDA2NCAvKiBK
U0VudGl0eVJlZmVyZW5jZS5oICovLAorCQkJCUIxRTU0NUNGMTM0NjJCMEIwMDkyQTU0NSAvKiBK
U0dlbmVyYXRlZFN0cmVhbS5jcHAgKi8sCisJCQkJQjFFNTQ1RDAxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTR2VuZXJhdGVkU3RyZWFtLmggKi8sCiAJCQkJRkU4MERBNUYwRTlDNDcwMzAwMEQ2Rjc1IC8q
IEpTR2VvbG9jYXRpb24uY3BwICovLAogCQkJCUZFODBEQTYwMEU5QzQ3MDMwMDBENkY3NSAvKiBK
U0dlb2xvY2F0aW9uLmggKi8sCiAJCQkJRkU4MERBNjEwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2Vv
cG9zaXRpb24uY3BwICovLApAQCAtMTY4ODYsNiArMTY5MDYsOCBAQAogCQkJCTc1NDE1RDUyMTI5
QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0LmggKi8sCiAJCQkJNzU0MTVENTMx
MjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1bHRMaXN0LmNwcCAqLywKIAkJCQk3
NTQxNUQ1NDEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuaCAqLywK
KwkJCQlCMUU1NDVENzEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uY3BwICovLAorCQkJCUIx
RTU0NUQ4MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5oICovLAogCQkJCTY1REYzMUVGMDlE
MUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYzMUYwMDlEMUNDNjAwMDBC
RTMyNSAvKiBKU1RleHQuaCAqLywKIAkJCSk7CkBAIC0xOTMwMSw2ICsxOTMyMyw5IEBACiAJCQkJ
OTM4MzFCNTYwRDA4N0Q2MDAwRTVDOTg0IC8qIEV4Y2VwdGlvbkNvZGUuY3BwICovLAogCQkJCTkz
NUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRpb25Db2RlLmggKi8sCiAJCQkJQTg1MzEy
M0MxMUQwNDcxQjAwRDREMDc3IC8qIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbi5oICovLAor
CQkJCUIxRTU0NTcxMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uY3BwICovLAor
CQkJCUIxRTU0NTcyMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uaCAqLywKKwkJ
CQlCMUU1NDU3MzEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmlkbCAqLywKIAkJ
CQkyNDQyQkJGODExOTRDOUQzMDBENDk0NjkgLyogSGFzaENoYW5nZUV2ZW50LmggKi8sCiAJCQkJ
ODQ4MkI3NDQxMTk4QzMyRTAwQkZCMDA1IC8qIEhhc2hDaGFuZ2VFdmVudC5pZGwgKi8sCiAJCQkJ
NDUwOTlDNDAxMzcwQTc4MDAwNThENTEzIC8qIEljb25VUkwuY3BwICovLApAQCAtMTk0MTgsNiAr
MTk0NDMsOSBAQAogCQkJCUNFQTM5NDlCMTFENDVDREEwMDMwOTRDRiAvKiBTdGF0aWNIYXNoU2V0
Tm9kZUxpc3QuaCAqLywKIAkJCQlCQzdGQTYyQzBEMUYwRUZGMDBEQjIyQTkgLyogU3RhdGljTm9k
ZUxpc3QuY3BwICovLAogCQkJCUJDN0ZBNjJCMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2Rl
TGlzdC5oICovLAorCQkJCUIxRTU0NTc0MTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uY3BwICov
LAorCQkJCUIxRTU0NTc1MTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaCAqLywKKwkJCQlCMUU1
NDU3NjEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmlkbCAqLywKIAkJCQk4MTAyQzU4NzEzMjVC
QjExMDBEREU2N0EgLyogU3RyaW5nQ2FsbGJhY2suY3BwICovLAogCQkJCTgxQUM2QzM1MTMxQzU3
RDMwMDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5oICovLAogCQkJCTgxQUM2QzM0MTMxQzU3QzIw
MDA5QTdFMCAvKiBTdHJpbmdDYWxsYmFjay5pZGwgKi8sCkBAIC0yMjgyNCw2ICsyMjg1MiwxMCBA
QAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNTQ1N0IxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRl
ZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNTQ1N0UxMzQ2MjkxRjAwOTJBNTQ1IC8q
IFN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNTQ1REUxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTR2VuZXJhdGVkU3RyZWFtLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1NDVFNjEzNDYyQjBC
MDA5MkE1NDUgLyogSlNTdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjU0OTgsNiArMjU1MzAs
MTAgQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFpl
cm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTU0NTdBMTM0NjI5MUYwMDkyQTU0NSAv
KiBHZW5lcmF0ZWRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1N0QxMzQ2Mjkx
RjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU1NDVERDEzNDYy
QjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QjFFNTQ1RTUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcAppbmRleCA4NmQ5
YzY3YzY5OTBhMjMxYjhjNjQyM2E2MWIzOTM5ODQ0MWY0ZGQwLi4zMTA4Y2RiZGU1ZDhiNWE0NzNj
NTY4ZDRlYzdkMzVmYmMzMTNlMmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0V2ZW50VGFyZ2V0LmNwcApAQCAtMTAwLDYgKzEwMCwxMSBAQAogI2luY2x1ZGUgIkZpbGVSZWFk
ZXIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyNpbmNsdWRlICJHZW5l
cmF0ZWRTdHJlYW0uaCIKKyNpbmNsdWRlICJTdHJlYW0uaCIKKyNlbmRpZgorCiB1c2luZyBuYW1l
c3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xODksNiArMTk0LDE0IEBAIEpT
VmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEV2ZW50VGFyZ2V0KiB0YXJnCiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9i
amVjdCwgZmlsZVJlYWRlcik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisg
ICAgaWYgKEdlbmVyYXRlZFN0cmVhbSogZ2VuZXJhdGVkU3RyZWFtID0gdGFyZ2V0LT50b0dlbmVy
YXRlZFN0cmVhbSgpKQorICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIGdl
bmVyYXRlZFN0cmVhbSk7CisKKyAgICBpZiAoU3RyZWFtKiBzdHJlYW0gPSB0YXJnZXQtPnRvU3Ry
ZWFtKCkpCisgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RyZWFtKTsK
KyNlbmRpZgorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGpzTnVsbCgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKaW5kZXgg
ZTJmODk2Yjk5OWVhZTNhNGUzYTQ3ZmEyODQzMTdmNTc4MjA0YWRiMy4uMGIyOTBjYzViY2Q0MDg1
NDhlOTEwNzg0NmQ1ZmE2ODU5NTZhMjA4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdyYXBwZXIuY3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiVjhFdmVudFNv
dXJjZS5oIgogI2luY2x1ZGUgIlY4RmlsZVJlYWRlci5oIgogI2luY2x1ZGUgIlY4RmlsZVdyaXRl
ci5oIgorI2luY2x1ZGUgIlY4R2VuZXJhdGVkU3RyZWFtLmgiCiAjaW5jbHVkZSAiVjhIVE1MQ29s
bGVjdGlvbi5oIgogI2luY2x1ZGUgIlY4SFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiVjhJREJE
YXRhYmFzZS5oIgpAQCAtNjQsNiArNjUsNyBAQAogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpbmNs
dWRlICJWOFNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIlY4U2hhcmVkV29ya2VyQ29udGV4dC5o
IgorI2luY2x1ZGUgIlY4U3RyZWFtLmgiCiAjaW5jbHVkZSAiVjhTdHlsZVNoZWV0LmgiCiAjaW5j
bHVkZSAiVjhXZWJTb2NrZXQuaCIKICNpbmNsdWRlICJWOFdvcmtlci5oIgpAQCAtNDQ4LDYgKzQ1
MCwxNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XcmFwcGVyOjpjb252ZXJ0RXZlbnRU
YXJnZXRUb1Y4T2JqZWN0KEV2ZW50VGFyZ2V0KiB0YQogICAgICAgICByZXR1cm4gdG9WOChhdWRp
b0NvbnRleHQpOwogI2VuZGlmICAgIAogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBp
ZiAoR2VuZXJhdGVkU3RyZWFtKiBnZW5lcmF0ZWRTdHJlYW0gPSB0YXJnZXQtPnRvR2VuZXJhdGVk
U3RyZWFtKCkpCisgICAgICAgIHJldHVybiB0b1Y4KGdlbmVyYXRlZFN0cmVhbSk7CisKKyAgICBp
ZiAoU3RyZWFtKiBzdHJlYW0gPSB0YXJnZXQtPnRvU3RyZWFtKCkpCisgICAgICAgIHJldHVybiB0
b1Y4KHN0cmVhbSk7CisjZW5kaWYKKwogICAgIEFTU0VSVCgwKTsKICAgICByZXR1cm4gbm90SGFu
ZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4
IGRmMTAxMzhmNjQxNTNhZTBhNGEyMzBkMTRkM2E3OGE0NmM0ZGFjMGUuLmUwOTFlOWYyMTU1ZjA0
YzNjMWFmMzU3NWFmYWM1MWU5ZWJlNjhmMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNw
cApAQCAtNzUsNiArNzUsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRl
ICJFeGNlcHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmNwcCIKKyNpbmNs
dWRlICJHZW5lcmF0ZWRTdHJlYW0uY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1
ZGUgIktleWJvYXJkRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKQEAg
LTExNCw2ICsxMTUsNyBAQAogI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuY3BwIgogI2luY2x1
ZGUgIlN0YXRpY0hhc2hTZXROb2RlTGlzdC5jcHAiCiAjaW5jbHVkZSAiU3RhdGljTm9kZUxpc3Qu
Y3BwIgorI2luY2x1ZGUgIlN0cmVhbS5jcHAiCiAjaW5jbHVkZSAiU3R5bGVFbGVtZW50LmNwcCIK
ICNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmNwcCIKICNpbmNsdWRlICJUYWdOb2RlTGlzdC5jcHAi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAppbmRleCA3YzA1OGMyM2ZkYWZjMDBjYzJiZjU1
ZjhjYzVhYTc2YjBlZWQzZGNhLi41YmIzMmM2ZDQzMjRlOGYzZjY2NmIzY2ZmNzc1ZGRiYTEyYmQz
NzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKQEAgLTIwNSw2ICsyMDUsMTggQEAg
SURCVmVyc2lvbkNoYW5nZVJlcXVlc3QqIEV2ZW50VGFyZ2V0Ojp0b0lEQlZlcnNpb25DaGFuZ2VS
ZXF1ZXN0KCkKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmVhbSog
RXZlbnRUYXJnZXQ6OnRvU3RyZWFtKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworR2VuZXJhdGVk
U3RyZWFtKiBFdmVudFRhcmdldDo6dG9HZW5lcmF0ZWRTdHJlYW0oKQoreworICAgIHJldHVybiAw
OworfQorI2VuZGlmCisKIGJvb2wgRXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVu
ZXIsIGJvb2wgdXNlQ2FwdHVyZSkKIHsKICAgICBFdmVudFRhcmdldERhdGEqIGQgPSBlbnN1cmVF
dmVudFRhcmdldERhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggNjk2YmU4OGUy
ZWJlMWYzZjAyZDAwNWY1Nzg5NGVlZDcxNzc4ZDYyZi4uYTUyZWM1MGVkN2VjY2FmZTQ2YWIwOWNj
MDYwNWU1ZDIzYzJmNzQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTQ5LDYgKzQ5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50U291cmNlOwogICAgIGNs
YXNzIEZpbGVSZWFkZXI7CiAgICAgY2xhc3MgRmlsZVdyaXRlcjsKKyAgICBjbGFzcyBHZW5lcmF0
ZWRTdHJlYW07CiAgICAgY2xhc3MgSURCRGF0YWJhc2U7CiAgICAgY2xhc3MgSURCUmVxdWVzdDsK
ICAgICBjbGFzcyBJREJUcmFuc2FjdGlvbjsKQEAgLTYxLDYgKzYyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgU2hh
cmVkV29ya2VyOwogICAgIGNsYXNzIFNoYXJlZFdvcmtlckNvbnRleHQ7CisgICAgY2xhc3MgU3Ry
ZWFtOwogICAgIGNsYXNzIFdlYlNvY2tldDsKICAgICBjbGFzcyBXb3JrZXI7CiAgICAgY2xhc3Mg
WE1MSHR0cFJlcXVlc3Q7CkBAIC0xNDcsNiArMTQ5LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdmlydHVhbCBJREJWZXJzaW9uQ2hhbmdlUmVxdWVzdCogdG9JREJWZXJzaW9uQ2hh
bmdlUmVxdWVzdCgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAg
ICB2aXJ0dWFsIFN0cmVhbSogdG9TdHJlYW0oKTsKKyAgICAgICAgdmlydHVhbCBHZW5lcmF0ZWRT
dHJlYW0qIHRvR2VuZXJhdGVkU3RyZWFtKCk7CisjZW5kaWYKKwogICAgICAgICB2aXJ0dWFsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCA9IDA7
CiAKICAgICAgICAgdmlydHVhbCBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3Ry
aW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4sIGJvb2wgdXNlQ2FwdHVy
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiN2U2
N2EyNmVlM2YyMTVjMzgxMDI2Y2IyNGNmZTAxY2I2ZjVkODQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmNwcApAQCAtMCwwICsxLDExMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwor
ICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdlbmVyYXRlZFN0
cmVhbS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkV2ZW50Lmgi
CisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIEdlbmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNr
IDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgeworcHVibGljOgorICAgIHR5
cGVkZWYgdm9pZCAoR2VuZXJhdGVkU3RyZWFtOjoqQ2FsbGJhY2spKCk7CisKKyAgICBzdGF0aWMg
UGFzc093blB0cjxEaXNwYXRjaFVwZGF0ZVRhc2s+IGNyZWF0ZShQYXNzUmVmUHRyPEdlbmVyYXRl
ZFN0cmVhbT4gb2JqZWN0LCBDYWxsYmFjayBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFB0cihuZXcgRGlzcGF0Y2hVcGRhdGVUYXNrKG9iamVjdCwgY2FsbGJhY2spKTsKKyAg
ICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopCisgICAgeworICAgICAgICAobV9vYmplY3QuZ2V0KCktPiptX2NhbGxiYWNrKSgpOworICAg
IH0KKworcHVibGljOgorICAgIERpc3BhdGNoVXBkYXRlVGFzayhQYXNzUmVmUHRyPEdlbmVyYXRl
ZFN0cmVhbT4gb2JqZWN0LCBDYWxsYmFjayBjYWxsYmFjaykKKyAgICAgICAgOiBtX29iamVjdChv
YmplY3QpCisgICAgICAgICwgbV9jYWxsYmFjayhjYWxsYmFjaykgeyB9CisKKyAgICBSZWZQdHI8
R2VuZXJhdGVkU3RyZWFtPiBtX29iamVjdDsKKyAgICBDYWxsYmFjayBtX2NhbGxiYWNrOworfTsK
KworUGFzc1JlZlB0cjxHZW5lcmF0ZWRTdHJlYW0+IEdlbmVyYXRlZFN0cmVhbTo6Y3JlYXRlKE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0cmluZyYg
bGFiZWwpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBHZW5lcmF0ZWRTdHJlYW0oZnJhbWVD
b250cm9sbGVyLCBsYWJlbCkpOworfQorCitHZW5lcmF0ZWRTdHJlYW06OkdlbmVyYXRlZFN0cmVh
bShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25zdCBTdHJp
bmcmIGxhYmVsKQorICAgIDogU3RyZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwsIHRydWUpCit7
Cit9CisKK0dlbmVyYXRlZFN0cmVhbTo6fkdlbmVyYXRlZFN0cmVhbSgpCit7Cit9CisKK0dlbmVy
YXRlZFN0cmVhbSogR2VuZXJhdGVkU3RyZWFtOjp0b0dlbmVyYXRlZFN0cmVhbSgpCit7CisgICAg
cmV0dXJuIHRoaXM7Cit9CisKK3ZvaWQgR2VuZXJhdGVkU3RyZWFtOjpkZXRhY2hFbWJlZGRlcigp
Cit7CisgICAgLy8gQXNzdW1pbmcgd2Ugc2hvdWxkIHN0b3AgYW55IGxpdmUgc3RyZWFtcyB3aGVu
IGxvc2luZyBhY2Nlc3MgdG8gdGhlIGVtYmVkZGVyLgorICAgIHN0b3AoKTsKKworICAgIFN0cmVh
bTo6ZGV0YWNoRW1iZWRkZXIoKTsKK30KKwordm9pZCBHZW5lcmF0ZWRTdHJlYW06OnN0b3AoKQor
eworICAgIGlmICghbWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKSB8fCBtX3JlYWR5U3RhdGUg
PT0gRU5ERUQpCisgICAgICAgIHJldHVybjsKKworICAgIG1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyKCktPnN0b3BHZW5lcmF0ZWRTdHJlYW0obGFiZWwoKSk7CisKKyAgICBtX3JlYWR5U3RhdGUg
PSBFTkRFRDsKKworICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSBpdCBjYW4gYmUgbnVsbCBpbiBk
ZWdlbmVyYXRlIGNhc2VzIGxpa2UgZnJhbWVzIGRldGFjaGVkIGZyb20gdGhlaXIgcGFnZXMuCisg
ICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzQ29udGV4dFRocmVhZCgpKTsKKyAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKERpc3BhdGNoVXBkYXRlVGFzazo6
Y3JlYXRlKHRoaXMsICZHZW5lcmF0ZWRTdHJlYW06Om9uU3RvcCkpOworfQorCit2b2lkIEdlbmVy
YXRlZFN0cmVhbTo6b25TdG9wKCkKK3sKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLmVuZGVkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0dlbmVyYXRlZFN0cmVhbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YjI1ZTBjODc0NjEwNmIxMWEzZWFi
YTYzY2I4NWEzYzY1YmY1ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
R2VuZXJhdGVkU3RyZWFtLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBHZW5lcmF0ZWRTdHJlYW1faAorI2RlZmluZSBHZW5lcmF0ZWRTdHJlYW1faAorCisjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlN0cmVhbS5oIgorI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR2VuZXJhdGVkU3RyZWFt
IDogcHVibGljIFN0cmVhbSB7CitwdWJsaWM6CisgICAgLy8gRklYTUU6IGFkZCBhdWRpbyBhbmQg
dmlkZW8gdHJhY2tzIHdoZW4gYXZhaWxhYmxlLgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdlbmVy
YXRlZFN0cmVhbT4gY3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3Ry
aW5nJiBsYWJlbCk7CisgICAgdmlydHVhbCB+R2VuZXJhdGVkU3RyZWFtKCk7CisKKyAgICB2b2lk
IHN0b3AoKTsKKworICAgIC8vIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGll
bnQgaW1wbGVtZW50YXRpb24uCisgICAgdmlydHVhbCB2b2lkIGRldGFjaEVtYmVkZGVyKCk7CisK
KyAgICAvLyBFdmVudFRhcmdldC4KKyAgICB2aXJ0dWFsIEdlbmVyYXRlZFN0cmVhbSogdG9HZW5l
cmF0ZWRTdHJlYW0oKTsKKworcHJpdmF0ZToKKyAgICBHZW5lcmF0ZWRTdHJlYW0oTWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXIqLCBjb25zdCBTdHJpbmcmIGxhYmVsKTsKKyAgICBjbGFzcyBEaXNw
YXRjaFVwZGF0ZVRhc2s7CisgICAgZnJpZW5kIGNsYXNzIERpc3BhdGNoVXBkYXRlVGFzazsKKwor
ICAgIHZvaWQgb25TdG9wKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gR2VuZXJhdGVkU3RyZWFtX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsIGIvU291
cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM4ZDZjMGY2
NWY0ZGQ1MWUyYzA2N2NhMWIwY2UwZTE5ZmMyZmYzYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRp
b25hbD1NRURJQV9TVFJFQU0sCisgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAorICAg
ICAgICBFdmVudFRhcmdldAorICAgIF0gR2VuZXJhdGVkU3RyZWFtIDogU3RyZWFtIHsKKyAgICAg
ICAgdm9pZCBzdG9wKCk7CisKKyAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCBhdWRpbyBhbmQg
dmlkZW8gdHJhY2tzIHdoZW4gYXZhaWxhYmxlLgorICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGNlZWZmZDYxZGE5NzAzNGZhMWQyY2MxM2Y5ZjNiNmE0YzBmNTZjNgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uY3BwCkBAIC0wLDAg
KzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJT
dHJlYW0uaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJFdmVudC5o
IgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitQYXNzUmVmUHRyPFN0cmVhbT4gU3RyZWFtOjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFN0cmVhbShmcmFtZUNvbnRyb2xsZXIsIGxhYmVsKSk7Cit9
CisKK1N0cmVhbTo6U3RyZWFtKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRy
b2xsZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGJvb2wgaXNHZW5lcmF0ZWRTdHJlYW0pCisgICAg
OiBTdHJlYW1DbGllbnQoZnJhbWVDb250cm9sbGVyLCBsYWJlbCwgaXNHZW5lcmF0ZWRTdHJlYW0p
CisgICAgLCBtX3JlYWR5U3RhdGUoTElWRSkKK3sKK30KKworU3RyZWFtOjp+U3RyZWFtKCkKK3sK
K30KKworU3RyZWFtKiBTdHJlYW06OnRvU3RyZWFtKCkKK3sKKyAgICByZXR1cm4gdGhpczsKK30K
Kwordm9pZCBTdHJlYW06OnN0cmVhbUVuZGVkKCkKK3sKKyAgICBBU1NFUlQobV9yZWFkeVN0YXRl
ICE9IEVOREVEKTsKKyAgICBtX3JlYWR5U3RhdGUgPSBFTkRFRDsKKyAgICBkaXNwYXRjaEV2ZW50
KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwor
fQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBTdHJlYW06OnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdAoreworICAgIHJldHVybiBtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpID8g
bWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIDog
MDsKK30KKworRXZlbnRUYXJnZXREYXRhKiBTdHJlYW06OmV2ZW50VGFyZ2V0RGF0YSgpCit7Cisg
ICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBTdHJl
YW06OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0
RGF0YTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1F
RElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTg0NmU3MzZkNjM5MzFkNzFm
NzI3NTY3Yzk5NzI4MWJkNTg5ZTZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1N0cmVhbS5oCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3Ry
ZWFtX2gKKyNkZWZpbmUgU3RyZWFtX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRl
ICJNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBTdHJlYW0gOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJlYW0+LAorICAgICAg
ICAgICAgICAgcHVibGljIEV2ZW50VGFyZ2V0LAorICAgICAgICAgICAgICAgcHVibGljIE1lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGllbnQgeworcHVibGljOgorICAgIC8vIE11
c3QgbWF0Y2ggdGhlIGNvbnN0YW50cyBpbiB0aGUgLmlkbCBmaWxlLgorICAgIGVudW0geworICAg
ICAgICBMSVZFID0gMSwKKyAgICAgICAgRU5ERUQgPSAyCisgICAgfTsKKworICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFN0cmVhbT4gY3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29u
c3QgU3RyaW5nJiBsYWJlbCk7CisgICAgdmlydHVhbCB+U3RyZWFtKCk7CisKKyAgICAvLyBGSVhN
RTogaW1wbGVtZW50IHRoZSByZWNvcmQgbWV0aG9kIHdoZW4gU3RyZWFtUmVjb3JkZXIgaXMgYXZh
aWxhYmxlLgorCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWFkeXN0YXRl
Y2hhbmdlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVuZGVkKTsKKwor
ICAgIHVuc2lnbmVkIHNob3J0IHJlYWR5U3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3JlYWR5U3Rh
dGU7IH0KKyAgICBjb25zdCBTdHJpbmcmIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gY2xpZW50SWQo
KTsgfQorCisgICAgLy8gTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OlN0cmVhbUNsaWVudCBp
bXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtRW5kZWQoKTsKKworICAgIC8v
IEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgU3RyZWFtKiB0b1N0cmVh
bSgpOworICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpIGNvbnN0OworCisgICAgdXNpbmcgUmVmQ291bnRlZDxTdHJlYW0+OjpyZWY7Cisg
ICAgdXNpbmcgUmVmQ291bnRlZDxTdHJlYW0+OjpkZXJlZjsKKworcHJvdGVjdGVkOgorICAgIFN0
cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciosIGNvbnN0IFN0cmluZyYgbGFiZWwsIGJv
b2wgaXNHZW5lcmF0ZWRTdHJlYW0gPSBmYWxzZSk7CisKKyAgICAvLyBFdmVudFRhcmdldCBpbXBs
ZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRh
KCk7CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgp
OworCisgICAgdW5zaWduZWQgc2hvcnQgbV9yZWFkeVN0YXRlOworCitwcml2YXRlOgorICAgIHZv
aWQgb25FbmRlZCgpOworCisgICAgLy8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCisgICAg
dmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBkZXJlZigpOyB9CisKKyAgICBFdmVudFRhcmdldERhdGEg
bV9ldmVudFRhcmdldERhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gU3RyZWFtX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0
cmVhbS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQyYzYxMzk2NThhZGNmMzc4NjAwMjJhZWQyZWMyZWZkNzky
NTJmYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaWRsCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBpbnRlcmZh
Y2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCisgICAgICAgIEV2ZW50VGFy
Z2V0CisgICAgXSBTdHJlYW0geworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGxhYmVsOworICAgICAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRoZSByZWNvcmQgbWV0aG9kIHdo
ZW4gU3RyZWFtUmVjb3JkZXIgaXMgYXZhaWxhYmxlLgorCisgICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IExJVkUgPSAxOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBFTkRFRCA9IDI7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCByZWFkeVN0YXRlOwor
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmVuZGVkOworCisgICAg
ICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBF
dmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
Ym9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGlu
IERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZl
bnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBF
dmVudCBldmVudCkKKyAgICAgICAgICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CisgICAgfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmgKaW5kZXggNzI2ZWIyNjk2MWJkNzFiMmUx
NzVlODEwZDcyZDQyNzIwMjlmNGMzNy4uZWQwMGQzMTNkMWM2Njk2NmU5MzBjOWEwNTFhY2M2NmNh
NmFiNjkzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oCkBAIC01MSw2ICs1MSw4IEBA
IHB1YmxpYzoKIAogICAgIGNsYXNzIFNjaGVkdWxlciB7CiAgICAgcHVibGljOgorICAgICAgICB2
aXJ0dWFsIH5TY2hlZHVsZXIoKSB7IH0KKwogICAgICAgICBib29sIHNjaGVkdWxlQ2FsbGJhY2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxBcmd1bWVudFR5cGU+
IGRhdGEpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChjb250ZXh0KSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL01lZGlhU3RyZWFtQ2xpZW50LmgKaW5kZXggZTdiNTE0YzczNjlmOGJmYjAzMzg0Nzkw
ZTIxMWUxZTNhZGZjMWQzMC4uMWQwZWJiMGJhMmUwNTZjOWM3YjM1MGQ5ZWFiNTIwY2RiY2E4NWQy
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaApAQCAtNDksNiArNDks
OSBAQCBwdWJsaWM6CiAgICAgLy8gR2VuZXJhdGUgYSBuZXcgbG9jYWwgc3RyZWFtLgogICAgIHZp
cnR1YWwgdm9pZCBnZW5lcmF0ZVN0cmVhbShpbnQgcmVxdWVzdElkLCBHZW5lcmF0ZVN0cmVhbU9w
dGlvbkZsYWdzLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPikgPSAwOwogCisgICAgLy8gU3Rv
cCBhIGdlbmVyYXRlZCBzdHJlYW0uCisgICAgdmlydHVhbCB2b2lkIHN0b3BHZW5lcmF0ZWRTdHJl
YW0oY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCkgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgdmly
dHVhbCB+TWVkaWFTdHJlYW1DbGllbnQoKSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAKaW5kZXggZjk5OTMyM2Y1YTMyYjVhMTVmN2UwOTAw
MDcwMzhjY2Y2ZTM3NzliYy4uOGMxMmRjYWNhZDMzNjNkYTEwNmNkMTZhOGMwMzgzODNkZmJmOTNl
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcApA
QCAtMTEyLDYgKzExMiwxMSBAQCB2b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6Z2VuZXJhdGVT
dHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udAogICAgIG1fY2xpZW50
LT5nZW5lcmF0ZVN0cmVhbShjb250cm9sbGVyUmVxdWVzdElkLCBmbGFncywgc2VjdXJpdHlPcmln
aW4pOwogfQogCit2b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RvcEdlbmVyYXRlZFN0cmVh
bShjb25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKQoreworICAgIG1fY2xpZW50LT5zdG9wR2VuZXJh
dGVkU3RyZWFtKHN0cmVhbUxhYmVsKTsKK30KKwogdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6
OnN0cmVhbUdlbmVyYXRlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBz
dHJlYW1MYWJlbCkKIHsKICAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGZyYW1lIGNvbnRy
b2xsZXIgY2FuIGhhdmUgYmVlbiBkZXN0cm95ZWQgd2hpbGUgdGhlIHJlcXVlc3QgcmVwbHkgd2Fz
IGNvbWluZyBiYWNrLgpAQCAtMTM0LDYgKzEzOSwxMyBAQCB2b2lkIE1lZGlhU3RyZWFtQ29udHJv
bGxlcjo6c3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgTmF2
aQogICAgIH0KIH0KIAordm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUZhaWxlZChj
b25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKQoreworICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0
aGUgZnJhbWUgY29udHJvbGxlciBjYW4gaGF2ZSBiZWVuIGRlc3Ryb3llZCBieSB0aGUgdGltZSB0
aGlzIGlzIGNhbGxlZC4KKyAgICBpZiAobV9zdHJlYW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkK
KyAgICAgICAgbV9zdHJlYW1zLmdldChzdHJlYW1MYWJlbCktPnN0cmVhbUZhaWxlZChzdHJlYW1M
YWJlbCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFt
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIu
aAppbmRleCA3YjI5MzhhMjllNjAwMTYwYmNkNWQwOTk1MGY0OWRlMTIxNzliN2UzLi43MjIxOTJi
MzIxYmFlM2Y4YTU0YmE1MGZlZThjODA2ZWQ1MTNhYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmgKQEAgLTUwLDkgKzUwLDExIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHVucmVnaXN0ZXJGcmFtZUNvbnRyb2xsZXIoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIqKTsKIAogICAgIHZvaWQgZ2VuZXJhdGVTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIqLCBpbnQgcmVxdWVzdElkLCBHZW5lcmF0ZVN0cmVhbU9wdGlvbkZsYWdzLCBQYXNzUmVmUHRy
PFNlY3VyaXR5T3JpZ2luPik7CisgICAgdm9pZCBzdG9wR2VuZXJhdGVkU3RyZWFtKGNvbnN0IFN0
cmluZyYgc3RyZWFtTGFiZWwpOwogCiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVl
c3RJZCwgY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCk7CiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0
aW9uRmFpbGVkKGludCByZXF1ZXN0SWQsIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpFcnJvckNv
ZGUpOworICAgIHZvaWQgc3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOwog
CiBwcml2YXRlOgogICAgIGludCByZWdpc3RlclJlcXVlc3QoaW50IGxvY2FsUmVxdWVzdElkLCBN
ZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAppbmRleCBiZGEyN2MwMGY1MDE0MDdkYjY4
Mzg2ZTY0ZmUzZjI3M2Q3NGYxMWJjLi4yYzgwMDZhNWFjMWRkYzkxMDg1NzEwNTI2NDdlY2EzMzg3
NGNjNDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJHZW5l
cmF0ZWRTdHJlYW0uaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbUNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCkBAIC00Miw5ICs0Myw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpSZXF1ZXN0IDog
cHVibGljIFJlZkNvdW50ZWQ8UmVxdWVzdD4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
cXVlc3QpOwogcHVibGljOgotICAgIFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCkKLSAgICAgICAgOiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgeyB9Ci0KICAgICB2aXJ0dWFsIH5SZXF1ZXN0KCkgeyB9
CiAKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
Y29uc3QgeyByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OyB9CkBAIC01Myw2ICs1MSwx
MCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnQoKSA9IDA7CiAKK3Byb3RlY3Rl
ZDoKKyAgICBSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpCisgICAgICAgIDogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpIHsgfQorCiBwcml2YXRlOgogICAgIC8vIFRoaXMgaXMgZ3VhcmFudGVlZCB0byBo
YXZlIHRoZSBsaWZldGltZSBvZiB0aGUgRnJhbWUsIGFuZCBpdCdzIG9ubHkgdXNlZCB0byBtYWtl
CiAgICAgLy8gdGhlIGNhbGxiYWNrIGFzeW5jaHJvbm91cy4gVGhlIG9yaWdpbmFsIGNhbGxiYWNr
IGNvbnRleHQgaXMgdXNlZCBpbiB0aGUgY2FsbC4KQEAgLTYyLDEyICs2NCwxMiBAQCBwcml2YXRl
OgogY2xhc3MgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVz
dCA6IHB1YmxpYyBSZXF1ZXN0IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW5lcmF0ZVN0
cmVhbVJlcXVlc3QpOwogcHVibGljOgotICAgIEdlbmVyYXRlU3RyZWFtUmVxdWVzdChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4g
c3VjY2Vzc0NhbGxiYWNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCi0gICAgICAgIDog
UmVxdWVzdChzY3JpcHRFeGVjdXRpb25Db250ZXh0KQotICAgICAgICAsIG1fc3VjY2Vzc0NhbGxi
YWNrKHN1Y2Nlc3NDYWxsYmFjaykKLSAgICAgICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxs
YmFjaykgeyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVm
UHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NS
ZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgR2VuZXJhdGVTdHJlYW1SZXF1ZXN0KHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpOwor
ICAgIH0KIAogICAgIHZpcnR1YWwgfkdlbmVyYXRlU3RyZWFtUmVxdWVzdCgpIHsgfQogCkBAIC03
Niw3ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnQoKQogICAgIHsKICAg
ICAgICAgaWYgKG1fZXJyb3JDYWxsYmFjaykgewotICAgICAgICAgICAgUmVmUHRyPE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yPiBlcnJvciA9IGFkb3B0UmVmKG5ldyBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvcihOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6UEVSTUlTU0lPTl9ERU5JRUQpKTsKKyAgICAg
ICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4gZXJyb3IgPSBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvcjo6Y3JlYXRlKE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpQRVJNSVNTSU9O
X0RFTklFRCk7CiAgICAgICAgICAgICAvLyBUaGUgY2FsbGJhY2sgaXRzZWxmIGlzIG1hZGUgd2l0
aCB0aGUgSlMgY2FsbGJhY2sncyBjb250ZXh0LCBub3Qgd2l0aCB0aGUgZnJhbWUncyBjb250ZXh0
LgogICAgICAgICAgICAgbV9lcnJvckNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgZXJyb3IpOwogICAgICAgICB9CkBAIC04Niw2ICs4OCwxMyBAQCBw
dWJsaWM6CiAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBl
cnJvckNhbGxiYWNrKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvckNhbGxiYWNrOyB9CiAKIHByaXZh
dGU6CisgICAgR2VuZXJhdGVTdHJlYW1SZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQ
dHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKKyAgICAgICAgOiBSZXF1ZXN0KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpCisgICAgICAgICwgbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNr
KQorICAgICAgICAsIG1fZXJyb3JDYWxsYmFjayhlcnJvckNhbGxiYWNrKSB7IH0KKwogICAgIFJl
ZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IG1fc3VjY2Vzc0NhbGxiYWNr
OwogICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBtX2Vycm9yQ2Fs
bGJhY2s7CiB9OwpAQCAtMTUyLDkgKzE2MSwyNCBAQCBNZWRpYVN0cmVhbUNvbnRyb2xsZXIqIE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpwYWdlQ29udHJvbGxlcigpIGNvbnN0CiB2b2lkIE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjp1bnJlZ2lzdGVyKFN0cmVhbUNsaWVudCogY2xpZW50
KQogewogICAgIEFTU0VSVChtX3N0cmVhbXMuY29udGFpbnMoY2xpZW50LT5jbGllbnRJZCgpKSk7
CisKKyAgICAvLyBBc3N1bWluZyB3ZSBzaG91bGQgc3RvcCBhbnkgbGl2ZSBzdHJlYW1zIHdoZW4g
bG9zaW5nIGFjY2VzcyB0byB0aGUgZW1iZWRkZXIuCisgICAgaWYgKGNsaWVudC0+aXNHZW5lcmF0
ZWRTdHJlYW0oKSkgeworICAgICAgICBHZW5lcmF0ZWRTdHJlYW0qIHN0cmVhbSA9IHN0YXRpY19j
YXN0PEdlbmVyYXRlZFN0cmVhbSo+KGNsaWVudCk7CisgICAgICAgIGlmIChzdHJlYW0tPnJlYWR5
U3RhdGUoKSA9PSBTdHJlYW06OkxJVkUpCisgICAgICAgICAgICBzdG9wR2VuZXJhdGVkU3RyZWFt
KHN0cmVhbS0+bGFiZWwoKSk7CisgICAgfQorCiAgICAgbV9zdHJlYW1zLnJlbW92ZShjbGllbnQt
PmNsaWVudElkKCkpOwogfQogCitTdHJlYW0qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpn
ZXRTdHJlYW1Gcm9tTGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKK3sKKyAgICBBU1NF
UlQobV9zdHJlYW1zLmNvbnRhaW5zKGxhYmVsKSk7CisgICAgQVNTRVJUKG1fc3RyZWFtcy5nZXQo
bGFiZWwpLT5pc1N0cmVhbSgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RyZWFtKj4obV9z
dHJlYW1zLmdldChsYWJlbCkpOworfQorCiB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
OjplbnRlckRldGFjaGVkU3RhdGUoKQogewogICAgIGlmIChtX2lzSW5EZXRhY2hlZFN0YXRlKSB7
CkBAIC0yNTMsNyArMjc3LDcgQEAgdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Z2Vu
ZXJhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBvcHRpb25zLAogICAgIH0KIAogICAgIGludCByZXF1
ZXN0SWQgPSBtX3JlcXVlc3RzLmdldE5leHRJZCgpOwotICAgIG1fcmVxdWVzdHMuYWRkKHJlcXVl
c3RJZCwgYWRvcHRSZWYobmV3IEdlbmVyYXRlU3RyZWFtUmVxdWVzdChzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCksIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpKTsKKyAgICBtX3JlcXVl
c3RzLmFkZChyZXF1ZXN0SWQsIEdlbmVyYXRlU3RyZWFtUmVxdWVzdDo6Y3JlYXRlKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSk7CiAKICAg
ICBpZiAoIWlzQ2xpZW50QXZhaWxhYmxlKCkpIHsKICAgICAgICAgLy8gVGhpcyBtYWtlcyBzdXJl
IHRvIGNhbGwgdGhlIGVycm9yIGNhbGxiYWNrIGlmIHByb3ZpZGVkLgpAQCAtMjY0LDM0ICsyODgs
NTQgQEAgdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0oY29u
c3QgU3RyaW5nJiBvcHRpb25zLAogICAgIHBhZ2VDb250cm9sbGVyKCktPmdlbmVyYXRlU3RyZWFt
KHRoaXMsIHJlcXVlc3RJZCwgZmxhZ3MsIHNlY3VyaXR5T3JpZ2luKCkpOwogfQogCit2b2lkIE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdG9wR2VuZXJhdGVkU3RyZWFtKGNvbnN0IFN0cmlu
ZyYgc3RyZWFtTGFiZWwpCit7CisgICAgQVNTRVJUKG1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1M
YWJlbCkpOworICAgIEFTU0VSVChtX3N0cmVhbXMuZ2V0KHN0cmVhbUxhYmVsKS0+aXNHZW5lcmF0
ZWRTdHJlYW0oKSk7CisKKyAgICBpZiAoaXNDbGllbnRBdmFpbGFibGUoKSkKKyAgICAgICAgcGFn
ZUNvbnRyb2xsZXIoKS0+c3RvcEdlbmVyYXRlZFN0cmVhbShzdHJlYW1MYWJlbCk7Cit9CisKIHZv
aWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVz
dElkLCBjb25zdCBTdHJpbmcmIGxhYmVsKQogewogICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0
aGUgcmVxdWVzdCBjYW4gaGF2ZSBiZWVuIGFib3J0ZWQgYXMgYSByZXN1bHQgb2YgZW1iZWRkZXIg
ZGV0YWNobWVudC4KLSAgICBpZiAobV9yZXF1ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKSB7Ci0g
ICAgICAgIEFTU0VSVChtX3JlcXVlc3RzLmdldChyZXF1ZXN0SWQpLT5pc0dlbmVyYXRlU3RyZWFt
UmVxdWVzdCgpKTsKLSAgICAgICAgQVNTRVJUKCFsYWJlbC5pc051bGwoKSk7CisgICAgaWYgKCFt
X3JlcXVlc3RzLmNvbnRhaW5zKHJlcXVlc3RJZCkpCisgICAgICAgIHJldHVybjsKIAotICAgICAg
ICAvLyBGSVhNRTogY3JlYXRlIGEgR2VuZXJhdGVkU3RyZWFtIG9iamVjdCBhbmQgaW52b2tlIHRo
ZSBjYWxsYmFjayB3aGVuIHRoZSBjbGFzcyBpcyBhdmFpbGFibGUuCi0gICAgICAgIG1fcmVxdWVz
dHMucmVtb3ZlKHJlcXVlc3RJZCk7Ci0gICAgfQorICAgIEFTU0VSVChtX3JlcXVlc3RzLmdldChy
ZXF1ZXN0SWQpLT5pc0dlbmVyYXRlU3RyZWFtUmVxdWVzdCgpKTsKKyAgICBBU1NFUlQoIWxhYmVs
LmlzTnVsbCgpKTsKKworICAgIFJlZlB0cjxHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q+IHN0cmVhbVJl
cXVlc3QgPSBzdGF0aWNfY2FzdDxHZW5lcmF0ZVN0cmVhbVJlcXVlc3QqPihtX3JlcXVlc3RzLmdl
dChyZXF1ZXN0SWQpLmdldCgpKTsKKyAgICBSZWZQdHI8R2VuZXJhdGVkU3RyZWFtPiBnZW5lcmF0
ZWRTdHJlYW0gPSBHZW5lcmF0ZWRTdHJlYW06OmNyZWF0ZSh0aGlzLCBsYWJlbCk7CisgICAgbV9z
dHJlYW1zLmFkZChsYWJlbCwgZ2VuZXJhdGVkU3RyZWFtLmdldCgpKTsKKyAgICBtX3JlcXVlc3Rz
LnJlbW92ZShyZXF1ZXN0SWQpOworICAgIHN0cmVhbVJlcXVlc3QtPnN1Y2Nlc3NDYWxsYmFjaygp
LT5oYW5kbGVFdmVudChnZW5lcmF0ZWRTdHJlYW0uZ2V0KCkpOwogfQogCiB2b2lkIE1lZGlhU3Ry
ZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCByZXF1ZXN0SWQs
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpFcnJvckNvZGUgY29kZSkKIHsKICAgICAvLyBEb24n
dCBhc3NlcnQgc2luY2UgdGhlIHJlcXVlc3QgY2FuIGhhdmUgYmVlbiBhYm9ydGVkIGFzIGEgcmVz
dWx0IG9mIGVtYmVkZGVyIGRldGFjaG1lbnQuCi0gICAgaWYgKG1fcmVxdWVzdHMuY29udGFpbnMo
cmVxdWVzdElkKSkgewotICAgICAgICBBU1NFUlQobV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS0+
aXNHZW5lcmF0ZVN0cmVhbVJlcXVlc3QoKSk7CisgICAgaWYgKCFtX3JlcXVlc3RzLmNvbnRhaW5z
KHJlcXVlc3RJZCkpCisgICAgICAgIHJldHVybjsKIAotICAgICAgICBSZWZQdHI8R2VuZXJhdGVT
dHJlYW1SZXF1ZXN0PiBzdHJlYW1SZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8R2VuZXJhdGVTdHJlYW1S
ZXF1ZXN0Kj4obV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS5nZXQoKSk7Ci0gICAgICAgIG1fcmVx
dWVzdHMucmVtb3ZlKHJlcXVlc3RJZCk7CisgICAgQVNTRVJUKG1fcmVxdWVzdHMuZ2V0KHJlcXVl
c3RJZCktPmlzR2VuZXJhdGVTdHJlYW1SZXF1ZXN0KCkpOwogCi0gICAgICAgIGlmIChzdHJlYW1S
ZXF1ZXN0LT5lcnJvckNhbGxiYWNrKCkpIHsKLSAgICAgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvcj4gZXJyb3IgPSBhZG9wdFJlZihuZXcgTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IoY29kZSkpOwotICAgICAgICAgICAgc3RyZWFtUmVxdWVzdC0+ZXJyb3JDYWxsYmFjaygpLT5o
YW5kbGVFdmVudChlcnJvci5nZXQoKSk7Ci0gICAgICAgIH0KKyAgICBSZWZQdHI8R2VuZXJhdGVT
dHJlYW1SZXF1ZXN0PiBzdHJlYW1SZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8R2VuZXJhdGVTdHJlYW1S
ZXF1ZXN0Kj4obV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS5nZXQoKSk7CisgICAgbV9yZXF1ZXN0
cy5yZW1vdmUocmVxdWVzdElkKTsKKworICAgIGlmIChzdHJlYW1SZXF1ZXN0LT5lcnJvckNhbGxi
YWNrKCkpIHsKKyAgICAgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiBlcnJvciA9
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpjcmVhdGUoY29kZSk7CisgICAgICAgIHN0cmVhbVJl
cXVlc3QtPmVycm9yQ2FsbGJhY2soKS0+aGFuZGxlRXZlbnQoZXJyb3IuZ2V0KCkpOwogICAgIH0K
IH0KIAordm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKGNvbnN0
IFN0cmluZyYgbGFiZWwpCit7CisgICAgZ2V0U3RyZWFtRnJvbUxhYmVsKGxhYmVsKS0+c3RyZWFt
RW5kZWQoKTsKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5oCmluZGV4IDQ5NDYxYTk3YzM1ZTY4NzEyMzZhMWI2NmZmNzJhNmEyYjU4
ZGU2NGMuLmNjMDMzMWZhNGQwNjJmMmFmYjQyM2Q1ZTk1MTU4NDY1ZTFmYTc3YzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgKQEAgLTM4
LDEyICszOCwxNCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKK2NsYXNz
IEdlbmVyYXRlZFN0cmVhbTsKIGNsYXNzIE1lZGlhU3RyZWFtQ29udHJvbGxlcjsKIGNsYXNzIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s7CiBjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2s7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOworY2xhc3MgU3RyZWFtOwogCiBjbGFzcyBNZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXIpOwpAQCAtMTAxLDE2ICsxMDMsMjMgQEAgcHVibGljOgogCiAgICAg
Y2xhc3MgU3RyZWFtQ2xpZW50IDogcHVibGljIENsaWVudEJhc2U8U3RyaW5nPiB7CiAgICAgcHVi
bGljOgotICAgICAgICBTdHJlYW1DbGllbnQoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZy
YW1lQ29udHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkgOiBDbGllbnRCYXNlPFN0cmluZz4o
ZnJhbWVDb250cm9sbGVyLCBsYWJlbCkgeyB9CisgICAgICAgIFN0cmVhbUNsaWVudChNZWRpYVN0
cmVhbUZyYW1lQ29udHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25zdCBTdHJpbmcmIGxhYmVs
LCBib29sIGlzR2VuZXJhdGVkU3RyZWFtKQorICAgICAgICAgICAgOiBDbGllbnRCYXNlPFN0cmlu
Zz4oZnJhbWVDb250cm9sbGVyLCBsYWJlbCkKKyAgICAgICAgICAgICwgbV9pc0dlbmVyYXRlZFN0
cmVhbShpc0dlbmVyYXRlZFN0cmVhbSkgeyB9CisKICAgICAgICAgdmlydHVhbCB+U3RyZWFtQ2xp
ZW50KCkgeyB1bnJlZ2lzdGVyKCk7IH0KIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTdHJlYW0o
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKKyAgICAgICAgLy8gQWNjZXNzZWQgYnkgdGhlIGRl
c3RydWN0b3IuCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0dlbmVyYXRlZFN0cmVhbSgpIGNvbnN0
IHsgcmV0dXJuIG1faXNHZW5lcmF0ZWRTdHJlYW07IH0KKwogICAgICAgICAvLyBTdHJlYW0gaGFz
IGVuZGVkIGZvciBzb21lIGV4dGVybmFsIHJlYXNvbi4KICAgICAgICAgdmlydHVhbCB2b2lkIHN0
cmVhbUVuZGVkKCkgPSAwOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXIoKSB7IHVucmVnaXN0ZXJDbGllbnQodGhpcyk7IH0KKyAgICAgICAgYm9vbCBtX2lz
R2VuZXJhdGVkU3RyZWFtOwogICAgIH07CiAKICAgICBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
cihGcmFtZSopOwpAQCAtMTMwLDYgKzEzOSw5IEBAIHB1YmxpYzoKICAgICAvLyBDcmVhdGUgYSBu
ZXcgZ2VuZXJhdGVkIHN0cmVhbSBhc3luY2hyb25vdXNseSB3aXRoIHRoZSBwcm92aWRlZCBvcHRp
b25zLgogICAgIHZvaWQgZ2VuZXJhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBvcHRpb25zLCBQYXNz
UmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIC8v
IFN0b3AgYSBnZW5lcmF0ZWQgc3RyZWFtLgorICAgIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShj
b25zdCBTdHJpbmcmIHN0cmVhbUxhYmVsKTsKKwogICAgIC8vIC0tLSBDYWxscyBjb21pbmcgYmFj
ayBmcm9tIHRoZSBjb250cm9sbGVyLiAtLS0gLy8KIAogICAgIC8vIFJlcG9ydCB0aGUgZ2VuZXJh
dGlvbiBvZiBhIG5ldyBsb2NhbCBzdHJlYW0uCkBAIC0xMzgsNiArMTUwLDkgQEAgcHVibGljOgog
ICAgIC8vIFJlcG9ydCBhIGZhaWx1cmUgaW4gdGhlIGdlbmVyYXRpb24gb2YgYSBuZXcgc3RyZWFt
LgogICAgIHZvaWQgc3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVzdElkLCBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvcjo6RXJyb3JDb2RlKTsKIAorICAgIC8vIFJlcG9ydCB0aGUgZW5kIG9m
IGEgc3RyZWFtIGZvciBleHRlcm5hbCByZWFzb25zLgorICAgIHZvaWQgc3RyZWFtRmFpbGVkKGNv
bnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOworCiBwcml2YXRlOgogICAgIGNsYXNzIFJlcXVlc3Q7
CiAgICAgY2xhc3MgR2VuZXJhdGVTdHJlYW1SZXF1ZXN0OwpAQCAtMTc3LDYgKzE5Miw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHVucmVnaXN0ZXIoU3RyZWFtQ2xpZW50Kik7CiAgICAgTWVkaWFT
dHJlYW1Db250cm9sbGVyKiBwYWdlQ29udHJvbGxlcigpIGNvbnN0OworICAgIFN0cmVhbSogZ2V0
U3RyZWFtRnJvbUxhYmVsKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCiAgICAgUmVxdWVzdE1hcCBt
X3JlcXVlc3RzOwogICAgIFN0cmVhbU1hcCBtX3N0cmVhbXM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKaW5kZXggY2M4OGI0ZjExZjY3NjI2NDUzMTE5
NjcyYmMxMTJiMTA2Nzc5MDJjOC4uNWVkZDk3ZDkwYjA5NGIyODIwODlkMTVhYjZmMWQ5Nzk3Yjcx
MDY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aApAQCAtMjUsNiArMjUsNyBAQAogI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCiAj
ZGVmaW5lIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yX2gKIAorI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCkBAIC0zOCwxMiArMzksMTggQEAgcHVibGljOgogICAgICAgICBQRVJNSVNTSU9OX0RF
TklFRCA9IDEKICAgICB9OwogCi0gICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoRXJyb3JDb2Rl
IGNvZGUpIDogbV9jb2RlKGNvZGUpIHsgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yPiBjcmVhdGUoRXJyb3JDb2RlIGNvZGUpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKGNvZGUpKTsKKyAgICB9
CisKICAgICB2aXJ0dWFsIH5OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcigpIHsgfQogCiAgICAgRXJy
b3JDb2RlIGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KIAogcHJpdmF0ZToKKyAgICBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvcihFcnJvckNvZGUgY29kZSkgOiBtX2NvZGUoY29kZSkgeyB9
CisKICAgICBFcnJvckNvZGUgbV9jb2RlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKaW5kZXggNzcwNjkz
ZDA2ZTQ3MTU2YzdlMTU2MGE1YzJiN2RiOTVmYzMxZjYxOC4uNTM0ZTc0MTc2NGU5NmUzM2U5MDE2
NTEwMzUyNTI4M2YzY2IxMDk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0zMSwxMiArMzEsMTIgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBHZW5lcmF0ZWRTdHJlYW07CisKIGNsYXNz
IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gewogcHVibGljOgogICAgIHZpcnR1YWwg
fk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaygpIHsgfQotICAgIC8vIEZJWE1FOiBz
ZXQgY29ycmVjdCB0eXBlIHdoZW4gdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFi
bGUuCi0gICAgLy8gdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0g
MDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoaW50IGR1bW15KSA9IDA7CisgICAgdmly
dHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0gMDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbAppbmRleCBlMTI1NDBjYTYzZjBmZWQ0
N2U2YTJjZDAxN2JjZTlmMWQ1NjhiZWZjLi5hMTJhOWU4NTc4ZmUwMGI1OTAwMmUyN2JjZDU1OGNl
NjU0MzcwNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0yNyw5ICsyNyw3IEBAIG1vZHVsZSB3
aW5kb3cgewogICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgICAgIENhbGxi
YWNrPUZ1bmN0aW9uT25seQogICAgIF0gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
IHsKLSAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCB0aGUgY29ycmVjdCB0eXBlIHdoZW4gdGhl
IEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFibGUuCi0gICAgICAgIC8vIGJvb2xlYW4g
aGFuZGxlRXZlbnQoaW4gR2VuZXJhdGVkU3RyZWFtIHN0cmVhbSk7Ci0gICAgICAgIGJvb2xlYW4g
aGFuZGxlRXZlbnQoaW4gaW50IGR1bW15KTsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChp
biBHZW5lcmF0ZWRTdHJlYW0gc3RyZWFtKTsKICAgICB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94598</attachid>
            <date>2011-05-24 06:12:18 -0700</date>
            <delta_ts>2011-05-24 08:12:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56666-20110524141216.patch</filename>
            <type>text/plain</type>
            <size>66424</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcxNDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOGJiZTVl
YzM2NDNkYjQ5OWY3Zjc4Y2Y1YWM4Mzk1YmQxMDAzMDU1My4uZjQ1MzEyNmMwMDIwNjg4Y2YzZjQ4
ZjBmYWViYTI1MGZmY2YxMzc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5NDAsMTEgKzE5
NDAsMTUgQEAgRU5ESUYgKCkKIElGIChFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgIExJU1QoQVBQ
RU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHAKKyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAKKyAgICAgICAgZG9tL1N0cmVh
bS5jcHAKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCiAgICAgICAgIHBh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwCiAgICAgKQogCiAgICAgTElTVChBUFBF
TkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGwKKyAg
ICAgICAgZG9tL1N0cmVhbS5pZGwKICAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5pZGwKICAgICApCiBFTkRJRiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY0NTczMGQyNTdlYmY0NjkzZmZk
NGQ5MzNkZDgxZjRjYmUxOWZhODcuLjRjZGI4ZTVhZTEzNTFiMTA1MjBmMDYwN2M4OGM0YmFhYzMy
Y2M1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAxMS0wNS0yMyAgTGVhbmRybyBH
cmFjaWEgR2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVkaWEgU3RyZWFtIEFQSTogYWRkaW5n
IFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY2NgorCisgICAgICAgIEFkZCB0aGUgY29k
ZSBmb3IgdGhlIFN0cmVhbSBhbmQgR2VuZXJhdGVkU3RyZWFtIGNsYXNzZXMgYW5kIGludGVncmF0
ZSBpdAorICAgICAgICB3aXRoIHRoZSBleGlzdGluZyBzdHJlYW0gZ2VuZXJhdGlvbiByZXF1ZXN0
cy4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92
aWRlZCBieSB0aGUgYnVnIDU2NTg3LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgor
ICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2
ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6
OmNvbnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3QpOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9u
ZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50VGFyZ2V0Ojp0b1N0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6
dG9HZW5lcmF0ZWRTdHJlYW0pOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAg
ICAqIGRvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okdl
bmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6R2VuZXJhdGVkU3RyZWFtOjpEaXNwYXRjaFVwZGF0ZVRhc2s6OnBlcmZvcm1UYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrOjpE
aXNwYXRjaFVwZGF0ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpHZW5lcmF0ZWRTdHJl
YW0pOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjp+R2VuZXJhdGVkU3RyZWFt
KToKKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyYXRlZFN0cmVhbTo6dG9HZW5lcmF0ZWRTdHJlYW0p
OgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkU3RyZWFtOjpkZXRhY2hFbWJlZGRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRTdHJlYW06OnN0b3ApOgorICAgICAgICAoV2ViQ29y
ZTo6R2VuZXJhdGVkU3RyZWFtOjpvblN0b3ApOgorICAgICAgICAqIGRvbS9HZW5lcmF0ZWRTdHJl
YW0uaDogQWRkZWQuCisgICAgICAgICogZG9tL0dlbmVyYXRlZFN0cmVhbS5pZGw6IEFkZGVkLgor
ICAgICAgICAqIGRvbS9TdHJlYW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6U3RyZWFtKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0cmVhbTo6flN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OnRv
U3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbTo6c3RyZWFtRW5kZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OlN0cmVhbTo6ZXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVh
bTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKToKKyAgICAgICAgKiBkb20vU3RyZWFtLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpyZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0cmVhbTo6bGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtOjpyZWZFdmVudFRh
cmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW06OmRlcmVmRXZlbnRUYXJnZXQpOgorICAg
ICAgICAqIGRvbS9TdHJlYW0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0NhbGxiYWNrVGFz
ay5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrMTo6U2NoZWR1bGVyOjp+U2NoZWR1
bGVyKToKKyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtQ2xpZW50Lmg6CisgICAgICAgICogcGFn
ZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1Db250cm9sbGVyOjpzdG9wR2VuZXJhdGVkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKToKKyAgICAgICAgKiBwYWdlL01lZGlh
U3RyZWFtQ29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6
OlJlcXVlc3Q6OlJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q6OmFi
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpHZW5l
cmF0ZVN0cmVhbVJlcXVlc3Q6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6dW5yZWdpc3Rlcik6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Z2V0U3RyZWFtRnJvbUxhYmVsKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpnZW5lcmF0ZVN0
cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6c3Rv
cEdlbmVyYXRlZFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1GYWlsZWQpOgorICAgICAgICAq
IHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGllbnQ6OlN0cmVhbUNsaWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6U3RyZWFtQ2xpZW50
Ojppc0dlbmVyYXRlZFN0cmVhbSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmg6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaWRsOgorCiAyMDExLTA1LTIzICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2Vu
ZXJhdG9ycy5wcmkKaW5kZXggMGVmZGFhMDcyZmJjOWFlOTg2MWJjZDBiMjVhZGExZGIyNGRlZGZj
MS4uMmM5ZDk1OTQyYmI4OTdiMzMzZGM3ODY4OTNiNDk4MmFlM2Q5MGE2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Nv
ZGVHZW5lcmF0b3JzLnByaQpAQCAtMTMyLDYgKzEzMiw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAg
ICAgZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBcCiAjICAgIGRvbS9FdmVudExpc3RlbmVyLmlkbCBc
CiAjICAgIGRvbS9FdmVudFRhcmdldC5pZGwgXAorICAgIGRvbS9HZW5lcmF0ZWRTdHJlYW0uaWRs
IFwKICAgICBkb20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQu
aWRsIFwKICAgICBkb20vTW91c2VFdmVudC5pZGwgXApAQCAtMTUyLDYgKzE1Myw3IEBAIElETF9C
SU5ESU5HUyArPSBcCiAgICAgZG9tL1Byb2dyZXNzRXZlbnQuaWRsIFwKICAgICBkb20vUmFuZ2VF
eGNlcHRpb24uaWRsIFwKICAgICBkb20vUmFuZ2UuaWRsIFwKKyAgICBkb20vU3RyZWFtLmlkbCBc
CiAgICAgZG9tL1N0cmluZ0NhbGxiYWNrLmlkbCBcCiAgICAgZG9tL1RleHQuaWRsIFwKICAgICBk
b20vVGV4dEV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggODJkNzM2
NmJjZGU4N2YzYWRjYTZkZDU3NWM1ZGIwYzg4N2NiOWNhNi4uZTEwMjAwYTIxNTJmMTU1YTg5OGQ5
YWY5OTVjYWI2NDYyZjkwNzhjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTI5
LDYgKzEyOSw3IEBACiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAi
SlNXZWJLaXRGbGFncy5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuY3BwIgorI2luY2x1
ZGUgIkpTR2VuZXJhdGVkU3RyZWFtLmNwcCIKICNpbmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIK
ICNpbmNsdWRlICJKU0dlb3Bvc2l0aW9uLmNwcCIKICNpbmNsdWRlICJKU0hhc2hDaGFuZ2VFdmVu
dC5jcHAiCkBAIC0yODYsNiArMjg3LDcgQEAKICNpbmNsdWRlICJKU1N0b3JhZ2VJbmZvRXJyb3JD
YWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNTdG9yYWdlSW5mb1F1b3RhQ2FsbGJhY2suY3BwIgog
I2luY2x1ZGUgIkpTU3RvcmFnZUluZm9Vc2FnZUNhbGxiYWNrLmNwcCIKKyNpbmNsdWRlICJKU1N0
cmVhbS5jcHAiCiAjaW5jbHVkZSAiSlNTdHJpbmdDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNT
dHlsZU1lZGlhLmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXQuY3BwIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjRlMDA2NTdlZTcxMjVlYjRjMGYzZDNjNWM5YmQwMGI2MTc5
ZGE1My4uNjA4OGZmYzdhNGEwZDE3OGFlZDk0YmUyOTY4NDM2MGY1NTIwZmYzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xOTcsNiArMTk3LDcgQEAgRE9NX0NMQVNTRVMgPSBc
CiAgICAgRmlsZVdyaXRlclN5bmMgXAogICAgIEZpbGVTeXN0ZW1DYWxsYmFjayBcCiAgICAgV2Vi
S2l0RmxhZ3MgXAorICAgIEdlbmVyYXRlZFN0cmVhbSBcCiAgICAgR2VvbG9jYXRpb24gXAogICAg
IEdlb3Bvc2l0aW9uIFwKICAgICBIYXNoQ2hhbmdlRXZlbnQgXApAQCAtMzU3LDYgKzM1OCw3IEBA
IERPTV9DTEFTU0VTID0gXAogICAgIFN0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjayBcCiAgICAgU3Rv
cmFnZUluZm9RdW90YUNhbGxiYWNrIFwKICAgICBTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2sgXAor
ICAgIFN0cmVhbSBcCiAgICAgU3RyaW5nQ2FsbGJhY2sgXAogICAgIFNWR0FFbGVtZW50IFwKICAg
ICBTVkdBbHRHbHlwaEVsZW1lbnQgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
OGZlNmNlZDQ2YjhkZGI2NDNlNGQ4ZGI5YTM0Zjk0ZmQ0YTVlNmMxMS4uZjc1ODA1ZWExZTBkNjFi
MjFjMWQwMGRkZWU5ZGZlMGIwZDk1OWQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC0xNzQsNiArMTc0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRmlsZVJlYWRlclN5bmMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0Zsb2F0MzJBcnJheS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9h
dDMyQXJyYXkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlbmVyYXRlZFN0cmVhbS5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW5lcmF0ZWRTdHJlYW0uaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dlb2xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9w
b3NpdGlvbi5jcHAgXApAQCAtNDQ5LDYgKzQ1MSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyAr
PSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjay5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3RvcmFnZUluZm9RdW90YUNhbGxiYWNrLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2suaCBc
CisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cmVhbS5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNTdHJlYW0uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVk
aWEuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3R5bGVNZWRpYS5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTU3R5bGVTaGVldC5jcHAgXApAQCAtMTE1Miw2ICsxMTU2LDgg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29k
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCisJU291cmNlL1dlYkNv
cmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0
ZWRTdHJlYW0uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9JY29uVVJMLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvZG9tL0ljb25VUkwuaCBcCkBAIC0xMjQ5LDYgKzEyNTUsOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNIYXNoU2V0Tm9kZUxp
c3QuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY05vZGVMaXN0LmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL1N0YXRpY05vZGVMaXN0LmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9TdHJl
YW0uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vU3RyZWFtLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9TdHlsZWRFbGVtZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1l
bnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlRWxlbWVudC5jcHAgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDg3NWYyYWZhYjIzNGZkYzk0YzZmZTJhZjAyNzllMTUzMGE0YWEzOTguLmQwNjVk
ZTlmNmJkM2Q3MjQwYzZhNDcwZjI5YWFjMWZiZTM5MDRlMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTExNDAsNiArMTE0MCw3IEBACiAgICAgICAgICAgICAnZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0V2ZW50TGlzdGVuZXIuaWRsJywKICAgICAgICAgICAgICdkb20v
RXZlbnRUYXJnZXQuaWRsJywKKyAgICAgICAgICAgICdkb20vR2VuZXJhdGVkU3RyZWFtLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9LZXlib2FyZEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmlk
bCcsCkBAIC0xMTYxLDYgKzExNjIsNyBAQAogICAgICAgICAgICAgJ2RvbS9SYW5nZS5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9SYW5nZUV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9S
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5pZGwnLAorICAgICAgICAgICAgJ2RvbS9TdHJl
YW0uaWRsJywKICAgICAgICAgICAgICdkb20vU3RyaW5nQ2FsbGJhY2suaWRsJywKICAgICAgICAg
ICAgICdkb20vVGV4dC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9UZXh0RXZlbnQuaWRsJywKQEAg
LTI0NzEsNiArMjQ3Myw4IEBACiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuY3BwJywK
ICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5oJywKICAgICAgICAgICAgICdkb20vRXhj
ZXB0aW9uQ29kZS5jcHAnLAorICAgICAgICAgICAgJ2RvbS9HZW5lcmF0ZWRTdHJlYW0uY3BwJywK
KyAgICAgICAgICAgICdkb20vR2VuZXJhdGVkU3RyZWFtLmgnLAogICAgICAgICAgICAgJ2RvbS9I
YXNoQ2hhbmdlRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0lnbm9yZURlc3RydWN0aXZlV3Jp
dGVDb3VudEluY3JlbWVudGVyLmgnLAogICAgICAgICAgICAgJ2RvbS9JY29uVVJMLmNwcCcsCkBA
IC0yNTUzLDYgKzI1NTcsOCBAQAogICAgICAgICAgICAgJ2RvbS9TdGF0aWNIYXNoU2V0Tm9kZUxp
c3QuaCcsCiAgICAgICAgICAgICAnZG9tL1N0YXRpY05vZGVMaXN0LmNwcCcsCiAgICAgICAgICAg
ICAnZG9tL1N0YXRpY05vZGVMaXN0LmgnLAorICAgICAgICAgICAgJ2RvbS9TdHJlYW0uY3BwJywK
KyAgICAgICAgICAgICdkb20vU3RyZWFtLmgnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxs
YmFjay5jcHAnLAogICAgICAgICAgICAgJ2RvbS9TdHJpbmdDYWxsYmFjay5oJywKICAgICAgICAg
ICAgICdkb20vU3R5bGVFbGVtZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGUyMzIwOWFlY2E4
MjhjYTAwN2JjZjVlMDFlMzI0ZTQ5NWI4MzM2NjkuLmQxNmU1NjJhMmY2OGQyNDA4MWZjMjhhNGY3
OGYzZTMwYmJiM2I5MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTA0LDYgKzMxMDQsOCBAQCBjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfR0VPTE9DQVRJT049MSkgewogCiBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKICAgICBIRUFERVJTICs9IFwKKyAgICAgICAgZG9t
L0dlbmVyYXRlZFN0cmVhbS5oIFwKKyAgICAgICAgZG9tL1N0cmVhbS5oIFwKICAgICAgICAgcGFn
ZS9DYWxsYmFja1Rhc2suaCBcCiAgICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaCBcCiAg
ICAgICAgIHBhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmggXApAQCAtMzExMyw2ICszMTE1LDgg
QEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CiAgICAgICAgIHBh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKIAogICAgIFNPVVJDRVMgKz0g
XAorICAgICAgICBkb20vR2VuZXJhdGVkU3RyZWFtLmNwcCBcCisgICAgICAgIGRvbS9TdHJlYW0u
Y3BwIFwKICAgICAgICAgcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwIFwKICAgICAgICAg
cGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxNTI1MzI1YzgzMTAyMGNkOTcwZWYx
MDE1NDdlMDIxZjlmNTBhMjM0Li4wNjg1ZGJmMmUyYTdiM2MwMTllNDI5MDUzYWUxYTU5YTY2YzY5
NTU3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpA
QCAtNTMxOCw2ICs1MzE4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNHZW5lcmF0ZWRTdHJlYW0uY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTR2VuZXJhdGVkU3RyZWFt
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNH
ZW9sb2NhdGlvbi5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMTM0MjIs
NiArMTM0NzgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU1N0cmVhbS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNTdHJlYW0uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1N0cmluZ0NhbGxiYWNrLmNwcCIKIAkJCQk+
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC00NDY5OCw2ICs0NDgxMCw2MiBAQAogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cR2VuZXJhdGVk
U3RyZWFtLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJl
bGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXEdlbmVyYXRlZFN0cmVhbS5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cSGFzaENoYW5nZUV2ZW50LmgiCiAJ
CQkJPgogCQkJPC9GaWxlPgpAQCAtNDcwNTAsNiArNDcyMTgsNjIgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFN0cmVhbS5jcHAiCisJCQkJ
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9u
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRv
bVxTdHJlYW0uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXFN0cmluZ0NhbGxiYWNrLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYmRhNmE0MmVkMzYzNWE5NjAyMDdlM2QyYmQxMDg5ODA3NGY1NWU5Ni4uOTllN2Ix
MGYwNjczODMyNzMyN2MwMzk2MGY2MDcwOWU1N2FmNzYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDEwNSwxMiArNDEwNSwy
MCBAQAogCQlCMUU1NDU5OTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0
NThEMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovOyB9Owog
CQlCMUU1NDU5QjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFF
NTQ1OEYxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2su
aCAqLzsgfTsKIAkJQjFFNTQ1OUQxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjFFNTQ1OTExMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5oICovOyB9OworCQlCMUU1NDU3QTEzNDYyOTFGMDA5MkE1NDUgLyogR2Vu
ZXJhdGVkU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIxRTU0NTcxMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uY3BwICov
OyB9OworCQlCMUU1NDU3QjEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3MjEzNDYy
OTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3RyZWFtLmggKi87IH07CisJCUIxRTU0NTdEMTM0NjI5
MUYwMDkyQTU0NSAvKiBTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjFFNTQ1NzQxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAgKi87
IH07CisJCUIxRTU0NTdFMTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NTc1MTM0NjI5MUYwMDkyQTU0
NSAvKiBTdHJlYW0uaCAqLzsgfTsKIAkJQjFFNTQ1REYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjFFNTQ1RDExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuY3BwICovOyB9OwogCQlCMUU1NDVFMDEzNDYyQjBCMDA5MkE1NDUgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjFFNTQ1RDIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaCAqLzsgfTsKIAkJQjFFNTQ1RTExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVEMzEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJQjFFNTQ1RTIxMzQ2MkIw
QjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDQxMzQ2MkIwQjAw
OTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9OwogCQlC
MUU1NDVFMzEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjFFNTQ1RDUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmNwcCAqLzsgfTsKIAkJQjFFNTQ1RTQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNTQ1REQxMzQ2MkIwQjAw
OTJBNTQ1IC8qIEpTR2VuZXJhdGVkU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NUNGMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVy
YXRlZFN0cmVhbS5jcHAgKi87IH07CisJCUIxRTU0NURFMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dl
bmVyYXRlZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjFFNTQ1RDAxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2VuZXJhdGVkU3RyZWFtLmggKi87
IH07CisJCUIxRTU0NUU1MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENzEzNDYyQjBCMDA5
MkE1NDUgLyogSlNTdHJlYW0uY3BwICovOyB9OworCQlCMUU1NDVFNjEzNDYyQjBCMDA5MkE1NDUg
LyogSlNTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxRTU0NUQ4MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5oICovOyB9OwogCQlCMjAx
MTEwNzBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNTBBQjc3NDA1MDBEQjBFNjgg
LyogSlNTVkdBRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMDExMTA4MEFCNzc0MDUwMERCMEU2OCAv
KiBKU1NWR0FFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oICovOyB9
OwogCQlCMjIyNzk2MjBEMDBCRjIyMDA3MUI3ODIgLyogQ29sb3JEaXN0YW5jZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzdDQjBEMDBCRjFG
MDA3MUI3ODIgLyogQ29sb3JEaXN0YW5jZS5jcHAgKi87IH07CkBAIC0xMDM3OCwxMiArMTAzODYs
MjIgQEAKIAkJQjFFNTQ1OEExMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU3RyZWFtRnJh
bWVDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NThCMTM0
NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1OEMxMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlh
U3RyZWFtQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRp
YVN0cmVhbUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1
NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5lcmF0ZWRTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCMUU1NDU3MjEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVkU3Ry
ZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyYXRlZFN0cmVhbS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU3MzEzNDYyOTFGMDA5MkE1NDUg
LyogR2VuZXJhdGVkU3RyZWFtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHZW5lcmF0ZWRT
dHJlYW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU3NDEzNDYyOTFG
MDA5MkE1NDUgLyogU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NTc1MTM0
NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NTc2MTM0NjI5
MUYwMDkyQTU0NSAvKiBTdHJlYW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0cmVhbS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NThEMTM0NjI5QzEwMDkyQTU0
NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCMUU1NDU4RTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1OEYxMzQ2MjlDMTAwOTJBNTQ1
IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU5MDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUIxRTU0NTkyMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NUNGMTM0
NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0dlbmVyYXRlZFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIxRTU0NUQwMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0
cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dlbmVyYXRlZFN0cmVh
bS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVENzEzNDYyQjBCMDA5MkE1
NDUgLyogSlNTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVEODEzNDYy
QjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFFNTQ1RDExMzQ2
MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NUQyMTM0NjJCMEIwMDkyQTU0NSAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQjFFNTQ1RDMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTY4NzYsNiArMTY4OTQsOCBAQAogCQkJCTY1REYzMjJFMDlEMUREQkMwMDBC
RTMyNSAvKiBKU0VudGl0eS5oICovLAogCQkJCTkzRjlCNzcyMEJBNUZEREMwMDg1NDA2NCAvKiBK
U0VudGl0eVJlZmVyZW5jZS5jcHAgKi8sCiAJCQkJOTNGOUI3NzMwQkE1RkREQzAwODU0MDY0IC8q
IEpTRW50aXR5UmVmZXJlbmNlLmggKi8sCisJCQkJQjFFNTQ1Q0YxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTR2VuZXJhdGVkU3RyZWFtLmNwcCAqLywKKwkJCQlCMUU1NDVEMDEzNDYyQjBCMDA5MkE1NDUg
LyogSlNHZW5lcmF0ZWRTdHJlYW0uaCAqLywKIAkJCQlGRTgwREE1RjBFOUM0NzAzMDAwRDZGNzUg
LyogSlNHZW9sb2NhdGlvbi5jcHAgKi8sCiAJCQkJRkU4MERBNjAwRTlDNDcwMzAwMEQ2Rjc1IC8q
IEpTR2VvbG9jYXRpb24uaCAqLywKIAkJCQlGRTgwREE2MTBFOUM0NzAzMDAwRDZGNzUgLyogSlNH
ZW9wb3NpdGlvbi5jcHAgKi8sCkBAIC0xNjkwMCw2ICsxNjkyMCw4IEBACiAJCQkJNzU0MTVENTIx
MjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1bHQuaCAqLywKIAkJCQk3NTQxNUQ1
MzEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuY3BwICovLAogCQkJ
CTc1NDE1RDU0MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5oICov
LAorCQkJCUIxRTU0NUQ3MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAgKi8sCisJCQkJ
QjFFNTQ1RDgxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTU3RyZWFtLmggKi8sCiAJCQkJNjVERjMxRUYw
OUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5jcHAgKi8sCiAJCQkJNjVERjMxRjAwOUQxQ0M2MDAw
MEJFMzI1IC8qIEpTVGV4dC5oICovLAogCQkJKTsKQEAgLTE5MzEyLDYgKzE5MzM0LDkgQEAKIAkJ
CQk5MzgzMUI1NjBEMDg3RDYwMDBFNUM5ODQgLyogRXhjZXB0aW9uQ29kZS5jcHAgKi8sCiAJCQkJ
OTM1RkJDRjEwOUJBMTQzQjAwRTIzMEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCAqLywKIAkJCQlBODUz
MTIzQzExRDA0NzFCMDBENEQwNzcgLyogRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggKi8s
CisJCQkJQjFFNTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgKi8s
CisJCQkJQjFFNTQ1NzIxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5oICovLAor
CQkJCUIxRTU0NTczMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uaWRsICovLAog
CQkJCTI0NDJCQkY4MTE5NEM5RDMwMEQ0OTQ2OSAvKiBIYXNoQ2hhbmdlRXZlbnQuaCAqLywKIAkJ
CQk4NDgyQjc0NDExOThDMzJFMDBCRkIwMDUgLyogSGFzaENoYW5nZUV2ZW50LmlkbCAqLywKIAkJ
CQk0NTA5OUM0MDEzNzBBNzgwMDA1OEQ1MTMgLyogSWNvblVSTC5jcHAgKi8sCkBAIC0xOTQzMSw2
ICsxOTQ1Niw5IEBACiAJCQkJQ0VBMzk0OUIxMUQ0NUNEQTAwMzA5NENGIC8qIFN0YXRpY0hhc2hT
ZXROb2RlTGlzdC5oICovLAogCQkJCUJDN0ZBNjJDMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNO
b2RlTGlzdC5jcHAgKi8sCiAJCQkJQkM3RkE2MkIwRDFGMEVGRjAwREIyMkE5IC8qIFN0YXRpY05v
ZGVMaXN0LmggKi8sCisJCQkJQjFFNTQ1NzQxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAg
Ki8sCisJCQkJQjFFNTQ1NzUxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5oICovLAorCQkJCUIx
RTU0NTc2MTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaWRsICovLAogCQkJCTgxMDJDNTg3MTMy
NUJCMTEwMERERTY3QSAvKiBTdHJpbmdDYWxsYmFjay5jcHAgKi8sCiAJCQkJODFBQzZDMzUxMzFD
NTdEMzAwMDlBN0UwIC8qIFN0cmluZ0NhbGxiYWNrLmggKi8sCiAJCQkJODFBQzZDMzQxMzFDNTdD
MjAwMDlBN0UwIC8qIFN0cmluZ0NhbGxiYWNrLmlkbCAqLywKQEAgLTIyODM5LDYgKzIyODY3LDEw
IEBACiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1OTgzNjVERDEzNTVGNTU3MDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNr
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1OTgzNjVERjEzNTVGNTYyMDAxQjE4NUQgLyogSlNQb3Np
dGlvbkVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NTdCMTM0NjI5MUYw
MDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NTdF
MTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NURF
MTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQjFFNTQ1RTYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTU3RyZWFtLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTI1NTE0LDYgKzI1NTQ2LDEwIEBACiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8q
IFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU5ODM2NUU0MTM1NUY2MDQwMDFCMTg1
RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTk4MzY1RTYx
MzU1RjYwRDAwMUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUIxRTU0NTdBMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1N0QxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU1NDVERDEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5l
cmF0ZWRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1RTUxMzQ2MkIwQjAwOTJB
NTQ1IC8qIEpTU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcAppbmRleCA4NmQ5YzY3YzY5OTBhMjMxYjhjNjQyM2E2
MWIzOTM5ODQ0MWY0ZGQwLi4zMTA4Y2RiZGU1ZDhiNWE0NzNjNTY4ZDRlYzdkMzVmYmMzMTNlMmNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcApAQCAt
MTAwLDYgKzEwMCwxMSBAQAogI2luY2x1ZGUgIkZpbGVSZWFkZXIuaCIKICNlbmRpZgogCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKKyNpbmNsdWRlICJHZW5lcmF0ZWRTdHJlYW0uaCIKKyNpbmNs
dWRlICJTdHJlYW0uaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0xODksNiArMTk0LDE0IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUq
IGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50VGFyZ2V0KiB0YXJn
CiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgZmlsZVJlYWRlcik7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgaWYgKEdlbmVyYXRlZFN0cmVh
bSogZ2VuZXJhdGVkU3RyZWFtID0gdGFyZ2V0LT50b0dlbmVyYXRlZFN0cmVhbSgpKQorICAgICAg
ICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIGdlbmVyYXRlZFN0cmVhbSk7CisKKyAg
ICBpZiAoU3RyZWFtKiBzdHJlYW0gPSB0YXJnZXQtPnRvU3RyZWFtKCkpCisgICAgICAgIHJldHVy
biB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RyZWFtKTsKKyNlbmRpZgorCiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGpzTnVsbCgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKaW5kZXggZTJmODk2Yjk5OWVhZTNhNGUzYTQ3
ZmEyODQzMTdmNTc4MjA0YWRiMy4uMGIyOTBjYzViY2Q0MDg1NDhlOTEwNzg0NmQ1ZmE2ODU5NTZh
MjA4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCkBA
IC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiVjhFdmVudFNvdXJjZS5oIgogI2luY2x1ZGUgIlY4
RmlsZVJlYWRlci5oIgogI2luY2x1ZGUgIlY4RmlsZVdyaXRlci5oIgorI2luY2x1ZGUgIlY4R2Vu
ZXJhdGVkU3RyZWFtLmgiCiAjaW5jbHVkZSAiVjhIVE1MQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUg
IlY4SFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiVjhJREJEYXRhYmFzZS5oIgpAQCAtNjQsNiAr
NjUsNyBAQAogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpbmNsdWRlICJWOFNoYXJlZFdvcmtlci5o
IgogI2luY2x1ZGUgIlY4U2hhcmVkV29ya2VyQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4U3RyZWFt
LmgiCiAjaW5jbHVkZSAiVjhTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiVjhXZWJTb2NrZXQuaCIK
ICNpbmNsdWRlICJWOFdvcmtlci5oIgpAQCAtNDQ4LDYgKzQ1MCwxNCBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhET01XcmFwcGVyOjpjb252ZXJ0RXZlbnRUYXJnZXRUb1Y4T2JqZWN0KEV2ZW50
VGFyZ2V0KiB0YQogICAgICAgICByZXR1cm4gdG9WOChhdWRpb0NvbnRleHQpOwogI2VuZGlmICAg
IAogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBpZiAoR2VuZXJhdGVkU3RyZWFtKiBn
ZW5lcmF0ZWRTdHJlYW0gPSB0YXJnZXQtPnRvR2VuZXJhdGVkU3RyZWFtKCkpCisgICAgICAgIHJl
dHVybiB0b1Y4KGdlbmVyYXRlZFN0cmVhbSk7CisKKyAgICBpZiAoU3RyZWFtKiBzdHJlYW0gPSB0
YXJnZXQtPnRvU3RyZWFtKCkpCisgICAgICAgIHJldHVybiB0b1Y4KHN0cmVhbSk7CisjZW5kaWYK
KwogICAgIEFTU0VSVCgwKTsKICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IGEyMTA0OGI3OWU2ZjQwZDhlYTgz
MGY4NGM2ZDJjNWRmYWM5N2QyYmUuLjUyMjM3OGM3MDEzM2IyMzRjOGExODAyOGJkYzM4ODZkNTE2
YmM1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtNzUsNiArNzUsNyBAQAog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmNwcCIK
ICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmNwcCIKKyNpbmNsdWRlICJHZW5lcmF0ZWRTdHJlYW0u
Y3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuY3Bw
IgogI2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKQEAgLTExNSw2ICsxMTYsNyBAQAogI2lu
Y2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuY3BwIgogI2luY2x1ZGUgIlN0YXRpY0hhc2hTZXROb2Rl
TGlzdC5jcHAiCiAjaW5jbHVkZSAiU3RhdGljTm9kZUxpc3QuY3BwIgorI2luY2x1ZGUgIlN0cmVh
bS5jcHAiCiAjaW5jbHVkZSAiU3R5bGVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJTdHlsZWRFbGVt
ZW50LmNwcCIKICNpbmNsdWRlICJUYWdOb2RlTGlzdC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0LmNwcAppbmRleCA3YzA1OGMyM2ZkYWZjMDBjYzJiZjU1ZjhjYzVhYTc2YjBlZWQzZGNhLi41
YmIzMmM2ZDQzMjRlOGYzZjY2NmIzY2ZmNzc1ZGRiYTEyYmQzNzQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5jcHAKQEAgLTIwNSw2ICsyMDUsMTggQEAgSURCVmVyc2lvbkNoYW5nZVJlcXVl
c3QqIEV2ZW50VGFyZ2V0Ojp0b0lEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0KCkKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmVhbSogRXZlbnRUYXJnZXQ6OnRvU3RyZWFt
KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworR2VuZXJhdGVkU3RyZWFtKiBFdmVudFRhcmdldDo6
dG9HZW5lcmF0ZWRTdHJlYW0oKQoreworICAgIHJldHVybiAwOworfQorI2VuZGlmCisKIGJvb2wg
RXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSkK
IHsKICAgICBFdmVudFRhcmdldERhdGEqIGQgPSBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggNjk2YmU4OGUyZWJlMWYzZjAyZDAwNWY1Nzg5NGVl
ZDcxNzc4ZDYyZi4uYTUyZWM1MGVkN2VjY2FmZTQ2YWIwOWNjMDYwNWU1ZDIzYzJmNzQ1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEV2ZW50U291cmNlOwogICAgIGNsYXNzIEZpbGVSZWFkZXI7CiAgICAg
Y2xhc3MgRmlsZVdyaXRlcjsKKyAgICBjbGFzcyBHZW5lcmF0ZWRTdHJlYW07CiAgICAgY2xhc3Mg
SURCRGF0YWJhc2U7CiAgICAgY2xhc3MgSURCUmVxdWVzdDsKICAgICBjbGFzcyBJREJUcmFuc2Fj
dGlvbjsKQEAgLTYxLDYgKzYyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyOwogICAgIGNsYXNz
IFNoYXJlZFdvcmtlckNvbnRleHQ7CisgICAgY2xhc3MgU3RyZWFtOwogICAgIGNsYXNzIFdlYlNv
Y2tldDsKICAgICBjbGFzcyBXb3JrZXI7CiAgICAgY2xhc3MgWE1MSHR0cFJlcXVlc3Q7CkBAIC0x
NDcsNiArMTQ5LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBJREJW
ZXJzaW9uQ2hhbmdlUmVxdWVzdCogdG9JREJWZXJzaW9uQ2hhbmdlUmVxdWVzdCgpOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAgICB2aXJ0dWFsIFN0cmVhbSogdG9T
dHJlYW0oKTsKKyAgICAgICAgdmlydHVhbCBHZW5lcmF0ZWRTdHJlYW0qIHRvR2VuZXJhdGVkU3Ry
ZWFtKCk7CisjZW5kaWYKKwogICAgICAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCA9IDA7CiAKICAgICAgICAgdmlydHVhbCBi
b29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NS
ZWZQdHI8RXZlbnRMaXN0ZW5lcj4sIGJvb2wgdXNlQ2FwdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9H
ZW5lcmF0ZWRTdHJlYW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiN2U2N2EyNmVlM2YyMTVjMzgxMDI2Y2Iy
NGNmZTAxY2I2ZjVkODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2Vu
ZXJhdGVkU3RyZWFtLmNwcApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdlbmVyYXRlZFN0cmVhbS5oIgorCisjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgiCisjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEdlbmVyYXRlZFN0cmVhbTo6RGlzcGF0Y2hVcGRhdGVUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OlRhc2sgeworcHVibGljOgorICAgIHR5cGVkZWYgdm9pZCAoR2VuZXJhdGVk
U3RyZWFtOjoqQ2FsbGJhY2spKCk7CisKKyAgICBzdGF0aWMgUGFzc093blB0cjxEaXNwYXRjaFVw
ZGF0ZVRhc2s+IGNyZWF0ZShQYXNzUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gb2JqZWN0LCBDYWxs
YmFjayBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRGlzcGF0
Y2hVcGRhdGVUYXNrKG9iamVjdCwgY2FsbGJhY2spKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZv
aWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCisgICAgeworICAgICAgICAo
bV9vYmplY3QuZ2V0KCktPiptX2NhbGxiYWNrKSgpOworICAgIH0KKworcHVibGljOgorICAgIERp
c3BhdGNoVXBkYXRlVGFzayhQYXNzUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gb2JqZWN0LCBDYWxs
YmFjayBjYWxsYmFjaykKKyAgICAgICAgOiBtX29iamVjdChvYmplY3QpCisgICAgICAgICwgbV9j
YWxsYmFjayhjYWxsYmFjaykgeyB9CisKKyAgICBSZWZQdHI8R2VuZXJhdGVkU3RyZWFtPiBtX29i
amVjdDsKKyAgICBDYWxsYmFjayBtX2NhbGxiYWNrOworfTsKKworUGFzc1JlZlB0cjxHZW5lcmF0
ZWRTdHJlYW0+IEdlbmVyYXRlZFN0cmVhbTo6Y3JlYXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwpCit7CisgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBHZW5lcmF0ZWRTdHJlYW0oZnJhbWVDb250cm9sbGVyLCBsYWJlbCkpOwor
fQorCitHZW5lcmF0ZWRTdHJlYW06OkdlbmVyYXRlZFN0cmVhbShNZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlciogZnJhbWVDb250cm9sbGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsKQorICAgIDogU3Ry
ZWFtKGZyYW1lQ29udHJvbGxlciwgbGFiZWwsIHRydWUpCit7Cit9CisKK0dlbmVyYXRlZFN0cmVh
bTo6fkdlbmVyYXRlZFN0cmVhbSgpCit7Cit9CisKK0dlbmVyYXRlZFN0cmVhbSogR2VuZXJhdGVk
U3RyZWFtOjp0b0dlbmVyYXRlZFN0cmVhbSgpCit7CisgICAgcmV0dXJuIHRoaXM7Cit9CisKK3Zv
aWQgR2VuZXJhdGVkU3RyZWFtOjpkZXRhY2hFbWJlZGRlcigpCit7CisgICAgLy8gQXNzdW1pbmcg
d2Ugc2hvdWxkIHN0b3AgYW55IGxpdmUgc3RyZWFtcyB3aGVuIGxvc2luZyBhY2Nlc3MgdG8gdGhl
IGVtYmVkZGVyLgorICAgIHN0b3AoKTsKKworICAgIFN0cmVhbTo6ZGV0YWNoRW1iZWRkZXIoKTsK
K30KKwordm9pZCBHZW5lcmF0ZWRTdHJlYW06OnN0b3AoKQoreworICAgIGlmICghbWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXIoKSB8fCBtX3JlYWR5U3RhdGUgPT0gRU5ERUQpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCktPnN0b3BHZW5lcmF0ZWRT
dHJlYW0obGFiZWwoKSk7CisKKyAgICBtX3JlYWR5U3RhdGUgPSBFTkRFRDsKKworICAgIC8vIERv
bid0IGFzc2VydCBzaW5jZSBpdCBjYW4gYmUgbnVsbCBpbiBkZWdlbmVyYXRlIGNhc2VzIGxpa2Ug
ZnJhbWVzIGRldGFjaGVkIGZyb20gdGhlaXIgcGFnZXMuCisgICAgaWYgKCFzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmlzQ29udGV4dFRocmVhZCgpKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPnBvc3RUYXNrKERpc3BhdGNoVXBkYXRlVGFzazo6Y3JlYXRlKHRoaXMsICZHZW5lcmF0
ZWRTdHJlYW06Om9uU3RvcCkpOworfQorCit2b2lkIEdlbmVyYXRlZFN0cmVhbTo6b25TdG9wKCkK
K3sKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVkRXZl
bnQsIGZhbHNlLCBmYWxzZSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0dlbmVyYXRlZFN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyYXRlZFN0cmVhbS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ0YjI1ZTBjODc0NjEwNmIxMWEzZWFiYTYzY2I4NWEzYzY1YmY1ZTYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJhdGVkU3RyZWFtLmgKQEAg
LTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBHZW5lcmF0ZWRTdHJlYW1faAor
I2RlZmluZSBHZW5lcmF0ZWRTdHJlYW1faAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
I2luY2x1ZGUgIlN0cmVhbS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgR2VuZXJhdGVkU3RyZWFtIDogcHVibGljIFN0cmVhbSB7Citw
dWJsaWM6CisgICAgLy8gRklYTUU6IGFkZCBhdWRpbyBhbmQgdmlkZW8gdHJhY2tzIHdoZW4gYXZh
aWxhYmxlLgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdlbmVyYXRlZFN0cmVhbT4gY3JlYXRlKE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3RyaW5nJiBsYWJlbCk7CisgICAgdmly
dHVhbCB+R2VuZXJhdGVkU3RyZWFtKCk7CisKKyAgICB2b2lkIHN0b3AoKTsKKworICAgIC8vIE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpTdHJlYW1DbGllbnQgaW1wbGVtZW50YXRpb24uCisg
ICAgdmlydHVhbCB2b2lkIGRldGFjaEVtYmVkZGVyKCk7CisKKyAgICAvLyBFdmVudFRhcmdldC4K
KyAgICB2aXJ0dWFsIEdlbmVyYXRlZFN0cmVhbSogdG9HZW5lcmF0ZWRTdHJlYW0oKTsKKworcHJp
dmF0ZToKKyAgICBHZW5lcmF0ZWRTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBj
b25zdCBTdHJpbmcmIGxhYmVsKTsKKyAgICBjbGFzcyBEaXNwYXRjaFVwZGF0ZVRhc2s7CisgICAg
ZnJpZW5kIGNsYXNzIERpc3BhdGNoVXBkYXRlVGFzazsKKworICAgIHZvaWQgb25TdG9wKCk7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQorCisjZW5kaWYgLy8gR2VuZXJhdGVkU3RyZWFtX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9HZW5lcmF0ZWRTdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVy
YXRlZFN0cmVhbS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM4ZDZjMGY2NWY0ZGQ1MWUyYzA2N2NhMWIwY2Uw
ZTE5ZmMyZmYzYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmF0
ZWRTdHJlYW0uaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3Jl
IHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCisg
ICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAorICAgICAgICBFdmVudFRhcmdldAorICAg
IF0gR2VuZXJhdGVkU3RyZWFtIDogU3RyZWFtIHsKKyAgICAgICAgdm9pZCBzdG9wKCk7CisKKyAg
ICAgICAgLy8gRklYTUU6IGltcGxlbWVudCBhdWRpbyBhbmQgdmlkZW8gdHJhY2tzIHdoZW4gYXZh
aWxhYmxlLgorICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJl
YW0uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNlZWZm
ZDYxZGE5NzAzNGZhMWQyY2MxM2Y5ZjNiNmE0YzBmNTZjNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTdHJlYW0uaCIKKworI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFN0
cmVhbT4gU3RyZWFtOjpjcmVhdGUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29u
dHJvbGxlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFN0cmVhbShmcmFtZUNvbnRyb2xsZXIsIGxhYmVsKSk7Cit9CisKK1N0cmVhbTo6U3RyZWFtKE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiBmcmFtZUNvbnRyb2xsZXIsIGNvbnN0IFN0cmluZyYg
bGFiZWwsIGJvb2wgaXNHZW5lcmF0ZWRTdHJlYW0pCisgICAgOiBTdHJlYW1DbGllbnQoZnJhbWVD
b250cm9sbGVyLCBsYWJlbCwgaXNHZW5lcmF0ZWRTdHJlYW0pCisgICAgLCBtX3JlYWR5U3RhdGUo
TElWRSkKK3sKK30KKworU3RyZWFtOjp+U3RyZWFtKCkKK3sKK30KKworU3RyZWFtKiBTdHJlYW06
OnRvU3RyZWFtKCkKK3sKKyAgICByZXR1cm4gdGhpczsKK30KKwordm9pZCBTdHJlYW06OnN0cmVh
bUVuZGVkKCkKK3sKKyAgICBBU1NFUlQobV9yZWFkeVN0YXRlICE9IEVOREVEKTsKKyAgICBtX3Jl
YWR5U3RhdGUgPSBFTkRFRDsKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmVuZGVkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworfQorCitTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBTdHJlYW06OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJl
dHVybiBtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcigpID8gbWVkaWFTdHJlYW1GcmFtZUNvbnRy
b2xsZXIoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIDogMDsKK30KKworRXZlbnRUYXJnZXRE
YXRhKiBTdHJlYW06OmV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFy
Z2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBTdHJlYW06OmVuc3VyZUV2ZW50VGFyZ2V0
RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJl
YW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41OTg0NmU3MzZkNjM5MzFkNzFmNzI3NTY3Yzk5NzI4MWJkNTg5ZTZm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5oCkBAIC0wLDAg
KzEsOTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3RyZWFtX2gKKyNkZWZpbmUgU3RyZWFt
X2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbUZyYW1lQ29u
dHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJlYW0g
OiBwdWJsaWMgUmVmQ291bnRlZDxTdHJlYW0+LAorICAgICAgICAgICAgICAgcHVibGljIEV2ZW50
VGFyZ2V0LAorICAgICAgICAgICAgICAgcHVibGljIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
OjpTdHJlYW1DbGllbnQgeworcHVibGljOgorICAgIC8vIE11c3QgbWF0Y2ggdGhlIGNvbnN0YW50
cyBpbiB0aGUgLmlkbCBmaWxlLgorICAgIGVudW0geworICAgICAgICBMSVZFID0gMSwKKyAgICAg
ICAgRU5ERUQgPSAyCisgICAgfTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmVhbT4gY3Jl
YXRlKE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKiwgY29uc3QgU3RyaW5nJiBsYWJlbCk7Cisg
ICAgdmlydHVhbCB+U3RyZWFtKCk7CisKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRoZSByZWNv
cmQgbWV0aG9kIHdoZW4gU3RyZWFtUmVjb3JkZXIgaXMgYXZhaWxhYmxlLgorCisgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWFkeXN0YXRlY2hhbmdlKTsKKyAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVuZGVkKTsKKworICAgIHVuc2lnbmVkIHNob3J0IHJl
YWR5U3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3JlYWR5U3RhdGU7IH0KKyAgICBjb25zdCBTdHJp
bmcmIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gY2xpZW50SWQoKTsgfQorCisgICAgLy8gTWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXI6OlN0cmVhbUNsaWVudCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2
aXJ0dWFsIHZvaWQgc3RyZWFtRW5kZWQoKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVu
dGF0aW9uLgorICAgIHZpcnR1YWwgU3RyZWFtKiB0b1N0cmVhbSgpOworICAgIHZpcnR1YWwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OworCisg
ICAgdXNpbmcgUmVmQ291bnRlZDxTdHJlYW0+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxT
dHJlYW0+OjpkZXJlZjsKKworcHJvdGVjdGVkOgorICAgIFN0cmVhbShNZWRpYVN0cmVhbUZyYW1l
Q29udHJvbGxlciosIGNvbnN0IFN0cmluZyYgbGFiZWwsIGJvb2wgaXNHZW5lcmF0ZWRTdHJlYW0g
PSBmYWxzZSk7CisKKyAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0
dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CisgICAgdmlydHVhbCBFdmVu
dFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOworCisgICAgdW5zaWduZWQgc2hv
cnQgbV9yZWFkeVN0YXRlOworCitwcml2YXRlOgorICAgIHZvaWQgb25FbmRlZCgpOworCisgICAg
Ly8gRXZlbnRUYXJnZXQgaW1wbGVtZW50YXRpb24uCisgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50
VGFyZ2V0KCkgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkg
eyBkZXJlZigpOyB9CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQorCisjZW5kaWYgLy8gU3RyZWFtX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0cmVhbS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGQyYzYxMzk2NThhZGNmMzc4NjAwMjJhZWQyZWMyZWZkNzkyNTJmYwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHJlYW0uaWRsCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRp
b25hbD1NRURJQV9TVFJFQU0sCisgICAgICAgIEV2ZW50VGFyZ2V0CisgICAgXSBTdHJlYW0gewor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOworICAgICAgICAvLyBG
SVhNRTogaW1wbGVtZW50IHRoZSByZWNvcmQgbWV0aG9kIHdoZW4gU3RyZWFtUmVjb3JkZXIgaXMg
YXZhaWxhYmxlLgorCisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IExJVkUgPSAxOworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBFTkRFRCA9IDI7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCByZWFkeVN0YXRlOworICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmVuZGVkOworCisgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsK
KyAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7
CisgICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldmVudCkKKyAgICAgICAg
ICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fs
bGJhY2tUYXNrLmgKaW5kZXggNzI2ZWIyNjk2MWJkNzFiMmUxNzVlODEwZDcyZDQyNzIwMjlmNGMz
Ny4uZWQwMGQzMTNkMWM2Njk2NmU5MzBjOWEwNTFhY2M2NmNhNmFiNjkzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NhbGxiYWNrVGFzay5oCkBAIC01MSw2ICs1MSw4IEBAIHB1YmxpYzoKIAogICAgIGNsYXNz
IFNjaGVkdWxlciB7CiAgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIH5TY2hlZHVsZXIoKSB7
IH0KKwogICAgICAgICBib29sIHNjaGVkdWxlQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgUGFzc1JlZlB0cjxBcmd1bWVudFR5cGU+IGRhdGEpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmIChjb250ZXh0KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ2xp
ZW50LmgKaW5kZXggZTdiNTE0YzczNjlmOGJmYjAzMzg0NzkwZTIxMWUxZTNhZGZjMWQzMC4uMWQw
ZWJiMGJhMmUwNTZjOWM3YjM1MGQ5ZWFiNTIwY2RiY2E4NWQyZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWVkaWFTdHJlYW1DbGllbnQuaApAQCAtNDksNiArNDksOSBAQCBwdWJsaWM6CiAgICAgLy8g
R2VuZXJhdGUgYSBuZXcgbG9jYWwgc3RyZWFtLgogICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZVN0
cmVhbShpbnQgcmVxdWVzdElkLCBHZW5lcmF0ZVN0cmVhbU9wdGlvbkZsYWdzLCBQYXNzUmVmUHRy
PFNlY3VyaXR5T3JpZ2luPikgPSAwOwogCisgICAgLy8gU3RvcCBhIGdlbmVyYXRlZCBzdHJlYW0u
CisgICAgdmlydHVhbCB2b2lkIHN0b3BHZW5lcmF0ZWRTdHJlYW0oY29uc3QgU3RyaW5nJiBzdHJl
YW1MYWJlbCkgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1DbGll
bnQoKSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFt
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxl
ci5jcHAKaW5kZXggZjk5OTMyM2Y1YTMyYjVhMTVmN2UwOTAwMDcwMzhjY2Y2ZTM3NzliYy4uOGMx
MmRjYWNhZDMzNjNkYTEwNmNkMTZhOGMwMzgzODNkZmJmOTNlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcApAQCAtMTEyLDYgKzExMiwxMSBAQCB2
b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0oTWVkaWFTdHJlYW1GcmFt
ZUNvbnRyb2xsZXIqIGZyYW1lQ29udAogICAgIG1fY2xpZW50LT5nZW5lcmF0ZVN0cmVhbShjb250
cm9sbGVyUmVxdWVzdElkLCBmbGFncywgc2VjdXJpdHlPcmlnaW4pOwogfQogCit2b2lkIE1lZGlh
U3RyZWFtQ29udHJvbGxlcjo6c3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVh
bUxhYmVsKQoreworICAgIG1fY2xpZW50LT5zdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVhbUxhYmVs
KTsKK30KKwogdm9pZCBNZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQg
Y29udHJvbGxlclJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBzdHJlYW1MYWJlbCkKIHsKICAgICAv
LyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIGZyYW1lIGNvbnRyb2xsZXIgY2FuIGhhdmUgYmVlbiBk
ZXN0cm95ZWQgd2hpbGUgdGhlIHJlcXVlc3QgcmVwbHkgd2FzIGNvbWluZyBiYWNrLgpAQCAtMTM0
LDYgKzEzOSwxMyBAQCB2b2lkIE1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGlv
bkZhaWxlZChpbnQgY29udHJvbGxlclJlcXVlc3RJZCwgTmF2aQogICAgIH0KIH0KIAordm9pZCBN
ZWRpYVN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUZhaWxlZChjb25zdCBTdHJpbmcmIHN0cmVhbUxh
YmVsKQoreworICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgZnJhbWUgY29udHJvbGxlciBj
YW4gaGF2ZSBiZWVuIGRlc3Ryb3llZCBieSB0aGUgdGltZSB0aGlzIGlzIGNhbGxlZC4KKyAgICBp
ZiAobV9zdHJlYW1zLmNvbnRhaW5zKHN0cmVhbUxhYmVsKSkKKyAgICAgICAgbV9zdHJlYW1zLmdl
dChzdHJlYW1MYWJlbCktPnN0cmVhbUZhaWxlZChzdHJlYW1MYWJlbCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUNvbnRyb2xsZXIuaAppbmRleCA3YjI5MzhhMjllNjAw
MTYwYmNkNWQwOTk1MGY0OWRlMTIxNzliN2UzLi43MjIxOTJiMzIxYmFlM2Y4YTU0YmE1MGZlZThj
ODA2ZWQ1MTNhYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFt
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1Db250cm9s
bGVyLmgKQEAgLTUwLDkgKzUwLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHVucmVnaXN0ZXJGcmFt
ZUNvbnRyb2xsZXIoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqKTsKIAogICAgIHZvaWQgZ2Vu
ZXJhdGVTdHJlYW0oTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqLCBpbnQgcmVxdWVzdElkLCBH
ZW5lcmF0ZVN0cmVhbU9wdGlvbkZsYWdzLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPik7Cisg
ICAgdm9pZCBzdG9wR2VuZXJhdGVkU3RyZWFtKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOwog
CiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBz
dHJlYW1MYWJlbCk7CiAgICAgdm9pZCBzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCByZXF1ZXN0
SWQsIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpFcnJvckNvZGUpOworICAgIHZvaWQgc3RyZWFt
RmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpOwogCiBwcml2YXRlOgogICAgIGludCBy
ZWdpc3RlclJlcXVlc3QoaW50IGxvY2FsUmVxdWVzdElkLCBNZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1l
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250
cm9sbGVyLmNwcAppbmRleCBiZGEyN2MwMGY1MDE0MDdkYjY4Mzg2ZTY0ZmUzZjI3M2Q3NGYxMWJj
Li4yYzgwMDZhNWFjMWRkYzkxMDg1NzEwNTI2NDdlY2EzMzg3NGNjNDJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcApAQCAtMzAs
NiArMzAsNyBAQAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJHZW5lcmF0ZWRTdHJlYW0uaCIKICNpbmNs
dWRlICJNZWRpYVN0cmVhbUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmgiCkBAIC00Miw5ICs0Myw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8UmVx
dWVzdD4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcXVlc3QpOwogcHVibGljOgotICAg
IFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkK
LSAgICAgICAgOiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCkgeyB9Ci0KICAgICB2aXJ0dWFsIH5SZXF1ZXN0KCkgeyB9CiAKICAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0OyB9CkBAIC01Myw2ICs1MSwxMCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgYWJvcnQoKSA9IDA7CiAKK3Byb3RlY3RlZDoKKyAgICBSZXF1ZXN0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAgIDogbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpIHsgfQorCiBwcml2
YXRlOgogICAgIC8vIFRoaXMgaXMgZ3VhcmFudGVlZCB0byBoYXZlIHRoZSBsaWZldGltZSBvZiB0
aGUgRnJhbWUsIGFuZCBpdCdzIG9ubHkgdXNlZCB0byBtYWtlCiAgICAgLy8gdGhlIGNhbGxiYWNr
IGFzeW5jaHJvbm91cy4gVGhlIG9yaWdpbmFsIGNhbGxiYWNrIGNvbnRleHQgaXMgdXNlZCBpbiB0
aGUgY2FsbC4KQEAgLTYyLDEyICs2NCwxMiBAQCBwcml2YXRlOgogY2xhc3MgTWVkaWFTdHJlYW1G
cmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdCA6IHB1YmxpYyBSZXF1ZXN0IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW5lcmF0ZVN0cmVhbVJlcXVlc3QpOwogcHVibGlj
OgotICAgIEdlbmVyYXRlU3RyZWFtUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRy
PE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCi0gICAgICAgIDogUmVxdWVzdChzY3JpcHRFeGVjdXRp
b25Db250ZXh0KQotICAgICAgICAsIG1fc3VjY2Vzc0NhbGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykK
LSAgICAgICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFjaykgeyB9CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgR2VuZXJhdGVTdHJlYW1SZXF1ZXN0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpOworICAgIH0KIAogICAgIHZpcnR1YWwg
fkdlbmVyYXRlU3RyZWFtUmVxdWVzdCgpIHsgfQogCkBAIC03Niw3ICs3OCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgYWJvcnQoKQogICAgIHsKICAgICAgICAgaWYgKG1fZXJyb3JDYWxs
YmFjaykgewotICAgICAgICAgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiBlcnJv
ciA9IGFkb3B0UmVmKG5ldyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcihOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcjo6UEVSTUlTU0lPTl9ERU5JRUQpKTsKKyAgICAgICAgICAgIFJlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvcj4gZXJyb3IgPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6Y3JlYXRl
KE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpQRVJNSVNTSU9OX0RFTklFRCk7CiAgICAgICAgICAg
ICAvLyBUaGUgY2FsbGJhY2sgaXRzZWxmIGlzIG1hZGUgd2l0aCB0aGUgSlMgY2FsbGJhY2sncyBj
b250ZXh0LCBub3Qgd2l0aCB0aGUgZnJhbWUncyBjb250ZXh0LgogICAgICAgICAgICAgbV9lcnJv
ckNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgZXJy
b3IpOwogICAgICAgICB9CkBAIC04Niw2ICs4OCwxMyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0
cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKCkgY29uc3Qg
eyByZXR1cm4gbV9lcnJvckNhbGxiYWNrOyB9CiAKIHByaXZhdGU6CisgICAgR2VuZXJhdGVTdHJl
YW1SZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxs
YmFjaykKKyAgICAgICAgOiBSZXF1ZXN0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAg
ICwgbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKQorICAgICAgICAsIG1fZXJyb3JD
YWxsYmFjayhlcnJvckNhbGxiYWNrKSB7IH0KKwogICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2s+IG1fc3VjY2Vzc0NhbGxiYWNrOwogICAgIFJlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBtX2Vycm9yQ2FsbGJhY2s7CiB9OwpAQCAtMTUyLDkg
KzE2MSwyNCBAQCBNZWRpYVN0cmVhbUNvbnRyb2xsZXIqIE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyOjpwYWdlQ29udHJvbGxlcigpIGNvbnN0CiB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyOjp1bnJlZ2lzdGVyKFN0cmVhbUNsaWVudCogY2xpZW50KQogewogICAgIEFTU0VSVChtX3N0
cmVhbXMuY29udGFpbnMoY2xpZW50LT5jbGllbnRJZCgpKSk7CisKKyAgICAvLyBBc3N1bWluZyB3
ZSBzaG91bGQgc3RvcCBhbnkgbGl2ZSBzdHJlYW1zIHdoZW4gbG9zaW5nIGFjY2VzcyB0byB0aGUg
ZW1iZWRkZXIuCisgICAgaWYgKGNsaWVudC0+aXNHZW5lcmF0ZWRTdHJlYW0oKSkgeworICAgICAg
ICBHZW5lcmF0ZWRTdHJlYW0qIHN0cmVhbSA9IHN0YXRpY19jYXN0PEdlbmVyYXRlZFN0cmVhbSo+
KGNsaWVudCk7CisgICAgICAgIGlmIChzdHJlYW0tPnJlYWR5U3RhdGUoKSA9PSBTdHJlYW06OkxJ
VkUpCisgICAgICAgICAgICBzdG9wR2VuZXJhdGVkU3RyZWFtKHN0cmVhbS0+bGFiZWwoKSk7Cisg
ICAgfQorCiAgICAgbV9zdHJlYW1zLnJlbW92ZShjbGllbnQtPmNsaWVudElkKCkpOwogfQogCitT
dHJlYW0qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpnZXRTdHJlYW1Gcm9tTGFiZWwoY29u
c3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1zLmNvbnRhaW5z
KGxhYmVsKSk7CisgICAgQVNTRVJUKG1fc3RyZWFtcy5nZXQobGFiZWwpLT5pc1N0cmVhbSgpKTsK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RyZWFtKj4obV9zdHJlYW1zLmdldChsYWJlbCkpOwor
fQorCiB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjplbnRlckRldGFjaGVkU3RhdGUo
KQogewogICAgIGlmIChtX2lzSW5EZXRhY2hlZFN0YXRlKSB7CkBAIC0yNTMsNyArMjc3LDcgQEAg
dm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0oY29uc3QgU3Ry
aW5nJiBvcHRpb25zLAogICAgIH0KIAogICAgIGludCByZXF1ZXN0SWQgPSBtX3JlcXVlc3RzLmdl
dE5leHRJZCgpOwotICAgIG1fcmVxdWVzdHMuYWRkKHJlcXVlc3RJZCwgYWRvcHRSZWYobmV3IEdl
bmVyYXRlU3RyZWFtUmVxdWVzdChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN1Y2Nlc3NDYWxs
YmFjaywgZXJyb3JDYWxsYmFjaykpKTsKKyAgICBtX3JlcXVlc3RzLmFkZChyZXF1ZXN0SWQsIEdl
bmVyYXRlU3RyZWFtUmVxdWVzdDo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3Vj
Y2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSk7CiAKICAgICBpZiAoIWlzQ2xpZW50QXZhaWxh
YmxlKCkpIHsKICAgICAgICAgLy8gVGhpcyBtYWtlcyBzdXJlIHRvIGNhbGwgdGhlIGVycm9yIGNh
bGxiYWNrIGlmIHByb3ZpZGVkLgpAQCAtMjY0LDM0ICsyODgsNTQgQEAgdm9pZCBNZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBvcHRpb25zLAog
ICAgIHBhZ2VDb250cm9sbGVyKCktPmdlbmVyYXRlU3RyZWFtKHRoaXMsIHJlcXVlc3RJZCwgZmxh
Z3MsIHNlY3VyaXR5T3JpZ2luKCkpOwogfQogCit2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9s
bGVyOjpzdG9wR2VuZXJhdGVkU3RyZWFtKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFiZWwpCit7Cisg
ICAgQVNTRVJUKG1fc3RyZWFtcy5jb250YWlucyhzdHJlYW1MYWJlbCkpOworICAgIEFTU0VSVCht
X3N0cmVhbXMuZ2V0KHN0cmVhbUxhYmVsKS0+aXNHZW5lcmF0ZWRTdHJlYW0oKSk7CisKKyAgICBp
ZiAoaXNDbGllbnRBdmFpbGFibGUoKSkKKyAgICAgICAgcGFnZUNvbnRyb2xsZXIoKS0+c3RvcEdl
bmVyYXRlZFN0cmVhbShzdHJlYW1MYWJlbCk7Cit9CisKIHZvaWQgTWVkaWFTdHJlYW1GcmFtZUNv
bnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIGxh
YmVsKQogewogICAgIC8vIERvbid0IGFzc2VydCBzaW5jZSB0aGUgcmVxdWVzdCBjYW4gaGF2ZSBi
ZWVuIGFib3J0ZWQgYXMgYSByZXN1bHQgb2YgZW1iZWRkZXIgZGV0YWNobWVudC4KLSAgICBpZiAo
bV9yZXF1ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKSB7Ci0gICAgICAgIEFTU0VSVChtX3JlcXVl
c3RzLmdldChyZXF1ZXN0SWQpLT5pc0dlbmVyYXRlU3RyZWFtUmVxdWVzdCgpKTsKLSAgICAgICAg
QVNTRVJUKCFsYWJlbC5pc051bGwoKSk7CisgICAgaWYgKCFtX3JlcXVlc3RzLmNvbnRhaW5zKHJl
cXVlc3RJZCkpCisgICAgICAgIHJldHVybjsKIAotICAgICAgICAvLyBGSVhNRTogY3JlYXRlIGEg
R2VuZXJhdGVkU3RyZWFtIG9iamVjdCBhbmQgaW52b2tlIHRoZSBjYWxsYmFjayB3aGVuIHRoZSBj
bGFzcyBpcyBhdmFpbGFibGUuCi0gICAgICAgIG1fcmVxdWVzdHMucmVtb3ZlKHJlcXVlc3RJZCk7
Ci0gICAgfQorICAgIEFTU0VSVChtX3JlcXVlc3RzLmdldChyZXF1ZXN0SWQpLT5pc0dlbmVyYXRl
U3RyZWFtUmVxdWVzdCgpKTsKKyAgICBBU1NFUlQoIWxhYmVsLmlzTnVsbCgpKTsKKworICAgIFJl
ZlB0cjxHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q+IHN0cmVhbVJlcXVlc3QgPSBzdGF0aWNfY2FzdDxH
ZW5lcmF0ZVN0cmVhbVJlcXVlc3QqPihtX3JlcXVlc3RzLmdldChyZXF1ZXN0SWQpLmdldCgpKTsK
KyAgICBSZWZQdHI8R2VuZXJhdGVkU3RyZWFtPiBnZW5lcmF0ZWRTdHJlYW0gPSBHZW5lcmF0ZWRT
dHJlYW06OmNyZWF0ZSh0aGlzLCBsYWJlbCk7CisgICAgbV9zdHJlYW1zLmFkZChsYWJlbCwgZ2Vu
ZXJhdGVkU3RyZWFtLmdldCgpKTsKKyAgICBtX3JlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOwor
ICAgIHN0cmVhbVJlcXVlc3QtPnN1Y2Nlc3NDYWxsYmFjaygpLT5oYW5kbGVFdmVudChnZW5lcmF0
ZWRTdHJlYW0uZ2V0KCkpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpz
dHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCByZXF1ZXN0SWQsIE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yOjpFcnJvckNvZGUgY29kZSkKIHsKICAgICAvLyBEb24ndCBhc3NlcnQgc2luY2UgdGhlIHJl
cXVlc3QgY2FuIGhhdmUgYmVlbiBhYm9ydGVkIGFzIGEgcmVzdWx0IG9mIGVtYmVkZGVyIGRldGFj
aG1lbnQuCi0gICAgaWYgKG1fcmVxdWVzdHMuY29udGFpbnMocmVxdWVzdElkKSkgewotICAgICAg
ICBBU1NFUlQobV9yZXF1ZXN0cy5nZXQocmVxdWVzdElkKS0+aXNHZW5lcmF0ZVN0cmVhbVJlcXVl
c3QoKSk7CisgICAgaWYgKCFtX3JlcXVlc3RzLmNvbnRhaW5zKHJlcXVlc3RJZCkpCisgICAgICAg
IHJldHVybjsKIAotICAgICAgICBSZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBzdHJlYW1S
ZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0Kj4obV9yZXF1ZXN0cy5n
ZXQocmVxdWVzdElkKS5nZXQoKSk7Ci0gICAgICAgIG1fcmVxdWVzdHMucmVtb3ZlKHJlcXVlc3RJ
ZCk7CisgICAgQVNTRVJUKG1fcmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCktPmlzR2VuZXJhdGVTdHJl
YW1SZXF1ZXN0KCkpOwogCi0gICAgICAgIGlmIChzdHJlYW1SZXF1ZXN0LT5lcnJvckNhbGxiYWNr
KCkpIHsKLSAgICAgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4gZXJyb3Ig
PSBhZG9wdFJlZihuZXcgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoY29kZSkpOwotICAgICAgICAg
ICAgc3RyZWFtUmVxdWVzdC0+ZXJyb3JDYWxsYmFjaygpLT5oYW5kbGVFdmVudChlcnJvci5nZXQo
KSk7Ci0gICAgICAgIH0KKyAgICBSZWZQdHI8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0PiBzdHJlYW1S
ZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8R2VuZXJhdGVTdHJlYW1SZXF1ZXN0Kj4obV9yZXF1ZXN0cy5n
ZXQocmVxdWVzdElkKS5nZXQoKSk7CisgICAgbV9yZXF1ZXN0cy5yZW1vdmUocmVxdWVzdElkKTsK
KworICAgIGlmIChzdHJlYW1SZXF1ZXN0LT5lcnJvckNhbGxiYWNrKCkpIHsKKyAgICAgICAgUmVm
UHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiBlcnJvciA9IE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yOjpjcmVhdGUoY29kZSk7CisgICAgICAgIHN0cmVhbVJlcXVlc3QtPmVycm9yQ2FsbGJhY2so
KS0+aGFuZGxlRXZlbnQoZXJyb3IuZ2V0KCkpOwogICAgIH0KIH0KIAordm9pZCBNZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlcjo6c3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgbGFiZWwpCit7Cisg
ICAgZ2V0U3RyZWFtRnJvbUxhYmVsKGxhYmVsKS0+c3RyZWFtRW5kZWQoKTsKK30KKworCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oCmluZGV4
IDQ5NDYxYTk3YzM1ZTY4NzEyMzZhMWI2NmZmNzJhNmEyYjU4ZGU2NGMuLmNjMDMzMWZhNGQwNjJm
MmFmYjQyM2Q1ZTk1MTU4NDY1ZTFmYTc3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgKQEAgLTM4LDEyICszOCwxNCBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKK2NsYXNzIEdlbmVyYXRlZFN0cmVhbTsKIGNs
YXNzIE1lZGlhU3RyZWFtQ29udHJvbGxlcjsKIGNsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s7CiBjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s7CiBjbGFz
cyBQYWdlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFNlY3VyaXR5T3Jp
Z2luOworY2xhc3MgU3RyZWFtOwogCiBjbGFzcyBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIpOwpA
QCAtMTAxLDE2ICsxMDMsMjMgQEAgcHVibGljOgogCiAgICAgY2xhc3MgU3RyZWFtQ2xpZW50IDog
cHVibGljIENsaWVudEJhc2U8U3RyaW5nPiB7CiAgICAgcHVibGljOgotICAgICAgICBTdHJlYW1D
bGllbnQoTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIqIGZyYW1lQ29udHJvbGxlciwgY29uc3Qg
U3RyaW5nJiBsYWJlbCkgOiBDbGllbnRCYXNlPFN0cmluZz4oZnJhbWVDb250cm9sbGVyLCBsYWJl
bCkgeyB9CisgICAgICAgIFN0cmVhbUNsaWVudChNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciog
ZnJhbWVDb250cm9sbGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBib29sIGlzR2VuZXJhdGVkU3Ry
ZWFtKQorICAgICAgICAgICAgOiBDbGllbnRCYXNlPFN0cmluZz4oZnJhbWVDb250cm9sbGVyLCBs
YWJlbCkKKyAgICAgICAgICAgICwgbV9pc0dlbmVyYXRlZFN0cmVhbShpc0dlbmVyYXRlZFN0cmVh
bSkgeyB9CisKICAgICAgICAgdmlydHVhbCB+U3RyZWFtQ2xpZW50KCkgeyB1bnJlZ2lzdGVyKCk7
IH0KIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTdHJlYW0oKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CiAKKyAgICAgICAgLy8gQWNjZXNzZWQgYnkgdGhlIGRlc3RydWN0b3IuCisgICAgICAgIHZp
cnR1YWwgYm9vbCBpc0dlbmVyYXRlZFN0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0
ZWRTdHJlYW07IH0KKwogICAgICAgICAvLyBTdHJlYW0gaGFzIGVuZGVkIGZvciBzb21lIGV4dGVy
bmFsIHJlYXNvbi4KICAgICAgICAgdmlydHVhbCB2b2lkIHN0cmVhbUVuZGVkKCkgPSAwOwogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXIoKSB7IHVucmVnaXN0
ZXJDbGllbnQodGhpcyk7IH0KKyAgICAgICAgYm9vbCBtX2lzR2VuZXJhdGVkU3RyZWFtOwogICAg
IH07CiAKICAgICBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcihGcmFtZSopOwpAQCAtMTMwLDYg
KzEzOSw5IEBAIHB1YmxpYzoKICAgICAvLyBDcmVhdGUgYSBuZXcgZ2VuZXJhdGVkIHN0cmVhbSBh
c3luY2hyb25vdXNseSB3aXRoIHRoZSBwcm92aWRlZCBvcHRpb25zLgogICAgIHZvaWQgZ2VuZXJh
dGVTdHJlYW0oY29uc3QgU3RyaW5nJiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIC8vIFN0b3AgYSBnZW5lcmF0ZWQgc3Ry
ZWFtLgorICAgIHZvaWQgc3RvcEdlbmVyYXRlZFN0cmVhbShjb25zdCBTdHJpbmcmIHN0cmVhbUxh
YmVsKTsKKwogICAgIC8vIC0tLSBDYWxscyBjb21pbmcgYmFjayBmcm9tIHRoZSBjb250cm9sbGVy
LiAtLS0gLy8KIAogICAgIC8vIFJlcG9ydCB0aGUgZ2VuZXJhdGlvbiBvZiBhIG5ldyBsb2NhbCBz
dHJlYW0uCkBAIC0xMzgsNiArMTUwLDkgQEAgcHVibGljOgogICAgIC8vIFJlcG9ydCBhIGZhaWx1
cmUgaW4gdGhlIGdlbmVyYXRpb24gb2YgYSBuZXcgc3RyZWFtLgogICAgIHZvaWQgc3RyZWFtR2Vu
ZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVzdElkLCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6RXJy
b3JDb2RlKTsKIAorICAgIC8vIFJlcG9ydCB0aGUgZW5kIG9mIGEgc3RyZWFtIGZvciBleHRlcm5h
bCByZWFzb25zLgorICAgIHZvaWQgc3RyZWFtRmFpbGVkKGNvbnN0IFN0cmluZyYgc3RyZWFtTGFi
ZWwpOworCiBwcml2YXRlOgogICAgIGNsYXNzIFJlcXVlc3Q7CiAgICAgY2xhc3MgR2VuZXJhdGVT
dHJlYW1SZXF1ZXN0OwpAQCAtMTc3LDYgKzE5Miw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVu
cmVnaXN0ZXIoU3RyZWFtQ2xpZW50Kik7CiAgICAgTWVkaWFTdHJlYW1Db250cm9sbGVyKiBwYWdl
Q29udHJvbGxlcigpIGNvbnN0OworICAgIFN0cmVhbSogZ2V0U3RyZWFtRnJvbUxhYmVsKGNvbnN0
IFN0cmluZyYpIGNvbnN0OwogCiAgICAgUmVxdWVzdE1hcCBtX3JlcXVlc3RzOwogICAgIFN0cmVh
bU1hcCBtX3N0cmVhbXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmgKaW5kZXggY2M4OGI0ZjExZjY3NjI2NDUzMTE5NjcyYmMxMTJiMTA2Nzc5MDJjOC4u
NWVkZDk3ZDkwYjA5NGIyODIwODlkMTVhYjZmMWQ5Nzk3YjcxMDY1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaApAQCAtMjUsNiArMjUsNyBAQAog
I2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCiAjZGVmaW5lIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yX2gKIAorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCkBAIC0zOCwxMiArMzks
MTggQEAgcHVibGljOgogICAgICAgICBQRVJNSVNTSU9OX0RFTklFRCA9IDEKICAgICB9OwogCi0g
ICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoRXJyb3JDb2RlIGNvZGUpIDogbV9jb2RlKGNvZGUp
IHsgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiBjcmVh
dGUoRXJyb3JDb2RlIGNvZGUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yKGNvZGUpKTsKKyAgICB9CisKICAgICB2aXJ0dWFsIH5OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcigpIHsgfQogCiAgICAgRXJyb3JDb2RlIGNvZGUoKSBjb25zdCB7
IHJldHVybiBtX2NvZGU7IH0KIAogcHJpdmF0ZToKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
cihFcnJvckNvZGUgY29kZSkgOiBtX2NvZGUoY29kZSkgeyB9CisKICAgICBFcnJvckNvZGUgbV9j
b2RlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKaW5kZXggNzcwNjkzZDA2ZTQ3MTU2YzdlMTU2MGE1YzJi
N2RiOTVmYzMxZjYxOC4uNTM0ZTc0MTc2NGU5NmUzM2U5MDE2NTEwMzUyNTI4M2YzY2IxMDk3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5oCkBAIC0zMSwxMiArMzEsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitjbGFzcyBHZW5lcmF0ZWRTdHJlYW07CisKIGNsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjaz4gewogcHVibGljOgogICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjaygpIHsgfQotICAgIC8vIEZJWE1FOiBzZXQgY29ycmVjdCB0eXBlIHdoZW4g
dGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFibGUuCi0gICAgLy8gdmlydHVhbCBi
b29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wg
aGFuZGxlRXZlbnQoaW50IGR1bW15KSA9IDA7CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50
KEdlbmVyYXRlZFN0cmVhbSopID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmlkbAppbmRleCBlMTI1NDBjYTYzZjBmZWQ0N2U2YTJjZDAxN2JjZTlmMWQ1Njhi
ZWZjLi5hMTJhOWU4NTc4ZmUwMGI1OTAwMmUyN2JjZDU1OGNlNjU0MzcwNWYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaWRsCkBAIC0yNyw5ICsyNyw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBDb25k
aXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgICAgIENhbGxiYWNrPUZ1bmN0aW9uT25seQogICAg
IF0gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHsKLSAgICAgICAgLy8gRklYTUU6
IGltcGxlbWVudCB0aGUgY29ycmVjdCB0eXBlIHdoZW4gdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFz
cyBpcyBhdmFpbGFibGUuCi0gICAgICAgIC8vIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gR2VuZXJh
dGVkU3RyZWFtIHN0cmVhbSk7Ci0gICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gaW50IGR1
bW15KTsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBHZW5lcmF0ZWRTdHJlYW0gc3Ry
ZWFtKTsKICAgICB9OwogCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>