<?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>209134</bug_id>
          
          <creation_ts>2020-03-16 01:49:59 -0700</creation_ts>
          <short_desc>[macOS] Add support for scrollend event of programmatic scroll</short_desc>
          <delta_ts>2025-07-19 00:29:50 -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>Scrolling</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>208802</dependson>
    
    <dependson>210281</dependson>
          <blocked>201556</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="cathiechen">cathiechen</reporter>
          <assigned_to name="Nikos Mouchtaris">nmouchtaris</assigned_to>
          <cc>adieulot</cc>
    
    <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>herr.ernst</cc>
    
    <cc>jbedard</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mattiasha</cc>
    
    <cc>mic.gallego</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>msaboff</cc>
    
    <cc>nmouchtaris</cc>
    
    <cc>ntim</cc>
    
    <cc>pdr</cc>
    
    <cc>pinkhominid</cc>
    
    <cc>rado</cc>
    
    <cc>ryan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>sime.vidas</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1630269</commentid>
    <comment_count>0</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-03-16 01:49:59 -0700</bug_when>
    <thetext>The programmatic scroll would fire scrollend events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630698</commentid>
    <comment_count>1</comment_count>
      <attachid>393744</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-03-17 05:26:34 -0700</bug_when>
    <thetext>Created attachment 393744
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630699</commentid>
    <comment_count>2</comment_count>
      <attachid>393745</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-03-17 05:27:06 -0700</bug_when>
    <thetext>Created attachment 393745
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630700</commentid>
    <comment_count>3</comment_count>
      <attachid>393746</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-03-17 05:49:12 -0700</bug_when>
    <thetext>Created attachment 393746
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630702</commentid>
    <comment_count>4</comment_count>
      <attachid>393747</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-03-17 06:22:31 -0700</bug_when>
    <thetext>Created attachment 393747
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631651</commentid>
    <comment_count>5</comment_count>
      <attachid>393745</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2020-03-19 08:01:05 -0700</bug_when>
    <thetext>Comment on attachment 393745
scrollend-programmatic-for-review

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

&gt; Source/WebCore/dom/Document.cpp:804
&gt; +    m_pendingScrollendEventTargetList = nullptr;

Should everything in this patch be &quot;ScrollEnd&quot;? Did you check what we do for other events?

&gt; Source/WebCore/page/FrameView.cpp:2286
&gt; +void FrameView::setScrollPosition(const ScrollPosition&amp; scrollPosition, ScrollClamping clamping, bool animated, bool saveScrollendPosition)

I believe Simon complained in the past about &quot;boolean trap&quot;. I wonder whether we want enums here?

&gt; Source/WebCore/platform/ScrollView.cpp:543
&gt; +    if ((!delegatesScrolling() || currentScrollType() == ScrollType::User) &amp;&amp; currentScrollBehaviorStatus() == ScrollBehaviorStatus::NotInAnimation &amp;&amp; newScrollPosition == this-&gt;scrollPosition()) {

this line is very long, maybe consider https://webkit.org/code-style-guidelines/#indentation-wrap-bool-op ?

&gt; Source/WebCore/platform/ScrollView.cpp:-534
&gt; -        scrollAnimator().cancelAnimations();

Can you explain this behavior change? It seems you move it above where the if is no longer done.

&gt; Source/WebCore/rendering/RenderLayer.cpp:2848
&gt; +    bool autoscrollNotInProgress = !renderer().frame().eventHandler().autoscrollInProgress();

It seems the autscrollstatus change can be done in a separate preliminary patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639025</commentid>
    <comment_count>6</comment_count>
      <attachid>395799</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-08 06:32:03 -0700</bug_when>
    <thetext>Created attachment 395799
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639026</commentid>
    <comment_count>7</comment_count>
      <attachid>395800</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-08 06:32:43 -0700</bug_when>
    <thetext>Created attachment 395800
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639028</commentid>
    <comment_count>8</comment_count>
      <attachid>395801</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-08 06:47:27 -0700</bug_when>
    <thetext>Created attachment 395801
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639029</commentid>
    <comment_count>9</comment_count>
      <attachid>395802</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-08 06:47:51 -0700</bug_when>
    <thetext>Created attachment 395802
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639038</commentid>
    <comment_count>10</comment_count>
      <attachid>395805</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-08 07:13:13 -0700</bug_when>
    <thetext>Created attachment 395805
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639039</commentid>
    <comment_count>11</comment_count>
      <attachid>395806</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-08 07:13:36 -0700</bug_when>
    <thetext>Created attachment 395806
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639082</commentid>
    <comment_count>12</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-08 08:58:18 -0700</bug_when>
    <thetext>Hi Fred,
Thanks for the review:)

&gt; 
&gt; &gt; Source/WebCore/dom/Document.cpp:804
&gt; &gt; +    m_pendingScrollendEventTargetList = nullptr;
&gt; 
&gt; Should everything in this patch be &quot;ScrollEnd&quot;? Did you check what we do for
&gt; other events?
&gt; 

Done.

&gt; &gt; Source/WebCore/page/FrameView.cpp:2286
&gt; &gt; +void FrameView::setScrollPosition(const ScrollPosition&amp; scrollPosition, ScrollClamping clamping, bool animated, bool saveScrollendPosition)
&gt; 
&gt; I believe Simon complained in the past about &quot;boolean trap&quot;. I wonder
&gt; whether we want enums here?
&gt; 

Done.

&gt; &gt; Source/WebCore/platform/ScrollView.cpp:543
&gt; &gt; +    if ((!delegatesScrolling() || currentScrollType() == ScrollType::User) &amp;&amp; currentScrollBehaviorStatus() == ScrollBehaviorStatus::NotInAnimation &amp;&amp; newScrollPosition == this-&gt;scrollPosition()) {
&gt; 
&gt; this line is very long, maybe consider
&gt; https://webkit.org/code-style-guidelines/#indentation-wrap-bool-op ?
&gt; 

Done.

&gt; &gt; Source/WebCore/platform/ScrollView.cpp:-534
&gt; &gt; -        scrollAnimator().cancelAnimations();
&gt; 
&gt; Can you explain this behavior change? It seems you move it above where the
&gt; if is no longer done.
&gt; 

We should cancel the animation before return. There&apos;s a tiny chance that animation doesn&apos;t stop. Moved this change to https://bugs.webkit.org/show_bug.cgi?id=210171.

&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:2848
&gt; &gt; +    bool autoscrollNotInProgress = !renderer().frame().eventHandler().autoscrollInProgress();
&gt; 
&gt; It seems the autscrollstatus change can be done in a separate preliminary
&gt; patch?

Done, I move this change to https://bugs.webkit.org/show_bug.cgi?id=210171</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639585</commentid>
    <comment_count>13</comment_count>
      <attachid>395939</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-09 05:25:27 -0700</bug_when>
    <thetext>Created attachment 395939
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639586</commentid>
    <comment_count>14</comment_count>
      <attachid>395940</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-09 05:25:54 -0700</bug_when>
    <thetext>Created attachment 395940
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639599</commentid>
    <comment_count>15</comment_count>
      <attachid>395943</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-09 06:14:54 -0700</bug_when>
    <thetext>Created attachment 395943
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639600</commentid>
    <comment_count>16</comment_count>
      <attachid>395944</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-09 06:15:20 -0700</bug_when>
    <thetext>Created attachment 395944
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639631</commentid>
    <comment_count>17</comment_count>
      <attachid>395944</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-09 07:42:10 -0700</bug_when>
    <thetext>Comment on attachment 395944
scrollend-programmatic-for-review

Hi,
The patch is ready to review\o/ Thanks:)
This is based on the parsing patch(208802) and code style fix up for scroll animated patch(bug 210171).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640063</commentid>
    <comment_count>18</comment_count>
      <attachid>396058</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-10 00:24:12 -0700</bug_when>
    <thetext>Created attachment 396058
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640064</commentid>
    <comment_count>19</comment_count>
      <attachid>396059</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-10 00:24:41 -0700</bug_when>
    <thetext>Created attachment 396059
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640068</commentid>
    <comment_count>20</comment_count>
      <attachid>396062</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-10 00:41:44 -0700</bug_when>
    <thetext>Created attachment 396062
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640149</commentid>
    <comment_count>21</comment_count>
      <attachid>396062</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-10 06:35:38 -0700</bug_when>
    <thetext>Comment on attachment 396062
scrollend-programmatic-for-review

Hi,
Rebase the code.
After commit the code style fix up patch and test import patch, now this patch is only based on the parsing patch(bug 208802). I wonder if I can commit the parsing patch now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652993</commentid>
    <comment_count>22</comment_count>
      <attachid>399465</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-05-15 02:18:33 -0700</bug_when>
    <thetext>Created attachment 399465
scrollend-programmatic-for-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652994</commentid>
    <comment_count>23</comment_count>
      <attachid>399466</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-05-15 02:19:10 -0700</bug_when>
    <thetext>Created attachment 399466
scrollend-programmatic-for-review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1900856</commentid>
    <comment_count>24</comment_count>
    <who name="">mic.gallego</who>
    <bug_when>2022-09-24 05:04:54 -0700</bug_when>
    <thetext>Chrome has shipped the new &quot;scrollend&quot; event as an experimental feature. Are there plans to enable this feature to Safari as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1900912</commentid>
    <comment_count>25</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-09-24 10:49:21 -0700</bug_when>
    <thetext>Is there a spec for this new event?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1900961</commentid>
    <comment_count>26</comment_count>
    <who name="">mic.gallego</who>
    <bug_when>2022-09-24 19:03:08 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #25)
&gt; Is there a spec for this new event?

Yes, here you are: https://wicg.github.io/overscroll-scrollend-events/
Chrome has shipped it behind experimental flag (for now, I think they only implemented the scrollend event).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1960937</commentid>
    <comment_count>27</comment_count>
    <who name="Šime Vidas">sime.vidas</who>
    <bug_when>2023-06-10 09:03:50 -0700</bug_when>
    <thetext>The scrollend event shipped in Chrome 114 last month.

Simple test page (the page will turn yellow after the scroll): https://output.jsbin.com/ludiban/quiet

The event seems to now be defined in the CSSOM View spec: https://drafts.csswg.org/cssom-view/#eventdef-document-scrollend</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1968858</commentid>
    <comment_count>28</comment_count>
    <who name="Ernst">herr.ernst</who>
    <bug_when>2023-07-31 08:45:44 -0700</bug_when>
    <thetext>Firefox also shipped &apos;scrollend&apos;. Please also enable it in Safari on both iOS and macOS. Would make some components much easier than with debouncing and heuristics to detect scroll end. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1996713</commentid>
    <comment_count>29</comment_count>
    <who name="Rado">rado</who>
    <bug_when>2023-12-04 07:15:40 -0800</bug_when>
    <thetext>Please implement the &apos;scrollend&apos; event, because we must use a polyfill for Safari only. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2130893</commentid>
    <comment_count>30</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-07-17 11:21:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/156077004&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2130995</commentid>
    <comment_count>31</comment_count>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2025-07-17 16:31:09 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/48213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2131325</commentid>
    <comment_count>32</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-07-18 20:40:27 -0700</bug_when>
    <thetext>Committed 297630@main (cf4ff1c081a2): &lt;https://commits.webkit.org/297630@main&gt;

Reviewed commits have been landed. Closing PR #48213 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393744</attachid>
            <date>2020-03-17 05:26:34 -0700</date>
            <delta_ts>2020-03-17 05:49:12 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-for-ews.diff</filename>
            <type>text/plain</type>
            <size>96386</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmYTBhMTJkZmUyLi5kMTAx
NzJhNDA3IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wMy0xNCAgTWljaGFlbCBDYXRhbnphcm8gIDxt
Y2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBbQ01ha2VdIFdhcm5pbmcgd2hlbiBjY2Fj
aGUgaXMgbm90IGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzExYTI5Mzkz
Ny4uYWE2MTZlZjNiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJp
YyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUy4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDIwLTAzLTE1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAg
cmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoIHNob3VsZCBoYW5kbGUgUHJlY2lzZUFsbG9jYXRpb24g
aW4gSXNvU3Vic3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlNmEzMDAyOWEwLi40
OWM1ZGM4Yjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0yOTYsNiArMjk2LDggQEAg
RU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gp
KTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVO
QUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChF
TkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQx
NCw0ICs0MTYsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxU
RVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVO
QUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVf
U0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJP
QVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05f
TUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
UElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJT
KSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hF
X1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMp
ICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBlMzE0NTU0OTAyLi4xZGU4MzE3ODlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAK
KzIwMjAtMDMtMTcgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9s
bGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5
MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Vw
cG9ydCBzY3JvbGxlbmQgZXZlbnQgZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcuIFNhdmUgdGhl
IHNjcm9sbCBwb3NpdGlvbiB3aGVuIHN0YXJ0aW5nCisgICAgICAgIGEgc2Nyb2xsIChpbnN0YW50
IC8gYW5pbWF0ZWQpLiBDb21wYXJlIHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aXRoIHRo
ZSBzYXZlIG9uZSwgd2hlbgorICAgICAgICBSZW5kZXJMYXllci9TY3JvbGxWaWV3IGFjdHVhbGx5
IHNjcm9sbHMuIElmIHRoZXkgYXJlIHNhbWUsIHB1dCB0aGUgdGFyZ2V0IHRvIGEgbGlzdCBpbiBk
b2N1bWVudC4KKyAgICAgICAgVGhlIHRhcmdldHMgaW4gdGhlIGxpc3Qgd291bGQgZGlzcGF0Y2gg
c2Nyb2xsZW5kIGV2ZW50cy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFy
Z2V0cyB0byBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQg
Zm9yIGVhY2ggdGFyZ2V0LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5n
U2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQg
dGFyZ2V0cy4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIHNhdmVTY3JvbGxlbmRQb3NpdGlv
biB0byBpbmRpY2F0ZSB0aGUgcG9zaXRpb24gc2hvdWxkIGJlIHNhdmVkIGZvciBzY3JvbGxlbmQg
ZXZlbnQgb3Igbm90LgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxUb09mZnNl
dFdpdGhBbmltYXRpb24pOiBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24gaXMgdGhlIHNjcm9s
bCBwb3NpdGlvbiBkb24ndCBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNh
dmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKTogU2F2ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLCBhIHNj
cm9sbGVuZCBldmVudCB3b3VsZCBiZSBmaXJlZCBhdCB0aGlzIHBvc2l0aW9uLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24pOiBJZiBwb3Np
dGlvbiBpcyBlcXVhbCB0byB0aGUgc2F2ZWQgb25lLCBhZGQgdGhlIHRhcmdldCB0byB0aGUgc2Ny
b2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmZvcmNlU2Nyb2xsZW5k
KTogQWRkIHRoZSB0YXJnZXQgdG8gdGhlIGxpc3Qgd2l0aG91dCBjaGVja2luZyBpdHMgc2Nyb2xs
IHBvc2l0aW9uLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdGlvblNtb290aDo6c3RvcCk6IElmIHRoZSBhbmltYXRpb24gaXMgaW50ZXJydXB0ZWQsIGNh
bGwgZm9yY2VTY3JvbGxlbmQoKSB0byBmaXJlIHNjcm9sbGVuZCBldmVudCB3aXRob3V0IGNoZWNr
aW5nIHRoZSBwb3NpdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290
aDo6YW5pbWF0aW9uVGltZXJGaXJlZCk6IFdoZW4gdGhlIGFuaW1hdGlvbiBlbmRzIG5hdHVyYWws
IGNhbGwgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKCkuCisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxUbyk6
IGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbiB3aGVuIHNjcm9sbFBvc2l0aW9uIGNoYW5nZWQu
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6IHNhdmVT
Y3JvbGxlbmRFdmVudFBvc2l0aW9uIGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLiBjaGVja1Nj
cm9sbGVuZEV2ZW50UG9zaXRpb24gd2hlbiB0aGUgcG9zaXRpb24gZG9lc24ndCBjaGFuZ2UuCisg
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOiBBZGQgc2F2ZVNjcm9sbGVuZFBvc2l0aW9u
IGZsYWcuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzYXZlU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbik6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNoZWNrU2Nyb2xsZW5kRXZlbnRQ
b3NpdGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmZvcmNl
U2Nyb2xsZW5kKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxUb1lQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Ny
b2xsUG9zaXRpb24pOiBSZXBsYWNlIHNjcm9sbFRvUG9zaXRpb24gd2l0aCBzZXRTY3JvbGxQb3Np
dGlvbiB0byBjb25zaXN0ZW50IHdpdGggRnJhbWVWaWV3IGludGVyZmFjZXMuIHNhdmVTY3JvbGxl
bmRFdmVudFBvc2l0aW9uIGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KTogY2hlY2tTY3JvbGxlbmRFdmVudFBv
c2l0aW9uIHdoZW4gc2Nyb2xsIHBvc2l0aW9uIGRvZXNuJ3QgY2hhbmdlLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbik6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKTogY2hlY2tTY3JvbGxlbmRF
dmVudFBvc2l0aW9uIHdoZW4gdGhlIHNjcm9sbFBvc2l0aW9uIGNoYW5nZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IEF1dG9zY3JvbGxTdGF0
dXMgaXMgYXZhaWxhYmxlIGZyb20gZXZlbnRIYW5kbGVyLCBzbyBubyBuZWVkIHRvIGFkZCBhIGZ1
bmN0aW9uIHZhcmlhYmxlIGZvciBpdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjph
dXRvc2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1Bvc2l0
aW9uKTogRGVsZXRlZC4gUmVwbGFjZWQgYnkgc2Nyb2xsVG9Qb3NpdGlvbi4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKworMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRo
aWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwg
ZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKwor
ICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBQYXJz
ZSBvbm92ZXJzY3JvbGwvc2Nyb2xsZW5kIGF0dHJpYnV0ZSBhbmQgb3ZlcnNjcm9sbC9vdmVyc2Ny
b2xsIGV2ZW50IG5hbWUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vR2xvYmFs
RXZlbnRIYW5kbGVycy5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46
CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
RWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCk6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy55YW1sOgorCiAyMDIwLTAzLTE2ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGFkZEhUVFBPcmlnaW5JZk5lZWRlZCBjYWxscwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCBlNmEzMDAyOWEwLi40OWM1ZGM4Yjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjk2LDYgKzI5Niw4IEBA
IEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19U
T1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNI
KSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQo
RU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00
MTQsNCArNDE2LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FM
VEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChF
TkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxF
X1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
RVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlC
T0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNI
RV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQo
RU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05T
KSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwppbmRleCBkY2E1OGNiMjk2Li5mM2JkZDNiMWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGln
YWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBh
cnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBC
YXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgRU5BQkxFX09W
RVJTQ1JPTExfRVZFTlRTLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisKIDIwMjAtMDMtMTUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBTaG91bGQgbm90IHVzZSB2YXJpYWJsZS1sZW5ndGgtYXJyYXkgKFZM
QSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlNmEzMDAyOWEwLi40OWM1ZGM4Yjc3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC0yOTYsNiArMjk2LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMg
PSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1df
U0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7
CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsK
KwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVO
QUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNCw0ICs0MTYsNCBAQCBFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsK
IAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZF
U1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVS
RV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVO
QUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikg
JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FD
SEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxF
X1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlND
UkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVf
UEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
SEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRP
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9D
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVM
RU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5B
QkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIp
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURf
U1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05O
RUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikg
JChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9N
T1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElP
TlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA0NGQ1MGIyMDdjLi5hNzk1ZjRiYjk3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBA
IC0yODUsNiArMjg1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKG1hdGNoaW5n
RWxlbWVudEluRmxhdFRyZWUpIFwKICAgICBtYWNybyhtZWRpYVN0cmVhbVRyYWNrQ29uc3RyYWlu
dHMpIFwKICAgICBtYWNybyhvcGVuRGF0YWJhc2UpIFwKKyAgICBtYWNybyhvbm92ZXJzY3JvbGwp
IFwKKyAgICBtYWNybyhvbnNjcm9sbGVuZCkgXAogICAgIG1hY3JvKG9udG91Y2hjYW5jZWwpIFwK
ICAgICBtYWNybyhvbnRvdWNoZW5kKSBcCiAgICAgbWFjcm8ob250b3VjaG1vdmUpIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCmluZGV4IDY4NzlmZDE1OWMuLjUwNzFkOTk2OGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcApAQCAtODAwLDYgKzgwMCwxMCBAQCB2b2lkIERvY3VtZW50Ojpjb21tb25U
ZWFyZG93bigpCiAKICAgICBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3QgPSBudWxscHRy
OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIG1fcGVuZGluZ1Njcm9sbGVu
ZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CisjZW5kaWYKKwogICAgIHdoaWxlICghbV90aW1l
bGluZXMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBtX3RpbWVsaW5lcy5iZWdpbigpLT5kZXRh
Y2hGcm9tRG9jdW1lbnQoKTsKICAgICBtX3RpbWVsaW5lID0gbnVsbHB0cjsKQEAgLTQwNjcsNiAr
NDA3MSwyMyBAQCB2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29u
dGFpbmVyTm9kZSYgdGFyZ2V0KQogICAgIHRhcmdldHMuYXBwZW5kKHRhcmdldCk7CiB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Ny
b2xsZW5kRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQoreworICAgIGlmICghbV9w
ZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0KQorICAgICAgICBtX3BlbmRpbmdTY3JvbGxl
bmRFdmVudFRhcmdldExpc3QgPSBtYWtlVW5pcXVlPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExp
c3Q+KCk7CisKKyAgICBhdXRvJiB0YXJnZXRzID0gbV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJn
ZXRMaXN0LT50YXJnZXRzOworICAgIGlmICh0YXJnZXRzLmZpbmRNYXRjaGluZyhbJl0gKGF1dG8m
IGVudHJ5KSB7IHJldHVybiBlbnRyeS5wdHIoKSA9PSAmdGFyZ2V0OyB9KSAhPSBub3RGb3VuZCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHRhcmdldHMuaXNFbXB0eSgpKQorICAgICAgICBz
Y2hlZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CisKKyAgICB0YXJnZXRzLmFwcGVuZCh0YXJn
ZXQpOworfQorI2VuZGlmCisKIHZvaWQgRG9jdW1lbnQ6OnNldE5lZWRzVmlzdWFsVmlld3BvcnRT
Y3JvbGxFdmVudCgpCiB7CiAgICAgaWYgKCFtX25lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVu
dCkKQEAgLTQwOTIsNiArNDExMywxOCBAQCB2b2lkIERvY3VtZW50OjpydW5TY3JvbGxTdGVwcygp
CiAgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb21XaW5kb3coKSkKICAgICAgICAgICAgIHdp
bmRvdy0+dmlzdWFsVmlld3BvcnQoKS5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLnNjcm9sbEV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8pKTsKICAgICB9CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
Ly8gRGVhbCB3aXRoIHNjcm9sbGVuZCBldmVudC4KKyAgICBpZiAobV9wZW5kaW5nU2Nyb2xsZW5k
RXZlbnRUYXJnZXRMaXN0ICYmICFtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QtPnRh
cmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAgIExPR19XSVRIX1NUUkVBTShFdmVudHMsIHN0cmVh
bSA8PCAiRG9jdW1lbnQiIDw8IHRoaXMgPDwgInNlbmRpbmcgc2Nyb2xsZW5kIGV2ZW50cyB0byBw
ZW5kaW5nIHNjcm9sbCBldmVudCB0YXJnZXRzIik7CisgICAgICAgIGF1dG8gY3VycmVudFNjcm9s
bGVuZFRhcmdldHMgPSBXVEZNb3ZlKG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdC0+
dGFyZ2V0cyk7CisgICAgICAgIGZvciAoYXV0byYgdGFyZ2V0IDogY3VycmVudFNjcm9sbGVuZFRh
cmdldHMpIHsKKyAgICAgICAgICAgIGF1dG8gYnViYmxlcyA9IHRhcmdldC0+aXNEb2N1bWVudE5v
ZGUoKSA/IEV2ZW50OjpDYW5CdWJibGU6OlllcyA6IEV2ZW50OjpDYW5CdWJibGU6Ok5vOworICAg
ICAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnNjcm9sbGVuZEV2ZW50LCBidWJibGVzLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAg
ICAgICB9CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmFkZEF1ZGlvUHJvZHVj
ZXIoTWVkaWFQcm9kdWNlciYgYXVkaW9Qcm9kdWNlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
NTU5YTk4MzhiNi4uOTI0MmQ1NDE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzNjAsNiAr
MTM2MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJ1blJlc2l6ZVN0ZXBzKCk7CiAKICAgICB2b2lk
IGFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7CisjaWYgRU5BQkxF
KE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFy
Z2V0KENvbnRhaW5lck5vZGUmKTsKKyNlbmRpZgogICAgIHZvaWQgc2V0TmVlZHNWaXN1YWxWaWV3
cG9ydFNjcm9sbEV2ZW50KCk7CiAgICAgdm9pZCBydW5TY3JvbGxTdGVwcygpOwogCkBAIC0yMDM5
LDYgKzIwNDIsOSBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFBlbmRpbmdTY3JvbGxFdmVudFRh
cmdldExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExp
c3Q+IG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdDsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExp
c3Q+IG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdDsKKyNlbmRpZgogCiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKICAgICBIYXNoU2V0PEhUTUxNZWRpYUVsZW1lbnQqPiBtX21lZGlh
U3RyZWFtU3RhdGVDaGFuZ2VFbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IGQ0
OTYwYjljZjcuLmE5ODUyMDFjN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTkwLDYg
KzE5MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhvcmllbnRhdGlvbmNoYW5n
ZSkgXAogICAgIG1hY3JvKG92ZXJjb25zdHJhaW5lZCkgXAogICAgIG1hY3JvKG92ZXJmbG93Y2hh
bmdlZCkgXAorICAgIG1hY3JvKG92ZXJzY3JvbGwpIFwKICAgICBtYWNybyhwYWdlaGlkZSkgXAog
ICAgIG1hY3JvKHBhZ2VzaG93KSBcCiAgICAgbWFjcm8ocGFzdGUpIFwKQEAgLTIyNiw2ICsyMjcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8ocmVzdWx0KSBcCiAgICAgbWFjcm8o
cmVzdW1lKSBcCiAgICAgbWFjcm8oc2Nyb2xsKSBcCisgICAgbWFjcm8oc2Nyb2xsZW5kKSBcCiAg
ICAgbWFjcm8oc2VhcmNoKSBcCiAgICAgbWFjcm8oc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24pIFwK
ICAgICBtYWNybyhzZWVrZWQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9i
YWxFdmVudEhhbmRsZXJzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRs
ZXJzLmlkbAppbmRleCA3NzBhYTljM2E3Li4xZjI3NjUzNGY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRsCkBAIC0xMzIsNCArMTMyLDggQEAKICAgICBbTm90
RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9ud2Via2l0bW91c2Vmb3JjZWRvd247CiAgICAgW05vdEVudW1lcmFibGUsIENv
bmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndl
YmtpdG1vdXNlZm9yY2V3aWxsYmVnaW47CiAgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFs
PU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG1vdXNl
Zm9yY2V1cDsKKworICAgIC8vIEV2ZW50IGhhbmRsZXJzIGZyb20gT3ZlcnNjcm9sbCBFdmVudHMg
QVBJIChodHRwczovL3dpY2cuZ2l0aHViLmlvL292ZXJzY3JvbGwtc2Nyb2xsZW5kLWV2ZW50cy8p
CisgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU9WRVJTQ1JPTExfRVZFTlRTLCBFbmFi
bGVkQnlTZXR0aW5nPU92ZXJzY3JvbGxFdmVudHNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25v
dmVyc2Nyb2xsOworICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1PVkVSU0NST0xMX0VW
RU5UUywgRW5hYmxlZEJ5U2V0dGluZz1PdmVyc2Nyb2xsRXZlbnRzXSBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uc2Nyb2xsZW5kOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4KaW5kZXggZGNkODM3OGQ5NS4uMDk5ZmZiODIyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTI2Nyw2ICsyNjcsNyBAQCBvbm1vdXNld2hl
ZWwKIG9ub25saW5lCiBvbm9mZmxpbmUKIG9ub3JpZW50YXRpb25jaGFuZ2UKK29ub3ZlcnNjcm9s
bAogb25wYWdlaGlkZQogb25wYWdlc2hvdwogb25wYXN0ZQpAQCAtMjg3LDYgKzI4OCw3IEBAIG9u
cmF0ZWNoYW5nZQogb25yZXNldAogb25yZXNpemUKIG9uc2Nyb2xsCitvbnNjcm9sbGVuZAogb25z
ZWFyY2gKIG9uc2Vla2VkCiBvbnNlZWtpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAK
aW5kZXggMzJlZDRhZDMxYi4uYWU1OWFjMTJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5jcHAKQEAgLTI4NCw2ICsyODQsNyBAQCBIVE1MRWxlbWVudDo6RXZlbnRIYW5kbGVyTmFtZU1h
cCBIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCgpCiAgICAgICAgICZvbm1v
dXNlb3ZlckF0dHIuZ2V0KCksCiAgICAgICAgICZvbm1vdXNldXBBdHRyLmdldCgpLAogICAgICAg
ICAmb25tb3VzZXdoZWVsQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ub3ZlcnNjcm9sbEF0dHIuZ2V0
KCksCiAgICAgICAgICZvbnBhc3RlQXR0ci5nZXQoKSwKICAgICAgICAgJm9ucGF1c2VBdHRyLmdl
dCgpLAogICAgICAgICAmb25wbGF5QXR0ci5nZXQoKSwKQEAgLTMwMSw2ICszMDIsNyBAQCBIVE1M
RWxlbWVudDo6RXZlbnRIYW5kbGVyTmFtZU1hcCBIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5k
bGVyTmFtZU1hcCgpCiAgICAgICAgICZvbnJlc2V0QXR0ci5nZXQoKSwKICAgICAgICAgJm9ucmVz
aXplQXR0ci5nZXQoKSwKICAgICAgICAgJm9uc2Nyb2xsQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
c2Nyb2xsZW5kQXR0ci5nZXQoKSwKICAgICAgICAgJm9uc2VhcmNoQXR0ci5nZXQoKSwKICAgICAg
ICAgJm9uc2Vla2VkQXR0ci5nZXQoKSwKICAgICAgICAgJm9uc2Vla2luZ0F0dHIuZ2V0KCksCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNWMwZGFiODRlMC4uZDc0YTFhMWZlMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjI4Myw3ICsyMjgzLDcgQEAgdm9pZCBGcmFt
ZVZpZXc6OnNjcm9sbEVsZW1lbnRUb1JlY3QoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3Qg
SW50UmVjdCYgcmVjdCkKICAgICBzZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludChib3VuZHMueCgp
IC0gY2VudGVyaW5nT2Zmc2V0WCAtIHJlY3QueCgpLCBib3VuZHMueSgpIC0gY2VudGVyaW5nT2Zm
c2V0WSAtIHJlY3QueSgpKSk7CiB9CiAKLXZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcsIGJvb2wgYW5pbWF0ZWQsIGJvb2wgc2F2ZVNjcm9sbGVuZFBvc2l0aW9uKQogewogICAg
IExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiRnJhbWVWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uIDw8ICIgLCBjbGVhcmluZyBhbmNob3IiKTsK
IApAQCAtMjI5OSw3ICsyMjk5LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2wKICAgICBpZiAo
YW5pbWF0ZWQpCiAgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZz
ZXRGcm9tUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFt
cGluZyk7CiAgICAgZWxzZQotICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihz
Y3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcpOworICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQ
b3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCBzYXZlU2Nyb2xsZW5k
UG9zaXRpb24pOwogCiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUob2xkU2Nyb2xsVHlwZSk7CiB9
CkBAIC0zNjIyLDEyICszNjIyLDQ4IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb09mZnNldFdp
dGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9sbFR5CiAKICAgICBp
ZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
OkluTm9uTmF0aXZlQW5pbWF0aW9uKQogICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFu
aW1hdGlvbnMoKTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBpZiAob2Zm
c2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKQorICAgICAgICBjaGVja1Njcm9sbGVuZEV2ZW50
UG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KG9mZnNldCkpOworI2VuZGlmCisKICAg
ICBpZiAob2Zmc2V0ICE9IHRoaXMtPnNjcm9sbE9mZnNldCgpKQogICAgICAgICBTY3JvbGxhYmxl
QXJlYTo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKG9mZnNldCk7CiAKICAgICBzZXRDdXJy
ZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9sbFR5cGUpOwogfQogCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQordm9pZCBGcmFtZVZpZXc6OnNhdmVTY3JvbGxlbmRFdmVudFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIWZyYW1lKCkuc2V0
dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb24gPSBwb3NpdGlvbjsKK30KKwordm9pZCBG
cmFtZVZpZXc6OmNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYgcG9zaXRpb24pCit7CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb24g
fHwgbV9maXJlU2Nyb2xsZW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRpb24pCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRv
Y3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50LT5hZGRQZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJn
ZXQoKmRvY3VtZW50KTsKKworICAgIG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbiA9IFdU
Rjo6bnVsbG9wdDsKK30KKwordm9pZCBGcmFtZVZpZXc6OmZvcmNlU2Nyb2xsZW5kKCkKK3sKKyAg
ICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1
bWVudCgpKQorICAgICAgICBkb2N1bWVudC0+YWRkUGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0
KCpkb2N1bWVudCk7Cit9CisjZW5kaWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxT
dGVwRm9yRml4ZWRDb250ZW50KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVu
dGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVs
YXJpdHkgIT0gU2Nyb2xsQnlQYWdlIHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxi
YXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBkYTYxYTE4MThlLi4yZjlmNzczNzc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTIyNyw3ICsyMjcsNyBAQCBwdWJsaWM6CiAjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4
ZWRWaXNpYmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0
ZWQgPSBmYWxzZSkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSwgYm9vbCBzYXZlU2Nyb2xsZW5kUG9z
aXRpb24gPSB0cnVlKSBmaW5hbDsKICAgICB2b2lkIHJlc3RvcmVTY3JvbGxiYXIoKTsKICAgICB2
b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChTZWxlY3Rpb25SZXZlYWxNb2RlKTsK
ICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVlZGVkKCk7CkBA
IC02NjAsNiArNjYwLDEyIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaW5VcGRhdGVFbWJlZGRlZE9i
amVjdHMoKSBjb25zdCB7IHJldHVybiBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3RzOyB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xsZW5kRXZlbnRQ
b3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3Jv
bGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9p
ZCBmb3JjZVNjcm9sbGVuZCgpIGZpbmFsOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBib29s
IHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0
IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIGZpbmFsOwog
ICAgIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0
KSBmaW5hbDsKQEAgLTg5NSw2ICs5MDEsMTAgQEAgcHJpdmF0ZToKIAogICAgIFBhZ2luYXRpb24g
bV9wYWdpbmF0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIE9wdGlv
bmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb247CisjZW5k
aWYKKwogICAgIGVudW0gY2xhc3MgVmlld3BvcnRSZW5kZXJlclR5cGUgOiB1aW50OF90IHsgTm9u
ZSwgRG9jdW1lbnQsIEJvZHkgfTsKICAgICBWaWV3cG9ydFJlbmRlcmVyVHlwZSBtX3ZpZXdwb3J0
UmVuZGVyZXJUeXBlIHsgVmlld3BvcnRSZW5kZXJlclR5cGU6Ok5vbmUgfTsKICAgICBTY3JvbGxQ
aW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3IgeyBEb05vdFBpbiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDI1YThlYWJkNDcuLjA3ZTUxNmU1N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTkxNiw2ICs5MTYsMTAgQEAgaXNMb2dnZWRJbkFQ
SUVuYWJsZWQ6CiBlbnRlcktleUhpbnRFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQogCitvdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IE9W
RVJTQ1JPTExfRVZFTlRTCisKIGxlZ2FjeUdldFVzZXJNZWRpYUVuYWJsZWQ6CiAgIGluaXRpYWw6
IGZhbHNlCiAgIGNvbmRpdGlvbmFsOiBNRURJQV9TVFJFQU0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCmluZGV4IDJjYTU3OGEzMGYuLjky
NWQ0YzBlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dGlvblNtb290aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
aW9uU21vb3RoLmNwcApAQCAtODAsNiArODAsMTEgQEAgdm9pZCBTY3JvbGxBbmltYXRpb25TbW9v
dGg6OnNjcm9sbChjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbikKIAogdm9pZCBTY3JvbGxBbmlt
YXRpb25TbW9vdGg6OnN0b3AoKQogeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX3Njcm9sbGFibGVB
cmVhLmZvcmNlU2Nyb2xsZW5kKCk7CisjZW5kaWYKKwogICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rv
cCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xs
QmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIH0KQEAgLTQxMCw4ICs0MTUsMTIgQEAg
dm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogCiAgICAg
aWYgKGNvbnRpbnVlQW5pbWF0aW9uKQogICAgICAgICBzdGFydE5leHRUaW1lcihzdGQ6Om1heCht
aW5pbXVtVGltZXJJbnRlcnZhbCwgZGVsdGFUb05leHRGcmFtZSkpOwotICAgIGVsc2UKKyAgICBl
bHNlIHsKICAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhT
Y3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOworI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS5jaGVja1Njcm9sbGVuZEV2ZW50
UG9zaXRpb24obV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxQb3NpdGlvbigpKTsKKyNlbmRpZgorICAg
IH0KIAogICAgIG1fbm90aWZ5UG9zaXRpb25DaGFuZ2VkRnVuY3Rpb24oRmxvYXRQb2ludChtX2hv
cml6b250YWxEYXRhLmN1cnJlbnRQb3NpdGlvbiwgbV92ZXJ0aWNhbERhdGEuY3VycmVudFBvc2l0
aW9uKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IDJmZDE1
ZjdiMzAuLmUwMThlMjkyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3Bw
CkBAIC00ODYsNiArNDg2LDEwIEBAIHZvaWQgU2Nyb2xsVmlldzo6c2Nyb2xsVG8oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIG5ld1Bvc2l0aW9uKQogCiAgICAgbV9zY3JvbGxQb3NpdGlvbiA9IG5ld1Bv
c2l0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGNoZWNrU2Nyb2xs
ZW5kRXZlbnRQb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgorCiAgICAgaWYgKHNj
cm9sbGJhcnNTdXBwcmVzc2VkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTEzLDcgKzUxNyw3
IEBAIHZvaWQgU2Nyb2xsVmlldzo6Y29tcGxldGVVcGRhdGVzQWZ0ZXJTY3JvbGxUbyhjb25zdCBJ
bnRTaXplJiBzY3JvbGxEZWx0YSkKICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Ny
b2xsaW5nKCk7CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywg
Ym9vbC8qIGFuaW1hdGVkKi8pCit2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBp
bmcsIGJvb2wvKiBhbmltYXRlZCovLCBib29sIHNhdmVTY3JvbGxlbmRQb3NpdGlvbikKIHsKICAg
ICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24pOwogCkBAIC01MjUsMTMgKzUyOSwyMyBA
QCB2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAg
aWYgKGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVz
OjpJbk5vbk5hdGl2ZUFuaW1hdGlvbikKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxB
bmltYXRpb25zKCk7CisKICAgICBTY3JvbGxQb3NpdGlvbiBuZXdTY3JvbGxQb3NpdGlvbiA9ICgh
ZGVsZWdhdGVzU2Nyb2xsaW5nKCkgJiYgY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQpID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShzY3JvbGxQb3NpdGlvbikgOiBz
Y3JvbGxQb3NpdGlvbjsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKHNh
dmVTY3JvbGxlbmRQb3NpdGlvbikKKyAgICAgICAgc2F2ZVNjcm9sbGVuZEV2ZW50UG9zaXRpb24o
bmV3U2Nyb2xsUG9zaXRpb24pOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc2F2ZVNjcm9sbGVu
ZFBvc2l0aW9uKTsKKyNlbmRpZgogCi0gICAgaWYgKCghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgfHwg
Y3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxUeXBlOjpVc2VyKSAmJiBjdXJyZW50U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24g
JiYgbmV3U2Nyb2xsUG9zaXRpb24gPT0gdGhpcy0+c2Nyb2xsUG9zaXRpb24oKSkKKyAgICBpZiAo
KCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSB8fCBjdXJyZW50U2Nyb2xsVHlwZSgpID09IFNjcm9sbFR5
cGU6OlVzZXIpICYmIGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2
aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbiAmJiBuZXdTY3JvbGxQb3NpdGlvbiA9PSB0aGlzLT5z
Y3JvbGxQb3NpdGlvbigpKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAg
ICBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24pOworI2VuZGlm
CiAgICAgICAgIHJldHVybjsKLQotICAgIGlmIChjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMo
KSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVBbmltYXRpb24pCi0gICAgICAg
IHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOworICAgIH0KIAogICAgIGlmICgh
cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKG5ld1Njcm9sbFBvc2l0aW9uLCBjdXJyZW50U2Ny
b2xsVHlwZSgpLCBjbGFtcGluZykpCiAgICAgICAgIHVwZGF0ZVNjcm9sbGJhcnMobmV3U2Nyb2xs
UG9zaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IDRjYzJiYjRj
MGIuLmRlYWNiYjFkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAgLTI2
MSw3ICsyNjEsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsUG9zaXRpb24gY2FjaGVkU2Nyb2xsUG9z
aXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNjcm9sbFBvc2l0aW9uOyB9CiAKICAgICAv
LyBGdW5jdGlvbnMgZm9yIHNjcm9sbGluZyB0aGUgdmlldy4KLSAgICB2aXJ0dWFsIHZvaWQgc2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOworICAgIHZpcnR1
YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENs
YW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSwg
Ym9vbCBzYXZlU2Nyb2xsZW5kUG9zaXRpb24gPSB0cnVlKTsKIAogICAgIHZvaWQgc2Nyb2xsQnko
Y29uc3QgSW50U2l6ZSYgcykgeyByZXR1cm4gc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRp
b24oKSArIHMpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmlu
ZGV4IGZkZGRmMmY5YmUuLmZhYjhjYmIzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaApAQCAtMzQzLDYgKzM0MywxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0ID0g
MDsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2aXJ0dWFsIHZvaWQgc2F2
ZVNjcm9sbGVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGZvcmNlU2Nyb2xsZW5kKCkgeyB9CisjZW5kaWYK
KwogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbGFibGVBcmVhKCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+U2Nyb2xsYWJsZUFyZWEoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNDljMWZmZjAzYi4uMDZjMGNjNmU1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTYwMiw3ICs2MDIsNyBAQCB2b2lk
IFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0
aW9uLCBTY3JvbGxUeXBlIHNjcgogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVy
KCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigp
KTsKLSAgICBsYXllcigpLT5zY3JvbGxUb1Bvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQpOworICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0
aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOwogfQogCiB2b2lkIFJlbmRlckJv
eDo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2lu
dCYgYWNjdW11bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAppbmRleCBmYmYzNjA5YzAwLi40ZTcyOTYyZmI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI2MDMsMjEgKzI2MDMsMzAgQEAgdm9pZCBS
ZW5kZXJMYXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpCiB2b2lk
IFJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBzY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKIHsKICAgICBTY3Jv
bGxQb3NpdGlvbiBwb3NpdGlvbih4LCBtX3Njcm9sbFBvc2l0aW9uLnkoKSk7Ci0gICAgc2Nyb2xs
VG9Qb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAg
ICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1h
dGVkKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNj
cm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wgYW5pbWF0
ZWQpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbi54KCks
IHkpOwotICAgIHNjcm9sbFRvUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5n
LCBhbmltYXRlZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUs
IGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvUG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5
cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJM
YXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBT
Y3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1h
dGVkLCBib29sIHNhdmVTY3JvbGxlbmRQb3NpdGlvbikKIHsKKyAgICBhdXRvIG9mZnNldCA9IHNj
cm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbik7CisgICAgU2Nyb2xsT2Zmc2V0IG5ld1Nj
cm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBT
Y3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgaWYgKHNhdmVTY3JvbGxlbmRQb3NpdGlvbikKKyAgICAgICAgc2F2ZVNjcm9sbGVu
ZEV2ZW50UG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCkp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc2F2ZVNjcm9sbGVuZFBvc2l0aW9uKTsKKyNlbmRp
ZgorCiAgICAgaWYgKGFuaW1hdGVkKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRp
b24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlwZSwgY2xhbXBp
bmcpOworICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obmV3U2Nyb2xsT2Zmc2V0
LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBzY3JvbGxUb09mZnNl
dChzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGlu
Zyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCwgc2Nyb2xsVHlwZSwg
Y2xhbXBpbmcpOwogfQogCiBTY3JvbGxPZmZzZXQgUmVuZGVyTGF5ZXI6OmNsYW1wU2Nyb2xsT2Zm
c2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0KSBjb25zdApAQCAtMjY0MCwxMyAr
MjY0OSwxOCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldChjb25zdCBTY3JvbGxP
ZmZzZXQmIHNjcm9sbE9mZnNldCwgU2Nyb2xsVHlwZSBzYwogICAgICAgICBzY3JvbGxBbmltYXRv
cigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKIAogICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xs
T2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9s
bE9mZnNldChzY3JvbGxPZmZzZXQpIDogc2Nyb2xsT2Zmc2V0OwotICAgIGlmIChjbGFtcGVkU2Ny
b2xsT2Zmc2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKQorICAgIFNjcm9sbFBvc2l0aW9uIGNs
YW1wZWRTY3JvbGxQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Ny
b2xsT2Zmc2V0KTsKKyAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCA9PSB0aGlzLT5zY3JvbGxP
ZmZzZXQoKSkgeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgY2hlY2tT
Y3JvbGxlbmRFdmVudFBvc2l0aW9uKGNsYW1wZWRTY3JvbGxQb3NpdGlvbik7CisjZW5kaWYKICAg
ICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGF1dG8gcHJldmlvdXNTY3JvbGxUeXBlID0gY3Vy
cmVudFNjcm9sbFR5cGUoKTsKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsK
IAotICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKHNjcm9sbFBvc2l0aW9uRnJv
bU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQorICAg
IGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNsYW1wZWRTY3JvbGxQb3NpdGlvbiwg
c2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQogICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmlt
YXRpb24oY2xhbXBlZFNjcm9sbE9mZnNldCwgY2xhbXBpbmcpOwogICAgIHNldFNjcm9sbEJlaGF2
aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CiAKQEAgLTI2
NjEsNiArMjY3NSwxMiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldFdpdGhBbmlt
YXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9sbAogICAgIFNjcm9sbE9mZnNl
dCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/
IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CiAgICAgaWYgKGN1cnJlbnRTY3Jv
bGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFu
aW1hdGlvbikKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CisK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG5ld1Njcm9sbE9mZnNldCA9
PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0
aW9uKG5ld1Njcm9sbE9mZnNldCk7CisjZW5kaWYKKwogICAgIGlmIChuZXdTY3JvbGxPZmZzZXQg
IT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGxU
b09mZnNldFdpdGhBbmltYXRpb24obmV3U2Nyb2xsT2Zmc2V0KTsKIApAQCAtMjc3MCw2ICsyNzkw
LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBw
b3NpdGlvbikKICAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgp
KQogICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dCgqZWxlbWVudCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgY2hlY2tT
Y3JvbGxlbmRFdmVudFBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCisKICAgICBp
ZiAoc2Nyb2xsc092ZXJmbG93KCkpCiAgICAgICAgIHZpZXcuZnJhbWVWaWV3KCkuZGlkQ2hhbmdl
U2Nyb2xsT2Zmc2V0KCk7CiAKQEAgLTI4MTUsMTIgKzI4MzksMTMgQEAgYm9vbCBSZW5kZXJMYXll
cjo6YWxsb3dzQ3VycmVudFNjcm9sbCgpIGNvbnN0CiAgICAgcmV0dXJuIGJveC0+aGFzSG9yaXpv
bnRhbE92ZXJmbG93KCkgfHwgYm94LT5oYXNWZXJ0aWNhbE92ZXJmbG93KCk7CiB9CiAKLXZvaWQg
UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1
dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9u
cyYgb3B0aW9ucywgQXV0b3Njcm9sbFN0YXR1cyBhdXRvc2Nyb2xsU3RhdHVzKQordm9pZCBSZW5k
ZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJl
Y3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBv
cHRpb25zKQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiTGF5
ZXIgIiA8PCB0aGlzIDw8ICIgc2Nyb2xsUmVjdFRvVmlzaWJsZSAiIDw8IGFic29sdXRlUmVjdCk7
CiAKICAgICBSZW5kZXJMYXllciogcGFyZW50TGF5ZXIgPSBudWxscHRyOwogICAgIExheW91dFJl
Y3QgbmV3UmVjdCA9IGFic29sdXRlUmVjdDsKKyAgICBib29sIGF1dG9zY3JvbGxOb3RJblByb2dy
ZXNzID0gIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9n
cmVzcygpOwogCiAgICAgLy8gV2UgbWF5IGVuZCB1cCBwcm9wYWdhdGluZyBhIHNjcm9sbCBldmVu
dC4gSXQgaXMgaW1wb3J0YW50IHRoYXQgd2Ugc3VzcGVuZCBldmVudHMgdW50aWwgCiAgICAgLy8g
dGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gc2luY2UgdGhleSBjb3VsZCBkZWxldGUgdGhlIGxheWVy
IG9yIHRoZSBsYXllcidzIHJlbmRlcmVyKCkuCkBAIC0yODQ2LDggKzI4NzEsOCBAQCB2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZAogICAgICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNl
dCA9IGNsYW1wU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCgpICsgdG9JbnRTaXplKHJvdW5kZWRJ
bnRSZWN0KHJldmVhbFJlY3QpLmxvY2F0aW9uKCkpKTsKICAgICAgICAgaWYgKGNsYW1wZWRTY3Jv
bGxPZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0KCkgfHwgY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVz
KCkgIT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKSB7CiAgICAgICAgICAg
ICBTY3JvbGxPZmZzZXQgb2xkU2Nyb2xsT2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0KCk7Ci0gICAgICAg
ICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Njcm9sbFN0YXR1cyA9PSBBdXRvc2Nyb2xsU3RhdHVz
OjpOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBi
b3gtPmVsZW1lbnQoKSk7Ci0gICAgICAgICAgICBzY3JvbGxUb1Bvc2l0aW9uKHNjcm9sbFBvc2l0
aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1h
dGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgYm9v
bCBhbmltYXRlZCA9IGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGlu
ZyhvcHRpb25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSk7CisgICAgICAgICAgICBzZXRTY3Jv
bGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCks
IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1h
dGVkLCBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyk7CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9s
bE9mZnNldERpZmZlcmVuY2UgPSBjbGFtcGVkU2Nyb2xsT2Zmc2V0IC0gb2xkU2Nyb2xsT2Zmc2V0
OwogICAgICAgICAgICAgbG9jYWxFeHBvc2VSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZlcmVu
Y2UpOwogICAgICAgICAgICAgbmV3UmVjdCA9IExheW91dFJlY3QoYm94LT5sb2NhbFRvQWJzb2x1
dGVRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QobG9jYWxFeHBvc2VSZWN0KSksIFVzZVRyYW5zZm9y
bXMpLmJvdW5kaW5nQm94KCkpOwpAQCAtMjg3Myw4ICsyODk4LDggQEAgdm9pZCBSZW5kZXJMYXll
cjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaWQKICAgICAgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9u
LmNvbnN0cmFpbmVkQmV0d2VlbihJbnRQb2ludCgpLCBJbnRQb2ludChmcmFtZVZpZXcuY29udGVu
dHNTaXplKCkpKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBjb250
ZW50RG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAg
ICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0
YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpICYm
IHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBvd25lckVsZW1lbnQtPmNvbnRl
bnREb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSk7Ci0gICAgICAgICAgICAgICAgZnJhbWVW
aWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSBhdXRvc2Ny
b2xsTm90SW5Qcm9ncmVzcyAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpICYmIHVz
ZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBvd25lckVsZW1lbnQtPmNvbnRlbnRE
b2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgZnJhbWVWaWV3
LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgYW5pbWF0ZWQsIGF1dG9zY3JvbGxOb3RJblByb2dyZXNzKTsKIAogICAgICAgICAgICAgICAg
IGlmIChvcHRpb25zLnNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgPT0gU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIHx8IGZyYW1lVmlldy5zYWZlVG9Qcm9wYWdhdGVT
Y3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVyID0gb3du
ZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpOwpAQCAtMjkxNSw4ICsyOTQw
LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRS
ZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICBTY3JvbGxPZmZz
ZXQgY2xhbXBlZFNjcm9sbFBvc2l0aW9uID0gcm91bmRlZEludFBvaW50KHJldmVhbFJlY3QubG9j
YXRpb24oKSkuY29uc3RyYWluZWRCZXR3ZWVuKG1pblNjcm9sbFBvc2l0aW9uLCBtYXhTY3JvbGxQ
b3NpdGlvbik7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1l
bnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAg
Ym9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0YXR1czo6Tm90
SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgcmVuZGVy
ZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKTsKLSAgICAgICAgICAgICAgICBmcmFt
ZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQg
PSBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5i
ZWhhdmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKTsKKyAgICAg
ICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0
aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIGF1dG9zY3JvbGxOb3RJblBy
b2dyZXNzKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0
ZXJtb3N0IHZpZXcgb2YgYSB3ZWIgcGFnZSwgc28gYWZ0ZXIgc2Nyb2xsaW5nIHRoaXMgdmlldyB3
ZQpAQCAtMzA1NSw3ICszMDgwLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6Z2V0UmVjdFRv
RXhwb3NlKGNvbnN0IExheW91dFJlY3QmIHZpc2libGVSZWN0LCBjb25zdCBMYXkKIHZvaWQgUmVu
ZGVyTGF5ZXI6OmF1dG9zY3JvbGwoY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uSW5XaW5kb3cpCiB7
CiAgICAgSW50UG9pbnQgY3VycmVudERvY3VtZW50UG9zaXRpb24gPSByZW5kZXJlcigpLnZpZXco
KS5mcmFtZVZpZXcoKS53aW5kb3dUb0NvbnRlbnRzKHBvc2l0aW9uSW5XaW5kb3cpOwotICAgIHNj
cm9sbFJlY3RUb1Zpc2libGUoTGF5b3V0UmVjdChjdXJyZW50RG9jdW1lbnRQb3NpdGlvbiwgTGF5
b3V0U2l6ZSgxLCAxKSksIGZhbHNlLCB7IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgU2Ny
b2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
VG9FZGdlSWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB9LCBB
dXRvc2Nyb2xsU3RhdHVzOjpJblByb2dyZXNzKTsKKyAgICBzY3JvbGxSZWN0VG9WaXNpYmxlKExh
eW91dFJlY3QoY3VycmVudERvY3VtZW50UG9zaXRpb24sIExheW91dFNpemUoMSwgMSkpLCBmYWxz
ZSwgeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25U
b0VkZ2VJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5
ZXI6OmNhblJlc2l6ZSgpIGNvbnN0CkBAIC03MDEwLDYgKzcwMzUsMzYgQEAgdm9pZCBSZW5kZXJM
YXllcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uKCkKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQordm9pZCBSZW5kZXJMYXllcjo6c2F2ZVNjcm9sbGVuZEV2ZW50UG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGlmICghcmVuZGVy
ZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbiA9IHBvc2l0aW9uOworfQor
Cit2b2lkIFJlbmRlckxheWVyOjpjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGlmICghbV9maXJlU2Nyb2xsZW5kRXZlbnRB
dFBvc2l0aW9uIHx8IG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbi52YWx1ZSgpICE9IHBv
c2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJl
bmRlcmVyKCkuZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZFBlbmRp
bmdTY3JvbGxlbmRFdmVudFRhcmdldCgqZWxlbWVudCk7CisKKyAgICBtX2ZpcmVTY3JvbGxlbmRF
dmVudEF0UG9zaXRpb24gPSBXVEY6Om51bGxvcHQ7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmZv
cmNlU2Nyb2xsZW5kKCkKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Ny
b2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoRWxlbWVudCog
ZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1bWVu
dCgpLmFkZFBlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldCgqZWxlbWVudCk7Cit9CisjZW5kaWYK
KwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mIHRzLCBDbGlwUmVjdHNU
eXBlIGNsaXBSZWN0c1R5cGUpCiB7CiAgICAgc3dpdGNoIChjbGlwUmVjdHNUeXBlKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDk2ZDM5ZWY0YmYuLjdjZGU4NmVk
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NTEsNyArNDUx
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmlt
YXRlZCA9IGZhbHNlKTsKICAgICB2b2lkIHNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1h
dGVkID0gZmFsc2UpOwotICAgIHZvaWQgc2Nyb2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSk7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSwgYm9vbCBzYXZlU2Nyb2xs
ZW5kUG9zaXRpb24gPSB0cnVlKTsKIAogICAgIC8vIFRoZXNlIGFyZSBvbmx5IHVzZWQgYnkgbWFy
cXVlZS4KICAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCkgeyBzY3JvbGxUb09mZnNldChT
Y3JvbGxPZmZzZXQoeCwgc2Nyb2xsT2Zmc2V0KCkueSgpKSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1h
dGljLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsgfQpAQCAtNDYyLDkgKzQ2Miw4IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgYXZhaWxhYmxlQ29udGVudFNpemVDaGFuZ2VkKEF2YWlsYWJsZVNp
emVDaGFuZ2VSZWFzb24pIG92ZXJyaWRlOwogCi0gICAgZW51bSBBdXRvc2Nyb2xsU3RhdHVzIHsg
Tm90SW5Qcm9ncmVzcywgSW5Qcm9ncmVzcyB9OwogICAgIC8vICJhYnNvbHV0ZVJlY3QiIGlzIGlu
IHNjYWxlZCBkb2N1bWVudCBjb29yZGluYXRlcy4KLSAgICB2b2lkIHNjcm9sbFJlY3RUb1Zpc2li
bGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25z
dCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIEF1dG9zY3JvbGxTdGF0dXMgPSBBdXRvc2Ny
b2xsU3RhdHVzOjpOb3RJblByb2dyZXNzKTsKKyAgICB2b2lkIHNjcm9sbFJlY3RUb1Zpc2libGUo
Y29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBT
Y3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYpOwogCiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3co
KSBjb25zdDsKICAgICBib29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25z
dDsKQEAgLTkyMyw2ICs5MjIsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnZhbGlkYXRlRXZl
bnRSZWdpb24oKTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNh
dmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7Cisg
ICAgdm9pZCBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
KSBmaW5hbDsKKyAgICB2b2lkIGZvcmNlU2Nyb2xsZW5kKCkgZmluYWw7CisjZW5kaWYKKwogcHJp
dmF0ZToKIAogICAgIHZvaWQgc2V0TmV4dFNpYmxpbmcoUmVuZGVyTGF5ZXIqIG5leHQpIHsgbV9u
ZXh0ID0gbmV4dDsgfQpAQCAtMTM1Myw2ICsxMzU4LDEwIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UmVuZGVyTGF5ZXJGaWx0ZXJzPiBtX2ZpbHRlcnM7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFJlbmRlckxheWVyQmFja2luZz4gbV9iYWNraW5nOworCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxl
bmRFdmVudEF0UG9zaXRpb247CisjZW5kaWYKICAgICAKICAgICBQYWludEZyZXF1ZW5jeVRyYWNr
ZXIgbV9wYWludEZyZXF1ZW5jeVRyYWNrZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3MGZmNmUwYjk4Li43
MGI3NGRmZDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTA5ICBDYXRoaWUg
Q2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
b3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJp
YyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisg
ICAgICAgIEFkZCBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbDoKKwogMjAyMC0wMy0xNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFNpbXBsaWZ5IENocm9tZUNsaWVudC5jcmVhdGVXaW5kb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IGU2YTMwMDI5YTAuLjQ5YzVkYzhiNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjk2LDYgKzI5Niw4IEBA
IEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19U
T1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNI
KSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQo
RU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00
MTQsNCArNDE2LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FM
VEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChF
TkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxF
X1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
RVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlC
T0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNI
RV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQo
RU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05T
KSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCAwYjNjZTk0M2FjLi4zNDcxZmE0
Y2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTE1NjQs
NiArMTU2NCwxNCBAQCBBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDoK
ICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiTWFwIEhUTUwgYXR0cmlidXRlcyB3aWR0aC9o
ZWlnaHQgdG8gdGhlIGRlZmF1bHQgYXNwZWN0IHJhdGlvIG9mIDxpbWc+IgogICBjYXRlZ29yeTog
ZXhwZXJpbWVudGFsCiAKK092ZXJzY3JvbGxFdmVudHNFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJPdmVyc2Nyb2xsIGV2
ZW50cyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRoZSBvbnNjcm9sbGVu
ZCBhbmQgc2Nyb2xsZW5kIGV2ZW50cyIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBjb25k
aXRpb246IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKwogIyBGb3IgaW50ZXJuYWwgZmVhdHVy
ZXM6CiAjIFRoZSB0eXBlIHNob3VsZCBiZSBib29sZWFuLgogIyBZb3UgbXVzdCBwcm92aWRlIGEg
aHVtYW5SZWFkYWJsZU5hbWUgYW5kIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbiBmb3IgYWxsIGRl
YnVnIGZlYXR1cmVzLiBUaGV5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjgwMjY3
YTU5MC4uNzI2ZDc5YTdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZy
w6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBvdmVyc2Nyb2xsRXZlbnRzRW5h
YmxlZCBXZWJQcmVmZXJlbmNlIHNldHRpbmcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAg
ICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVy
ZW5jZXMgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIw
MjAtMDMtMTUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBT
aG91bGQgbm90IHVzZSB2YXJpYWJsZS1sZW5ndGgtYXJyYXkgKFZMQSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggZTZhMzAwMjlhMC4uNDljNWRjOGI3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTI5Niw2ICsyOTYsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZB
UyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxP
V19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VD
SDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRT
OworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAog
RU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RV
UkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkpOwpAQCAtNDE0LDQgKzQxNiw0IEBAIEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
OwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNU
VVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQo
RU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZF
UikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VS
KSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RB
TEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZG
U0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxF
X1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQ
VE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JB
RElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5U
SU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9P
TSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BS
T0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9U
RUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJ
QV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9S
RVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFU
RSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChF
TkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5U
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZF
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNP
Tk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVS
X01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNU
SU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4
OTUwMi4uODVmMTM1NjVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMTAsNiArMjEwLDcg
QEAKICNkZWZpbmUgV2ViS2l0Q1NTU2hhZG93UGFydHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TGF5b3V0Rm9ybWF0dGlu
Z0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGF5b3V0Rm9y
bWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYlNRTEVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0
T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZh
dGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2Rz
IGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMDI3OTM5NDMwOC4uYzQ3YWExYzAzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC03
MTQsNiArNzE0LDkgQEAgcHVibGljOgogICAgICAgICBATk8sIFdlYktpdEFzcGVjdFJhdGlvT2ZJ
bWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBX
ZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQFlFUywgV2ViS2l0RGVi
dWdOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3NQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgQE5PLCBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZFByZWZlcmVuY2VLZXksCisjZW5kaWYKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQpAQCAtMzY4MCw2ICszNjgzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAq
Y2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOndlYlNRTEVu
YWJsZWQgZm9yS2V5OldlYktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAo
Qk9PTClvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZh
bHVlRm9yS2V5OldlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9
CisKKy0gKHZvaWQpc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAg
IFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJl
ZmVyZW5jZXMgKFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYTg0NTQ5ZDRhYi4uN2Zm
NzMxOWQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02ODgsNiArNjg4LDcgQEAgZXh0ZXJuIE5TU3Ry
aW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24g
V0VCS0lUX0RFUFIKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkUmVzcG9uc2l2
ZUltYWdlc0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhc3BlY3RSYXRpb09m
SW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IG92ZXJzY3JvbGxFdmVudHNFbmFibGVkOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3Bl
cnR5IChub25hdG9taWMpIEJPT0wgcXVpY2tMb29rRG9jdW1lbnRTYXZpbmdFbmFibGVkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGJkMzY3NTUwMTEu
LjkyYTFjMTkzODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KQEAgLTMwMDYsNiArMzAwNiw5IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxl
TG9hZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFi
bGVkKFtwcmVmZXJlbmNlcyBDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkXSk7CiAgICAgc2V0
dGluZ3Muc2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgQ1NT
T01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldE1lZGlhQ29u
dGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KFtwcmVmZXJlbmNlcyBtZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydF0pOworI2lmIEVOQUJMRShPVkVSU0NST0xM
X0VWRU5UUykKKyAgICBzZXR0aW5ncy5zZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChbcHJlZmVy
ZW5jZXMgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRdKTsKKyNlbmRpZgogCiAgICAgc3dpdGNoIChb
cHJlZmVyZW5jZXMgc3RvcmFnZUJsb2NraW5nUG9saWN5XSkgewogICAgIGNhc2UgV2ViQWxsb3dB
bGxTdG9yYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGY5ODk4MDYyZWYuLjBl
OWI4OWYwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAor
MjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmlj
IFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgV2Vi
UHJlZmVyZW5jZSBzZXR0aW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5p
dGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6b3ZlcnNj
cm9sbEV2ZW50c0VuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldE92ZXJzY3Jv
bGxFdmVudHNFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAq
IFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2Vk
KToKKwogMjAyMC0wMy0xMiAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBzdXJlIGEgcHJlZmxpZ2h0IGZhaWxzIGlmIHJlc3BvbnNlIGhlYWRlcnMgYXJl
IGludmFsaWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMv
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmluZGV4IGRmZmQ5NGRkODYuLjY1Y2Yz
YWQ5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApAQCAtMjY1LDQgKzI2NSw3IEBAIGlu
dGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGU3
CiB7CiAgICAgSFJFU1VMVCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtvdXQsIHJldHZh
bF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIG92ZXJzY3JvbGxFdmVudHNF
bmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDE3YmNmOWJlMTgu
LjA0YWViNmM3YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMjcsMyArMjI3LDUgQEAKICNkZWZpbmUgV2ViS2l0QXNw
ZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCIKIAogI2RlZmluZSBX
ZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKKwor
I2RlZmluZSBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktp
dE92ZXJzY3JvbGxFdmVudHNFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuY3BwCmluZGV4IGRkMjllOTIzNmMuLjE4NGIyYzhiOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTM1NCw2ICszNTQsOCBAQCB2b2lk
IFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKIAogICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVy
ZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShk
ZWZhdWx0cywgQ0ZTVFIoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIGRlZmF1bHRTZXR0aW5ncyA9IGRlZmF1bHRzOwog
I2VuZGlmCiB9CkBAIC0yNDcwLDYgKzI0NzIsMjAgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6
c2V0V2ViU1FMRW5hYmxlZChCT09MIGVuYWJsZWQpCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6Om92ZXJzY3JvbGxFdmVudHNFbmFibGVkKF9PdXRfIEJPT0wq
IGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVS
OworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdE92ZXJzY3JvbGxFdmVudHNF
bmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2Vi
UHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sK
KyAgICBzZXRCb29sVmFsdWUoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNl
S2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJl
bmNlczo6YWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhfT3V0XyBCT09MKiBhbGxvd0FjY2Vz
cykKIHsKICAgICBpZiAoIWFsbG93QWNjZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlBy
ZWZlcmVuY2VzLmgKaW5kZXggYTMxYmEwM2E4Mi4uNzA5OGVlMTE5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMDcsNiArMzA3LDggQEAgcHVibGljOgog
ICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBbGxvd1RvcE5hdmlnYXRp
b25Ub0RhdGFVUkxzKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKEJPT0wpOwog
CiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApp
bmRleCBkNzA1M2VjMzIwLi4xZTg2Y2U0NWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmNwcApAQCAtNTY2OCw2ICs1NjY4LDExIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0
dXJuIGhyOwogICAgIHNldHRpbmdzLnNldEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWln
aHRFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+b3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICBy
ZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoISFlbmFi
bGVkKTsKKwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
aW5kZXggZmY3ZDZkMWM3MC4uZjA3ZTQwMmZlNSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZQpAQCAtMTgxLDYgKzE4MSw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgIlRvZ2dsZSBPZmZzY3Jl
ZW5DYW52YXMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiVG9nZ2xlIE9yaWVudGF0aW9uIEV2ZW50cyBzdXBw
b3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIICJUb2dnbGUgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PVkVSU0NST0xM
X0VWRU5UUyAiVG9nZ2xlIG92ZXJzY3JvbGwgZXZlbnRzIiBQUklWQVRFIE9OKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgIlRvZ2dsZSBQYXltZW50IFJl
cXVlc3Qgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX1BERktJVF9QTFVHSU4gIlRvZ2dsZSBQREZLaXQgcGx1Z2luIHN1cHBvcnQiIFBSSVZBVEUg
T0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVf
QVBJICJUb2dnbGUgUGljdHVyZS1pbi1QaWN0dXJlIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5MjM5
MjUyMjRhLi45Y2NiZjk5MmUyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8
Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Ny
b2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcu
CisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAg
RGVhbCB3aXRoIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25z
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKGVuYWJsZUV4cGVy
aW1lbnRhbEZlYXR1cmVzKToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlv
bnMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorCiAyMDIwLTAzLTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgogCiAgICAgICAgIEtleWVkRGVjb2RlckdlbmVyaWMgZmFpbHMgdG8gYWxsb2NhdGUgVmVjdG9y
IHdoaWxlIGRlY29kaW5nIGJyb2tlbiBkYXRhCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAKaW5kZXggMjkwNjA2YTI1NS4uYTMxMjIxNWFkMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zLmNwcApAQCAtMTU2LDYgKzE1Niw4IEBAIFRlc3RPcHRpb25zOjpUZXN0T3B0aW9ucyhj
b25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1CiAg
ICAgICAgICAgICBlbmFibGVBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0ID0gcGFy
c2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgZWxzZSBpZiAoa2V5ID09
ICJhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIikKICAgICAgICAgICAgIGFsbG93VG9wTmF2
aWdhdGlvblRvRGF0YVVSTHMgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwor
ICAgICAgICBlbHNlIGlmIChrZXkgPT0gImV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRzRW5h
YmxlZCIpCisgICAgICAgICAgICBlbmFibGVPdmVyc2Nyb2xsRXZlbnRzID0gcGFyc2VCb29sZWFu
VGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7
CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMu
aCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5kZXggYWU0YmE0YWQ1ZC4u
MDFjZjM0NjBhMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMu
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCkBAIC01OCw2ICs1OCw3
IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVBc3BlY3RSYXRpb09mSW1n
RnJvbVdpZHRoQW5kSGVpZ2h0IHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJsZVdlYlNRTCB7IHRy
dWUgfTsKICAgICBib29sIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMgeyB0cnVlIH07Cisg
ICAgYm9vbCBlbmFibGVPdmVyc2Nyb2xsRXZlbnRzIHsgZmFsc2UgfTsKICAgICBzdGQ6OnN0cmlu
ZyBqc2NPcHRpb25zOwogICAgIHN0ZDo6c3RyaW5nIGFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5
cGVzOwogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXgg
YjZmZTJhNTc5Ni4uYmM4ZjAyYzE5ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQpAQCAtODg2LDYgKzg4Niw3IEBAIHN0YXRpYyB2b2lkIGVuYWJsZUV4cGVy
aW1lbnRhbEZlYXR1cmVzKFdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBbcHJlZmVy
ZW5jZXMgc2V0Q1NTU2hhZG93UGFydHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNl
dEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkOllFU107CiAgICAgW3By
ZWZlcmVuY2VzIHNldENTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ6WUVTXTsKKyAgICBb
cHJlZmVyZW5jZXMgc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6WUVTXTsKIH0KIAogLy8gQ2Fs
bGVkIGJlZm9yZSBlYWNoIHRlc3QuCkBAIC0xMDQ0LDYgKzEwNDUsNyBAQCBzdGF0aWMgdm9pZCBz
ZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25z
KQogICAgIHByZWZlcmVuY2VzLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFi
bGVkID0gb3B0aW9ucy5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZDsK
ICAgICBwcmVmZXJlbmNlcy5hc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxl
ZCA9IG9wdGlvbnMuZW5hYmxlQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodDsKICAg
ICBwcmVmZXJlbmNlcy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzID0gb3B0aW9ucy5hbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzOworICAgIHByZWZlcmVuY2VzLm92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkID0gb3B0aW9ucy5lbmFibGVPdmVyc2Nyb2xsRXZlbnRzOwogfQogCiAvLyBDYWxs
ZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCmluZGV4IDFjODQwMTVjYWYuLmVkMThkMjNlOGQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTEzOCw2ICsxMzgsNyBAQCBteSAoCiAg
ICAgJG9mZnNjcmVlbkNhbnZhc1N1cHBvcnQsCiAgICAgJG9yaWVudGF0aW9uRXZlbnRzU3VwcG9y
dCwKICAgICAkb3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFN1cHBvcnQsCisgICAgJG92ZXJzY3JvbGxF
dmVudHNTdXBwb3J0LAogICAgICRwYXltZW50UmVxdWVzdFN1cHBvcnQsCiAgICAgJHBkZmtpdFBs
dWdpblN1cHBvcnQsCiAgICAgJHBpY3R1cmVJblBpY3R1cmVBUElTdXBwb3J0LApAQCAtNDYzLDYg
KzQ2NCw5IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAib3ZlcmZsb3ctc2Ny
b2xsaW5nLXRvdWNoIiwgZGVzYyA9PiAiVG9nZ2xlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzdXBw
b3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCIs
IHZhbHVlID0+IFwkb3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFN1cHBvcnQgfSwKIAorICAgIHsgb3B0
aW9uID0+ICJvdmVyc2Nyb2xsLWV2ZW50cyIsIGRlc2MgPT4gIkVuYWJsZSBPdmVyc2Nyb2xsIEV2
ZW50cyBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRT
IiwgdmFsdWUgPT4gXCRvdmVyc2Nyb2xsRXZlbnRzU3VwcG9ydCB9LAorCiAgICAgeyBvcHRpb24g
PT4gInBheW1lbnQtcmVxdWVzdCIsIGRlc2MgPT4gIlRvZ2dsZSBQYXltZW50IFJlcXVlc3Qgc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9QQVlNRU5UX1JFUVVFU1QiLCB2YWx1ZSA9
PiBcJHBheW1lbnRSZXF1ZXN0U3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBl
NmEzMDAyOWEwLi40OWM1ZGM4Yjc3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTI5Niw2ICsy
OTYsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NP
QV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0g
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZF
TlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTOworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
ID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAogRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9B
UEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkp
OwpAQCAtNDE0LDQgKzQxNiw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9Y
U0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJ
T04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBM
SUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRF
UkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBP
UlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElT
UEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9T
QU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdP
UktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhU
RU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VS
Q0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RP
VUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393745</attachid>
            <date>2020-03-17 05:27:06 -0700</date>
            <delta_ts>2020-04-08 06:32:03 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-for-review.diff</filename>
            <type>text/plain</type>
            <size>30834</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ZjcwMDQwODI5Li4xZGU4MzE3ODlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNTIgQEAKKzIwMjAtMDMtMTcgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29t
PgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1h
dGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3VwcG9ydCBzY3JvbGxlbmQgZXZlbnQgZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcu
IFNhdmUgdGhlIHNjcm9sbCBwb3NpdGlvbiB3aGVuIHN0YXJ0aW5nCisgICAgICAgIGEgc2Nyb2xs
IChpbnN0YW50IC8gYW5pbWF0ZWQpLiBDb21wYXJlIHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlv
biB3aXRoIHRoZSBzYXZlIG9uZSwgd2hlbgorICAgICAgICBSZW5kZXJMYXllci9TY3JvbGxWaWV3
IGFjdHVhbGx5IHNjcm9sbHMuIElmIHRoZXkgYXJlIHNhbWUsIHB1dCB0aGUgdGFyZ2V0IHRvIGEg
bGlzdCBpbiBkb2N1bWVudC4KKyAgICAgICAgVGhlIHRhcmdldHMgaW4gdGhlIGxpc3Qgd291bGQg
ZGlzcGF0Y2ggc2Nyb2xsZW5kIGV2ZW50cy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldCk6IEFwcGVu
ZCB0aGUgdGFyZ2V0cyB0byBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QuCisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxl
bmQgZXZlbnQgZm9yIGVhY2ggdGFyZ2V0LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQg
bV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxl
bmQgZXZlbnQgdGFyZ2V0cy4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIHNhdmVTY3JvbGxl
bmRQb3NpdGlvbiB0byBpbmRpY2F0ZSB0aGUgcG9zaXRpb24gc2hvdWxkIGJlIHNhdmVkIGZvciBz
Y3JvbGxlbmQgZXZlbnQgb3Igbm90LgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3Jv
bGxUb09mZnNldFdpdGhBbmltYXRpb24pOiBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24gaXMg
dGhlIHNjcm9sbCBwb3NpdGlvbiBkb24ndCBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OnNhdmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKTogU2F2ZSB0aGUgc2Nyb2xsIHBvc2l0
aW9uLCBhIHNjcm9sbGVuZCBldmVudCB3b3VsZCBiZSBmaXJlZCBhdCB0aGlzIHBvc2l0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24p
OiBJZiBwb3NpdGlvbiBpcyBlcXVhbCB0byB0aGUgc2F2ZWQgb25lLCBhZGQgdGhlIHRhcmdldCB0
byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmZvcmNl
U2Nyb2xsZW5kKTogQWRkIHRoZSB0YXJnZXQgdG8gdGhlIGxpc3Qgd2l0aG91dCBjaGVja2luZyBp
dHMgc2Nyb2xsIHBvc2l0aW9uLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbEFuaW1hdGlvblNtb290aDo6c3RvcCk6IElmIHRoZSBhbmltYXRpb24gaXMgaW50ZXJy
dXB0ZWQsIGNhbGwgZm9yY2VTY3JvbGxlbmQoKSB0byBmaXJlIHNjcm9sbGVuZCBldmVudCB3aXRo
b3V0IGNoZWNraW5nIHRoZSBwb3NpdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dGlvblNtb290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCk6IFdoZW4gdGhlIGFuaW1hdGlvbiBlbmRz
IG5hdHVyYWwsIGNhbGwgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKCkuCisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpz
Y3JvbGxUbyk6IGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbiB3aGVuIHNjcm9sbFBvc2l0aW9u
IGNoYW5nZWQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlv
bik6IHNhdmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uIGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5n
LiBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24gd2hlbiB0aGUgcG9zaXRpb24gZG9lc24ndCBj
aGFuZ2UuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOiBBZGQgc2F2ZVNjcm9sbGVu
ZFBvc2l0aW9uIGZsYWcuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzYXZlU2Nyb2xsZW5kRXZlbnRQb3NpdGlv
bik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNoZWNrU2Nyb2xs
ZW5kRXZlbnRQb3NpdGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFy
ZWE6OmZvcmNlU2Nyb2xsZW5kKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzY3JvbGxUb1lQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBSZXBsYWNlIHNjcm9sbFRvUG9zaXRpb24gd2l0aCBzZXRT
Y3JvbGxQb3NpdGlvbiB0byBjb25zaXN0ZW50IHdpdGggRnJhbWVWaWV3IGludGVyZmFjZXMuIHNh
dmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uIGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KTogY2hlY2tTY3JvbGxl
bmRFdmVudFBvc2l0aW9uIHdoZW4gc2Nyb2xsIHBvc2l0aW9uIGRvZXNuJ3QgY2hhbmdlLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbik6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKTogY2hlY2tT
Y3JvbGxlbmRFdmVudFBvc2l0aW9uIHdoZW4gdGhlIHNjcm9sbFBvc2l0aW9uIGNoYW5nZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IEF1dG9z
Y3JvbGxTdGF0dXMgaXMgYXZhaWxhYmxlIGZyb20gZXZlbnRIYW5kbGVyLCBzbyBubyBuZWVkIHRv
IGFkZCBhIGZ1bmN0aW9uIHZhcmlhYmxlIGZvciBpdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjphdXRvc2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3Jv
bGxUb1Bvc2l0aW9uKTogRGVsZXRlZC4gUmVwbGFjZWQgYnkgc2Nyb2xsVG9Qb3NpdGlvbi4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMC0wMy0wOSAgQ2F0aGllIENo
ZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92
ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDY4Nzlm
ZDE1OWMuLjUwNzFkOTk2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtODAwLDYgKzgw
MCwxMCBAQCB2b2lkIERvY3VtZW50Ojpjb21tb25UZWFyZG93bigpCiAKICAgICBtX3BlbmRpbmdT
Y3JvbGxFdmVudFRhcmdldExpc3QgPSBudWxscHRyOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7
CisjZW5kaWYKKwogICAgIHdoaWxlICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgpKQogICAg
ICAgICBtX3RpbWVsaW5lcy5iZWdpbigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKICAgICBtX3Rp
bWVsaW5lID0gbnVsbHB0cjsKQEAgLTQwNjcsNiArNDA3MSwyMyBAQCB2b2lkIERvY3VtZW50Ojph
ZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQogICAgIHRh
cmdldHMuYXBwZW5kKHRhcmdldCk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
Cit2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXQoQ29udGFpbmVy
Tm9kZSYgdGFyZ2V0KQoreworICAgIGlmICghbV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRM
aXN0KQorICAgICAgICBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgPSBtYWtlVW5p
cXVlPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q+KCk7CisKKyAgICBhdXRvJiB0YXJnZXRz
ID0gbV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzOworICAgIGlmICh0
YXJnZXRzLmZpbmRNYXRjaGluZyhbJl0gKGF1dG8mIGVudHJ5KSB7IHJldHVybiBlbnRyeS5wdHIo
KSA9PSAmdGFyZ2V0OyB9KSAhPSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KHRhcmdldHMuaXNFbXB0eSgpKQorICAgICAgICBzY2hlZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRl
KCk7CisKKyAgICB0YXJnZXRzLmFwcGVuZCh0YXJnZXQpOworfQorI2VuZGlmCisKIHZvaWQgRG9j
dW1lbnQ6OnNldE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpCiB7CiAgICAgaWYgKCFt
X25lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCkKQEAgLTQwOTIsNiArNDExMywxOCBAQCB2
b2lkIERvY3VtZW50OjpydW5TY3JvbGxTdGVwcygpCiAgICAgICAgIGlmIChhdXRvKiB3aW5kb3cg
PSBkb21XaW5kb3coKSkKICAgICAgICAgICAgIHdpbmRvdy0+dmlzdWFsVmlld3BvcnQoKS5kaXNw
YXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbEV2ZW50LCBFdmVudDo6
Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKICAgICB9CisKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgLy8gRGVhbCB3aXRoIHNjcm9sbGVuZCBldmVu
dC4KKyAgICBpZiAobV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0ICYmICFtX3BlbmRp
bmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAg
IExPR19XSVRIX1NUUkVBTShFdmVudHMsIHN0cmVhbSA8PCAiRG9jdW1lbnQiIDw8IHRoaXMgPDwg
InNlbmRpbmcgc2Nyb2xsZW5kIGV2ZW50cyB0byBwZW5kaW5nIHNjcm9sbCBldmVudCB0YXJnZXRz
Iik7CisgICAgICAgIGF1dG8gY3VycmVudFNjcm9sbGVuZFRhcmdldHMgPSBXVEZNb3ZlKG1fcGVu
ZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0cyk7CisgICAgICAgIGZvciAoYXV0
byYgdGFyZ2V0IDogY3VycmVudFNjcm9sbGVuZFRhcmdldHMpIHsKKyAgICAgICAgICAgIGF1dG8g
YnViYmxlcyA9IHRhcmdldC0+aXNEb2N1bWVudE5vZGUoKSA/IEV2ZW50OjpDYW5CdWJibGU6Olll
cyA6IEV2ZW50OjpDYW5CdWJibGU6Ok5vOworICAgICAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2
ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbGVuZEV2ZW50LCBidWJibGVzLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiB9CiAK
IHZvaWQgRG9jdW1lbnQ6OmFkZEF1ZGlvUHJvZHVjZXIoTWVkaWFQcm9kdWNlciYgYXVkaW9Qcm9k
dWNlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTU5YTk4MzhiNi4uOTI0MmQ1NDE2MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzNjAsNiArMTM2MCw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IHJ1blJlc2l6ZVN0ZXBzKCk7CiAKICAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dChDb250YWluZXJOb2RlJik7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZv
aWQgYWRkUGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmKTsKKyNlbmRp
ZgogICAgIHZvaWQgc2V0TmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2ZW50KCk7CiAgICAgdm9p
ZCBydW5TY3JvbGxTdGVwcygpOwogCkBAIC0yMDM5LDYgKzIwNDIsOSBAQCBwcml2YXRlOgogCiAg
ICAgc3RydWN0IFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFy
Z2V0TGlzdDsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc3RkOjp1bmlxdWVf
cHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50
VGFyZ2V0TGlzdDsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBIYXNo
U2V0PEhUTUxNZWRpYUVsZW1lbnQqPiBtX21lZGlhU3RyZWFtU3RhdGVDaGFuZ2VFbGVtZW50czsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA1YzBkYWI4NGUwLi5kNzRhMWExZmUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMjgzLDcgKzIyODMsNyBAQCB2b2lkIEZy
YW1lVmlldzo6c2Nyb2xsRWxlbWVudFRvUmVjdChjb25zdCBFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBJbnRSZWN0JiByZWN0KQogICAgIHNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KGJvdW5kcy54
KCkgLSBjZW50ZXJpbmdPZmZzZXRYIC0gcmVjdC54KCksIGJvdW5kcy55KCkgLSBjZW50ZXJpbmdP
ZmZzZXRZIC0gcmVjdC55KCkpKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcg
Y2xhbXBpbmcsIGJvb2wgYW5pbWF0ZWQpCit2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBj
bGFtcGluZywgYm9vbCBhbmltYXRlZCwgYm9vbCBzYXZlU2Nyb2xsZW5kUG9zaXRpb24pCiB7CiAg
ICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24gPDwgIiAsIGNsZWFyaW5nIGFuY2hvciIp
OwogCkBAIC0yMjk5LDcgKzIyOTksNyBAQCB2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbAogICAgIGlm
IChhbmltYXRlZCkKICAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9sbE9m
ZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQb3NpdGlvbiksIGN1cnJlbnRTY3JvbGxUeXBlKCksIGNs
YW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KHNjcm9sbFBvc2l0aW9uLCBjbGFtcGluZyk7CisgICAgICAgIFNjcm9sbFZpZXc6OnNldFNjcm9s
bFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQsIHNhdmVTY3JvbGxl
bmRQb3NpdGlvbik7CiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3JvbGxUeXBlKTsK
IH0KQEAgLTM2MjIsMTIgKzM2MjIsNDggQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbFRvT2Zmc2V0
V2l0aEFuaW1hdGlvbihjb25zdCBTY3JvbGxPZmZzZXQmIG9mZnNldCwgU2Nyb2xsVHkKIAogICAg
IGlmIChjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1
czo6SW5Ob25OYXRpdmVBbmltYXRpb24pCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2Vs
QW5pbWF0aW9ucygpOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChv
ZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCisgICAgICAgIGNoZWNrU2Nyb2xsZW5kRXZl
bnRQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQob2Zmc2V0KSk7CisjZW5kaWYKKwog
ICAgIGlmIChvZmZzZXQgIT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIFNjcm9sbGFi
bGVBcmVhOjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24ob2Zmc2V0KTsKIAogICAgIHNldEN1
cnJlbnRTY3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbGVuZEV2ZW50UG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGlmICghZnJhbWUoKS5z
ZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbiA9IHBvc2l0aW9uOworfQorCit2b2lk
IEZyYW1lVmlldzo6Y2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlv
biB8fCBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBwb3NpdGlvbikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCku
ZG9jdW1lbnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPmFkZFBlbmRpbmdTY3JvbGxlbmRFdmVudFRh
cmdldCgqZG9jdW1lbnQpOworCisgICAgbV9maXJlU2Nyb2xsZW5kRXZlbnRBdFBvc2l0aW9uID0g
V1RGOjpudWxsb3B0OworfQorCit2b2lkIEZyYW1lVmlldzo6Zm9yY2VTY3JvbGxlbmQoKQorewor
ICAgIGlmICghZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRv
Y3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50LT5hZGRQZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJn
ZXQoKmRvY3VtZW50KTsKK30KKyNlbmRpZgorCiBmbG9hdCBGcmFtZVZpZXc6OmFkanVzdFNjcm9s
bFN0ZXBGb3JGaXhlZENvbnRlbnQoZmxvYXQgc3RlcCwgU2Nyb2xsYmFyT3JpZW50YXRpb24gb3Jp
ZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQogewogICAgIGlmIChncmFu
dWxhcml0eSAhPSBTY3JvbGxCeVBhZ2UgfHwgb3JpZW50YXRpb24gPT0gSG9yaXpvbnRhbFNjcm9s
bGJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGRhNjFhMTgxOGUuLjJmOWY3NzM3NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjI3LDcgKzIyNyw3IEBAIHB1YmxpYzoKICNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRG
aXhlZFZpc2libGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JikgZmluYWw7CiAjZW5kaWYKLSAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmlt
YXRlZCA9IGZhbHNlKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBv
c2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlLCBib29sIHNhdmVTY3JvbGxlbmRQ
b3NpdGlvbiA9IHRydWUpIGZpbmFsOwogICAgIHZvaWQgcmVzdG9yZVNjcm9sbGJhcigpOwogICAg
IHZvaWQgc2NoZWR1bGVTY3JvbGxUb0ZvY3VzZWRFbGVtZW50KFNlbGVjdGlvblJldmVhbE1vZGUp
OwogICAgIHZvaWQgc2Nyb2xsVG9Gb2N1c2VkRWxlbWVudEltbWVkaWF0ZWx5SWZOZWVkZWQoKTsK
QEAgLTY2MCw2ICs2NjAsMTIgQEAgcHVibGljOgogCiAgICAgYm9vbCBpblVwZGF0ZUVtYmVkZGVk
T2JqZWN0cygpIGNvbnN0IHsgcmV0dXJuIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHM7IH0KIAor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNhdmVTY3JvbGxlbmRFdmVu
dFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBjaGVja1Nj
cm9sbGVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2
b2lkIGZvcmNlU2Nyb2xsZW5kKCkgZmluYWw7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIGJv
b2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29u
c3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgZmluYWw7
CiAgICAgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJl
Y3QpIGZpbmFsOwpAQCAtODk1LDYgKzkwMSwxMCBAQCBwcml2YXRlOgogCiAgICAgUGFnaW5hdGlv
biBtX3BhZ2luYXRpb247CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgT3B0
aW9uYWw8U2Nyb2xsUG9zaXRpb24+IG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbjsKKyNl
bmRpZgorCiAgICAgZW51bSBjbGFzcyBWaWV3cG9ydFJlbmRlcmVyVHlwZSA6IHVpbnQ4X3QgeyBO
b25lLCBEb2N1bWVudCwgQm9keSB9OwogICAgIFZpZXdwb3J0UmVuZGVyZXJUeXBlIG1fdmlld3Bv
cnRSZW5kZXJlclR5cGUgeyBWaWV3cG9ydFJlbmRlcmVyVHlwZTo6Tm9uZSB9OwogICAgIFNjcm9s
bFBpbm5pbmdCZWhhdmlvciBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciB7IERvTm90UGluIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGgu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApp
bmRleCAyY2E1NzhhMzBmLi45MjVkNGMwZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKQEAgLTgwLDYgKzgwLDExIEBAIHZvaWQg
U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24p
CiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAg
ICAgICAgbV9zY3JvbGxhYmxlQXJlYS5mb3JjZVNjcm9sbGVuZCgpOworI2VuZGlmCisKICAgICBt
X2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKICAgICBtX3Njcm9sbGFibGVBcmVhLnNldFNjcm9sbEJl
aGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CiB9CkBA
IC00MTAsOCArNDE1LDEyIEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25U
aW1lckZpcmVkKCkKIAogICAgIGlmIChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnRO
ZXh0VGltZXIoc3RkOjptYXgobWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUp
KTsKLSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Ny
b2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEu
Y2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsUG9zaXRp
b24oKSk7CisjZW5kaWYKKyAgICB9CiAKICAgICBtX25vdGlmeVBvc2l0aW9uQ2hhbmdlZEZ1bmN0
aW9uKEZsb2F0UG9pbnQobV9ob3Jpem9udGFsRGF0YS5jdXJyZW50UG9zaXRpb24sIG1fdmVydGlj
YWxEYXRhLmN1cnJlbnRQb3NpdGlvbikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxW
aWV3LmNwcAppbmRleCAyZmQxNWY3YjMwLi5lMDE4ZTI5MmUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtNDg2LDYgKzQ4NiwxMCBAQCB2b2lkIFNjcm9sbFZpZXc6
OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBuZXdQb3NpdGlvbikKIAogICAgIG1fc2Ny
b2xsUG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7Cisj
ZW5kaWYKKwogICAgIGlmIChzY3JvbGxiYXJzU3VwcHJlc3NlZCgpKQogICAgICAgICByZXR1cm47
CiAKQEAgLTUxMyw3ICs1MTcsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmNvbXBsZXRlVXBkYXRlc0Fm
dGVyU2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAgdXBkYXRlQ29tcG9z
aXRpbmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wvKiBhbmltYXRlZCovKQordm9pZCBTY3JvbGxWaWV3Ojpz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sLyogYW5pbWF0ZWQqLywgYm9vbCBzYXZlU2Nyb2xs
ZW5kUG9zaXRpb24pCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8
ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uKTsKIApA
QCAtNTI1LDEzICs1MjksMjMgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbEMKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAorICAgIGlmIChjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBT
Y3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVBbmltYXRpb24pCisgICAgICAgIHNjcm9s
bEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOworCiAgICAgU2Nyb2xsUG9zaXRpb24gbmV3
U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9sbGluZygpICYmIGNsYW1waW5nID09IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2Uo
c2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIGlmIChzYXZlU2Nyb2xsZW5kUG9zaXRpb24pCisgICAgICAgIHNhdmVTY3Jv
bGxlbmRFdmVudFBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKTsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKHNhdmVTY3JvbGxlbmRQb3NpdGlvbik7CisjZW5kaWYKIAotICAgIGlmICgoIWRlbGVn
YXRlc1Njcm9sbGluZygpIHx8IGN1cnJlbnRTY3JvbGxUeXBlKCkgPT0gU2Nyb2xsVHlwZTo6VXNl
cikgJiYgY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0
dXM6Ok5vdEluQW5pbWF0aW9uICYmIG5ld1Njcm9sbFBvc2l0aW9uID09IHRoaXMtPnNjcm9sbFBv
c2l0aW9uKCkpCisgICAgaWYgKCghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9s
bFR5cGUoKSA9PSBTY3JvbGxUeXBlOjpVc2VyKSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0
dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xs
UG9zaXRpb24gPT0gdGhpcy0+c2Nyb2xsUG9zaXRpb24oKSkgeworI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICAgICAgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKG5ld1Njcm9s
bFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoY3VycmVudFNj
cm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZl
QW5pbWF0aW9uKQotICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsK
KyAgICB9CiAKICAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3JvbGxQ
b3NpdGlvbiwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBpbmcpKQogICAgICAgICB1cGRhdGVT
Y3JvbGxiYXJzKG5ld1Njcm9sbFBvc2l0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZp
ZXcuaAppbmRleCA0Y2MyYmI0YzBiLi5kZWFjYmIxZDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVmlldy5oCkBAIC0yNjEsNyArMjYxLDcgQEAgcHVibGljOgogICAgIFNjcm9sbFBvc2l0
aW9uIGNhY2hlZFNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3JvbGxQ
b3NpdGlvbjsgfQogCiAgICAgLy8gRnVuY3Rpb25zIGZvciBzY3JvbGxpbmcgdGhlIHZpZXcuCi0g
ICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9
IGZhbHNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xs
UG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29s
IGFuaW1hdGVkID0gZmFsc2UsIGJvb2wgc2F2ZVNjcm9sbGVuZFBvc2l0aW9uID0gdHJ1ZSk7CiAK
ICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsgcmV0dXJuIHNldFNjcm9sbFBv
c2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuaAppbmRleCBmZGRkZjJmOWJlLi5mYWI4Y2JiMzNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTM0Myw2ICszNDMsMTIgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxi
YXJPbkxlZnQoKSBjb25zdCA9IDA7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgdmlydHVhbCB2b2lkIHNhdmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBv
c2l0aW9uJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBmb3JjZVNjcm9s
bGVuZCgpIHsgfQorI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCBTY3Jv
bGxhYmxlQXJlYSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgflNjcm9sbGFibGVBcmVh
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDQ5YzFmZmYwM2Iu
LjA2YzBjYzZlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC02
MDIsNyArNjAyLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3IKICAgICBpZiAoIWhhc092ZXJm
bG93Q2xpcCgpIHx8ICFsYXllcigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2
ZW50TW9uaXRvcigqbGF5ZXIoKSk7Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9Qb3NpdGlvbihwb3Np
dGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAgICBsYXllcigpLT5zZXRT
Y3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsK
IH0KIAogdm9pZCBSZW5kZXJCb3g6OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0
cywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZmJmMzYwOWMwMC4uNGU3Mjk2MmZi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNjAzLDIx
ICsyNjAzLDMwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmFwcGx5UG9zdExheW91dFNjcm9sbFBvc2l0
aW9uSWZOZWVkZWQoKQogdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgs
IFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wgYW5p
bWF0ZWQpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3JvbGxQb3NpdGlv
bi55KCkpOwotICAgIHNjcm9sbFRvUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1w
aW5nLCBhbmltYXRlZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5
cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRv
WVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nLCBib29sIGFuaW1hdGVkKQogewogICAgIFNjcm9sbFBvc2l0aW9uIHBvc2l0aW9uKG1f
c2Nyb2xsUG9zaXRpb24ueCgpLCB5KTsKLSAgICBzY3JvbGxUb1Bvc2l0aW9uKHBvc2l0aW9uLCBz
Y3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworICAgIHNldFNjcm9sbFBvc2l0aW9uKHBv
c2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOwogfQogCi12b2lkIFJlbmRl
ckxheWVyOjpzY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwg
U2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmlt
YXRlZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBv
c2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBj
bGFtcGluZywgYm9vbCBhbmltYXRlZCwgYm9vbCBzYXZlU2Nyb2xsZW5kUG9zaXRpb24pCiB7Cisg
ICAgYXV0byBvZmZzZXQgPSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAg
IFNjcm9sbE9mZnNldCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChzYXZlU2Nyb2xsZW5kUG9zaXRpb24pCisg
ICAgICAgIHNhdmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNl
dChuZXdTY3JvbGxPZmZzZXQpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNhdmVTY3JvbGxl
bmRQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChhbmltYXRlZCkKLSAgICAgICAgc2Nyb2xs
VG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiks
IHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0
aW9uKG5ld1Njcm9sbE9mZnNldCwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpOwogICAgIGVsc2UKLSAg
ICAgICAgc2Nyb2xsVG9PZmZzZXQoc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwg
c2Nyb2xsVHlwZSwgY2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUb09mZnNldChuZXdTY3JvbGxP
ZmZzZXQsIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKIH0KIAogU2Nyb2xsT2Zmc2V0IFJlbmRlckxh
eWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCkg
Y29uc3QKQEAgLTI2NDAsMTMgKzI2NDksMTggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9P
ZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIFNjcm9sbFR5cGUgc2MKICAg
ICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAKICAgICBTY3JvbGxP
ZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpD
bGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9sbE9mZnNldDsK
LSAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCA9PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAg
ICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZy
b21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CisgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZz
ZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgICAgIGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9z
aXRpb24pOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBhdXRvIHByZXZp
b3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxUeXBlKCk7CiAgICAgc2V0Q3VycmVudFNjcm9s
bFR5cGUoc2Nyb2xsVHlwZSk7CiAKLSAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0
ZShzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIHNjcm9sbFR5
cGUsIGNsYW1waW5nKSkKKyAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjbGFt
cGVkU2Nyb2xsUG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKICAgICAgICAgc2Nyb2xs
VG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNsYW1wZWRTY3JvbGxPZmZzZXQsIGNsYW1waW5nKTsK
ICAgICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5B
bmltYXRpb24pOwogCkBAIC0yNjYxLDYgKzI2NzUsMTIgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3Jv
bGwKICAgICBTY3JvbGxPZmZzZXQgbmV3U2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChvZmZzZXQpIDogb2Zmc2V0Owog
ICAgIGlmIChjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0
YXR1czo6SW5Ob25OYXRpdmVBbmltYXRpb24pCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2Fu
Y2VsQW5pbWF0aW9ucygpOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlm
IChuZXdTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCisgICAgICAgIGNoZWNr
U2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihuZXdTY3JvbGxPZmZzZXQpOworI2VuZGlmCisKICAgICBp
ZiAobmV3U2Nyb2xsT2Zmc2V0ICE9IHRoaXMtPnNjcm9sbE9mZnNldCgpKQogICAgICAgICBTY3Jv
bGxhYmxlQXJlYTo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKG5ld1Njcm9sbE9mZnNldCk7
CiAKQEAgLTI3NzAsNiArMjc5MCwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhjb25z
dCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCiAgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSBy
ZW5kZXJlcigpLmVsZW1lbnQoKSkKICAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRQZW5k
aW5nU2Nyb2xsRXZlbnRUYXJnZXQoKmVsZW1lbnQpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9u
KTsKKyNlbmRpZgorCiAgICAgaWYgKHNjcm9sbHNPdmVyZmxvdygpKQogICAgICAgICB2aWV3LmZy
YW1lVmlldygpLmRpZENoYW5nZVNjcm9sbE9mZnNldCgpOwogCkBAIC0yODE1LDEyICsyODM5LDEz
IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmFsbG93c0N1cnJlbnRTY3JvbGwoKSBjb25zdAogICAgIHJl
dHVybiBib3gtPmhhc0hvcml6b250YWxPdmVyZmxvdygpIHx8IGJveC0+aGFzVmVydGljYWxPdmVy
ZmxvdygpOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xs
UmVjdFRvVmlzaWJsZU9wdGlvbnMmIG9wdGlvbnMsIEF1dG9zY3JvbGxTdGF0dXMgYXV0b3Njcm9s
bFN0YXR1cykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5
b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0
VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xs
aW5nLCBzdHJlYW0gPDwgIkxheWVyICIgPDwgdGhpcyA8PCAiIHNjcm9sbFJlY3RUb1Zpc2libGUg
IiA8PCBhYnNvbHV0ZVJlY3QpOwogCiAgICAgUmVuZGVyTGF5ZXIqIHBhcmVudExheWVyID0gbnVs
bHB0cjsKICAgICBMYXlvdXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CisgICAgYm9vbCBh
dXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyA9ICFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVy
KCkuYXV0b3Njcm9sbEluUHJvZ3Jlc3MoKTsKIAogICAgIC8vIFdlIG1heSBlbmQgdXAgcHJvcGFn
YXRpbmcgYSBzY3JvbGwgZXZlbnQuIEl0IGlzIGltcG9ydGFudCB0aGF0IHdlIHN1c3BlbmQgZXZl
bnRzIHVudGlsIAogICAgIC8vIHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIHNpbmNlIHRoZXkgY291
bGQgZGVsZXRlIHRoZSBsYXllciBvciB0aGUgbGF5ZXIncyByZW5kZXJlcigpLgpAQCAtMjg0Niw4
ICsyODcxLDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBM
YXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgU2Nyb2xsT2Zmc2V0
IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQoKSAr
IHRvSW50U2l6ZShyb3VuZGVkSW50UmVjdChyZXZlYWxSZWN0KS5sb2NhdGlvbigpKSk7CiAgICAg
ICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpIHx8IGN1cnJlbnRT
Y3JvbGxCZWhhdmlvclN0YXR1cygpICE9IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1h
dGlvbikgewogICAgICAgICAgICAgU2Nyb2xsT2Zmc2V0IG9sZFNjcm9sbE9mZnNldCA9IHNjcm9s
bE9mZnNldCgpOwotICAgICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMg
PT0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmco
b3B0aW9ucy5iZWhhdmlvciwgYm94LT5lbGVtZW50KCkpOwotICAgICAgICAgICAgc2Nyb2xsVG9Q
b3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIFNj
cm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVk
KTsKKyAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAm
JiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgYm94LT5lbGVtZW50KCkpOwor
ICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNs
YW1wZWRTY3JvbGxPZmZzZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBhbmltYXRlZCwgYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MpOwogICAgICAg
ICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gY2xhbXBlZFNjcm9sbE9mZnNl
dCAtIG9sZFNjcm9sbE9mZnNldDsKICAgICAgICAgICAgIGxvY2FsRXhwb3NlUmVjdC5tb3ZlKC1z
Y3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKICAgICAgICAgICAgIG5ld1JlY3QgPSBMYXlvdXRSZWN0
KGJveC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KGxvY2FsRXhwb3Nl
UmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4NzMsOCArMjg5OCw4
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVj
dCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICAgICAgc2Nyb2xsUG9zaXRp
b24gPSBzY3JvbGxQb3NpdGlvbi5jb25zdHJhaW5lZEJldHdlZW4oSW50UG9pbnQoKSwgSW50UG9p
bnQoZnJhbWVWaWV3LmNvbnRlbnRzU2l6ZSgpKSk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IFNob3VsZCB3ZSB1c2UgY29udGVudERvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAg
ICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNTA1OQotICAgICAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSBhdXRvc2Nyb2xsU3Rh
dHVzID09IEF1dG9zY3JvbGxTdGF0dXM6Ok5vdEluUHJvZ3Jlc3MgJiYgb3duZXJFbGVtZW50LT5j
b250ZW50RG9jdW1lbnQoKSAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwg
b3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpOwotICAg
ICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwg
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgICAgICBib29s
IGFuaW1hdGVkID0gYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgb3duZXJFbGVtZW50LT5jb250
ZW50RG9jdW1lbnQoKSAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgb3du
ZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAg
ICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyk7
CiAKICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Ny
b2xsaW5nID09IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZp
ZXcuc2FmZVRvUHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkgewogICAgICAgICAgICAgICAgICAg
ICBwYXJlbnRMYXllciA9IG93bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIo
KTsKQEAgLTI5MTUsOCArMjk0MCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zp
c2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAg
ICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IHJvdW5kZWRJbnRQ
b2ludChyZXZlYWxSZWN0LmxvY2F0aW9uKCkpLmNvbnN0cmFpbmVkQmV0d2VlbihtaW5TY3JvbGxQ
b3NpdGlvbiwgbWF4U2Nyb2xsUG9zaXRpb24pOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBT
aG91bGQgd2UgdXNlIGRvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAgICAgICAgICAg
ICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1
OQotICAgICAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSBhdXRvc2Nyb2xsU3RhdHVzID09IEF1
dG9zY3JvbGxTdGF0dXM6Ok5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSk7Ci0g
ICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbFBvc2l0aW9uKGNsYW1wZWRTY3JvbGxQ
b3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAg
ICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3Ro
U2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVu
dEVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbFBvc2l0aW9u
KGNsYW1wZWRTY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVk
LCBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNj
cm9sbGluZyB0aGlzIHZpZXcgd2UKQEAgLTMwNTUsNyArMzA4MCw3IEBAIExheW91dFJlY3QgUmVu
ZGVyTGF5ZXI6OmdldFJlY3RUb0V4cG9zZShjb25zdCBMYXlvdXRSZWN0JiB2aXNpYmxlUmVjdCwg
Y29uc3QgTGF5CiB2b2lkIFJlbmRlckxheWVyOjphdXRvc2Nyb2xsKGNvbnN0IEludFBvaW50JiBw
b3NpdGlvbkluV2luZG93KQogewogICAgIEludFBvaW50IGN1cnJlbnREb2N1bWVudFBvc2l0aW9u
ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCkud2luZG93VG9Db250ZW50cyhwb3NpdGlv
bkluV2luZG93KTsKLSAgICBzY3JvbGxSZWN0VG9WaXNpYmxlKExheW91dFJlY3QoY3VycmVudERv
Y3VtZW50UG9zaXRpb24sIExheW91dFNpemUoMSwgMSkpLCBmYWxzZSwgeyBTZWxlY3Rpb25SZXZl
YWxNb2RlOjpSZXZlYWwsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2Ny
b2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2lu
U2Nyb2xsaW5nOjpZZXMgfSwgQXV0b3Njcm9sbFN0YXR1czo6SW5Qcm9ncmVzcyk7CisgICAgc2Ny
b2xsUmVjdFRvVmlzaWJsZShMYXlvdXRSZWN0KGN1cnJlbnREb2N1bWVudFBvc2l0aW9uLCBMYXlv
dXRTaXplKDEsIDEpKSwgZmFsc2UsIHsgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBTY3Jv
bGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25U
b0VkZ2VJZk5lZWRlZCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIH0pOwog
fQogCiBib29sIFJlbmRlckxheWVyOjpjYW5SZXNpemUoKSBjb25zdApAQCAtNzAxMCw2ICs3MDM1
LDM2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbigpCiAjZW5kaWYK
IH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNh
dmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikK
K3sKKyAgICBpZiAoIXJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRp
b24gPSBwb3NpdGlvbjsKK30KKwordm9pZCBSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxlbmRFdmVu
dFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1f
ZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbiB8fCBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9z
aXRpb24udmFsdWUoKSAhPSBwb3NpdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKEVs
ZW1lbnQqIGVsZW1lbnQgPSByZW5kZXJlcigpLmVsZW1lbnQoKSkKKyAgICAgICAgZWxlbWVudC0+
ZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXQoKmVsZW1lbnQpOworCisg
ICAgbV9maXJlU2Nyb2xsZW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2
b2lkIFJlbmRlckxheWVyOjpmb3JjZVNjcm9sbGVuZCgpCit7CisgICAgaWYgKCFyZW5kZXJlcigp
LnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSByZW5kZXJlcigpLmVsZW1lbnQoKSkKKyAgICAg
ICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXQoKmVs
ZW1lbnQpOworfQorI2VuZGlmCisKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3Ry
ZWFtJiB0cywgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlKQogewogICAgIHN3aXRjaCAoY2xp
cFJlY3RzVHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA5
NmQzOWVmNGJmLi43Y2RlODZlZDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaApAQCAtNDUxLDcgKzQ1MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Nyb2xsVG9YUG9z
aXRpb24oaW50IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSk7CiAgICAgdm9pZCBzY3JvbGxUb1lQb3Np
dGlvbihpbnQgeSwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKLSAgICB2b2lkIHNjcm9sbFRvUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOworICAgIHZvaWQg
c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFs
c2UsIGJvb2wgc2F2ZVNjcm9sbGVuZFBvc2l0aW9uID0gdHJ1ZSk7CiAKICAgICAvLyBUaGVzZSBh
cmUgb25seSB1c2VkIGJ5IG1hcnF1ZWUuCiAgICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgp
IHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNj
cm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KQEAg
LTQ2Miw5ICs0NjIsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGF2YWlsYWJsZUNvbnRlbnRTaXpl
Q2hhbmdlZChBdmFpbGFibGVTaXplQ2hhbmdlUmVhc29uKSBvdmVycmlkZTsKIAotICAgIGVudW0g
QXV0b3Njcm9sbFN0YXR1cyB7IE5vdEluUHJvZ3Jlc3MsIEluUHJvZ3Jlc3MgfTsKICAgICAvLyAi
YWJzb2x1dGVSZWN0IiBpcyBpbiBzY2FsZWQgZG9jdW1lbnQgY29vcmRpbmF0ZXMuCi0gICAgdm9p
ZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9v
bCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmLCBBdXRvc2Ny
b2xsU3RhdHVzID0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9ncmVzcyk7CisgICAgdm9pZCBz
Y3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBp
bnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmKTsKIAogICAgIGJv
b2wgc2Nyb2xsc092ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNTY3JvbGxhYmxlSG9yaXpv
bnRhbE92ZXJmbG93KCkgY29uc3Q7CkBAIC05MjMsNiArOTIyLDEyIEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgaW52YWxpZGF0ZUV2ZW50UmVnaW9uKCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQ
b3NpdGlvbiYpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBmb3JjZVNjcm9sbGVuZCgpIGZp
bmFsOworI2VuZGlmCisKIHByaXZhdGU6CiAKICAgICB2b2lkIHNldE5leHRTaWJsaW5nKFJlbmRl
ckxheWVyKiBuZXh0KSB7IG1fbmV4dCA9IG5leHQ7IH0KQEAgLTEzNTMsNiArMTM1OCwxMCBAQCBw
cml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxheWVyRmlsdGVycz4gbV9maWx0
ZXJzOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJMYXllckJhY2tpbmc+IG1fYmFja2luZzsK
KworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3Np
dGlvbj4gbV9maXJlU2Nyb2xsZW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCiAgICAgCiAgICAg
UGFpbnRGcmVxdWVuY3lUcmFja2VyIG1fcGFpbnRGcmVxdWVuY3lUcmFja2VyOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCA3ZTU0YWM4ZmExLi5mMDdlNDAyZmU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0xODEsNyArMTgxLDcgQEAgbWFjcm8oV0VCS0lUX09Q
VElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfT0ZGU0NSRUVOX0NB
TlZBUyAiVG9nZ2xlIE9mZnNjcmVlbkNhbnZhcyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTICJUb2dnbGUgT3Jp
ZW50YXRpb24gRXZlbnRzIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggIlRvZ2dsZSBhY2NlbGVyYXRl
ZCBzY3JvbGxpbmcgc3VwcG9ydCIgUFJJVkFURSBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTICJUb2dnbGUgb3ZlcnNjcm9sbCBldmVudHMiIFBS
SVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyAiVG9nZ2xlIG92ZXJzY3JvbGwgZXZlbnRzIiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgIlRvZ2dsZSBQYXltZW50IFJlcXVl
c3Qgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1BERktJVF9QTFVHSU4gIlRvZ2dsZSBQREZLaXQgcGx1Z2luIHN1cHBvcnQiIFBSSVZBVEUgT0ZG
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJ
ICJUb2dnbGUgUGljdHVyZS1pbi1QaWN0dXJlIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393746</attachid>
            <date>2020-03-17 05:49:12 -0700</date>
            <delta_ts>2020-03-17 06:22:31 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-for-ews.diff</filename>
            <type>text/plain</type>
            <size>96386</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmYTBhMTJkZmUyLi5kMTAx
NzJhNDA3IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wMy0xNCAgTWljaGFlbCBDYXRhbnphcm8gIDxt
Y2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBbQ01ha2VdIFdhcm5pbmcgd2hlbiBjY2Fj
aGUgaXMgbm90IGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzExYTI5Mzkz
Ny4uYWE2MTZlZjNiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJp
YyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUy4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDIwLTAzLTE1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAg
cmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoIHNob3VsZCBoYW5kbGUgUHJlY2lzZUFsbG9jYXRpb24g
aW4gSXNvU3Vic3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlNmEzMDAyOWEwLi40
OWM1ZGM4Yjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0yOTYsNiArMjk2LDggQEAg
RU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gp
KTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVO
QUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChF
TkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQx
NCw0ICs0MTYsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxU
RVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVO
QUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVf
U0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJP
QVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05f
TUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
UElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJT
KSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hF
X1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMp
ICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBlMzE0NTU0OTAyLi4xZGU4MzE3ODlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAK
KzIwMjAtMDMtMTcgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9s
bGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5
MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Vw
cG9ydCBzY3JvbGxlbmQgZXZlbnQgZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcuIFNhdmUgdGhl
IHNjcm9sbCBwb3NpdGlvbiB3aGVuIHN0YXJ0aW5nCisgICAgICAgIGEgc2Nyb2xsIChpbnN0YW50
IC8gYW5pbWF0ZWQpLiBDb21wYXJlIHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aXRoIHRo
ZSBzYXZlIG9uZSwgd2hlbgorICAgICAgICBSZW5kZXJMYXllci9TY3JvbGxWaWV3IGFjdHVhbGx5
IHNjcm9sbHMuIElmIHRoZXkgYXJlIHNhbWUsIHB1dCB0aGUgdGFyZ2V0IHRvIGEgbGlzdCBpbiBk
b2N1bWVudC4KKyAgICAgICAgVGhlIHRhcmdldHMgaW4gdGhlIGxpc3Qgd291bGQgZGlzcGF0Y2gg
c2Nyb2xsZW5kIGV2ZW50cy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFy
Z2V0cyB0byBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQg
Zm9yIGVhY2ggdGFyZ2V0LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5n
U2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQg
dGFyZ2V0cy4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIHNhdmVTY3JvbGxlbmRQb3NpdGlv
biB0byBpbmRpY2F0ZSB0aGUgcG9zaXRpb24gc2hvdWxkIGJlIHNhdmVkIGZvciBzY3JvbGxlbmQg
ZXZlbnQgb3Igbm90LgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxUb09mZnNl
dFdpdGhBbmltYXRpb24pOiBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24gaXMgdGhlIHNjcm9s
bCBwb3NpdGlvbiBkb24ndCBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNh
dmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKTogU2F2ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLCBhIHNj
cm9sbGVuZCBldmVudCB3b3VsZCBiZSBmaXJlZCBhdCB0aGlzIHBvc2l0aW9uLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24pOiBJZiBwb3Np
dGlvbiBpcyBlcXVhbCB0byB0aGUgc2F2ZWQgb25lLCBhZGQgdGhlIHRhcmdldCB0byB0aGUgc2Ny
b2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmZvcmNlU2Nyb2xsZW5k
KTogQWRkIHRoZSB0YXJnZXQgdG8gdGhlIGxpc3Qgd2l0aG91dCBjaGVja2luZyBpdHMgc2Nyb2xs
IHBvc2l0aW9uLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdGlvblNtb290aDo6c3RvcCk6IElmIHRoZSBhbmltYXRpb24gaXMgaW50ZXJydXB0ZWQsIGNh
bGwgZm9yY2VTY3JvbGxlbmQoKSB0byBmaXJlIHNjcm9sbGVuZCBldmVudCB3aXRob3V0IGNoZWNr
aW5nIHRoZSBwb3NpdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290
aDo6YW5pbWF0aW9uVGltZXJGaXJlZCk6IFdoZW4gdGhlIGFuaW1hdGlvbiBlbmRzIG5hdHVyYWws
IGNhbGwgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKCkuCisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxUbyk6
IGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbiB3aGVuIHNjcm9sbFBvc2l0aW9uIGNoYW5nZWQu
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6IHNhdmVT
Y3JvbGxlbmRFdmVudFBvc2l0aW9uIGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLiBjaGVja1Nj
cm9sbGVuZEV2ZW50UG9zaXRpb24gd2hlbiB0aGUgcG9zaXRpb24gZG9lc24ndCBjaGFuZ2UuCisg
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOiBBZGQgc2F2ZVNjcm9sbGVuZFBvc2l0aW9u
IGZsYWcuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzYXZlU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbik6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNoZWNrU2Nyb2xsZW5kRXZlbnRQ
b3NpdGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmZvcmNl
U2Nyb2xsZW5kKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxUb1lQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Ny
b2xsUG9zaXRpb24pOiBSZXBsYWNlIHNjcm9sbFRvUG9zaXRpb24gd2l0aCBzZXRTY3JvbGxQb3Np
dGlvbiB0byBjb25zaXN0ZW50IHdpdGggRnJhbWVWaWV3IGludGVyZmFjZXMuIHNhdmVTY3JvbGxl
bmRFdmVudFBvc2l0aW9uIGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KTogY2hlY2tTY3JvbGxlbmRFdmVudFBv
c2l0aW9uIHdoZW4gc2Nyb2xsIHBvc2l0aW9uIGRvZXNuJ3QgY2hhbmdlLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbik6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKTogY2hlY2tTY3JvbGxlbmRF
dmVudFBvc2l0aW9uIHdoZW4gdGhlIHNjcm9sbFBvc2l0aW9uIGNoYW5nZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IEF1dG9zY3JvbGxTdGF0
dXMgaXMgYXZhaWxhYmxlIGZyb20gZXZlbnRIYW5kbGVyLCBzbyBubyBuZWVkIHRvIGFkZCBhIGZ1
bmN0aW9uIHZhcmlhYmxlIGZvciBpdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjph
dXRvc2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1Bvc2l0
aW9uKTogRGVsZXRlZC4gUmVwbGFjZWQgYnkgc2Nyb2xsVG9Qb3NpdGlvbi4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKworMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRo
aWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwg
ZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKwor
ICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBQYXJz
ZSBvbm92ZXJzY3JvbGwvc2Nyb2xsZW5kIGF0dHJpYnV0ZSBhbmQgb3ZlcnNjcm9sbC9vdmVyc2Ny
b2xsIGV2ZW50IG5hbWUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vR2xvYmFs
RXZlbnRIYW5kbGVycy5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46
CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
RWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCk6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy55YW1sOgorCiAyMDIwLTAzLTE2ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGFkZEhUVFBPcmlnaW5JZk5lZWRlZCBjYWxscwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCBlNmEzMDAyOWEwLi40OWM1ZGM4Yjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjk2LDYgKzI5Niw4IEBA
IEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19U
T1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNI
KSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQo
RU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00
MTQsNCArNDE2LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FM
VEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChF
TkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxF
X1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
RVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlC
T0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNI
RV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQo
RU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05T
KSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwppbmRleCBkY2E1OGNiMjk2Li5mM2JkZDNiMWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGln
YWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBh
cnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBC
YXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgRU5BQkxFX09W
RVJTQ1JPTExfRVZFTlRTLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisKIDIwMjAtMDMtMTUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBTaG91bGQgbm90IHVzZSB2YXJpYWJsZS1sZW5ndGgtYXJyYXkgKFZM
QSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlNmEzMDAyOWEwLi40OWM1ZGM4Yjc3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC0yOTYsNiArMjk2LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMg
PSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1df
U0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7
CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsK
KwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVO
QUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNCw0ICs0MTYsNCBAQCBFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsK
IAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZF
U1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVS
RV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVO
QUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikg
JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FD
SEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxF
X1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlND
UkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVf
UEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
SEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRP
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9D
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVM
RU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5B
QkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIp
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURf
U1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05O
RUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikg
JChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9N
T1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElP
TlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA0NGQ1MGIyMDdjLi5hNzk1ZjRiYjk3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBA
IC0yODUsNiArMjg1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKG1hdGNoaW5n
RWxlbWVudEluRmxhdFRyZWUpIFwKICAgICBtYWNybyhtZWRpYVN0cmVhbVRyYWNrQ29uc3RyYWlu
dHMpIFwKICAgICBtYWNybyhvcGVuRGF0YWJhc2UpIFwKKyAgICBtYWNybyhvbm92ZXJzY3JvbGwp
IFwKKyAgICBtYWNybyhvbnNjcm9sbGVuZCkgXAogICAgIG1hY3JvKG9udG91Y2hjYW5jZWwpIFwK
ICAgICBtYWNybyhvbnRvdWNoZW5kKSBcCiAgICAgbWFjcm8ob250b3VjaG1vdmUpIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCmluZGV4IDY4NzlmZDE1OWMuLjUwNzFkOTk2OGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcApAQCAtODAwLDYgKzgwMCwxMCBAQCB2b2lkIERvY3VtZW50Ojpjb21tb25U
ZWFyZG93bigpCiAKICAgICBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3QgPSBudWxscHRy
OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIG1fcGVuZGluZ1Njcm9sbGVu
ZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CisjZW5kaWYKKwogICAgIHdoaWxlICghbV90aW1l
bGluZXMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBtX3RpbWVsaW5lcy5iZWdpbigpLT5kZXRh
Y2hGcm9tRG9jdW1lbnQoKTsKICAgICBtX3RpbWVsaW5lID0gbnVsbHB0cjsKQEAgLTQwNjcsNiAr
NDA3MSwyMyBAQCB2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29u
dGFpbmVyTm9kZSYgdGFyZ2V0KQogICAgIHRhcmdldHMuYXBwZW5kKHRhcmdldCk7CiB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Ny
b2xsZW5kRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQoreworICAgIGlmICghbV9w
ZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0KQorICAgICAgICBtX3BlbmRpbmdTY3JvbGxl
bmRFdmVudFRhcmdldExpc3QgPSBtYWtlVW5pcXVlPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExp
c3Q+KCk7CisKKyAgICBhdXRvJiB0YXJnZXRzID0gbV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJn
ZXRMaXN0LT50YXJnZXRzOworICAgIGlmICh0YXJnZXRzLmZpbmRNYXRjaGluZyhbJl0gKGF1dG8m
IGVudHJ5KSB7IHJldHVybiBlbnRyeS5wdHIoKSA9PSAmdGFyZ2V0OyB9KSAhPSBub3RGb3VuZCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHRhcmdldHMuaXNFbXB0eSgpKQorICAgICAgICBz
Y2hlZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CisKKyAgICB0YXJnZXRzLmFwcGVuZCh0YXJn
ZXQpOworfQorI2VuZGlmCisKIHZvaWQgRG9jdW1lbnQ6OnNldE5lZWRzVmlzdWFsVmlld3BvcnRT
Y3JvbGxFdmVudCgpCiB7CiAgICAgaWYgKCFtX25lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVu
dCkKQEAgLTQwOTIsNiArNDExMywxOCBAQCB2b2lkIERvY3VtZW50OjpydW5TY3JvbGxTdGVwcygp
CiAgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb21XaW5kb3coKSkKICAgICAgICAgICAgIHdp
bmRvdy0+dmlzdWFsVmlld3BvcnQoKS5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLnNjcm9sbEV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8pKTsKICAgICB9CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
Ly8gRGVhbCB3aXRoIHNjcm9sbGVuZCBldmVudC4KKyAgICBpZiAobV9wZW5kaW5nU2Nyb2xsZW5k
RXZlbnRUYXJnZXRMaXN0ICYmICFtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QtPnRh
cmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAgIExPR19XSVRIX1NUUkVBTShFdmVudHMsIHN0cmVh
bSA8PCAiRG9jdW1lbnQiIDw8IHRoaXMgPDwgInNlbmRpbmcgc2Nyb2xsZW5kIGV2ZW50cyB0byBw
ZW5kaW5nIHNjcm9sbCBldmVudCB0YXJnZXRzIik7CisgICAgICAgIGF1dG8gY3VycmVudFNjcm9s
bGVuZFRhcmdldHMgPSBXVEZNb3ZlKG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdC0+
dGFyZ2V0cyk7CisgICAgICAgIGZvciAoYXV0byYgdGFyZ2V0IDogY3VycmVudFNjcm9sbGVuZFRh
cmdldHMpIHsKKyAgICAgICAgICAgIGF1dG8gYnViYmxlcyA9IHRhcmdldC0+aXNEb2N1bWVudE5v
ZGUoKSA/IEV2ZW50OjpDYW5CdWJibGU6OlllcyA6IEV2ZW50OjpDYW5CdWJibGU6Ok5vOworICAg
ICAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnNjcm9sbGVuZEV2ZW50LCBidWJibGVzLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAg
ICAgICB9CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmFkZEF1ZGlvUHJvZHVj
ZXIoTWVkaWFQcm9kdWNlciYgYXVkaW9Qcm9kdWNlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
NTU5YTk4MzhiNi4uOTI0MmQ1NDE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzNjAsNiAr
MTM2MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJ1blJlc2l6ZVN0ZXBzKCk7CiAKICAgICB2b2lk
IGFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7CisjaWYgRU5BQkxF
KE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFy
Z2V0KENvbnRhaW5lck5vZGUmKTsKKyNlbmRpZgogICAgIHZvaWQgc2V0TmVlZHNWaXN1YWxWaWV3
cG9ydFNjcm9sbEV2ZW50KCk7CiAgICAgdm9pZCBydW5TY3JvbGxTdGVwcygpOwogCkBAIC0yMDM5
LDYgKzIwNDIsOSBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFBlbmRpbmdTY3JvbGxFdmVudFRh
cmdldExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExp
c3Q+IG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdDsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExp
c3Q+IG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdDsKKyNlbmRpZgogCiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKICAgICBIYXNoU2V0PEhUTUxNZWRpYUVsZW1lbnQqPiBtX21lZGlh
U3RyZWFtU3RhdGVDaGFuZ2VFbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IGQ0
OTYwYjljZjcuLmE5ODUyMDFjN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTkwLDYg
KzE5MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhvcmllbnRhdGlvbmNoYW5n
ZSkgXAogICAgIG1hY3JvKG92ZXJjb25zdHJhaW5lZCkgXAogICAgIG1hY3JvKG92ZXJmbG93Y2hh
bmdlZCkgXAorICAgIG1hY3JvKG92ZXJzY3JvbGwpIFwKICAgICBtYWNybyhwYWdlaGlkZSkgXAog
ICAgIG1hY3JvKHBhZ2VzaG93KSBcCiAgICAgbWFjcm8ocGFzdGUpIFwKQEAgLTIyNiw2ICsyMjcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8ocmVzdWx0KSBcCiAgICAgbWFjcm8o
cmVzdW1lKSBcCiAgICAgbWFjcm8oc2Nyb2xsKSBcCisgICAgbWFjcm8oc2Nyb2xsZW5kKSBcCiAg
ICAgbWFjcm8oc2VhcmNoKSBcCiAgICAgbWFjcm8oc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24pIFwK
ICAgICBtYWNybyhzZWVrZWQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9i
YWxFdmVudEhhbmRsZXJzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRs
ZXJzLmlkbAppbmRleCA3NzBhYTljM2E3Li4xZjI3NjUzNGY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRsCkBAIC0xMzIsNCArMTMyLDggQEAKICAgICBbTm90
RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9ud2Via2l0bW91c2Vmb3JjZWRvd247CiAgICAgW05vdEVudW1lcmFibGUsIENv
bmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndl
YmtpdG1vdXNlZm9yY2V3aWxsYmVnaW47CiAgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFs
PU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG1vdXNl
Zm9yY2V1cDsKKworICAgIC8vIEV2ZW50IGhhbmRsZXJzIGZyb20gT3ZlcnNjcm9sbCBFdmVudHMg
QVBJIChodHRwczovL3dpY2cuZ2l0aHViLmlvL292ZXJzY3JvbGwtc2Nyb2xsZW5kLWV2ZW50cy8p
CisgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU9WRVJTQ1JPTExfRVZFTlRTLCBFbmFi
bGVkQnlTZXR0aW5nPU92ZXJzY3JvbGxFdmVudHNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25v
dmVyc2Nyb2xsOworICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1PVkVSU0NST0xMX0VW
RU5UUywgRW5hYmxlZEJ5U2V0dGluZz1PdmVyc2Nyb2xsRXZlbnRzXSBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uc2Nyb2xsZW5kOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4KaW5kZXggZGNkODM3OGQ5NS4uMDk5ZmZiODIyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTI2Nyw2ICsyNjcsNyBAQCBvbm1vdXNld2hl
ZWwKIG9ub25saW5lCiBvbm9mZmxpbmUKIG9ub3JpZW50YXRpb25jaGFuZ2UKK29ub3ZlcnNjcm9s
bAogb25wYWdlaGlkZQogb25wYWdlc2hvdwogb25wYXN0ZQpAQCAtMjg3LDYgKzI4OCw3IEBAIG9u
cmF0ZWNoYW5nZQogb25yZXNldAogb25yZXNpemUKIG9uc2Nyb2xsCitvbnNjcm9sbGVuZAogb25z
ZWFyY2gKIG9uc2Vla2VkCiBvbnNlZWtpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAK
aW5kZXggMzJlZDRhZDMxYi4uYWU1OWFjMTJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5jcHAKQEAgLTI4NCw2ICsyODQsNyBAQCBIVE1MRWxlbWVudDo6RXZlbnRIYW5kbGVyTmFtZU1h
cCBIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCgpCiAgICAgICAgICZvbm1v
dXNlb3ZlckF0dHIuZ2V0KCksCiAgICAgICAgICZvbm1vdXNldXBBdHRyLmdldCgpLAogICAgICAg
ICAmb25tb3VzZXdoZWVsQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ub3ZlcnNjcm9sbEF0dHIuZ2V0
KCksCiAgICAgICAgICZvbnBhc3RlQXR0ci5nZXQoKSwKICAgICAgICAgJm9ucGF1c2VBdHRyLmdl
dCgpLAogICAgICAgICAmb25wbGF5QXR0ci5nZXQoKSwKQEAgLTMwMSw2ICszMDIsNyBAQCBIVE1M
RWxlbWVudDo6RXZlbnRIYW5kbGVyTmFtZU1hcCBIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5k
bGVyTmFtZU1hcCgpCiAgICAgICAgICZvbnJlc2V0QXR0ci5nZXQoKSwKICAgICAgICAgJm9ucmVz
aXplQXR0ci5nZXQoKSwKICAgICAgICAgJm9uc2Nyb2xsQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
c2Nyb2xsZW5kQXR0ci5nZXQoKSwKICAgICAgICAgJm9uc2VhcmNoQXR0ci5nZXQoKSwKICAgICAg
ICAgJm9uc2Vla2VkQXR0ci5nZXQoKSwKICAgICAgICAgJm9uc2Vla2luZ0F0dHIuZ2V0KCksCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNWMwZGFiODRlMC4uZDc0YTFhMWZlMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjI4Myw3ICsyMjgzLDcgQEAgdm9pZCBGcmFt
ZVZpZXc6OnNjcm9sbEVsZW1lbnRUb1JlY3QoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3Qg
SW50UmVjdCYgcmVjdCkKICAgICBzZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludChib3VuZHMueCgp
IC0gY2VudGVyaW5nT2Zmc2V0WCAtIHJlY3QueCgpLCBib3VuZHMueSgpIC0gY2VudGVyaW5nT2Zm
c2V0WSAtIHJlY3QueSgpKSk7CiB9CiAKLXZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcsIGJvb2wgYW5pbWF0ZWQsIGJvb2wgc2F2ZVNjcm9sbGVuZFBvc2l0aW9uKQogewogICAg
IExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiRnJhbWVWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uIDw8ICIgLCBjbGVhcmluZyBhbmNob3IiKTsK
IApAQCAtMjI5OSw3ICsyMjk5LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2wKICAgICBpZiAo
YW5pbWF0ZWQpCiAgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZz
ZXRGcm9tUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFt
cGluZyk7CiAgICAgZWxzZQotICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihz
Y3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcpOworICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQ
b3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCBzYXZlU2Nyb2xsZW5k
UG9zaXRpb24pOwogCiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUob2xkU2Nyb2xsVHlwZSk7CiB9
CkBAIC0zNjIyLDEyICszNjIyLDQ4IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb09mZnNldFdp
dGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9sbFR5CiAKICAgICBp
ZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
OkluTm9uTmF0aXZlQW5pbWF0aW9uKQogICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFu
aW1hdGlvbnMoKTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBpZiAob2Zm
c2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKQorICAgICAgICBjaGVja1Njcm9sbGVuZEV2ZW50
UG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KG9mZnNldCkpOworI2VuZGlmCisKICAg
ICBpZiAob2Zmc2V0ICE9IHRoaXMtPnNjcm9sbE9mZnNldCgpKQogICAgICAgICBTY3JvbGxhYmxl
QXJlYTo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKG9mZnNldCk7CiAKICAgICBzZXRDdXJy
ZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9sbFR5cGUpOwogfQogCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQordm9pZCBGcmFtZVZpZXc6OnNhdmVTY3JvbGxlbmRFdmVudFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIWZyYW1lKCkuc2V0
dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb24gPSBwb3NpdGlvbjsKK30KKwordm9pZCBG
cmFtZVZpZXc6OmNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYgcG9zaXRpb24pCit7CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb24g
fHwgbV9maXJlU2Nyb2xsZW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRpb24pCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRv
Y3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50LT5hZGRQZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJn
ZXQoKmRvY3VtZW50KTsKKworICAgIG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbiA9IFdU
Rjo6bnVsbG9wdDsKK30KKwordm9pZCBGcmFtZVZpZXc6OmZvcmNlU2Nyb2xsZW5kKCkKK3sKKyAg
ICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1
bWVudCgpKQorICAgICAgICBkb2N1bWVudC0+YWRkUGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0
KCpkb2N1bWVudCk7Cit9CisjZW5kaWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxT
dGVwRm9yRml4ZWRDb250ZW50KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVu
dGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVs
YXJpdHkgIT0gU2Nyb2xsQnlQYWdlIHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxi
YXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBkYTYxYTE4MThlLi4yZjlmNzczNzc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTIyNyw3ICsyMjcsNyBAQCBwdWJsaWM6CiAjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4
ZWRWaXNpYmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0
ZWQgPSBmYWxzZSkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSwgYm9vbCBzYXZlU2Nyb2xsZW5kUG9z
aXRpb24gPSB0cnVlKSBmaW5hbDsKICAgICB2b2lkIHJlc3RvcmVTY3JvbGxiYXIoKTsKICAgICB2
b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChTZWxlY3Rpb25SZXZlYWxNb2RlKTsK
ICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVlZGVkKCk7CkBA
IC02NjAsNiArNjYwLDEyIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaW5VcGRhdGVFbWJlZGRlZE9i
amVjdHMoKSBjb25zdCB7IHJldHVybiBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3RzOyB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xsZW5kRXZlbnRQ
b3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3Jv
bGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9p
ZCBmb3JjZVNjcm9sbGVuZCgpIGZpbmFsOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBib29s
IHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0
IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIGZpbmFsOwog
ICAgIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0
KSBmaW5hbDsKQEAgLTg5NSw2ICs5MDEsMTAgQEAgcHJpdmF0ZToKIAogICAgIFBhZ2luYXRpb24g
bV9wYWdpbmF0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIE9wdGlv
bmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb247CisjZW5k
aWYKKwogICAgIGVudW0gY2xhc3MgVmlld3BvcnRSZW5kZXJlclR5cGUgOiB1aW50OF90IHsgTm9u
ZSwgRG9jdW1lbnQsIEJvZHkgfTsKICAgICBWaWV3cG9ydFJlbmRlcmVyVHlwZSBtX3ZpZXdwb3J0
UmVuZGVyZXJUeXBlIHsgVmlld3BvcnRSZW5kZXJlclR5cGU6Ok5vbmUgfTsKICAgICBTY3JvbGxQ
aW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3IgeyBEb05vdFBpbiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDI1YThlYWJkNDcuLjA3ZTUxNmU1N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTkxNiw2ICs5MTYsMTAgQEAgaXNMb2dnZWRJbkFQ
SUVuYWJsZWQ6CiBlbnRlcktleUhpbnRFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQogCitvdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKKyAgY29uZGl0aW9uYWw6IE9W
RVJTQ1JPTExfRVZFTlRTCisKIGxlZ2FjeUdldFVzZXJNZWRpYUVuYWJsZWQ6CiAgIGluaXRpYWw6
IGZhbHNlCiAgIGNvbmRpdGlvbmFsOiBNRURJQV9TVFJFQU0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCmluZGV4IDJjYTU3OGEzMGYuLjky
NWQ0YzBlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dGlvblNtb290aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
aW9uU21vb3RoLmNwcApAQCAtODAsNiArODAsMTEgQEAgdm9pZCBTY3JvbGxBbmltYXRpb25TbW9v
dGg6OnNjcm9sbChjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbikKIAogdm9pZCBTY3JvbGxBbmlt
YXRpb25TbW9vdGg6OnN0b3AoKQogeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX3Njcm9sbGFibGVB
cmVhLmZvcmNlU2Nyb2xsZW5kKCk7CisjZW5kaWYKKwogICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rv
cCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xs
QmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIH0KQEAgLTQxMCw4ICs0MTUsMTIgQEAg
dm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogCiAgICAg
aWYgKGNvbnRpbnVlQW5pbWF0aW9uKQogICAgICAgICBzdGFydE5leHRUaW1lcihzdGQ6Om1heCht
aW5pbXVtVGltZXJJbnRlcnZhbCwgZGVsdGFUb05leHRGcmFtZSkpOwotICAgIGVsc2UKKyAgICBl
bHNlIHsKICAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhT
Y3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOworI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS5jaGVja1Njcm9sbGVuZEV2ZW50
UG9zaXRpb24obV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxQb3NpdGlvbigpKTsKKyNlbmRpZgorICAg
IH0KIAogICAgIG1fbm90aWZ5UG9zaXRpb25DaGFuZ2VkRnVuY3Rpb24oRmxvYXRQb2ludChtX2hv
cml6b250YWxEYXRhLmN1cnJlbnRQb3NpdGlvbiwgbV92ZXJ0aWNhbERhdGEuY3VycmVudFBvc2l0
aW9uKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IDJmZDE1
ZjdiMzAuLmUwMThlMjkyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3Bw
CkBAIC00ODYsNiArNDg2LDEwIEBAIHZvaWQgU2Nyb2xsVmlldzo6c2Nyb2xsVG8oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIG5ld1Bvc2l0aW9uKQogCiAgICAgbV9zY3JvbGxQb3NpdGlvbiA9IG5ld1Bv
c2l0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGNoZWNrU2Nyb2xs
ZW5kRXZlbnRQb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgorCiAgICAgaWYgKHNj
cm9sbGJhcnNTdXBwcmVzc2VkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTEzLDcgKzUxNyw3
IEBAIHZvaWQgU2Nyb2xsVmlldzo6Y29tcGxldGVVcGRhdGVzQWZ0ZXJTY3JvbGxUbyhjb25zdCBJ
bnRTaXplJiBzY3JvbGxEZWx0YSkKICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Ny
b2xsaW5nKCk7CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywg
Ym9vbC8qIGFuaW1hdGVkKi8pCit2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBp
bmcsIGJvb2wvKiBhbmltYXRlZCovLCBib29sIHNhdmVTY3JvbGxlbmRQb3NpdGlvbikKIHsKICAg
ICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24pOwogCkBAIC01MjUsMTMgKzUyOSwyMyBA
QCB2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAg
aWYgKGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVz
OjpJbk5vbk5hdGl2ZUFuaW1hdGlvbikKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxB
bmltYXRpb25zKCk7CisKICAgICBTY3JvbGxQb3NpdGlvbiBuZXdTY3JvbGxQb3NpdGlvbiA9ICgh
ZGVsZWdhdGVzU2Nyb2xsaW5nKCkgJiYgY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQpID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShzY3JvbGxQb3NpdGlvbikgOiBz
Y3JvbGxQb3NpdGlvbjsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKHNh
dmVTY3JvbGxlbmRQb3NpdGlvbikKKyAgICAgICAgc2F2ZVNjcm9sbGVuZEV2ZW50UG9zaXRpb24o
bmV3U2Nyb2xsUG9zaXRpb24pOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc2F2ZVNjcm9sbGVu
ZFBvc2l0aW9uKTsKKyNlbmRpZgogCi0gICAgaWYgKCghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgfHwg
Y3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxUeXBlOjpVc2VyKSAmJiBjdXJyZW50U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24g
JiYgbmV3U2Nyb2xsUG9zaXRpb24gPT0gdGhpcy0+c2Nyb2xsUG9zaXRpb24oKSkKKyAgICBpZiAo
KCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSB8fCBjdXJyZW50U2Nyb2xsVHlwZSgpID09IFNjcm9sbFR5
cGU6OlVzZXIpICYmIGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2
aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbiAmJiBuZXdTY3JvbGxQb3NpdGlvbiA9PSB0aGlzLT5z
Y3JvbGxQb3NpdGlvbigpKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAg
ICBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24pOworI2VuZGlm
CiAgICAgICAgIHJldHVybjsKLQotICAgIGlmIChjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMo
KSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVBbmltYXRpb24pCi0gICAgICAg
IHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOworICAgIH0KIAogICAgIGlmICgh
cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKG5ld1Njcm9sbFBvc2l0aW9uLCBjdXJyZW50U2Ny
b2xsVHlwZSgpLCBjbGFtcGluZykpCiAgICAgICAgIHVwZGF0ZVNjcm9sbGJhcnMobmV3U2Nyb2xs
UG9zaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IDRjYzJiYjRj
MGIuLmRlYWNiYjFkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAgLTI2
MSw3ICsyNjEsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsUG9zaXRpb24gY2FjaGVkU2Nyb2xsUG9z
aXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNjcm9sbFBvc2l0aW9uOyB9CiAKICAgICAv
LyBGdW5jdGlvbnMgZm9yIHNjcm9sbGluZyB0aGUgdmlldy4KLSAgICB2aXJ0dWFsIHZvaWQgc2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOworICAgIHZpcnR1
YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENs
YW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSwg
Ym9vbCBzYXZlU2Nyb2xsZW5kUG9zaXRpb24gPSB0cnVlKTsKIAogICAgIHZvaWQgc2Nyb2xsQnko
Y29uc3QgSW50U2l6ZSYgcykgeyByZXR1cm4gc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRp
b24oKSArIHMpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmlu
ZGV4IGZkZGRmMmY5YmUuLmZhYjhjYmIzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaApAQCAtMzQzLDYgKzM0MywxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0ID0g
MDsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2aXJ0dWFsIHZvaWQgc2F2
ZVNjcm9sbGVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGZvcmNlU2Nyb2xsZW5kKCkgeyB9CisjZW5kaWYK
KwogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbGFibGVBcmVhKCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+U2Nyb2xsYWJsZUFyZWEoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNDljMWZmZjAzYi4uMDZjMGNjNmU1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTYwMiw3ICs2MDIsNyBAQCB2b2lk
IFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0
aW9uLCBTY3JvbGxUeXBlIHNjcgogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVy
KCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigp
KTsKLSAgICBsYXllcigpLT5zY3JvbGxUb1Bvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQpOworICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0
aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOwogfQogCiB2b2lkIFJlbmRlckJv
eDo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2lu
dCYgYWNjdW11bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAppbmRleCBmYmYzNjA5YzAwLi40ZTcyOTYyZmI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI2MDMsMjEgKzI2MDMsMzAgQEAgdm9pZCBS
ZW5kZXJMYXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpCiB2b2lk
IFJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBzY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKIHsKICAgICBTY3Jv
bGxQb3NpdGlvbiBwb3NpdGlvbih4LCBtX3Njcm9sbFBvc2l0aW9uLnkoKSk7Ci0gICAgc2Nyb2xs
VG9Qb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAg
ICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1h
dGVkKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNj
cm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wgYW5pbWF0
ZWQpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbi54KCks
IHkpOwotICAgIHNjcm9sbFRvUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5n
LCBhbmltYXRlZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUs
IGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvUG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5
cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJM
YXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBT
Y3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1h
dGVkLCBib29sIHNhdmVTY3JvbGxlbmRQb3NpdGlvbikKIHsKKyAgICBhdXRvIG9mZnNldCA9IHNj
cm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbik7CisgICAgU2Nyb2xsT2Zmc2V0IG5ld1Nj
cm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBT
Y3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgaWYgKHNhdmVTY3JvbGxlbmRQb3NpdGlvbikKKyAgICAgICAgc2F2ZVNjcm9sbGVu
ZEV2ZW50UG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCkp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc2F2ZVNjcm9sbGVuZFBvc2l0aW9uKTsKKyNlbmRp
ZgorCiAgICAgaWYgKGFuaW1hdGVkKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRp
b24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlwZSwgY2xhbXBp
bmcpOworICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obmV3U2Nyb2xsT2Zmc2V0
LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBzY3JvbGxUb09mZnNl
dChzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGlu
Zyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCwgc2Nyb2xsVHlwZSwg
Y2xhbXBpbmcpOwogfQogCiBTY3JvbGxPZmZzZXQgUmVuZGVyTGF5ZXI6OmNsYW1wU2Nyb2xsT2Zm
c2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0KSBjb25zdApAQCAtMjY0MCwxMyAr
MjY0OSwxOCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldChjb25zdCBTY3JvbGxP
ZmZzZXQmIHNjcm9sbE9mZnNldCwgU2Nyb2xsVHlwZSBzYwogICAgICAgICBzY3JvbGxBbmltYXRv
cigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKIAogICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xs
T2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9s
bE9mZnNldChzY3JvbGxPZmZzZXQpIDogc2Nyb2xsT2Zmc2V0OwotICAgIGlmIChjbGFtcGVkU2Ny
b2xsT2Zmc2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKQorICAgIFNjcm9sbFBvc2l0aW9uIGNs
YW1wZWRTY3JvbGxQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Ny
b2xsT2Zmc2V0KTsKKyAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCA9PSB0aGlzLT5zY3JvbGxP
ZmZzZXQoKSkgeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgY2hlY2tT
Y3JvbGxlbmRFdmVudFBvc2l0aW9uKGNsYW1wZWRTY3JvbGxQb3NpdGlvbik7CisjZW5kaWYKICAg
ICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGF1dG8gcHJldmlvdXNTY3JvbGxUeXBlID0gY3Vy
cmVudFNjcm9sbFR5cGUoKTsKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsK
IAotICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKHNjcm9sbFBvc2l0aW9uRnJv
bU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQorICAg
IGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNsYW1wZWRTY3JvbGxQb3NpdGlvbiwg
c2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQogICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmlt
YXRpb24oY2xhbXBlZFNjcm9sbE9mZnNldCwgY2xhbXBpbmcpOwogICAgIHNldFNjcm9sbEJlaGF2
aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CiAKQEAgLTI2
NjEsNiArMjY3NSwxMiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldFdpdGhBbmlt
YXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9sbAogICAgIFNjcm9sbE9mZnNl
dCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/
IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CiAgICAgaWYgKGN1cnJlbnRTY3Jv
bGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFu
aW1hdGlvbikKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CisK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG5ld1Njcm9sbE9mZnNldCA9
PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0
aW9uKG5ld1Njcm9sbE9mZnNldCk7CisjZW5kaWYKKwogICAgIGlmIChuZXdTY3JvbGxPZmZzZXQg
IT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGxU
b09mZnNldFdpdGhBbmltYXRpb24obmV3U2Nyb2xsT2Zmc2V0KTsKIApAQCAtMjc3MCw2ICsyNzkw
LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBw
b3NpdGlvbikKICAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgp
KQogICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dCgqZWxlbWVudCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgY2hlY2tT
Y3JvbGxlbmRFdmVudFBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCisKICAgICBp
ZiAoc2Nyb2xsc092ZXJmbG93KCkpCiAgICAgICAgIHZpZXcuZnJhbWVWaWV3KCkuZGlkQ2hhbmdl
U2Nyb2xsT2Zmc2V0KCk7CiAKQEAgLTI4MTUsMTIgKzI4MzksMTMgQEAgYm9vbCBSZW5kZXJMYXll
cjo6YWxsb3dzQ3VycmVudFNjcm9sbCgpIGNvbnN0CiAgICAgcmV0dXJuIGJveC0+aGFzSG9yaXpv
bnRhbE92ZXJmbG93KCkgfHwgYm94LT5oYXNWZXJ0aWNhbE92ZXJmbG93KCk7CiB9CiAKLXZvaWQg
UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1
dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9u
cyYgb3B0aW9ucywgQXV0b3Njcm9sbFN0YXR1cyBhdXRvc2Nyb2xsU3RhdHVzKQordm9pZCBSZW5k
ZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJl
Y3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBv
cHRpb25zKQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiTGF5
ZXIgIiA8PCB0aGlzIDw8ICIgc2Nyb2xsUmVjdFRvVmlzaWJsZSAiIDw8IGFic29sdXRlUmVjdCk7
CiAKICAgICBSZW5kZXJMYXllciogcGFyZW50TGF5ZXIgPSBudWxscHRyOwogICAgIExheW91dFJl
Y3QgbmV3UmVjdCA9IGFic29sdXRlUmVjdDsKKyAgICBib29sIGF1dG9zY3JvbGxOb3RJblByb2dy
ZXNzID0gIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9n
cmVzcygpOwogCiAgICAgLy8gV2UgbWF5IGVuZCB1cCBwcm9wYWdhdGluZyBhIHNjcm9sbCBldmVu
dC4gSXQgaXMgaW1wb3J0YW50IHRoYXQgd2Ugc3VzcGVuZCBldmVudHMgdW50aWwgCiAgICAgLy8g
dGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gc2luY2UgdGhleSBjb3VsZCBkZWxldGUgdGhlIGxheWVy
IG9yIHRoZSBsYXllcidzIHJlbmRlcmVyKCkuCkBAIC0yODQ2LDggKzI4NzEsOCBAQCB2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZAogICAgICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNl
dCA9IGNsYW1wU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCgpICsgdG9JbnRTaXplKHJvdW5kZWRJ
bnRSZWN0KHJldmVhbFJlY3QpLmxvY2F0aW9uKCkpKTsKICAgICAgICAgaWYgKGNsYW1wZWRTY3Jv
bGxPZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0KCkgfHwgY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVz
KCkgIT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKSB7CiAgICAgICAgICAg
ICBTY3JvbGxPZmZzZXQgb2xkU2Nyb2xsT2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0KCk7Ci0gICAgICAg
ICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Njcm9sbFN0YXR1cyA9PSBBdXRvc2Nyb2xsU3RhdHVz
OjpOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBi
b3gtPmVsZW1lbnQoKSk7Ci0gICAgICAgICAgICBzY3JvbGxUb1Bvc2l0aW9uKHNjcm9sbFBvc2l0
aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1h
dGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgYm9v
bCBhbmltYXRlZCA9IGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGlu
ZyhvcHRpb25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSk7CisgICAgICAgICAgICBzZXRTY3Jv
bGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCks
IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1h
dGVkLCBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyk7CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9s
bE9mZnNldERpZmZlcmVuY2UgPSBjbGFtcGVkU2Nyb2xsT2Zmc2V0IC0gb2xkU2Nyb2xsT2Zmc2V0
OwogICAgICAgICAgICAgbG9jYWxFeHBvc2VSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZlcmVu
Y2UpOwogICAgICAgICAgICAgbmV3UmVjdCA9IExheW91dFJlY3QoYm94LT5sb2NhbFRvQWJzb2x1
dGVRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QobG9jYWxFeHBvc2VSZWN0KSksIFVzZVRyYW5zZm9y
bXMpLmJvdW5kaW5nQm94KCkpOwpAQCAtMjg3Myw4ICsyODk4LDggQEAgdm9pZCBSZW5kZXJMYXll
cjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaWQKICAgICAgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9u
LmNvbnN0cmFpbmVkQmV0d2VlbihJbnRQb2ludCgpLCBJbnRQb2ludChmcmFtZVZpZXcuY29udGVu
dHNTaXplKCkpKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBjb250
ZW50RG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAg
ICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0
YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpICYm
IHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBvd25lckVsZW1lbnQtPmNvbnRl
bnREb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSk7Ci0gICAgICAgICAgICAgICAgZnJhbWVW
aWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSBhdXRvc2Ny
b2xsTm90SW5Qcm9ncmVzcyAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpICYmIHVz
ZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBvd25lckVsZW1lbnQtPmNvbnRlbnRE
b2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgZnJhbWVWaWV3
LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgYW5pbWF0ZWQsIGF1dG9zY3JvbGxOb3RJblByb2dyZXNzKTsKIAogICAgICAgICAgICAgICAg
IGlmIChvcHRpb25zLnNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgPT0gU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIHx8IGZyYW1lVmlldy5zYWZlVG9Qcm9wYWdhdGVT
Y3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVyID0gb3du
ZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpOwpAQCAtMjkxNSw4ICsyOTQw
LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRS
ZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICBTY3JvbGxPZmZz
ZXQgY2xhbXBlZFNjcm9sbFBvc2l0aW9uID0gcm91bmRlZEludFBvaW50KHJldmVhbFJlY3QubG9j
YXRpb24oKSkuY29uc3RyYWluZWRCZXR3ZWVuKG1pblNjcm9sbFBvc2l0aW9uLCBtYXhTY3JvbGxQ
b3NpdGlvbik7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1l
bnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAg
Ym9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0YXR1czo6Tm90
SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgcmVuZGVy
ZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKTsKLSAgICAgICAgICAgICAgICBmcmFt
ZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQg
PSBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5i
ZWhhdmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKTsKKyAgICAg
ICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0
aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIGF1dG9zY3JvbGxOb3RJblBy
b2dyZXNzKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0
ZXJtb3N0IHZpZXcgb2YgYSB3ZWIgcGFnZSwgc28gYWZ0ZXIgc2Nyb2xsaW5nIHRoaXMgdmlldyB3
ZQpAQCAtMzA1NSw3ICszMDgwLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6Z2V0UmVjdFRv
RXhwb3NlKGNvbnN0IExheW91dFJlY3QmIHZpc2libGVSZWN0LCBjb25zdCBMYXkKIHZvaWQgUmVu
ZGVyTGF5ZXI6OmF1dG9zY3JvbGwoY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uSW5XaW5kb3cpCiB7
CiAgICAgSW50UG9pbnQgY3VycmVudERvY3VtZW50UG9zaXRpb24gPSByZW5kZXJlcigpLnZpZXco
KS5mcmFtZVZpZXcoKS53aW5kb3dUb0NvbnRlbnRzKHBvc2l0aW9uSW5XaW5kb3cpOwotICAgIHNj
cm9sbFJlY3RUb1Zpc2libGUoTGF5b3V0UmVjdChjdXJyZW50RG9jdW1lbnRQb3NpdGlvbiwgTGF5
b3V0U2l6ZSgxLCAxKSksIGZhbHNlLCB7IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgU2Ny
b2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
VG9FZGdlSWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB9LCBB
dXRvc2Nyb2xsU3RhdHVzOjpJblByb2dyZXNzKTsKKyAgICBzY3JvbGxSZWN0VG9WaXNpYmxlKExh
eW91dFJlY3QoY3VycmVudERvY3VtZW50UG9zaXRpb24sIExheW91dFNpemUoMSwgMSkpLCBmYWxz
ZSwgeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25U
b0VkZ2VJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5
ZXI6OmNhblJlc2l6ZSgpIGNvbnN0CkBAIC03MDEwLDYgKzcwMzUsMzYgQEAgdm9pZCBSZW5kZXJM
YXllcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uKCkKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQordm9pZCBSZW5kZXJMYXllcjo6c2F2ZVNjcm9sbGVuZEV2ZW50UG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGlmICghcmVuZGVy
ZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbiA9IHBvc2l0aW9uOworfQor
Cit2b2lkIFJlbmRlckxheWVyOjpjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGlmICghbV9maXJlU2Nyb2xsZW5kRXZlbnRB
dFBvc2l0aW9uIHx8IG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbi52YWx1ZSgpICE9IHBv
c2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJl
bmRlcmVyKCkuZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZFBlbmRp
bmdTY3JvbGxlbmRFdmVudFRhcmdldCgqZWxlbWVudCk7CisKKyAgICBtX2ZpcmVTY3JvbGxlbmRF
dmVudEF0UG9zaXRpb24gPSBXVEY6Om51bGxvcHQ7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmZv
cmNlU2Nyb2xsZW5kKCkKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Ny
b2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoRWxlbWVudCog
ZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1bWVu
dCgpLmFkZFBlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldCgqZWxlbWVudCk7Cit9CisjZW5kaWYK
KwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mIHRzLCBDbGlwUmVjdHNU
eXBlIGNsaXBSZWN0c1R5cGUpCiB7CiAgICAgc3dpdGNoIChjbGlwUmVjdHNUeXBlKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDk2ZDM5ZWY0YmYuLjdjZGU4NmVk
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NTEsNyArNDUx
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmlt
YXRlZCA9IGZhbHNlKTsKICAgICB2b2lkIHNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1h
dGVkID0gZmFsc2UpOwotICAgIHZvaWQgc2Nyb2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSk7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSwgYm9vbCBzYXZlU2Nyb2xs
ZW5kUG9zaXRpb24gPSB0cnVlKTsKIAogICAgIC8vIFRoZXNlIGFyZSBvbmx5IHVzZWQgYnkgbWFy
cXVlZS4KICAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCkgeyBzY3JvbGxUb09mZnNldChT
Y3JvbGxPZmZzZXQoeCwgc2Nyb2xsT2Zmc2V0KCkueSgpKSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1h
dGljLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsgfQpAQCAtNDYyLDkgKzQ2Miw4IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgYXZhaWxhYmxlQ29udGVudFNpemVDaGFuZ2VkKEF2YWlsYWJsZVNp
emVDaGFuZ2VSZWFzb24pIG92ZXJyaWRlOwogCi0gICAgZW51bSBBdXRvc2Nyb2xsU3RhdHVzIHsg
Tm90SW5Qcm9ncmVzcywgSW5Qcm9ncmVzcyB9OwogICAgIC8vICJhYnNvbHV0ZVJlY3QiIGlzIGlu
IHNjYWxlZCBkb2N1bWVudCBjb29yZGluYXRlcy4KLSAgICB2b2lkIHNjcm9sbFJlY3RUb1Zpc2li
bGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25z
dCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIEF1dG9zY3JvbGxTdGF0dXMgPSBBdXRvc2Ny
b2xsU3RhdHVzOjpOb3RJblByb2dyZXNzKTsKKyAgICB2b2lkIHNjcm9sbFJlY3RUb1Zpc2libGUo
Y29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBT
Y3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYpOwogCiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3co
KSBjb25zdDsKICAgICBib29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25z
dDsKQEAgLTkyMyw2ICs5MjIsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnZhbGlkYXRlRXZl
bnRSZWdpb24oKTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNh
dmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7Cisg
ICAgdm9pZCBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
KSBmaW5hbDsKKyAgICB2b2lkIGZvcmNlU2Nyb2xsZW5kKCkgZmluYWw7CisjZW5kaWYKKwogcHJp
dmF0ZToKIAogICAgIHZvaWQgc2V0TmV4dFNpYmxpbmcoUmVuZGVyTGF5ZXIqIG5leHQpIHsgbV9u
ZXh0ID0gbmV4dDsgfQpAQCAtMTM1Myw2ICsxMzU4LDEwIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UmVuZGVyTGF5ZXJGaWx0ZXJzPiBtX2ZpbHRlcnM7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFJlbmRlckxheWVyQmFja2luZz4gbV9iYWNraW5nOworCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxl
bmRFdmVudEF0UG9zaXRpb247CisjZW5kaWYKICAgICAKICAgICBQYWludEZyZXF1ZW5jeVRyYWNr
ZXIgbV9wYWludEZyZXF1ZW5jeVRyYWNrZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3MGZmNmUwYjk4Li43
MGI3NGRmZDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTA5ICBDYXRoaWUg
Q2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
b3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJp
YyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisg
ICAgICAgIEFkZCBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbDoKKwogMjAyMC0wMy0xNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFNpbXBsaWZ5IENocm9tZUNsaWVudC5jcmVhdGVXaW5kb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IGU2YTMwMDI5YTAuLjQ5YzVkYzhiNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjk2LDYgKzI5Niw4IEBA
IEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19U
T1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNI
KSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQo
RU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00
MTQsNCArNDE2LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FM
VEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChF
TkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxF
X1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
RVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlC
T0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNI
RV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQo
RU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05T
KSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCAwYjNjZTk0M2FjLi4zNDcxZmE0
Y2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTE1NjQs
NiArMTU2NCwxNCBAQCBBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDoK
ICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiTWFwIEhUTUwgYXR0cmlidXRlcyB3aWR0aC9o
ZWlnaHQgdG8gdGhlIGRlZmF1bHQgYXNwZWN0IHJhdGlvIG9mIDxpbWc+IgogICBjYXRlZ29yeTog
ZXhwZXJpbWVudGFsCiAKK092ZXJzY3JvbGxFdmVudHNFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJPdmVyc2Nyb2xsIGV2
ZW50cyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRoZSBvbnNjcm9sbGVu
ZCBhbmQgc2Nyb2xsZW5kIGV2ZW50cyIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBjb25k
aXRpb246IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKwogIyBGb3IgaW50ZXJuYWwgZmVhdHVy
ZXM6CiAjIFRoZSB0eXBlIHNob3VsZCBiZSBib29sZWFuLgogIyBZb3UgbXVzdCBwcm92aWRlIGEg
aHVtYW5SZWFkYWJsZU5hbWUgYW5kIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbiBmb3IgYWxsIGRl
YnVnIGZlYXR1cmVzLiBUaGV5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjgwMjY3
YTU5MC4uNzI2ZDc5YTdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZy
w6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBvdmVyc2Nyb2xsRXZlbnRzRW5h
YmxlZCBXZWJQcmVmZXJlbmNlIHNldHRpbmcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAg
ICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVy
ZW5jZXMgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIw
MjAtMDMtMTUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBT
aG91bGQgbm90IHVzZSB2YXJpYWJsZS1sZW5ndGgtYXJyYXkgKFZMQSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggZTZhMzAwMjlhMC4uNDljNWRjOGI3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTI5Niw2ICsyOTYsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZB
UyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxP
V19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VD
SDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRT
OworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAog
RU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RV
UkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkpOwpAQCAtNDE0LDQgKzQxNiw0IEBAIEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
OwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNU
VVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQo
RU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZF
UikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VS
KSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RB
TEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZG
U0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxF
X1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQ
VE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JB
RElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5U
SU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9P
TSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BS
T0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9U
RUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJ
QV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9S
RVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFU
RSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChF
TkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5U
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZF
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNP
Tk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVS
X01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNU
SU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4
OTUwMi4uODVmMTM1NjVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMTAsNiArMjEwLDcg
QEAKICNkZWZpbmUgV2ViS2l0Q1NTU2hhZG93UGFydHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TGF5b3V0Rm9ybWF0dGlu
Z0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGF5b3V0Rm9y
bWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYlNRTEVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0
T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZh
dGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2Rz
IGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMDI3OTM5NDMwOC4uYzQ3YWExYzAzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC03
MTQsNiArNzE0LDkgQEAgcHVibGljOgogICAgICAgICBATk8sIFdlYktpdEFzcGVjdFJhdGlvT2ZJ
bWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBX
ZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQFlFUywgV2ViS2l0RGVi
dWdOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3NQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgQE5PLCBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZFByZWZlcmVuY2VLZXksCisjZW5kaWYKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQpAQCAtMzY4MCw2ICszNjgzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAq
Y2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOndlYlNRTEVu
YWJsZWQgZm9yS2V5OldlYktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAo
Qk9PTClvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZh
bHVlRm9yS2V5OldlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9
CisKKy0gKHZvaWQpc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAg
IFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJl
ZmVyZW5jZXMgKFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYTg0NTQ5ZDRhYi4uN2Zm
NzMxOWQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02ODgsNiArNjg4LDcgQEAgZXh0ZXJuIE5TU3Ry
aW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24g
V0VCS0lUX0RFUFIKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkUmVzcG9uc2l2
ZUltYWdlc0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhc3BlY3RSYXRpb09m
SW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IG92ZXJzY3JvbGxFdmVudHNFbmFibGVkOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3Bl
cnR5IChub25hdG9taWMpIEJPT0wgcXVpY2tMb29rRG9jdW1lbnRTYXZpbmdFbmFibGVkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGJkMzY3NTUwMTEu
LjkyYTFjMTkzODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KQEAgLTMwMDYsNiArMzAwNiw5IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxl
TG9hZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFi
bGVkKFtwcmVmZXJlbmNlcyBDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkXSk7CiAgICAgc2V0
dGluZ3Muc2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgQ1NT
T01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldE1lZGlhQ29u
dGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KFtwcmVmZXJlbmNlcyBtZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydF0pOworI2lmIEVOQUJMRShPVkVSU0NST0xM
X0VWRU5UUykKKyAgICBzZXR0aW5ncy5zZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChbcHJlZmVy
ZW5jZXMgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRdKTsKKyNlbmRpZgogCiAgICAgc3dpdGNoIChb
cHJlZmVyZW5jZXMgc3RvcmFnZUJsb2NraW5nUG9saWN5XSkgewogICAgIGNhc2UgV2ViQWxsb3dB
bGxTdG9yYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGY5ODk4MDYyZWYuLjBl
OWI4OWYwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAor
MjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmlj
IFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgV2Vi
UHJlZmVyZW5jZSBzZXR0aW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5p
dGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6b3ZlcnNj
cm9sbEV2ZW50c0VuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldE92ZXJzY3Jv
bGxFdmVudHNFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAq
IFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2Vk
KToKKwogMjAyMC0wMy0xMiAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBzdXJlIGEgcHJlZmxpZ2h0IGZhaWxzIGlmIHJlc3BvbnNlIGhlYWRlcnMgYXJl
IGludmFsaWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMv
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmluZGV4IGRmZmQ5NGRkODYuLjY1Y2Yz
YWQ5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApAQCAtMjY1LDQgKzI2NSw3IEBAIGlu
dGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGU3
CiB7CiAgICAgSFJFU1VMVCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtvdXQsIHJldHZh
bF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIG92ZXJzY3JvbGxFdmVudHNF
bmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDE3YmNmOWJlMTgu
LjA0YWViNmM3YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMjcsMyArMjI3LDUgQEAKICNkZWZpbmUgV2ViS2l0QXNw
ZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCIKIAogI2RlZmluZSBX
ZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKKwor
I2RlZmluZSBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktp
dE92ZXJzY3JvbGxFdmVudHNFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuY3BwCmluZGV4IGRkMjllOTIzNmMuLjE4NGIyYzhiOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTM1NCw2ICszNTQsOCBAQCB2b2lk
IFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKIAogICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVy
ZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShk
ZWZhdWx0cywgQ0ZTVFIoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIGRlZmF1bHRTZXR0aW5ncyA9IGRlZmF1bHRzOwog
I2VuZGlmCiB9CkBAIC0yNDcwLDYgKzI0NzIsMjAgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6
c2V0V2ViU1FMRW5hYmxlZChCT09MIGVuYWJsZWQpCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6Om92ZXJzY3JvbGxFdmVudHNFbmFibGVkKF9PdXRfIEJPT0wq
IGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVS
OworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdE92ZXJzY3JvbGxFdmVudHNF
bmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2Vi
UHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sK
KyAgICBzZXRCb29sVmFsdWUoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNl
S2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJl
bmNlczo6YWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhfT3V0XyBCT09MKiBhbGxvd0FjY2Vz
cykKIHsKICAgICBpZiAoIWFsbG93QWNjZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlBy
ZWZlcmVuY2VzLmgKaW5kZXggYTMxYmEwM2E4Mi4uNzA5OGVlMTE5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMDcsNiArMzA3LDggQEAgcHVibGljOgog
ICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBbGxvd1RvcE5hdmlnYXRp
b25Ub0RhdGFVUkxzKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKEJPT0wpOwog
CiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApp
bmRleCBkNzA1M2VjMzIwLi4xZTg2Y2U0NWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmNwcApAQCAtNTY2OCw2ICs1NjY4LDExIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0
dXJuIGhyOwogICAgIHNldHRpbmdzLnNldEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWln
aHRFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+b3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICBy
ZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoISFlbmFi
bGVkKTsKKwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
aW5kZXggZmY3ZDZkMWM3MC4uZjA3ZTQwMmZlNSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZQpAQCAtMTgxLDYgKzE4MSw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgIlRvZ2dsZSBPZmZzY3Jl
ZW5DYW52YXMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiVG9nZ2xlIE9yaWVudGF0aW9uIEV2ZW50cyBzdXBw
b3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIICJUb2dnbGUgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PVkVSU0NST0xM
X0VWRU5UUyAiVG9nZ2xlIG92ZXJzY3JvbGwgZXZlbnRzIiBQUklWQVRFIE9OKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgIlRvZ2dsZSBQYXltZW50IFJl
cXVlc3Qgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX1BERktJVF9QTFVHSU4gIlRvZ2dsZSBQREZLaXQgcGx1Z2luIHN1cHBvcnQiIFBSSVZBVEUg
T0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVf
QVBJICJUb2dnbGUgUGljdHVyZS1pbi1QaWN0dXJlIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5MjM5
MjUyMjRhLi45Y2NiZjk5MmUyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8
Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Ny
b2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcu
CisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAg
RGVhbCB3aXRoIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25z
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKGVuYWJsZUV4cGVy
aW1lbnRhbEZlYXR1cmVzKToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlv
bnMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorCiAyMDIwLTAzLTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgogCiAgICAgICAgIEtleWVkRGVjb2RlckdlbmVyaWMgZmFpbHMgdG8gYWxsb2NhdGUgVmVjdG9y
IHdoaWxlIGRlY29kaW5nIGJyb2tlbiBkYXRhCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAKaW5kZXggMjkwNjA2YTI1NS4uYTMxMjIxNWFkMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zLmNwcApAQCAtMTU2LDYgKzE1Niw4IEBAIFRlc3RPcHRpb25zOjpUZXN0T3B0aW9ucyhj
b25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1CiAg
ICAgICAgICAgICBlbmFibGVBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0ID0gcGFy
c2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgZWxzZSBpZiAoa2V5ID09
ICJhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIikKICAgICAgICAgICAgIGFsbG93VG9wTmF2
aWdhdGlvblRvRGF0YVVSTHMgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwor
ICAgICAgICBlbHNlIGlmIChrZXkgPT0gImV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRzRW5h
YmxlZCIpCisgICAgICAgICAgICBlbmFibGVPdmVyc2Nyb2xsRXZlbnRzID0gcGFyc2VCb29sZWFu
VGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7
CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMu
aCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5kZXggYWU0YmE0YWQ1ZC4u
MDFjZjM0NjBhMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMu
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCkBAIC01OCw2ICs1OCw3
IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVBc3BlY3RSYXRpb09mSW1n
RnJvbVdpZHRoQW5kSGVpZ2h0IHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJsZVdlYlNRTCB7IHRy
dWUgfTsKICAgICBib29sIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMgeyB0cnVlIH07Cisg
ICAgYm9vbCBlbmFibGVPdmVyc2Nyb2xsRXZlbnRzIHsgZmFsc2UgfTsKICAgICBzdGQ6OnN0cmlu
ZyBqc2NPcHRpb25zOwogICAgIHN0ZDo6c3RyaW5nIGFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5
cGVzOwogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXgg
YjZmZTJhNTc5Ni4uYmM4ZjAyYzE5ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQpAQCAtODg2LDYgKzg4Niw3IEBAIHN0YXRpYyB2b2lkIGVuYWJsZUV4cGVy
aW1lbnRhbEZlYXR1cmVzKFdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBbcHJlZmVy
ZW5jZXMgc2V0Q1NTU2hhZG93UGFydHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNl
dEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkOllFU107CiAgICAgW3By
ZWZlcmVuY2VzIHNldENTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ6WUVTXTsKKyAgICBb
cHJlZmVyZW5jZXMgc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6WUVTXTsKIH0KIAogLy8gQ2Fs
bGVkIGJlZm9yZSBlYWNoIHRlc3QuCkBAIC0xMDQ0LDYgKzEwNDUsNyBAQCBzdGF0aWMgdm9pZCBz
ZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25z
KQogICAgIHByZWZlcmVuY2VzLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFi
bGVkID0gb3B0aW9ucy5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZDsK
ICAgICBwcmVmZXJlbmNlcy5hc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxl
ZCA9IG9wdGlvbnMuZW5hYmxlQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodDsKICAg
ICBwcmVmZXJlbmNlcy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzID0gb3B0aW9ucy5hbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzOworICAgIHByZWZlcmVuY2VzLm92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkID0gb3B0aW9ucy5lbmFibGVPdmVyc2Nyb2xsRXZlbnRzOwogfQogCiAvLyBDYWxs
ZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCmluZGV4IDFjODQwMTVjYWYuLmVkMThkMjNlOGQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTEzOCw2ICsxMzgsNyBAQCBteSAoCiAg
ICAgJG9mZnNjcmVlbkNhbnZhc1N1cHBvcnQsCiAgICAgJG9yaWVudGF0aW9uRXZlbnRzU3VwcG9y
dCwKICAgICAkb3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFN1cHBvcnQsCisgICAgJG92ZXJzY3JvbGxF
dmVudHNTdXBwb3J0LAogICAgICRwYXltZW50UmVxdWVzdFN1cHBvcnQsCiAgICAgJHBkZmtpdFBs
dWdpblN1cHBvcnQsCiAgICAgJHBpY3R1cmVJblBpY3R1cmVBUElTdXBwb3J0LApAQCAtNDYzLDYg
KzQ2NCw5IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAib3ZlcmZsb3ctc2Ny
b2xsaW5nLXRvdWNoIiwgZGVzYyA9PiAiVG9nZ2xlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzdXBw
b3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCIs
IHZhbHVlID0+IFwkb3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFN1cHBvcnQgfSwKIAorICAgIHsgb3B0
aW9uID0+ICJvdmVyc2Nyb2xsLWV2ZW50cyIsIGRlc2MgPT4gIkVuYWJsZSBPdmVyc2Nyb2xsIEV2
ZW50cyBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRT
IiwgdmFsdWUgPT4gXCRvdmVyc2Nyb2xsRXZlbnRzU3VwcG9ydCB9LAorCiAgICAgeyBvcHRpb24g
PT4gInBheW1lbnQtcmVxdWVzdCIsIGRlc2MgPT4gIlRvZ2dsZSBQYXltZW50IFJlcXVlc3Qgc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9QQVlNRU5UX1JFUVVFU1QiLCB2YWx1ZSA9
PiBcJHBheW1lbnRSZXF1ZXN0U3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBl
NmEzMDAyOWEwLi40OWM1ZGM4Yjc3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTI5Niw2ICsy
OTYsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NP
QV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0g
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZF
TlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTOworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
ID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAogRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9B
UEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkp
OwpAQCAtNDE0LDQgKzQxNiw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9Y
U0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJ
T04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBM
SUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRF
UkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBP
UlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElT
UEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9T
QU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdP
UktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhU
RU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VS
Q0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RP
VUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393747</attachid>
            <date>2020-03-17 06:22:31 -0700</date>
            <delta_ts>2020-04-08 06:32:03 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-for-ews-002.diff</filename>
            <type>text/plain</type>
            <size>96607</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjYmZmNDc3YjU4Li4xNGY0
Mjk1ZDcxIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wMy0xNiAgS2VpdGggUm9sbGluICA8a3JvbGxp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIFdlYktpdFN5c3RlbUlu
dGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggZDhmMjRkYzliNS4uYjNlM2Q2Mjc4
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDMtMDkg
IENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBG
csOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0
Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUy4KKworICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDIwLTAzLTE2ICBZ
dXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSlNNYXBJ
dGVyYXRvciBhbmQgSlNTZXRJdGVyYXRvciBhcmUgQ2VsbFR5cGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCBjZmJiNzI5NTEzLi4xMDZiNWM0YTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCkBAIC0yOTYsNiArMjk2LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFC
TEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJM
RV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNU
VVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdL
X1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNiw0ICs0MTgsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxF
X1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNU
VVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQ
RUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VM
QVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5W
QVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9S
RVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRC
T1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVf
UkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VM
RU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykg
JChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJ
VkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05J
Q19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZ
UEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVS
RV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9H
UFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVD
VE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5B
QkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFU
SVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZB
TElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFT
KSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExf
RVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09C
U0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJD
RV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJf
UFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9X
T1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJE
UklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhS
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGI0NjdhNDdiM2MuLjI4MTZhOWY1MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MSBAQAor
MjAyMC0wMy0xNyAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xs
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkx
MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdXBw
b3J0IHNjcm9sbGVuZCBldmVudCBmb3IgcHJvZ3JhbW1hdGljIHNjcm9sbGluZy4gU2F2ZSB0aGUg
c2Nyb2xsIHBvc2l0aW9uIHdoZW4gc3RhcnRpbmcKKyAgICAgICAgYSBzY3JvbGwgKGluc3RhbnQg
LyBhbmltYXRlZCkuIENvbXBhcmUgdGhlIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHdpdGggdGhl
IHNhdmUgb25lLCB3aGVuCisgICAgICAgIFJlbmRlckxheWVyL1Njcm9sbFZpZXcgYWN0dWFsbHkg
c2Nyb2xscy4gSWYgdGhleSBhcmUgc2FtZSwgcHV0IHRoZSB0YXJnZXQgdG8gYSBsaXN0IGluIGRv
Y3VtZW50LgorICAgICAgICBUaGUgdGFyZ2V0cyBpbiB0aGUgbGlzdCB3b3VsZCBkaXNwYXRjaCBz
Y3JvbGxlbmQgZXZlbnRzLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojpjb21tb25UZWFyZG93bik6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6YWRkUGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0KTogQXBwZW5kIHRoZSB0YXJn
ZXRzIHRvIG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdC4KKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpydW5TY3JvbGxTdGVwcyk6IERpc3BhdGNoIHNjcm9sbGVuZCBldmVudCBm
b3IgZWFjaCB0YXJnZXQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZCBtX3BlbmRpbmdT
Y3JvbGxlbmRFdmVudFRhcmdldExpc3Qgd2hpY2gga2VlcHMgdGhlIHNjcm9sbGVuZCBldmVudCB0
YXJnZXRzLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBBZGQgc2F2ZVNjcm9sbGVuZFBvc2l0aW9u
IHRvIGluZGljYXRlIHRoZSBwb3NpdGlvbiBzaG91bGQgYmUgc2F2ZWQgZm9yIHNjcm9sbGVuZCBl
dmVudCBvciBub3QuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFRvT2Zmc2V0
V2l0aEFuaW1hdGlvbik6IGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbiBpcyB0aGUgc2Nyb2xs
IHBvc2l0aW9uIGRvbid0IGNoYW5nZS4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2F2
ZVNjcm9sbGVuZEV2ZW50UG9zaXRpb24pOiBTYXZlIHRoZSBzY3JvbGwgcG9zaXRpb24sIGEgc2Ny
b2xsZW5kIGV2ZW50IHdvdWxkIGJlIGZpcmVkIGF0IHRoaXMgcG9zaXRpb24uCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OmNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbik6IElmIHBvc2l0
aW9uIGlzIGVxdWFsIHRvIHRoZSBzYXZlZCBvbmUsIGFkZCB0aGUgdGFyZ2V0IHRvIHRoZSBzY3Jv
bGxlbmQgbGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Zm9yY2VTY3JvbGxlbmQp
OiBBZGQgdGhlIHRhcmdldCB0byB0aGUgbGlzdCB3aXRob3V0IGNoZWNraW5nIGl0cyBzY3JvbGwg
cG9zaXRpb24uCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0aW9uU21vb3RoOjpzdG9wKTogSWYgdGhlIGFuaW1hdGlvbiBpcyBpbnRlcnJ1cHRlZCwgY2Fs
bCBmb3JjZVNjcm9sbGVuZCgpIHRvIGZpcmUgc2Nyb2xsZW5kIGV2ZW50IHdpdGhvdXQgY2hlY2tp
bmcgdGhlIHBvc2l0aW9uLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjphbmltYXRpb25UaW1lckZpcmVkKTogV2hlbiB0aGUgYW5pbWF0aW9uIGVuZHMgbmF0dXJhbCwg
Y2FsbCBjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24oKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9sbFRvKTog
Y2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uIHdoZW4gc2Nyb2xsUG9zaXRpb24gY2hhbmdlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogc2F2ZVNj
cm9sbGVuZEV2ZW50UG9zaXRpb24gZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcuIGNoZWNrU2Ny
b2xsZW5kRXZlbnRQb3NpdGlvbiB3aGVuIHRoZSBwb3NpdGlvbiBkb2Vzbid0IGNoYW5nZS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6IEFkZCBzYXZlU2Nyb2xsZW5kUG9zaXRpb24g
ZmxhZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNhdmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6Y2hlY2tTY3JvbGxlbmRFdmVudFBv
c2l0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6Zm9yY2VT
Y3JvbGxlbmQpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6c2Nyb2xsVG9YUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNj
cm9sbFRvWVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRTY3Jv
bGxQb3NpdGlvbik6IFJlcGxhY2Ugc2Nyb2xsVG9Qb3NpdGlvbiB3aXRoIHNldFNjcm9sbFBvc2l0
aW9uIHRvIGNvbnNpc3RlbnQgd2l0aCBGcmFtZVZpZXcgaW50ZXJmYWNlcy4gc2F2ZVNjcm9sbGVu
ZEV2ZW50UG9zaXRpb24gZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQpOiBjaGVja1Njcm9sbGVuZEV2ZW50UG9z
aXRpb24gd2hlbiBzY3JvbGwgcG9zaXRpb24gZG9lc24ndCBjaGFuZ2UuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOiBjaGVja1Njcm9sbGVuZEV2
ZW50UG9zaXRpb24gd2hlbiB0aGUgc2Nyb2xsUG9zaXRpb24gY2hhbmdlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKTogQXV0b3Njcm9sbFN0YXR1
cyBpcyBhdmFpbGFibGUgZnJvbSBldmVudEhhbmRsZXIsIHNvIG5vIG5lZWQgdG8gYWRkIGEgZnVu
Y3Rpb24gdmFyaWFibGUgZm9yIGl0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmF1
dG9zY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvUG9zaXRp
b24pOiBEZWxldGVkLiBSZXBsYWNlZCBieSBzY3JvbGxUb1Bvc2l0aW9uLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllci5oOgorCisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhp
ZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBl
dmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisg
ICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIFBhcnNl
IG9ub3ZlcnNjcm9sbC9zY3JvbGxlbmQgYXR0cmlidXRlIGFuZCBvdmVyc2Nyb2xsL292ZXJzY3Jv
bGwgZXZlbnQgbmFtZS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGRvbS9HbG9iYWxF
dmVudEhhbmRsZXJzLmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoK
KyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxF
bGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFwKToKKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLnlhbWw6CisKIDIwMjAtMDMtMTcgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIFNhZmFyaSBkb2Vzbid0IGluc2VydCBtRE5TIGNhbmRpZGF0ZXMgdG8gU0RQ
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IGNmYmI3Mjk1MTMuLjEwNmI1YzRhMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0y
OTYsNiArMjk2LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQo
V0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0
b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NS
T0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJ
Q1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JN
X05BTUUpKTsKQEAgLTQxNiw0ICs0MTgsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBF
TkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9D
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVM
RU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5B
QkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5T
SU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0Up
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVf
V0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNI
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdf
QVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VT
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVN
RVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJM
RV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAk
KEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVD
VCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9V
U0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5k
ZXggN2Y4NWEwY2ZhOC4uZGE5NDk2ZTE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorCiAyMDIwLTAzLTE2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUv
UEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGNmYmI3Mjk1
MTMuLjEwNmI1YzRhMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTI5Niw2ICsyOTYsOCBAQCBF
TkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0ggPSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NPQV9UT1VDSCkp
OwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0gRU5BQkxFX09W
RVJGTE9XX1NDUk9MTElOR19UT1VDSDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTID0gRU5B
QkxFX09WRVJTQ1JPTExfRVZFTlRTOworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUID0gRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVDsKIAogRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgPSAkKEVO
QUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkpOwpAQCAtNDE2
LDQgKzQxOCw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChF
TkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
UkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRF
Uk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhU
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NV
U1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9O
RSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5B
QkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NS
T0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
SVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9T
RVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VS
VklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJM
RV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9B
UkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRD
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFC
TEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFC
TEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5E
Qk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxF
X1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElT
VElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggMTg4MmE5ZWZmZS4uMzdlODAxMzJiYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAt
MzA0LDYgKzMwNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhtYXRjaGluZ0Vs
ZW1lbnRJbkZsYXRUcmVlKSBcCiAgICAgbWFjcm8obWVkaWFTdHJlYW1UcmFja0NvbnN0cmFpbnRz
KSBcCiAgICAgbWFjcm8ob3BlbkRhdGFiYXNlKSBcCisgICAgbWFjcm8ob25vdmVyc2Nyb2xsKSBc
CisgICAgbWFjcm8ob25zY3JvbGxlbmQpIFwKICAgICBtYWNybyhvbnRvdWNoY2FuY2VsKSBcCiAg
ICAgbWFjcm8ob250b3VjaGVuZCkgXAogICAgIG1hY3JvKG9udG91Y2htb3ZlKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAppbmRleCA2MWRiYTc0YjNkLi41YmU0YjgwYmFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTc5OSw2ICs3OTksMTAgQEAgdm9pZCBEb2N1bWVudDo6Y29tbW9uVGVh
cmRvd24oKQogCiAgICAgbV9wZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0ID0gbnVsbHB0cjsK
IAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBtX3BlbmRpbmdTY3JvbGxlbmRF
dmVudFRhcmdldExpc3QgPSBudWxscHRyOworI2VuZGlmCisKICAgICB3aGlsZSAoIW1fdGltZWxp
bmVzLmNvbXB1dGVzRW1wdHkoKSkKICAgICAgICAgbV90aW1lbGluZXMuYmVnaW4oKS0+ZGV0YWNo
RnJvbURvY3VtZW50KCk7CiAgICAgbV90aW1lbGluZSA9IG51bGxwdHI7CkBAIC00MDY2LDYgKzQw
NzAsMjMgQEAgdm9pZCBEb2N1bWVudDo6YWRkUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0KENvbnRh
aW5lck5vZGUmIHRhcmdldCkKICAgICB0YXJnZXRzLmFwcGVuZCh0YXJnZXQpOwogfQogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBEb2N1bWVudDo6YWRkUGVuZGluZ1Njcm9s
bGVuZEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmIHRhcmdldCkKK3sKKyAgICBpZiAoIW1fcGVu
ZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdCkKKyAgICAgICAgbV9wZW5kaW5nU2Nyb2xsZW5k
RXZlbnRUYXJnZXRMaXN0ID0gbWFrZVVuaXF1ZTxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0
PigpOworCisgICAgYXV0byYgdGFyZ2V0cyA9IG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0
TGlzdC0+dGFyZ2V0czsKKyAgICBpZiAodGFyZ2V0cy5maW5kTWF0Y2hpbmcoWyZdIChhdXRvJiBl
bnRyeSkgeyByZXR1cm4gZW50cnkucHRyKCkgPT0gJnRhcmdldDsgfSkgIT0gbm90Rm91bmQpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmICh0YXJnZXRzLmlzRW1wdHkoKSkKKyAgICAgICAgc2No
ZWR1bGVUaW1lZFJlbmRlcmluZ1VwZGF0ZSgpOworCisgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0
KTsKK30KKyNlbmRpZgorCiB2b2lkIERvY3VtZW50OjpzZXROZWVkc1Zpc3VhbFZpZXdwb3J0U2Ny
b2xsRXZlbnQoKQogewogICAgIGlmICghbV9uZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQp
CkBAIC00MDkxLDYgKzQxMTIsMTggQEAgdm9pZCBEb2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMoKQog
ICAgICAgICBpZiAoYXV0byogd2luZG93ID0gZG9tV2luZG93KCkpCiAgICAgICAgICAgICB3aW5k
b3ctPnZpc3VhbFZpZXdwb3J0KCkuZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5zY3JvbGxFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFi
bGU6Ok5vKSk7CiAgICAgfQorCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIC8v
IERlYWwgd2l0aCBzY3JvbGxlbmQgZXZlbnQuCisgICAgaWYgKG1fcGVuZGluZ1Njcm9sbGVuZEV2
ZW50VGFyZ2V0TGlzdCAmJiAhbV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0LT50YXJn
ZXRzLmlzRW1wdHkoKSkgeworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oRXZlbnRzLCBzdHJlYW0g
PDwgIkRvY3VtZW50IiA8PCB0aGlzIDw8ICJzZW5kaW5nIHNjcm9sbGVuZCBldmVudHMgdG8gcGVu
ZGluZyBzY3JvbGwgZXZlbnQgdGFyZ2V0cyIpOworICAgICAgICBhdXRvIGN1cnJlbnRTY3JvbGxl
bmRUYXJnZXRzID0gV1RGTW92ZShtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QtPnRh
cmdldHMpOworICAgICAgICBmb3IgKGF1dG8mIHRhcmdldCA6IGN1cnJlbnRTY3JvbGxlbmRUYXJn
ZXRzKSB7CisgICAgICAgICAgICBhdXRvIGJ1YmJsZXMgPSB0YXJnZXQtPmlzRG9jdW1lbnROb2Rl
KCkgPyBFdmVudDo6Q2FuQnViYmxlOjpZZXMgOiBFdmVudDo6Q2FuQnViYmxlOjpObzsKKyAgICAg
ICAgICAgIHRhcmdldC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5z
Y3JvbGxlbmRFdmVudCwgYnViYmxlcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICAg
ICAgfQorICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50OjphZGRBdWRpb1Byb2R1Y2Vy
KE1lZGlhUHJvZHVjZXImIGF1ZGlvUHJvZHVjZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDU1
OWE5ODM4YjYuLjkyNDJkNTQxNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzYwLDYgKzEz
NjAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBydW5SZXNpemVTdGVwcygpOwogCiAgICAgdm9pZCBh
ZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYpOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdl
dChDb250YWluZXJOb2RlJik7CisjZW5kaWYKICAgICB2b2lkIHNldE5lZWRzVmlzdWFsVmlld3Bv
cnRTY3JvbGxFdmVudCgpOwogICAgIHZvaWQgcnVuU2Nyb2xsU3RlcHMoKTsKIApAQCAtMjAzOSw2
ICsyMDQyLDkgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBQZW5kaW5nU2Nyb2xsRXZlbnRUYXJn
ZXRMaXN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0
PiBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0
PiBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3Q7CisjZW5kaWYKIAogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAgICAgSGFzaFNldDxIVE1MTWVkaWFFbGVtZW50Kj4gbV9tZWRpYVN0
cmVhbVN0YXRlQ2hhbmdlRWxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA1Y2Vl
ZTZmNjgxLi5lNGRmNGM0YjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE5MSw2ICsx
OTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8ob3JpZW50YXRpb25jaGFuZ2Up
IFwKICAgICBtYWNybyhvdmVyY29uc3RyYWluZWQpIFwKICAgICBtYWNybyhvdmVyZmxvd2NoYW5n
ZWQpIFwKKyAgICBtYWNybyhvdmVyc2Nyb2xsKSBcCiAgICAgbWFjcm8ocGFnZWhpZGUpIFwKICAg
ICBtYWNybyhwYWdlc2hvdykgXAogICAgIG1hY3JvKHBhc3RlKSBcCkBAIC0yMjcsNiArMjI4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHJlc3VsdCkgXAogICAgIG1hY3JvKHJl
c3VtZSkgXAogICAgIG1hY3JvKHNjcm9sbCkgXAorICAgIG1hY3JvKHNjcm9sbGVuZCkgXAogICAg
IG1hY3JvKHNlYXJjaCkgXAogICAgIG1hY3JvKHNlY3VyaXR5cG9saWN5dmlvbGF0aW9uKSBcCiAg
ICAgbWFjcm8oc2Vla2VkKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2xvYmFs
RXZlbnRIYW5kbGVycy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2xvYmFsRXZlbnRIYW5kbGVy
cy5pZGwKaW5kZXggNzcwYWE5YzNhNy4uMWYyNzY1MzRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbApAQCAtMTMyLDQgKzEzMiw4IEBACiAgICAgW05vdEVu
dW1lcmFibGUsIENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbndlYmtpdG1vdXNlZm9yY2Vkb3duOwogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25k
aXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJr
aXRtb3VzZWZvcmNld2lsbGJlZ2luOwogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1N
T1VTRV9GT1JDRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRtb3VzZWZv
cmNldXA7CisKKyAgICAvLyBFdmVudCBoYW5kbGVycyBmcm9tIE92ZXJzY3JvbGwgRXZlbnRzIEFQ
SSAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9vdmVyc2Nyb2xsLXNjcm9sbGVuZC1ldmVudHMvKQor
ICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1PVkVSU0NST0xMX0VWRU5UUywgRW5hYmxl
ZEJ5U2V0dGluZz1PdmVyc2Nyb2xsRXZlbnRzXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ub3Zl
cnNjcm9sbDsKKyAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9T1ZFUlNDUk9MTF9FVkVO
VFMsIEVuYWJsZWRCeVNldHRpbmc9T3ZlcnNjcm9sbEV2ZW50c10gYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbnNjcm9sbGVuZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5h
bWVzLmluCmluZGV4IGRjZDgzNzhkOTUuLjA5OWZmYjgyMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0yNjcsNiArMjY3LDcgQEAgb25tb3VzZXdoZWVs
CiBvbm9ubGluZQogb25vZmZsaW5lCiBvbm9yaWVudGF0aW9uY2hhbmdlCitvbm92ZXJzY3JvbGwK
IG9ucGFnZWhpZGUKIG9ucGFnZXNob3cKIG9ucGFzdGUKQEAgLTI4Nyw2ICsyODgsNyBAQCBvbnJh
dGVjaGFuZ2UKIG9ucmVzZXQKIG9ucmVzaXplCiBvbnNjcm9sbAorb25zY3JvbGxlbmQKIG9uc2Vh
cmNoCiBvbnNlZWtlZAogb25zZWVraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCmlu
ZGV4IDMyZWQ0YWQzMWIuLmFlNTlhYzEyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
Y3BwCkBAIC0yODQsNiArMjg0LDcgQEAgSFRNTEVsZW1lbnQ6OkV2ZW50SGFuZGxlck5hbWVNYXAg
SFRNTEVsZW1lbnQ6OmNyZWF0ZUV2ZW50SGFuZGxlck5hbWVNYXAoKQogICAgICAgICAmb25tb3Vz
ZW92ZXJBdHRyLmdldCgpLAogICAgICAgICAmb25tb3VzZXVwQXR0ci5nZXQoKSwKICAgICAgICAg
Jm9ubW91c2V3aGVlbEF0dHIuZ2V0KCksCisgICAgICAgICZvbm92ZXJzY3JvbGxBdHRyLmdldCgp
LAogICAgICAgICAmb25wYXN0ZUF0dHIuZ2V0KCksCiAgICAgICAgICZvbnBhdXNlQXR0ci5nZXQo
KSwKICAgICAgICAgJm9ucGxheUF0dHIuZ2V0KCksCkBAIC0zMDEsNiArMzAyLDcgQEAgSFRNTEVs
ZW1lbnQ6OkV2ZW50SGFuZGxlck5hbWVNYXAgSFRNTEVsZW1lbnQ6OmNyZWF0ZUV2ZW50SGFuZGxl
ck5hbWVNYXAoKQogICAgICAgICAmb25yZXNldEF0dHIuZ2V0KCksCiAgICAgICAgICZvbnJlc2l6
ZUF0dHIuZ2V0KCksCiAgICAgICAgICZvbnNjcm9sbEF0dHIuZ2V0KCksCisgICAgICAgICZvbnNj
cm9sbGVuZEF0dHIuZ2V0KCksCiAgICAgICAgICZvbnNlYXJjaEF0dHIuZ2V0KCksCiAgICAgICAg
ICZvbnNlZWtlZEF0dHIuZ2V0KCksCiAgICAgICAgICZvbnNlZWtpbmdBdHRyLmdldCgpLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDUzZjE3OThlOGMuLjJkYWQyOTQ1MTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIyNzUsNyArMjI3NSw3IEBAIHZvaWQgRnJhbWVW
aWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IElu
dFJlY3QmIHJlY3QpCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngoKSAt
IGNlbnRlcmluZ09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNl
dFkgLSByZWN0LnkoKSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1w
aW5nLCBib29sIGFuaW1hdGVkLCBib29sIHNhdmVTY3JvbGxlbmRQb3NpdGlvbikKIHsKICAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZyYW1lVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbiA8PCAiICwgY2xlYXJpbmcgYW5jaG9yIik7CiAK
QEAgLTIyOTEsNyArMjI5MSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsCiAgICAgaWYgKGFu
aW1hdGVkKQogICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0
RnJvbVBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBp
bmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oc2Ny
b2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgc2F2ZVNjcm9sbGVuZFBv
c2l0aW9uKTsKIAogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKG9sZFNjcm9sbFR5cGUpOwogfQpA
QCAtMzYxNCwxMiArMzYxNCw0OCBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsVG9PZmZzZXRXaXRo
QW5pbWF0aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeQogCiAgICAgaWYg
KGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJ
bk5vbk5hdGl2ZUFuaW1hdGlvbikKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmlt
YXRpb25zKCk7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG9mZnNl
dCA9PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgY2hlY2tTY3JvbGxlbmRFdmVudFBv
c2l0aW9uKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChvZmZzZXQpKTsKKyNlbmRpZgorCiAgICAg
aWYgKG9mZnNldCAhPSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKICAgICAgICAgU2Nyb2xsYWJsZUFy
ZWE6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihvZmZzZXQpOwogCiAgICAgc2V0Q3VycmVu
dFNjcm9sbFR5cGUocHJldmlvdXNTY3JvbGxUeXBlKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKK3ZvaWQgRnJhbWVWaWV3OjpzYXZlU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCit7CisgICAgaWYgKCFmcmFtZSgpLnNldHRp
bmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9maXJlU2Nyb2xsZW5kRXZlbnRBdFBvc2l0aW9uID0gcG9zaXRpb247Cit9CisKK3ZvaWQgRnJh
bWVWaWV3OjpjaGVja1Njcm9sbGVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
IHBvc2l0aW9uKQoreworICAgIGlmICghbV9maXJlU2Nyb2xsZW5kRXZlbnRBdFBvc2l0aW9uIHx8
IG1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQb3NpdGlvbi52YWx1ZSgpICE9IHBvc2l0aW9uKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1
bWVudCgpKQorICAgICAgICBkb2N1bWVudC0+YWRkUGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0
KCpkb2N1bWVudCk7CisKKyAgICBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb24gPSBXVEY6
Om51bGxvcHQ7Cit9CisKK3ZvaWQgRnJhbWVWaWV3Ojpmb3JjZVNjcm9sbGVuZCgpCit7CisgICAg
aWYgKCFmcmFtZSgpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1l
bnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPmFkZFBlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldCgq
ZG9jdW1lbnQpOworfQorI2VuZGlmCisKIGZsb2F0IEZyYW1lVmlldzo6YWRqdXN0U2Nyb2xsU3Rl
cEZvckZpeGVkQ29udGVudChmbG9hdCBzdGVwLCBTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRh
dGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkpCiB7CiAgICAgaWYgKGdyYW51bGFy
aXR5ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBIb3Jpem9udGFsU2Nyb2xsYmFy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggYzIyZTRlNThjMS4uZDVkMDM4YmI0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0yMjUsNyArMjI1LDcgQEAgcHVibGljOgogI2lmIFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEZpeGVk
VmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKSBmaW5hbDsKICNlbmRpZgotICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
LCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVk
ID0gZmFsc2UpIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UsIGJvb2wgc2F2ZVNjcm9sbGVuZFBvc2l0
aW9uID0gdHJ1ZSkgZmluYWw7CiAgICAgdm9pZCByZXN0b3JlU2Nyb2xsYmFyKCk7CiAgICAgdm9p
ZCBzY2hlZHVsZVNjcm9sbFRvRm9jdXNlZEVsZW1lbnQoU2VsZWN0aW9uUmV2ZWFsTW9kZSk7CiAg
ICAgdm9pZCBzY3JvbGxUb0ZvY3VzZWRFbGVtZW50SW1tZWRpYXRlbHlJZk5lZWRlZCgpOwpAQCAt
NjU4LDYgKzY1OCwxMiBAQCBwdWJsaWM6CiAKICAgICBib29sIGluVXBkYXRlRW1iZWRkZWRPYmpl
Y3RzKCkgY29uc3QgeyByZXR1cm4gbV9pblVwZGF0ZUVtYmVkZGVkT2JqZWN0czsgfQogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2F2ZVNjcm9sbGVuZEV2ZW50UG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIGNoZWNrU2Nyb2xs
ZW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIGZpbmFsOworICAgIHZvaWQg
Zm9yY2VTY3JvbGxlbmQoKSBmaW5hbDsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBz
Y3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJ
bnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAg
ICB2b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkg
ZmluYWw7CkBAIC04OTMsNiArODk5LDEwIEBAIHByaXZhdGU6CiAKICAgICBQYWdpbmF0aW9uIG1f
cGFnaW5hdGlvbjsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25h
bDxTY3JvbGxQb3NpdGlvbj4gbV9maXJlU2Nyb2xsZW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlm
CisKICAgICBlbnVtIGNsYXNzIFZpZXdwb3J0UmVuZGVyZXJUeXBlIDogdWludDhfdCB7IE5vbmUs
IERvY3VtZW50LCBCb2R5IH07CiAgICAgVmlld3BvcnRSZW5kZXJlclR5cGUgbV92aWV3cG9ydFJl
bmRlcmVyVHlwZSB7IFZpZXdwb3J0UmVuZGVyZXJUeXBlOjpOb25lIH07CiAgICAgU2Nyb2xsUGlu
bmluZ0JlaGF2aW9yIG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yIHsgRG9Ob3RQaW4gfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MueWFtbAppbmRleCAyNWE4ZWFiZDQ3Li4wN2U1MTZlNTdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC05MTYsNiArOTE2LDEwIEBAIGlzTG9nZ2VkSW5BUElF
bmFibGVkOgogZW50ZXJLZXlIaW50RW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKIAorb3ZlcnNj
cm9sbEV2ZW50c0VuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBPVkVS
U0NST0xMX0VWRU5UUworCiBsZWdhY3lHZXRVc2VyTWVkaWFFbmFibGVkOgogICBpbml0aWFsOiBm
YWxzZQogICBjb25kaXRpb25hbDogTUVESUFfU1RSRUFNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAppbmRleCAyY2E1NzhhMzBmLi45MjVk
NGMwZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRp
b25TbW9vdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlv
blNtb290aC5jcHAKQEAgLTgwLDYgKzgwLDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjpzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0
aW9uU21vb3RoOjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
aWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9zY3JvbGxhYmxlQXJl
YS5mb3JjZVNjcm9sbGVuZCgpOworI2VuZGlmCisKICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3Ao
KTsKICAgICBtX3Njcm9sbGFibGVBcmVhLnNldFNjcm9sbEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJl
aGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CiB9CkBAIC00MTAsOCArNDE1LDEyIEBAIHZv
aWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIAogICAgIGlm
IChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0VGltZXIoc3RkOjptYXgobWlu
aW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsKLSAgICBlbHNlCisgICAgZWxz
ZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Ny
b2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuY2hlY2tTY3JvbGxlbmRFdmVudFBv
c2l0aW9uKG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsUG9zaXRpb24oKSk7CisjZW5kaWYKKyAgICB9
CiAKICAgICBtX25vdGlmeVBvc2l0aW9uQ2hhbmdlZEZ1bmN0aW9uKEZsb2F0UG9pbnQobV9ob3Jp
em9udGFsRGF0YS5jdXJyZW50UG9zaXRpb24sIG1fdmVydGljYWxEYXRhLmN1cnJlbnRQb3NpdGlv
bikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCAyZmQxNWY3
YjMwLi5lMDE4ZTI5MmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApA
QCAtNDg2LDYgKzQ4NiwxMCBAQCB2b2lkIFNjcm9sbFZpZXc6OnNjcm9sbFRvKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiBuZXdQb3NpdGlvbikKIAogICAgIG1fc2Nyb2xsUG9zaXRpb24gPSBuZXdQb3Np
dGlvbjsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbGVu
ZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3Jv
bGxiYXJzU3VwcHJlc3NlZCgpKQogICAgICAgICByZXR1cm47CiAKQEAgLTUxMyw3ICs1MTcsNyBA
QCB2b2lkIFNjcm9sbFZpZXc6OmNvbXBsZXRlVXBkYXRlc0FmdGVyU2Nyb2xsVG8oY29uc3QgSW50
U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9s
bGluZygpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJv
b2wvKiBhbmltYXRlZCovKQordm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25z
dCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5n
LCBib29sLyogYW5pbWF0ZWQqLywgYm9vbCBzYXZlU2Nyb2xsZW5kUG9zaXRpb24pCiB7CiAgICAg
TE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uKTsKIApAQCAtNTI1LDEzICs1MjksMjMgQEAg
dm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYg
c2Nyb2xsUG9zaXRpb24sIFNjcm9sbEMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlm
IChjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6
SW5Ob25OYXRpdmVBbmltYXRpb24pCisgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5p
bWF0aW9ucygpOworCiAgICAgU2Nyb2xsUG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRl
bGVnYXRlc1Njcm9sbGluZygpICYmIGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
KSA/IGFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Ny
b2xsUG9zaXRpb247CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChzYXZl
U2Nyb2xsZW5kUG9zaXRpb24pCisgICAgICAgIHNhdmVTY3JvbGxlbmRFdmVudFBvc2l0aW9uKG5l
d1Njcm9sbFBvc2l0aW9uKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNhdmVTY3JvbGxlbmRQ
b3NpdGlvbik7CisjZW5kaWYKIAotICAgIGlmICgoIWRlbGVnYXRlc1Njcm9sbGluZygpIHx8IGN1
cnJlbnRTY3JvbGxUeXBlKCkgPT0gU2Nyb2xsVHlwZTo6VXNlcikgJiYgY3VycmVudFNjcm9sbEJl
aGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uICYm
IG5ld1Njcm9sbFBvc2l0aW9uID09IHRoaXMtPnNjcm9sbFBvc2l0aW9uKCkpCisgICAgaWYgKCgh
ZGVsZWdhdGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxUeXBl
OjpVc2VyKSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlv
clN0YXR1czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xsUG9zaXRpb24gPT0gdGhpcy0+c2Ny
b2xsUG9zaXRpb24oKSkgeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAg
Y2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgog
ICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkg
PT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0aW9uKQotICAgICAgICBz
Y3JvbGxBbmltYXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKKyAgICB9CiAKICAgICBpZiAoIXJl
cXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3JvbGxQb3NpdGlvbiwgY3VycmVudFNjcm9s
bFR5cGUoKSwgY2xhbXBpbmcpKQogICAgICAgICB1cGRhdGVTY3JvbGxiYXJzKG5ld1Njcm9sbFBv
c2l0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAppbmRleCA0Y2MyYmI0YzBi
Li5kZWFjYmIxZDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxW
aWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCkBAIC0yNjEs
NyArMjYxLDcgQEAgcHVibGljOgogICAgIFNjcm9sbFBvc2l0aW9uIGNhY2hlZFNjcm9sbFBvc2l0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3JvbGxQb3NpdGlvbjsgfQogCiAgICAgLy8g
RnVuY3Rpb25zIGZvciBzY3JvbGxpbmcgdGhlIHZpZXcuCi0gICAgdmlydHVhbCB2b2lkIHNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFt
cGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UsIGJv
b2wgc2F2ZVNjcm9sbGVuZFBvc2l0aW9uID0gdHJ1ZSk7CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNv
bnN0IEludFNpemUmIHMpIHsgcmV0dXJuIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9u
KCkgKyBzKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRl
eCBmZGRkZjJmOWJlLi5mYWI4Y2JiMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmgKQEAgLTM0Myw2ICszNDMsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCA9IDA7
CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdmlydHVhbCB2b2lkIHNhdmVT
Y3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgeyB9CisgICAgdmly
dHVhbCB2b2lkIGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBmb3JjZVNjcm9sbGVuZCgpIHsgfQorI2VuZGlmCisK
IHByb3RlY3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxhYmxlQXJlYSgpOwogICAgIFdF
QkNPUkVfRVhQT1JUIHZpcnR1YWwgflNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDQwYmExYWUyMTcuLjY5Yzc3YjJiY2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC02MDIsNyArNjAyLDcgQEAgdm9pZCBS
ZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlv
biwgU2Nyb2xsVHlwZSBzY3IKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8ICFsYXllcigp
KQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcigqbGF5ZXIoKSk7
Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9Qb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xh
bXBpbmcsIGFuaW1hdGVkKTsKKyAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlv
biwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6
OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQm
IGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggZmJmMzYwOWMwMC4uNGU3Mjk2MmZiOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNjAzLDIxICsyNjAzLDMwIEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OmFwcGx5UG9zdExheW91dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKQogdm9pZCBS
ZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUgc2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wgYW5pbWF0ZWQpCiB7CiAgICAgU2Nyb2xs
UG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3JvbGxQb3NpdGlvbi55KCkpOwotICAgIHNjcm9sbFRv
UG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisgICAg
c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRl
ZCk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3Jv
bGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVk
KQogewogICAgIFNjcm9sbFBvc2l0aW9uIHBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24ueCgpLCB5
KTsKLSAgICBzY3JvbGxUb1Bvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywg
YW5pbWF0ZWQpOworICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQpOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1Bvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBl
LCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5
ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Ny
b2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRl
ZCwgYm9vbCBzYXZlU2Nyb2xsZW5kUG9zaXRpb24pCiB7CisgICAgYXV0byBvZmZzZXQgPSBzY3Jv
bGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNldCBuZXdTY3Jv
bGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Ny
b2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgIGlmIChzYXZlU2Nyb2xsZW5kUG9zaXRpb24pCisgICAgICAgIHNhdmVTY3JvbGxlbmRF
dmVudFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChuZXdTY3JvbGxPZmZzZXQpKTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNhdmVTY3JvbGxlbmRQb3NpdGlvbik7CisjZW5kaWYK
KwogICAgIGlmIChhbmltYXRlZCkKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9u
KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5n
KTsKKyAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKG5ld1Njcm9sbE9mZnNldCwg
c2Nyb2xsVHlwZSwgY2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXQo
c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcp
OworICAgICAgICBzY3JvbGxUb09mZnNldChuZXdTY3JvbGxPZmZzZXQsIHNjcm9sbFR5cGUsIGNs
YW1waW5nKTsKIH0KIAogU2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNl
dChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCkgY29uc3QKQEAgLTI2NDAsMTMgKzI2
NDksMTggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zm
c2V0JiBzY3JvbGxPZmZzZXQsIFNjcm9sbFR5cGUgc2MKICAgICAgICAgc2Nyb2xsQW5pbWF0b3Io
KS5jYW5jZWxBbmltYXRpb25zKCk7CiAKICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9m
ZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxP
ZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9sbE9mZnNldDsKLSAgICBpZiAoY2xhbXBlZFNjcm9s
bE9mZnNldCA9PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFt
cGVkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9s
bE9mZnNldCk7CisgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zm
c2V0KCkpIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGNoZWNrU2Ny
b2xsZW5kRXZlbnRQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCiAgICAg
ICAgIHJldHVybjsKKyAgICB9CiAKICAgICBhdXRvIHByZXZpb3VzU2Nyb2xsVHlwZSA9IGN1cnJl
bnRTY3JvbGxUeXBlKCk7CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUoc2Nyb2xsVHlwZSk7CiAK
LSAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShzY3JvbGxQb3NpdGlvbkZyb21P
ZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKKyAgICBp
ZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNj
cm9sbFR5cGUsIGNsYW1waW5nKSkKICAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0
aW9uKGNsYW1wZWRTY3JvbGxPZmZzZXQsIGNsYW1waW5nKTsKICAgICBzZXRTY3JvbGxCZWhhdmlv
clN0YXR1cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwogCkBAIC0yNjYx
LDYgKzI2NzUsMTIgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0
aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGwKICAgICBTY3JvbGxPZmZzZXQg
bmV3U2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBj
bGFtcFNjcm9sbE9mZnNldChvZmZzZXQpIDogb2Zmc2V0OwogICAgIGlmIChjdXJyZW50U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVBbmlt
YXRpb24pCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOworCisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChuZXdTY3JvbGxPZmZzZXQgPT0g
dGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCisgICAgICAgIGNoZWNrU2Nyb2xsZW5kRXZlbnRQb3NpdGlv
bihuZXdTY3JvbGxPZmZzZXQpOworI2VuZGlmCisKICAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ICE9
IHRoaXMtPnNjcm9sbE9mZnNldCgpKQogICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9P
ZmZzZXRXaXRoQW5pbWF0aW9uKG5ld1Njcm9sbE9mZnNldCk7CiAKQEAgLTI3NzAsNiArMjc5MCwx
MCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9z
aXRpb24pCiAgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSByZW5kZXJlcigpLmVsZW1lbnQoKSkK
ICAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQo
KmVsZW1lbnQpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGNoZWNrU2Ny
b2xsZW5kRXZlbnRQb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgorCiAgICAgaWYg
KHNjcm9sbHNPdmVyZmxvdygpKQogICAgICAgICB2aWV3LmZyYW1lVmlldygpLmRpZENoYW5nZVNj
cm9sbE9mZnNldCgpOwogCkBAIC0yODE1LDEyICsyODM5LDEzIEBAIGJvb2wgUmVuZGVyTGF5ZXI6
OmFsbG93c0N1cnJlbnRTY3JvbGwoKSBjb25zdAogICAgIHJldHVybiBib3gtPmhhc0hvcml6b250
YWxPdmVyZmxvdygpIHx8IGJveC0+aGFzVmVydGljYWxPdmVyZmxvdygpOwogfQogCi12b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMm
IG9wdGlvbnMsIEF1dG9zY3JvbGxTdGF0dXMgYXV0b3Njcm9sbFN0YXR1cykKK3ZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0
aW9ucykKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkxheWVy
ICIgPDwgdGhpcyA8PCAiIHNjcm9sbFJlY3RUb1Zpc2libGUgIiA8PCBhYnNvbHV0ZVJlY3QpOwog
CiAgICAgUmVuZGVyTGF5ZXIqIHBhcmVudExheWVyID0gbnVsbHB0cjsKICAgICBMYXlvdXRSZWN0
IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CisgICAgYm9vbCBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVz
cyA9ICFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9sbEluUHJvZ3Jl
c3MoKTsKIAogICAgIC8vIFdlIG1heSBlbmQgdXAgcHJvcGFnYXRpbmcgYSBzY3JvbGwgZXZlbnQu
IEl0IGlzIGltcG9ydGFudCB0aGF0IHdlIHN1c3BlbmQgZXZlbnRzIHVudGlsIAogICAgIC8vIHRo
ZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIHNpbmNlIHRoZXkgY291bGQgZGVsZXRlIHRoZSBsYXllciBv
ciB0aGUgbGF5ZXIncyByZW5kZXJlcigpLgpAQCAtMjg0Niw4ICsyODcxLDggQEAgdm9pZCBSZW5k
ZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJl
Y3QsIGJvb2wgaW5zaWQKICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQg
PSBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShyb3VuZGVkSW50
UmVjdChyZXZlYWxSZWN0KS5sb2NhdGlvbigpKSk7CiAgICAgICAgIGlmIChjbGFtcGVkU2Nyb2xs
T2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpIHx8IGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygp
ICE9IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbikgewogICAgICAgICAgICAg
U2Nyb2xsT2Zmc2V0IG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwotICAgICAgICAg
ICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0YXR1czo6
Tm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgYm94
LT5lbGVtZW50KCkpOwotICAgICAgICAgICAgc2Nyb2xsVG9Qb3NpdGlvbihzY3JvbGxQb3NpdGlv
bkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRp
YywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgIGJvb2wg
YW5pbWF0ZWQgPSBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmco
b3B0aW9ucy5iZWhhdmlvciwgYm94LT5lbGVtZW50KCkpOworICAgICAgICAgICAgc2V0U2Nyb2xs
UG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBT
Y3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRl
ZCwgYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MpOwogICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxP
ZmZzZXREaWZmZXJlbmNlID0gY2xhbXBlZFNjcm9sbE9mZnNldCAtIG9sZFNjcm9sbE9mZnNldDsK
ICAgICAgICAgICAgIGxvY2FsRXhwb3NlUmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNl
KTsKICAgICAgICAgICAgIG5ld1JlY3QgPSBMYXlvdXRSZWN0KGJveC0+bG9jYWxUb0Fic29sdXRl
UXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1z
KS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4NzMsOCArMjg5OCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29s
IGluc2lkCiAgICAgICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbi5j
b25zdHJhaW5lZEJldHdlZW4oSW50UG9pbnQoKSwgSW50UG9pbnQoZnJhbWVWaWV3LmNvbnRlbnRz
U2l6ZSgpKSk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgY29udGVu
dERvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAgICAgICAgICAgICAgICAvLyBTZWUg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQotICAgICAgICAg
ICAgICAgIGJvb2wgYW5pbWF0ZWQgPSBhdXRvc2Nyb2xsU3RhdHVzID09IEF1dG9zY3JvbGxTdGF0
dXM6Ok5vdEluUHJvZ3Jlc3MgJiYgb3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKSAmJiB1
c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgb3duZXJFbGVtZW50LT5jb250ZW50
RG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpOwotICAgICAgICAgICAgICAgIGZyYW1lVmll
dy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Njcm9s
bE5vdEluUHJvZ3Jlc3MgJiYgb3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKSAmJiB1c2VT
bW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgb3duZXJFbGVtZW50LT5jb250ZW50RG9j
dW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAgICAgIGZyYW1lVmlldy5z
ZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQs
IGFuaW1hdGVkLCBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyk7CiAKICAgICAgICAgICAgICAgICBp
ZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRlU2Ny
b2xsVG9QYXJlbnQoKSkgewogICAgICAgICAgICAgICAgICAgICBwYXJlbnRMYXllciA9IG93bmVy
RWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKTsKQEAgLTI5MTUsOCArMjk0MCw4
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVj
dCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICAgICAgU2Nyb2xsT2Zmc2V0
IGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IHJvdW5kZWRJbnRQb2ludChyZXZlYWxSZWN0LmxvY2F0
aW9uKCkpLmNvbnN0cmFpbmVkQmV0d2VlbihtaW5TY3JvbGxQb3NpdGlvbiwgbWF4U2Nyb2xsUG9z
aXRpb24pOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGRvY3VtZW50
KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQotICAgICAgICAgICAgICAgIGJv
b2wgYW5pbWF0ZWQgPSBhdXRvc2Nyb2xsU3RhdHVzID09IEF1dG9zY3JvbGxTdGF0dXM6Ok5vdElu
UHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIHJlbmRlcmVy
KCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSk7Ci0gICAgICAgICAgICAgICAgZnJhbWVW
aWV3LnNldFNjcm9sbFBvc2l0aW9uKGNsYW1wZWRTY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgICAgICBib29sIGFuaW1hdGVkID0g
YXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVo
YXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSk7CisgICAgICAg
ICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbFBvc2l0aW9uKGNsYW1wZWRTY3JvbGxQb3NpdGlv
biwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBhdXRvc2Nyb2xsTm90SW5Qcm9n
cmVzcyk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91dGVy
bW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcgd2UK
QEAgLTMwNTUsNyArMzA4MCw3IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmdldFJlY3RUb0V4
cG9zZShjb25zdCBMYXlvdXRSZWN0JiB2aXNpYmxlUmVjdCwgY29uc3QgTGF5CiB2b2lkIFJlbmRl
ckxheWVyOjphdXRvc2Nyb2xsKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbkluV2luZG93KQogewog
ICAgIEludFBvaW50IGN1cnJlbnREb2N1bWVudFBvc2l0aW9uID0gcmVuZGVyZXIoKS52aWV3KCku
ZnJhbWVWaWV3KCkud2luZG93VG9Db250ZW50cyhwb3NpdGlvbkluV2luZG93KTsKLSAgICBzY3Jv
bGxSZWN0VG9WaXNpYmxlKExheW91dFJlY3QoY3VycmVudERvY3VtZW50UG9zaXRpb24sIExheW91
dFNpemUoMSwgMSkpLCBmYWxzZSwgeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9s
bEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRv
RWRnZUlmTmVlZGVkLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSwgQXV0
b3Njcm9sbFN0YXR1czo6SW5Qcm9ncmVzcyk7CisgICAgc2Nyb2xsUmVjdFRvVmlzaWJsZShMYXlv
dXRSZWN0KGN1cnJlbnREb2N1bWVudFBvc2l0aW9uLCBMYXlvdXRTaXplKDEsIDEpKSwgZmFsc2Us
IHsgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9F
ZGdlSWZOZWVkZWQsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2hvdWxk
QWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIH0pOwogfQogCiBib29sIFJlbmRlckxheWVy
OjpjYW5SZXNpemUoKSBjb25zdApAQCAtNzAxMCw2ICs3MDM1LDM2IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbigpCiAjZW5kaWYKIH0KIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNhdmVTY3JvbGxlbmRFdmVudFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIXJlbmRlcmVy
KCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb24gPSBwb3NpdGlvbjsKK30KKwor
dm9pZCBSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbGVuZEV2ZW50QXRQ
b3NpdGlvbiB8fCBtX2ZpcmVTY3JvbGxlbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBwb3Np
dGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSByZW5k
ZXJlcigpLmVsZW1lbnQoKSkKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRQZW5kaW5n
U2Nyb2xsZW5kRXZlbnRUYXJnZXQoKmVsZW1lbnQpOworCisgICAgbV9maXJlU2Nyb2xsZW5kRXZl
bnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2b2lkIFJlbmRlckxheWVyOjpmb3Jj
ZVNjcm9sbGVuZCgpCit7CisgICAgaWYgKCFyZW5kZXJlcigpLnNldHRpbmdzKCkub3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKEVsZW1lbnQqIGVs
ZW1lbnQgPSByZW5kZXJlcigpLmVsZW1lbnQoKSkKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQo
KS5hZGRQZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXQoKmVsZW1lbnQpOworfQorI2VuZGlmCisK
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiB0cywgQ2xpcFJlY3RzVHlw
ZSBjbGlwUmVjdHNUeXBlKQogewogICAgIHN3aXRjaCAoY2xpcFJlY3RzVHlwZSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA5NmQzOWVmNGJmLi43Y2RlODZlZDAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNDUxLDcgKzQ1MSw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5
cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0
ZWQgPSBmYWxzZSk7CiAgICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRl
ZCA9IGZhbHNlKTsKLSAgICB2b2lkIHNjcm9sbFRvUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRp
b24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
LCBib29sIGFuaW1hdGVkID0gZmFsc2UpOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29u
c3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UsIGJvb2wgc2F2ZVNjcm9sbGVu
ZFBvc2l0aW9uID0gdHJ1ZSk7CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2VkIGJ5IG1hcnF1
ZWUuCiAgICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9PZmZzZXQoU2Ny
b2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRp
YywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KQEAgLTQ2Miw5ICs0NjIsOCBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGF2YWlsYWJsZUNvbnRlbnRTaXplQ2hhbmdlZChBdmFpbGFibGVTaXpl
Q2hhbmdlUmVhc29uKSBvdmVycmlkZTsKIAotICAgIGVudW0gQXV0b3Njcm9sbFN0YXR1cyB7IE5v
dEluUHJvZ3Jlc3MsIEluUHJvZ3Jlc3MgfTsKICAgICAvLyAiYWJzb2x1dGVSZWN0IiBpcyBpbiBz
Y2FsZWQgZG9jdW1lbnQgY29vcmRpbmF0ZXMuCi0gICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxl
KGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3Qg
U2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmLCBBdXRvc2Nyb2xsU3RhdHVzID0gQXV0b3Njcm9s
bFN0YXR1czo6Tm90SW5Qcm9ncmVzcyk7CisgICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNv
bnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Ny
b2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmKTsKIAogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93KCkg
Y29uc3Q7CiAgICAgYm9vbCBoYXNTY3JvbGxhYmxlSG9yaXpvbnRhbE92ZXJmbG93KCkgY29uc3Q7
CkBAIC05MjMsNiArOTIyLDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW52YWxpZGF0ZUV2ZW50
UmVnaW9uKCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZl
U2Nyb2xsZW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIGZpbmFsOworICAg
IHZvaWQgY2hlY2tTY3JvbGxlbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikg
ZmluYWw7CisgICAgdm9pZCBmb3JjZVNjcm9sbGVuZCgpIGZpbmFsOworI2VuZGlmCisKIHByaXZh
dGU6CiAKICAgICB2b2lkIHNldE5leHRTaWJsaW5nKFJlbmRlckxheWVyKiBuZXh0KSB7IG1fbmV4
dCA9IG5leHQ7IH0KQEAgLTEzNTMsNiArMTM1OCwxMCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFJlbmRlckxheWVyRmlsdGVycz4gbV9maWx0ZXJzOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxSZW5kZXJMYXllckJhY2tpbmc+IG1fYmFja2luZzsKKworI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3NpdGlvbj4gbV9maXJlU2Nyb2xsZW5k
RXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCiAgICAgCiAgICAgUGFpbnRGcmVxdWVuY3lUcmFja2Vy
IG1fcGFpbnRGcmVxdWVuY3lUcmFja2VyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNDE3ZjY5MGNjYS4uNzc4
NzFlY2U1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENo
ZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92
ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMg
V2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAg
ICAgICBBZGQgRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZl
cmVuY2VzLnlhbWw6CisKIDIwMjAtMDMtMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgYml0IG1vcmUgVUlIaXRUZXN0aW5nIGxvZ2dpbmcs
IGFuZCBtYWtlIGl0IHBvc3NpYmxlIHRvIGR1bXAgRXZlbnRSZWdpb25zIGZyb20gV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCBjZmJiNzI5NTEzLi4xMDZiNWM0YTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTI5Niw2ICsy
OTYsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NP
QV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0g
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZF
TlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTOworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
ID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAogRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9B
UEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkp
OwpAQCAtNDE2LDQgKzQxOCw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9Y
U0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJ
T04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
OSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNU
T1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAk
KEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NU
QU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9O
KSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJG
TE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVf
U0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5B
QkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9B
UElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbAppbmRleCAzYzlhYjAzM2FiLi42NDU5YWQxMGU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTE1NjQsNiArMTU2NCwxNCBAQCBBc3Bl
Y3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiTWFwIEhUTUwgYXR0cmlidXRlcyB3aWR0aC9oZWlnaHQgdG8gdGhlIGRlZmF1
bHQgYXNwZWN0IHJhdGlvIG9mIDxpbWc+IgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKK092
ZXJzY3JvbGxFdmVudHNFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFs
c2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJPdmVyc2Nyb2xsIGV2ZW50cyIKKyAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRoZSBvbnNjcm9sbGVuZCBhbmQgc2Nyb2xsZW5kIGV2
ZW50cyIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBjb25kaXRpb246IEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKwogIyBGb3IgaW50ZXJuYWwgZmVhdHVyZXM6CiAjIFRoZSB0eXBlIHNo
b3VsZCBiZSBib29sZWFuLgogIyBZb3UgbXVzdCBwcm92aWRlIGEgaHVtYW5SZWFkYWJsZU5hbWUg
YW5kIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbiBmb3IgYWxsIGRlYnVnIGZlYXR1cmVzLiBUaGV5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNDA5Zjk0NGUwYS4uMGU2NmNmMTBkZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAzLTA5
ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3Vw
cG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBh
dGNoLgorCisgICAgICAgIEFkZCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCBXZWJQcmVmZXJlbmNl
IHNldHRpbmcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVu
Y2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgb3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisKIDIwMjAtMDMtMTUgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgbW9zdCBvZiBUZXh0SXRlcmF0
b3Igb2ZmIG9mIGxpdmUgcmFuZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGNm
YmI3Mjk1MTMuLjEwNmI1YzRhMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0y
OTYsNiArMjk2LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQo
V0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0
b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NS
T0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJ
Q1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JN
X05BTUUpKTsKQEAgLTQxNiw0ICs0MTgsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBF
TkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9D
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVM
RU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5B
QkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5T
SU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0Up
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVf
V0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNI
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdf
QVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VT
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVN
RVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJM
RV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAk
KEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVD
VCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9V
U0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgK
aW5kZXggNzdiMzk4OTUwMi4uODVmMTM1NjVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0y
MTAsNiArMjEwLDcgQEAKICNkZWZpbmUgV2ViS2l0Q1NTU2hhZG93UGFydHNFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TGF5
b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQiCiAjZGVmaW5lIFdl
YktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKKyNk
ZWZpbmUgV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhl
c2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBj
b3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMDI3OTM5NDMwOC4uYzQ3YWExYzAz
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCkBAIC03MTQsNiArNzE0LDkgQEAgcHVibGljOgogICAgICAgICBATk8sIFdlYktpdEFz
cGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgQE5PLCBXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQFlF
UywgV2ViS2l0RGVidWdOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWlya3NQcmVmZXJlbmNlS2V5
LAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgQE5PLCBXZWJLaXRPdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXksCisjZW5kaWYKICAgICAgICAgbmlsXTsK
IAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMzY4MCw2ICszNjgzLDE2IEBAIHN0YXRp
YyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZh
bHVlOndlYlNRTEVuYWJsZWQgZm9yS2V5OldlYktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKIH0KIAorLSAoQk9PTClvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZAoreworICAgIHJldHVybiBb
c2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVy
ZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6KEJPT0wp
ZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0T3ZlcnNj
cm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50
YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYTg0
NTQ5ZDRhYi4uN2ZmNzMxOWQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02ODgsNiArNjg4LDcgQEAg
ZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxO
b3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVs
b2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBh
c3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkOwogCiAjaWYgVEFSR0VUX09TX0lQ
SE9ORQogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcXVpY2tMb29rRG9jdW1lbnRTYXZpbmdF
bmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4
IDRkODlkMzZiMTguLjg3OTQyMTRiNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KQEAgLTMwMDYsNiArMzAwNiw5IEBAIHN0YXRpYyBib29sIG5lZWRzU2Vs
ZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRDU1NPTVZpZXdTY3Jv
bGxpbmdBUElFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVk
XSk7CiAgICAgc2V0dGluZ3Muc2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZChbcHJl
ZmVyZW5jZXMgQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdz
LnNldE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KFtwcmVmZXJlbmNl
cyBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydF0pOworI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXR0aW5ncy5zZXRPdmVyc2Nyb2xsRXZlbnRzRW5h
YmxlZChbcHJlZmVyZW5jZXMgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRdKTsKKyNlbmRpZgogCiAg
ICAgc3dpdGNoIChbcHJlZmVyZW5jZXMgc3RvcmFnZUJsb2NraW5nUG9saWN5XSkgewogICAgIGNh
c2UgV2ViQWxsb3dBbGxTdG9yYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGY5
ODk4MDYyZWYuLjBlOWI4OWYwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5j
b20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgor
CisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBv
biBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgb3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWQgV2ViUHJlZmVyZW5jZSBzZXR0aW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9J
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVm
ZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJl
bmNlczo6b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6
OnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5o
OgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2VkKToKKwogMjAyMC0wMy0xMiAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBzdXJlIGEgcHJlZmxpZ2h0IGZhaWxzIGlmIHJlc3BvbnNl
IGhlYWRlcnMgYXJlIGludmFsaWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmluZGV4IGRmZmQ5
NGRkODYuLjY1Y2YzYWQ5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0lu
dGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApAQCAtMjY1LDQg
KzI2NSw3IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWJQcmVmZXJl
bmNlc1ByaXZhdGU3CiB7CiAgICAgSFJFU1VMVCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxz
KFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRBbGxvd1RvcE5h
dmlnYXRpb25Ub0RhdGFVUkxzKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIG92ZXJz
Y3JvbGxFdmVudHNFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0
T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4
IDE3YmNmOWJlMTguLjA0YWViNmM3YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMjcsMyArMjI3LDUgQEAKICNkZWZp
bmUgV2ViS2l0QXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWRQcmVmZXJl
bmNlS2V5ICJXZWJLaXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCIK
IAogI2RlZmluZSBXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0V2ViU1FM
RW5hYmxlZCIKKworI2RlZmluZSBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVu
Y2VLZXkgIldlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IGRkMjllOTIzNmMuLjE4NGIyYzhiOGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTM1NCw2ICsz
NTQsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkK
IAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRXZWJTUUxF
bmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQ
cmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIGRlZmF1bHRTZXR0aW5ncyA9
IGRlZmF1bHRzOwogI2VuZGlmCiB9CkBAIC0yNDcwLDYgKzI0NzIsMjAgQEAgSFJFU1VMVCBXZWJQ
cmVmZXJlbmNlczo6c2V0V2ViU1FMRW5hYmxlZChCT09MIGVuYWJsZWQpCiAgICAgcmV0dXJuIFNf
T0s7CiB9CiAKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6Om92ZXJzY3JvbGxFdmVudHNFbmFibGVk
KF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1
cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdE92ZXJz
Y3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisK
K0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKEJPT0wg
ZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJs
ZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VM
VCBXZWJQcmVmZXJlbmNlczo6YWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhfT3V0XyBCT09M
KiBhbGxvd0FjY2VzcykKIHsKICAgICBpZiAoIWFsbG93QWNjZXNzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggYTMxYmEwM2E4Mi4uNzA5OGVlMTE5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMDcsNiArMzA3LDgg
QEAgcHVibGljOgogICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091
dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKik7CisgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldE92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcAppbmRleCBkNzA1M2VjMzIwLi4xZTg2Y2U0NWI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJWaWV3LmNwcApAQCAtNTY2OCw2ICs1NjY4LDExIEBAIEhSRVNVTFQgV2ViVmlldzo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikK
ICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLnNldEFzcGVjdFJhdGlvT2ZJbWdGcm9t
V2lkdGhBbmRIZWlnaHRFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0
ZS0+b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIp
KQorICAgICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0T3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQoISFlbmFibGVkKTsKKwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UKaW5kZXggYjU5MTk2NTExOS4uOTM2NjVhMTdmOCAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQpAQCAtMTgxLDYgKzE4MSw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVH
SU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgIlRv
Z2dsZSBPZmZzY3JlZW5DYW52YXMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiVG9nZ2xlIE9yaWVudGF0aW9u
IEV2ZW50cyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIICJUb2dnbGUgYWNjZWxlcmF0ZWQgc2Nyb2xs
aW5nIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9PVkVSU0NST0xMX0VWRU5UUyAiVG9nZ2xlIG92ZXJzY3JvbGwgZXZlbnRzIiBQUklWQVRFIE9O
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgIlRvZ2ds
ZSBQYXltZW50IFJlcXVlc3Qgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1BERktJVF9QTFVHSU4gIlRvZ2dsZSBQREZLaXQgcGx1Z2luIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJICJUb2dnbGUgUGljdHVyZS1pbi1QaWN0dXJlIEFQSSBzdXBwb3J0IiBQ
UklWQVRFIE9GRikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA0NjdkODM3YTlmLi5hNjUxOWU5N2U5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMDkgIENh
dGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOp
ZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2gu
CisKKyAgICAgICAgRGVhbCB3aXRoIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoVGVzdE9wdGlvbnM6
OlRlc3RPcHRpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAg
KGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2Vz
Rm9yVGVzdE9wdGlvbnMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorCiAyMDIwLTAzLTE2ICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNo
YXVkQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcGVyc29uYWwgZW1haWwgdG8gVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbnRyaWJ1dG9ycy5qc29uCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHAKaW5kZXggMjkwNjA2YTI1NS4uYTMxMjIxNWFkMyAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcApAQCAtMTU2LDYgKzE1Niw4IEBAIFRlc3RPcHRp
b25zOjpUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6
OnN0cmluZyYgYWJzb2x1CiAgICAgICAgICAgICBlbmFibGVBc3BlY3RSYXRpb09mSW1nRnJvbVdp
ZHRoQW5kSGVpZ2h0ID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAg
ICAgZWxzZSBpZiAoa2V5ID09ICJhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIikKICAgICAg
ICAgICAgIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMgPSBwYXJzZUJvb2xlYW5UZXN0SGVh
ZGVyVmFsdWUodmFsdWUpOworICAgICAgICBlbHNlIGlmIChrZXkgPT0gImV4cGVyaW1lbnRhbDpP
dmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCIpCisgICAgICAgICAgICBlbmFibGVPdmVyc2Nyb2xsRXZl
bnRzID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgcGFpclN0
YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgK
aW5kZXggYWU0YmE0YWQ1ZC4uMDFjZjM0NjBhMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9u
cy5oCkBAIC01OCw2ICs1OCw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFi
bGVBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0IHsgZmFsc2UgfTsKICAgICBib29s
IGVuYWJsZVdlYlNRTCB7IHRydWUgfTsKICAgICBib29sIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0
YVVSTHMgeyB0cnVlIH07CisgICAgYm9vbCBlbmFibGVPdmVyc2Nyb2xsRXZlbnRzIHsgZmFsc2Ug
fTsKICAgICBzdGQ6OnN0cmluZyBqc2NPcHRpb25zOwogICAgIHN0ZDo6c3RyaW5nIGFkZGl0aW9u
YWxTdXBwb3J0ZWRJbWFnZVR5cGVzOwogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0KaW5kZXggYjZmZTJhNTc5Ni4uYmM4ZjAyYzE5ZCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtODg2LDYgKzg4Niw3IEBAIHN0YXRp
YyB2b2lkIGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKFdlYlByZWZlcmVuY2VzKiBwcmVmZXJl
bmNlcykKICAgICBbcHJlZmVyZW5jZXMgc2V0Q1NTU2hhZG93UGFydHNFbmFibGVkOllFU107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFi
bGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldENTU09NVmlld1Ntb290aFNjcm9sbGluZ0Vu
YWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6
WUVTXTsKIH0KIAogLy8gQ2FsbGVkIGJlZm9yZSBlYWNoIHRlc3QuCkBAIC0xMDQ0LDYgKzEwNDUs
NyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKGNvbnN0IFRl
c3RPcHRpb25zJiBvcHRpb25zKQogICAgIHByZWZlcmVuY2VzLmxheW91dEZvcm1hdHRpbmdDb250
ZXh0SW50ZWdyYXRpb25FbmFibGVkID0gb3B0aW9ucy5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dElu
dGVncmF0aW9uRW5hYmxlZDsKICAgICBwcmVmZXJlbmNlcy5hc3BlY3RSYXRpb09mSW1nRnJvbVdp
ZHRoQW5kSGVpZ2h0RW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlQXNwZWN0UmF0aW9PZkltZ0Zyb21X
aWR0aEFuZEhlaWdodDsKICAgICBwcmVmZXJlbmNlcy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFV
UkxzID0gb3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzOworICAgIHByZWZlcmVu
Y2VzLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkID0gb3B0aW9ucy5lbmFibGVPdmVyc2Nyb2xsRXZl
bnRzOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFydHVwLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDc2M2FhMmU4MzIuLjM0ODE0
YzMzYjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5w
bQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTEzOCw2
ICsxMzgsNyBAQCBteSAoCiAgICAgJG9mZnNjcmVlbkNhbnZhc1N1cHBvcnQsCiAgICAgJG9yaWVu
dGF0aW9uRXZlbnRzU3VwcG9ydCwKICAgICAkb3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFN1cHBvcnQs
CisgICAgJG92ZXJzY3JvbGxFdmVudHNTdXBwb3J0LAogICAgICRwYXltZW50UmVxdWVzdFN1cHBv
cnQsCiAgICAgJHBkZmtpdFBsdWdpblN1cHBvcnQsCiAgICAgJHBpY3R1cmVJblBpY3R1cmVBUElT
dXBwb3J0LApAQCAtNDY0LDYgKzQ2NSw5IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlv
biA9PiAib3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoIiwgZGVzYyA9PiAiVG9nZ2xlIGFjY2VsZXJh
dGVkIHNjcm9sbGluZyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX09WRVJGTE9X
X1NDUk9MTElOR19UT1VDSCIsIHZhbHVlID0+IFwkb3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFN1cHBv
cnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJvdmVyc2Nyb2xsLWV2ZW50cyIsIGRlc2MgPT4gIkVu
YWJsZSBPdmVyc2Nyb2xsIEV2ZW50cyBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X09WRVJTQ1JPTExfRVZFTlRTIiwgdmFsdWUgPT4gXCRvdmVyc2Nyb2xsRXZlbnRzU3VwcG9ydCB9
LAorCiAgICAgeyBvcHRpb24gPT4gInBheW1lbnQtcmVxdWVzdCIsIGRlc2MgPT4gIlRvZ2dsZSBQ
YXltZW50IFJlcXVlc3Qgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9QQVlNRU5U
X1JFUVVFU1QiLCB2YWx1ZSA9PiBcJHBheW1lbnRSZXF1ZXN0U3VwcG9ydCB9LAogCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCBjZmJiNzI5NTEzLi4xMDZiNWM0YTBhIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTI5Niw2ICsyOTYsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyA9IDsKIEVO
QUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
TkdfVE9VQ0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19U
T1VDSF9jb2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSDsKIAorRU5B
QkxFX09WRVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTOworCiBFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAogRU5BQkxFX1BJ
Q1RVUkVfSU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJXyQo
V0tfUExBVEZPUk1fTkFNRSkpOwpAQCAtNDE2LDQgKzQxOCw0IEBAIEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFC
TEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NT
U19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJ
Q1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lO
U1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVf
UkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NB
TlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5U
X1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FO
REJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJM
RV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNU
VVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQ
RUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VM
QVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5W
QVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9M
TF9FVkVOVFMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVf
T0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZF
Ul9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNF
X1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9V
U0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dF
QkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VC
WFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395799</attachid>
            <date>2020-04-08 06:32:03 -0700</date>
            <delta_ts>2020-04-08 06:47:27 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-004-all.diff</filename>
            <type>text/plain</type>
            <size>143818</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzNDlkYzA3ZGI0Li5hZGEz
NGVmMzZkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wNC0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTkz
OTAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMzZmMTI0Zjg1ZS4uYzcyMWVlYmMwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA0LTA4ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2ZW50IG9mIHByb2dyYW1tYXRpYyBzY3Jv
bGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
OTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04gRkFJTEVE
OiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUgc2VlbiB3
aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBlYjE2OTMzYjhmLi45MTI4YWI0ZDhhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE2NCw3ICsxNjQsMTUgQEAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2
YWN5LyBbIFNraXAgXQogZmFzdC9oYXJuZXNzL3Vpc2NyaXB0Y29udHJvbGxlciBbIFNraXAgXQog
CiAjIE9ubHkgaU9TIGhhcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBVSVNjcmlwdENvbnRyb2xsZXI6
OnNlbmRFdmVudFN0cmVhbSgpLgotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL3Njcm9sbGluZyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWRvY3VtZW50
Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1lbGVtZW50LXdpdGgtb3ZlcnNj
cm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tc2Nyb2xs
ZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8td2luZG93Lmh0
bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9z
Y3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWFmdGVyLXNuYXAuaHRtbCBbIFNraXAgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3Jv
bGxlbmQtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtdG8tZWxlbWVudC13aXRoLW92ZXJzY3JvbGwtYmVoYXZpb3IuaHRtbCBbIFNraXAgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3Jv
bGxlbmQtZXZlbnQtZmlyZWQtdG8tc2Nyb2xsZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBbIFNraXAgXQogCiAjIFRoaXMgdGVzdCBvbmx5
IG1ha2VzIHNlbnNlIG9uIE1hYwogZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtc3VidGl0bGUt
cmVzaXplLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi45NjZjOWYxYWJiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRp
Yy1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RzIHNjcm9s
bGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVuY3Rpb25zLiAKK1BBU1MgVGVzdHMgc2Ny
b2xsZW5kIGV2ZW50IGZvciBjaGFuZ2luZyBzY3JvbGwgYXR0cmlidXRlcy4gCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNj
cm9sbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjQzZmI3YWNk
ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3It
cHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sCkBAIC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUgSFRN
TD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZD10cnVlIGV4cGVyaW1lbnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
PXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcm9s
bF9zdXBwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0OiAz
MDAwcHg7CisgICAgd2lkdGg6IDMwMDBweDsKKyAgfQorCisgICN0YXJnZXREaXYgeworICAgIHdp
ZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIG92ZXJmbG93OiBzY3JvbGw7Cisg
IH0KKworICAjaW5uZXJEaXYgeworICAgIHdpZHRoOiA0MDBweDsKKyAgICBoZWlnaHQ6IDQwMHB4
OworICB9Cis8L3N0eWxlPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD1ydW5UZXN0
KCk+CisgIDxkaXYgaWQ9InRhcmdldERpdiI+CisgICAgPGRpdiBpZD0iaW5uZXJEaXYiPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisgIHZhciBlbGVtZW50X3Njcm9s
bGVuZF9hcnJpdmVkID0gZmFsc2U7CisgIHZhciBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IGZhbHNlOworCisgIGZ1bmN0aW9uIG9uRWxlbWVudFNjcm9sbEVuZChldmVudCkgeworICAgIGFz
c2VydF9mYWxzZShldmVudC5jYW5jZWxhYmxlKTsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQuYnVi
Ymxlcyk7CisgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgIH0KKworICBm
dW5jdGlvbiBvbkRvY3VtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgYXNzZXJ0X2ZhbHNlKGV2
ZW50LmNhbmNlbGFibGUpOworICAgIC8vIHNjcm9sbGVuZCBldmVudHMgYXJlIGJ1YmJsZWQgd2hl
biB0aGUgdGFyZ2V0IG5vZGUgaXMgZG9jdW1lbnQuCisgICAgYXNzZXJ0X3RydWUoZXZlbnQuYnVi
Ymxlcyk7CisgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICB9CisKKyAg
ZnVuY3Rpb24gY2FsbFNjcm9sbEZ1bmN0aW9uKFtzY3JvbGxUYXJnZXQsIHNjcm9sbEZ1bmN0aW9u
LCBhcmdzXSkgeworICAgIHNjcm9sbFRhcmdldFtzY3JvbGxGdW5jdGlvbl0oYXJncyk7CisgIH0K
KworICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGxldCByb290X2VsZW1lbnQgPSBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50OworICAgIGxldCB0YXJnZXRfZGl2ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldERpdiIpOworCisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7
CisgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworICAgICAgdGFyZ2V0X2Rp
di5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkVsZW1lbnRTY3JvbGxFbmQpOworICAg
ICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwgb25Eb2N1bWVudFNjcm9s
bEVuZCk7CisKKyAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWworICAgICAgICBbdGFyZ2V0X2Rpdiwg
MjAwLCAyMDAsIFt0YXJnZXRfZGl2LCAic2Nyb2xsVG8iLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAs
IGJlaGF2aW9yOiAiYXV0byIgfV1dLAorICAgICAgICBbdGFyZ2V0X2RpdiwgMCwgMCwgW3Rhcmdl
dF9kaXYsICJzY3JvbGxUbyIsIHsgdG9wOiAwLCBsZWZ0OiAwLCBiZWhhdmlvcjogInNtb290aCIg
fV1dLAorICAgICAgICBbcm9vdF9lbGVtZW50LCAyMDAsIDIwMCwgW3Jvb3RfZWxlbWVudCwgInNj
cm9sbFRvIiwgeyB0b3A6IDIwMCwgbGVmdDogMjAwLCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAg
ICAgICAgW3Jvb3RfZWxlbWVudCwgMCwgMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvIiwgeyB0
b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0sCisgICAgICAgIFt0YXJnZXRf
ZGl2LCAyMDAsIDIwMCwgW3RhcmdldF9kaXYsICJzY3JvbGxCeSIsIHsgdG9wOiAyMDAsIGxlZnQ6
IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBb
dGFyZ2V0X2RpdiwgInNjcm9sbEJ5IiwgeyB0b3A6IC0yMDAsIGxlZnQ6IC0yMDAsIGJlaGF2aW9y
OiAic21vb3RoIiB9XV0sCisgICAgICAgIFtyb290X2VsZW1lbnQsIDIwMCwgMjAwLCBbcm9vdF9l
bGVtZW50LCAic2Nyb2xsQnkiLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0
byIgfV1dLAorICAgICAgICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Ny
b2xsQnkiLCB7IHRvcDogLTIwMCwgbGVmdDogLTIwMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXQor
ICAgICAgXTsKKworICAgICAgZm9yIChpID0gMDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgbGV0IHQgPSB0ZXN0X2Nhc2VzW2ldOworICAgICAgICBsZXQgdGFyZ2V0ID0g
dFswXTsKKyAgICAgICAgbGV0IGV4cGVjdGVkX3ggPSB0WzFdOworICAgICAgICBsZXQgZXhwZWN0
ZWRfeSA9IHRbMl07CisgICAgICAgIGxldCBzY3JvbGxfZGF0YXMgPSB0WzNdOworCisgICAgICAg
IGNhbGxTY3JvbGxGdW5jdGlvbihzY3JvbGxfZGF0YXMpOworICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsgcmV0dXJuIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Ny
b2xsZW5kX2Fycml2ZWQ7IH0sIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICBpZiAodGFy
Z2V0ID09IHJvb3RfZWxlbWVudCkKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5z
Y3JvbGxMZWZ0LCBleHBlY3RlZF94LCB0YXJnZXQudGFnTmFtZSArICIuIiArIHNjcm9sbF9kYXRh
c1sxXSArICIgc2Nyb2xsTGVmdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5zY3Jv
bGxUb3AsIGV4cGVjdGVkX3ksIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBzY3JvbGxUb3AiKTsKKworICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0g
ZmFsc2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAg
ICB9CisgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVu
Y3Rpb25zLiIpOworCisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgICBhd2Fp
dCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworCisgICAgICBsZXQgdGVzdF9jYXNlcyA9IFsK
KyAgICAgICAgW3RhcmdldF9kaXYsICJzY3JvbGxUb3AiXSwKKyAgICAgICAgW3RhcmdldF9kaXYs
ICJzY3JvbGxMZWZ0Il0sCisgICAgICAgIFtyb290X2VsZW1lbnQsICJzY3JvbGxUb3AiXSwKKyAg
ICAgICAgW3Jvb3RfZWxlbWVudCwgInNjcm9sbExlZnQiXQorICAgICAgXTsKKyAgICAgIGZvciAo
aSA9IDA7IGkgPCB0ZXN0X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGxldCB0ID0gdGVz
dF9jYXNlc1tpXTsKKyAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07CisgICAgICAgIGxldCBhdHRy
aWJ1dGUgPSB0WzFdOworICAgICAgICBsZXQgcG9zaXRpb24gPSAyMDA7CisKKyAgICAgICAgdGFy
Z2V0LnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CisgICAgICAgIHRhcmdldFthdHRy
aWJ1dGVdID0gcG9zaXRpb247CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4g
ZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsg
fSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiIGRpZCBub3QgcmVjZWl2ZSBz
Y3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQor
ICAgICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0W2F0dHJpYnV0ZV0sIHBvc2l0aW9uLCB0
YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgIik7CisgICAgICAgIGVsZW1lbnRf
c2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQgPSBmYWxzZTsKKworICAgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgp
OworICAgICAgICB0YXJnZXQuc3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSAiYXV0byI7CisgICAgICAg
IHRhcmdldFthdHRyaWJ1dGVdID0gMDsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJl
dHVybiBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJp
dmVkOyB9LCB0YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgZGlkIG5vdCByZWNl
aXZlIHNjcm9sbGVuZCBldmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1l
bnQpCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXRbYXR0cmlidXRlXSwgMCwgdGFy
Z2V0LnRhZ05hbWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiICIpOworICAgICAgICBlbGVtZW50X3Nj
cm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJp
dmVkID0gZmFsc2U7CisgICAgICB9CisgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Ig
Y2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0ZXMuIik7CisgIH0KKzwvc2NyaXB0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZp
cmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1l
dmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmJlYzcxMWZkZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Ny
b2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Ny
b2xsSW50b1ZpZXcuIAorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3RlZCBzY3Jv
bGxJbnRvVmlldy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVk
LWZvci1zY3JvbGxJbnRvVmlldy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMC4uZWRkMzhjMGYyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sCkBAIC0wLDAgKzEsMTI0IEBACis8IURP
Q1RZUEUgSFRNTD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Ny
b2xsRXZlbnRzRW5hYmxlZD10cnVlIGV4cGVyaW1lbnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxvbmci
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InNjcm9sbF9zdXBwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBodG1sIHsKKyAg
ICAgICAgaGVpZ2h0OiAzMDAwcHg7CisgICAgICAgIHdpZHRoOiAzMDAwcHg7CisgICAgfQorCisg
ICAgI3RhcmdldERpdiB7CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAy
MDBweDsKKyAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICB9CisKKyAgICAjaW5uZXJEaXYg
eworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgfQor
PC9zdHlsZT4KKworPGJvZHkgc3R5bGU9Im1hcmdpbjowIiBvbmxvYWQ9cnVuVGVzdCgpPgorICAg
IDxkaXYgaWQ9InRhcmdldERpdiI+CisgICAgICAgIDxkaXYgaWQ9ImlubmVyRGl2Ij4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorICAgIHZhciBlbGVtZW50
X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgdmFyIGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkID0gZmFsc2U7CisKKyAgICBmdW5jdGlvbiBvbkVsZW1lbnRTY3JvbGxFbmQoZXZlbnQp
IHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgICAgICBhc3Nl
cnRfZmFsc2UoZXZlbnQuYnViYmxlcyk7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uRG9jdW1lbnRTY3JvbGxFbmQoZXZl
bnQpIHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgICAgICAv
LyBzY3JvbGxlbmQgZXZlbnRzIGFyZSBidWJibGVkIHdoZW4gdGhlIHRhcmdldCBub2RlIGlzIGRv
Y3VtZW50LgorICAgICAgICBhc3NlcnRfdHJ1ZShldmVudC5idWJibGVzKTsKKyAgICAgICAgZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNh
bGxTY3JvbGxGdW5jdGlvbihbc2Nyb2xsVGFyZ2V0LCBzY3JvbGxGdW5jdGlvbiwgYXJnc10pIHsK
KyAgICAgICAgc2Nyb2xsVGFyZ2V0W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBsZXQgcm9vdF9lbGVtZW50ID0gZG9jdW1l
bnQuc2Nyb2xsaW5nRWxlbWVudDsKKyAgICAgICAgbGV0IHRhcmdldF9kaXYgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0RGl2Iik7CisgICAgICAgIGxldCBpbm5lcl9kaXYgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaW5uZXJEaXYiKTsKKworICAgICAgICAvLyBHZXQgZXhwZWN0
ZWQgcG9zaXRpb24gZm9yIHJvb3RfZWxlbWVudCBzY3JvbGxJbnRvVmlldy4KKyAgICAgICAgcm9v
dF9lbGVtZW50LnNjcm9sbFRvKDEwMDAwLCAxMDAwMCk7CisgICAgICAgIGxldCBtYXhfcm9vdF94
ID0gcm9vdF9lbGVtZW50LnNjcm9sbExlZnQ7CisgICAgICAgIGxldCBtYXhfcm9vdF95ID0gcm9v
dF9lbGVtZW50LnNjcm9sbFRvcDsKKyAgICAgICAgcm9vdF9lbGVtZW50LnNjcm9sbFRvKDAsIDAp
OworCisgICAgICAgIHRhcmdldF9kaXYuc2Nyb2xsVG8oMTAwMDAsIDEwMDAwKTsKKyAgICAgICAg
bGV0IG1heF9lbGVtZW50X3ggPSB0YXJnZXRfZGl2LnNjcm9sbExlZnQ7CisgICAgICAgIGxldCBt
YXhfZWxlbWVudF95ID0gdGFyZ2V0X2Rpdi5zY3JvbGxUb3A7CisgICAgICAgIHRhcmdldF9kaXYu
c2Nyb2xsVG8oMCwgMCk7CisKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7Cisg
ICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworICAgICAgICAgICAg
dGFyZ2V0X2Rpdi5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkVsZW1lbnRTY3JvbGxF
bmQpOworICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwg
b25Eb2N1bWVudFNjcm9sbEVuZCk7CisKKyAgICAgICAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWwor
ICAgICAgICAgICAgICAgIFt0YXJnZXRfZGl2LCBtYXhfZWxlbWVudF94LCBtYXhfZWxlbWVudF95
LCBbaW5uZXJfZGl2LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGluZTogImVuZCIsIGJsb2NrOiAi
ZW5kIiwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgICAgICAgICAgW3RhcmdldF9kaXYs
IDAsIDAsIFtpbm5lcl9kaXYsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAic3RhcnQiLCBi
bG9jazogInN0YXJ0IiwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgICAgICAgICBb
cm9vdF9lbGVtZW50LCBtYXhfcm9vdF94LCBtYXhfcm9vdF95LCBbcm9vdF9lbGVtZW50LCAic2Ny
b2xsSW50b1ZpZXciLCB7IGlubGluZTogImVuZCIsIGJsb2NrOiAiZW5kIiwgYmVoYXZpb3I6ICJz
bW9vdGgiIH1dXSwKKyAgICAgICAgICAgICAgICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9l
bGVtZW50LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGluZTogInN0YXJ0IiwgYmxvY2s6ICJzdGFy
dCIsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0KKyAgICAgICAgICAgIF07CisKKyAgICAgICAgICAg
IGZvciAoaSA9IDA7IGkgPCB0ZXN0X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAg
ICAgbGV0IHQgPSB0ZXN0X2Nhc2VzW2ldOworICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0
WzBdOworICAgICAgICAgICAgICAgIGxldCBleHBlY3RlZF94ID0gdFsxXTsKKyAgICAgICAgICAg
ICAgICBsZXQgZXhwZWN0ZWRfeSA9IHRbMl07CisgICAgICAgICAgICAgICAgbGV0IHNjcm9sbF9k
YXRhcyA9IHRbM107CisKKyAgICAgICAgICAgICAgICBjYWxsU2Nyb2xsRnVuY3Rpb24oc2Nyb2xs
X2RhdGFzKTsKKyAgICAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGVs
ZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7IH0s
IHRhcmdldC50YWdOYW1lICsgIi5zY3JvbGxJbnRvVmlldyAgZGlkIG5vdCByZWNlaXZlIHNjcm9s
bGVuZCBldmVudC4iKTsKKyAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVu
dCkKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHRhcmdldC5zY3JvbGxMZWZ0LCBleHBlY3RlZF94LCB0YXJnZXQudGFnTmFtZSAr
ICIuc2Nyb2xsSW50b1ZpZXcgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0LnNjcm9sbFRvcCwgZXhwZWN0ZWRfeSwgdGFyZ2V0LnRhZ05hbWUgKyAiLnNj
cm9sbEludG9WaWV3IHNjcm9sbFRvcCIpOworCisgICAgICAgICAgICAgICAgZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGRvY3VtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0sICJUZXN0cyBzY3Jv
bGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3LiIpOworCisgICAgICAgIHByb21pc2VfdGVz
dChhc3luYyAodCkgPT4geworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0
YXJnZXRfZGl2KTsKKyAgICAgICAgICAgIGxldCBvdXRfZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgICAgICAgICBvdXRfZGl2LnN0eWxlID0gIndpZHRoOiAxMDBweDsg
aGVpZ2h0OjEwMHB4OyBvdmVyZmxvdzpzY3JvbGw7IHNjcm9sbC1iZWhhdmlvcjpzbW9vdGg7IjsK
KyAgICAgICAgICAgIG91dF9kaXYuYXBwZW5kQ2hpbGQodGFyZ2V0X2Rpdik7CisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG91dF9kaXYpOworICAgICAgICAgICAgYXdhaXQg
d2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKworICAgICAgICAgICAgZWxlbWVudF9zY3JvbGxl
bmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIGlubmVyX2Rpdi5zY3JvbGxJbnRvVmlldyh7IGlubGlu
ZTogImVuZCIsIGJsb2NrOiAiZW5kIiwgYmVoYXZpb3I6ICJhdXRvIiB9KTsKKyAgICAgICAgICAg
IGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8
fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBk
aWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhyb290X2VsZW1lbnQuc2Nyb2xsTGVmdCwgMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBy
b290X2VsZW1lbnQgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyb290
X2VsZW1lbnQuc2Nyb2xsVG9wLCAwLCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHJvb3RfZWxlbWVu
dCBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMob3V0X2Rpdi5zY3JvbGxM
ZWZ0LCAxMDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgb3V0X2RpdiBzY3JvbGxMZWZ0Iik7Cisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG91dF9kaXYuc2Nyb2xsVG9wLCAxMDAsICJOZXN0ZWQg
c2Nyb2xsSW50b1ZpZXcgb3V0X2RpdiBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0X2Rpdi5zY3JvbGxMZWZ0LCBtYXhfZWxlbWVudF94LCAiTmVzdGVkIHNjcm9s
bEludG9WaWV3IHRhcmdldF9kaXYgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyh0YXJnZXRfZGl2LnNjcm9sbFRvcCwgbWF4X2VsZW1lbnRfeSwgIk5lc3RlZCBzY3JvbGxJ
bnRvVmlldyB0YXJnZXRfZGl2IHNjcm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2ZhbHNl
KGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgfSwgIlRlc3RzIHNjcm9sbGVu
ZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbEludG9WaWV3LiIpOworICAgIH0KKzwvc2NyaXB0Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDg4
ZmQzMmUzNjguLmVmMzg2ZGEwYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZy
w6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBFTkFCTEVfT1ZFUlNDUk9MTF9F
VkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAyMC0wNC0wMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qgc2hvdWxkIGdyYWNlZnVsbHkgdGhy
b3cgT09NIGVycm9yIGlmIGlucHV0ICsgZXJyb3IgbWVzc2FnZSBpcyB0b28gbGFyZ2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCBlZmZjNzJiNmIxLi5jYmM5OTg2M2MyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5W
QVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5U
UzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAK
IEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNU
VVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElD
VFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAk
KEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktf
Q0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NU
QUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RV
UkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChF
TkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFM
RV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZT
Q1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxF
X09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVO
QUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
S0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGNiMmI1NWQ1ZjYuLmU1ZDI5NTIzYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjEgQEAKKzIwMjAtMDQtMDggIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3Jh
bW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMg
c2Nyb2xsaW5nLiBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1lbnQg
c3RvcmVzCisgICAgICAgIHRoZSBzY3JvbGxlZCB0YXJnZXRzIHdoaWNoIG5lZWQgdG8gZGlzcGF0
Y2ggc2Nyb2xsZW5kIGV2ZW50cy4gRnJhbWVWaWV3IGFuZCBSZW5kZXJMYXllciBwcm92aWRlIHRo
cmVlIHdheXMgdG8KKyAgICAgICAgYWRkIGVsZW1lbnRzIHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4g
ICAgIAorICAgICAgICAxLiBJbnN0YW50IHNjcm9sbGluZyBpbmNsdWRpbmcgdGhlIHNjcm9sbGlu
ZyBwb3NpdGlvbiBub3QgY2hhbmdlZCBhbmltYXRlZCBzY3JvbGwsIHRoZSBlbGVtZW50IHdvdWxk
IGFkZCB0byB0aGUgbGlzdAorICAgICAgICBhZnRlciBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4K
KyAgICAgICAgMi4gQW5pbWF0ZWQgc2Nyb2xsaW5nLCB0aGUgZWxlbWVudCB3b3VsZCBiZSBzZXQg
YXMgdGhlIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgb2YgU2Nyb2xsQW5pbWF0aW9uIGFuZCBhZGQg
dG8gdGhlIGxpc3QKKyAgICAgICAgd2hlbiBhbmltYXRpb24gc3RvcHMuIEZvciBzY3JvbGxSZWN0
SW50b1ZpZXcsIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSBzY3JvbGxlbmQgZXZlbnQgZmlyZWQgYWZ0
ZXIgYWxsIGFuY2VzdG9yIGxheWVycworICAgICAgICBmaW5pc2hpbmcgc2Nyb2xsaW5nLCBhZGQg
bV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5kaWNhdGUgaWYgc2Nyb2xsUmVjdEludG9W
aWV3IGZpbmlzaGVkLiBXaGVuIFNjcm9sbEFuaW1hdGlvbgorICAgICAgICBzdG9wcywgaXQgd2ls
bCB0cnkgdG8gZmluZCBhIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3RvciBsYXllciBh
bmQgcGFzcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byBpdHMKKyAgICAgICAgU2Nyb2xs
QW5pbWF0aW9uLiBJZiBubyBzdWNoIGxheWVyIGZvdW5kLCBhZGQgbV9zY3JvbGxFbmRFdmVudFRh
cmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIDMuIFVzZXIgYXN5bmNocm9ub3Vz
IHNjcm9sbGluZywgdGhlIHNjcm9sbCBwb3NpdGlvbiB3b3VsZG4ndCBjaGFuZ2UgaW1tZWRpYXRl
bHkuIFNvIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uCisgICAgICAgIHRoZW4gY2hlY2tTY3Jv
bGxFbmRFdmVudFBvc2l0aW9uIGlmIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2VkLiBUaGUgcHJvZ3Jh
bW1hdGljIHNjcm9sbGluZyB3b3VsZG4ndCB0cmlnZ2VyIHRoaXMgd2F5LgorCisgICAgICAgIFRl
c3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcv
c2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwKKyAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y29t
bW9uVGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFyZ2V0cyB0byBtX3BlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cnVuU2Nyb2xs
U3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQgZm9yIGVhY2ggdGFyZ2V0LgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0
IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQgdGFyZ2V0cy4KKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KTog
U2V0IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzIGZvciBGcmFtZVZpZXcgZWxlbWVudC4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6IERpdHRvLgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xs
VG8gY29uc3QpOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGZvciBzY3JvbGxp
bmcgdG8gKDAsIDApIG9wdGltaXphdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIGRv
Y3VtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChpbnN0YW50IHNjcm9s
bCBvciBzbW9vdGggc2Nyb2xsCisJd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zaXRpb24sIG90aGVy
d2lzZSBzZXQgZG9jdW1lbnQgYXMgdGhlIHNjcm9sbEVuZFRhcmdldCBvZiBzY3JvbGxBbmlhbXRp
b24uKS4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9z
aXRpb24pOiBTYXZlIHRoZSBzY3JvbGwgcG9zaXRpb24gdGhhdCByZXF1aXJlcyB0byBmaXJlIGFu
IHNjcm9sbGVuZCBldmVudC4gVGhpcyBpcyBmb3IgYXN5bmNocm9ub3VzIHNjcm9sbC4KKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKTogQWRk
IGRvY3VtZW50IHRvIHRoZSBsaXN0IGlmIHRoZSBzY3JvbGwgcG9zaXRpb24gZXF1YWwgdG8gdGhl
IHByZXNlcnZlZCBvbmUuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCk6IEFkZCBEb2N1bWVudCB0byBtX3BlbmRpbmdTY3JvbGxlbmRF
dmVudFRhcmdldExpc3QgaW4gRG9jdW1lbnQuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDog
QWRkIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IHRvIGluZGljYXRlIEZyYW1lVmlldyBpcyBw
ZXJmb3JtaW5nIGEgYW5pbWF0ZWQgc2Nyb2xsUmVjdEludG9WaWV3IHNjcm9sbC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdGlvbjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxB
bmltYXRpb25TbW9vdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjpzdG9wKTogQ2FsbCBub3RpZnlTY3JvbGxFbmQuCisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRpb25TbW9vdGg6Om5vdGlmeVNjcm9sbEVuZCk6IHNldER1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldyBmYWxzZS4gSWYgdGhlcmUncyBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LCB0cnkgdG8g
ZmluZCBhbiBhbmNlc3RvciBsYXllcgorCWR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmQgc2V0
IHRoZSB0YXJnZXQgdG8gaXQuIE90aGVyd2lzZSwgYWRkIHRoZSB0YXJnZXQgdG8gdGhlIHNjcm9s
bGVuZCBsaXN0LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRT
Y3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjphbmltYXRpb25UaW1lckZpcmVkKTogQ2FsbCBub3RpZnlTY3JvbGxFbmQgaWYgbm90IGNvbnRp
bnVlQW5pbWF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5o
OiBBZGQgbV9zY3JvbGxFbmRFdmVudFRhcmdldC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxB
bmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xs
RW5kVGFyZ2V0KTogU2V0IG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgdG8gU2Nyb2xsQW5pbWF0aW9u
U21vb3RoLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZp
ZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24pOiBBZGQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50
OjpZZXMuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxUbyk6IENhbGwgY2hl
Y2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uIGlmIHRoZSBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbEVu
ZFRhcmdldCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjphZGRQZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmR1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6
c2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFi
bGVBcmVhOjpmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpz
ZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG9ZUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIGVsZW1lbnQgdG8g
dGhlIHNjcm9sbGVuZCBsaXN0IGlmIGl0IHNjcm9sbGVkKGluc3RhbnQgc2Nyb2xsIG9yIHNtb290
aCBzY3JvbGwKKwl3aXRob3V0IGNoYW5naW5nIHRoZSBwb3NpdGlvbiwgb3RoZXJ3aXNlIHNldCBl
bGVtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Nyb2xsQW5pYW10aW9uLikuCisKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldCk6IENhbGwgY2hlY2tT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uLCBpZiB0aGVyZSBpcyBubyBzY3JvbGxpbmcuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOiBjaGVja1Njcm9sbEVuZEV2ZW50UG9z
aXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyh0cnVlKSBpZiBpdCdzIHBlcmZvcm1pbmcgYSBhbmltYXRlZCBzY3JvbGxpbmcuCisJQWZ0ZXIg
cGFyZW50TGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUoKSwgY2hlY2sgaWYgY3VycmVudCBsYXll
ciBpcyBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcsIHNldCB0aGUgZWxlbWVudCBhcyBhbmltYXRp
b24ncyBzY3JvbGxlbmQgVGFyZ2V0LgorCU90aGVyd2lzZSwgZmluZCB0aGUgZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3IGFuY2VzdG9yIGxheWVyIGFuZCBwYXNzIHRoZSBlbGVtZW50IHRvIGFuY2Vz
dG9yIGxheWVyJ3Mgc2Nyb2xsQW5pbWF0aW9uLgorCUlmIG5vIGR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldyBsYXllciBmb3VuZCwgYWRkIHRoZSBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpbmRBbmNl
c3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyk6IEZpbmQgdGhlIGR1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldyBhbmNlc3RvciBsYXllciwgYW5kIGNoZWNrIEZyYW1lVmlldyBhdCB0aGUgZW5kLiAK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xs
UmVjdFRvVmlzaWJsZSk6IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKworMjAyMC0w
My0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcn
cyBwYXRjaC4KKworICAgICAgICBQYXJzZSBvbm92ZXJzY3JvbGwvc2Nyb2xsZW5kIGF0dHJpYnV0
ZSBhbmQgb3ZlcnNjcm9sbC9vdmVyc2Nyb2xsIGV2ZW50IG5hbWUuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMu
aDoKKyAgICAgICAgKiBkb20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1h
cCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCisyMDIwLTA0LTA3ICBDYXRoaWUg
Q2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBGaXggdXAgY29kZSBzdHls
ZSBmb3Igc2Nyb2xsIGFuaW1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjEwMTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgMS4gVXNlIEFuaW1hdGVkU2Nyb2xsIGluc3RlYWQgb2YgYm9vbCB0byBp
bmRpY2F0ZSBhbmltYXRlZCBvciBub3QuCisgICAgICAgIDIuIFJlbW92ZSBwYXJhbWV0ZXIgU2Ny
b2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMsIHRoZSBhdXRvc2Nyb2xsIHN0YXR1cyBpcyBhdmFpbGFi
bGUgZnJvbSBFdmVudEhhbmRsZXIuCisgICAgICAgIDMuIEluIG9yZGVyIHRvIGtlZXAgY29uc2lz
dGVudCwgdXNlIFJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbiBpbnN0ZWFkIG9mIFJlbmRl
ckxheWVyOjpzY3JvbGxUb1Bvc2l0aW9uLgorICAgICAgICA0LiBBZGQgQW5pbWF0ZWRTY3JvbGwg
cGFyYW1ldGVyIHRvIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24sIHRoZW4g
dGhlIHNjcm9sbCBhbmltYXRpb24KKyAgICAgICAgY2FuIGJlIGRlYWx0IGluIEZyYW1lVmlldzo6
c2V0U2Nyb2xsUG9zaXRpb24uCisgICAgICAgIDUuIEluIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBv
c2l0aW9uLCB0aGUgc2Nyb2xsIGFuaW1hdGlvbiBzaG91bGQgYmUgY2FuY2xlZCBiZWZvcmUgcmV0
dXJuLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOiBVc2UgQW5pbWF0ZWRTY3JvbGwgaW5z
dGVhZCBvZiBib29sLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2Nyb2xsVG8pOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsTGVmdCk6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8gY29uc3QpOiBObyBuZWVkIHRv
IGNhbGwgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uIGhlcmUuCisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRTY3JvbGxQb3Np
dGlvbik6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxUeXBlcy5oOiBBZGQgQW5pbWF0ZWRTY3JvbGwuCisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Nj
cm9sbFBvc2l0aW9uKTogQWRkIHBhcmFtZXRlciBBbmltYXRlZFNjcm9sbC4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQ2FuY2VsIHRoZSBzY3JvbGwg
YW5pbWF0aW9uIGJlZm9yZSByZXR1cm4uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
c2V0U2Nyb2xsVG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9z
aXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNj
cm9sbFRvWFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxU
b1lQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9z
aXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2li
bGUpOiBSZW1vdmUgQXV0b3Njcm9sbFN0YXR1cy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjphdXRvc2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxU
b1Bvc2l0aW9uKTogRGVsZXRlZC4gVXNlIHNldFNjcm9sbFBvc2l0aW9uIGluc3RlYWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xs
TGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3ApOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNldFNjcm9sbExlZnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDoKKwogMjAyMC0wNC0wNCAg
UGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIy
NTkwOTUpOiBBU1NFUlRJT04gRkFJTEVEOiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9G
dWxsc2NyZWVuTW9kZU5vbmUgc2VlbiB3aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1
ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGVmZmM3MmI2YjEuLmNiYzk5ODYz
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5W
QVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5U
UzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAK
IEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNU
VVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElD
VFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAk
KEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktf
Q0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NU
QUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RV
UkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChF
TkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFM
RV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZT
Q1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxF
X09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVO
QUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
S0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggNThlMjQzMzFkZS4uZTFkNGRlZWZmMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0
aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xs
IGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisK
KyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRk
IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDIwLTA0LTAzICBEYXZpZCBLaWx6ZXIgIDxkZGtp
bHplckBhcHBsZS5jb20+CiAKICAgICAgICAgW1hjb2RlXSBSZXBsYWNlIEFTQU5fT1RIRVJfQ0ZM
QUdTIGFuZCBBU0FOX09USEVSX0NQTFVTUExVU0ZMQUdTIHdpdGggJChpbmhlcml0ZWQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggZWZmYzcyYjZiMS4uY2JjOTk4NjNjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtMjk3LDYgKzI5Nyw4IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5B
QkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSF8kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIX2NvY29hdG91Y2ggPSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFC
TEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElD
VFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChX
S19QTEFURk9STV9OQU1FKSk7CkBAIC00MTcsNCArNDE5LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJM
RV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RS
QU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19D
T05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
X1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElD
VFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5T
UEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVS
RSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNV
TEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9S
RVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FO
VkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFC
TEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5E
Qk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxF
X1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElT
VElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19U
WVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChF
TkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RV
UkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
R1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BF
Q1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
QVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxB
VElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVW
QUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZB
UykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xM
X0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9P
QlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVS
X1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VT
RVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
RFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJY
UikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBjNjIw
NWM1ZjZlLi4zMzYwYmM1OGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zMDUsNiArMzA1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIG1hY3JvKG1hdGNoaW5nRWxlbWVudEluRmxhdFRyZWUpIFwKICAgICBtYWNybyht
ZWRpYVN0cmVhbVRyYWNrQ29uc3RyYWludHMpIFwKICAgICBtYWNybyhvcGVuRGF0YWJhc2UpIFwK
KyAgICBtYWNybyhvbm92ZXJzY3JvbGwpIFwKKyAgICBtYWNybyhvbnNjcm9sbGVuZCkgXAogICAg
IG1hY3JvKG9udG91Y2hjYW5jZWwpIFwKICAgICBtYWNybyhvbnRvdWNoZW5kKSBcCiAgICAgbWFj
cm8ob250b3VjaG1vdmUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDNlZjk0NTkwMGIu
LmU1YzQ3ODdlZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzk5LDYgKzc5OSwxMCBA
QCB2b2lkIERvY3VtZW50Ojpjb21tb25UZWFyZG93bigpCiAKICAgICBtX3BlbmRpbmdTY3JvbGxF
dmVudFRhcmdldExpc3QgPSBudWxscHRyOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CisjZW5k
aWYKKwogICAgIHdoaWxlICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBt
X3RpbWVsaW5lcy5iZWdpbigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKICAgICBtX3RpbWVsaW5l
ID0gbnVsbHB0cjsKQEAgLTQwNzIsNiArNDA3NiwyNiBAQCB2b2lkIERvY3VtZW50OjphZGRQZW5k
aW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQogICAgIHRhcmdldHMu
YXBwZW5kKHRhcmdldCk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lk
IERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYg
dGFyZ2V0KQoreworICAgIGlmICghc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFy
Z2V0TGlzdCkKKyAgICAgICAgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ID0gbWFr
ZVVuaXF1ZTxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PigpOworCisgICAgYXV0byYgdGFy
Z2V0cyA9IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0czsKKyAgICBp
ZiAodGFyZ2V0cy5maW5kTWF0Y2hpbmcoWyZdIChhdXRvJiBlbnRyeSkgeyByZXR1cm4gZW50cnku
cHRyKCkgPT0gJnRhcmdldDsgfSkgIT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmICh0YXJnZXRzLmlzRW1wdHkoKSkKKyAgICAgICAgc2NoZWR1bGVUaW1lZFJlbmRlcmluZ1Vw
ZGF0ZSgpOworCisgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKK30KKyNlbmRpZgorCiB2b2lk
IERvY3VtZW50OjpzZXROZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQoKQogewogICAgIGlm
ICghbV9uZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQpCkBAIC00MDk3LDYgKzQxMjEsMTgg
QEAgdm9pZCBEb2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMoKQogICAgICAgICBpZiAoYXV0byogd2lu
ZG93ID0gZG9tV2luZG93KCkpCiAgICAgICAgICAgICB3aW5kb3ctPnZpc3VhbFZpZXdwb3J0KCku
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxFdmVudCwgRXZl
bnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgfQorCisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIC8vIERlYWwgd2l0aCBzY3JvbGxlbmQg
ZXZlbnQuCisgICAgaWYgKG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCAmJiAhbV9w
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzLmlzRW1wdHkoKSkgeworICAg
ICAgICBMT0dfV0lUSF9TVFJFQU0oRXZlbnRzLCBzdHJlYW0gPDwgIkRvY3VtZW50IiA8PCB0aGlz
IDw8ICJzZW5kaW5nIHNjcm9sbGVuZCBldmVudHMgdG8gcGVuZGluZyBzY3JvbGwgZXZlbnQgdGFy
Z2V0cyIpOworICAgICAgICBhdXRvIGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzID0gV1RGTW92ZSht
X3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMpOworICAgICAgICBmb3Ig
KGF1dG8mIHRhcmdldCA6IGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzKSB7CisgICAgICAgICAgICBh
dXRvIGJ1YmJsZXMgPSB0YXJnZXQtPmlzRG9jdW1lbnROb2RlKCkgPyBFdmVudDo6Q2FuQnViYmxl
OjpZZXMgOiBFdmVudDo6Q2FuQnViYmxlOjpObzsKKyAgICAgICAgICAgIHRhcmdldC0+ZGlzcGF0
Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxlbmRFdmVudCwgYnViYmxl
cywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgog
fQogCiB2b2lkIERvY3VtZW50OjphZGRBdWRpb1Byb2R1Y2VyKE1lZGlhUHJvZHVjZXImIGF1ZGlv
UHJvZHVjZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDgzOWFmY2Q1OGIuLjc0NWRhMmRmMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzYwLDYgKzEzNjAsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBydW5SZXNpemVTdGVwcygpOwogCiAgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRXZlbnRU
YXJnZXQoQ29udGFpbmVyTm9kZSYpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7Cisj
ZW5kaWYKICAgICB2b2lkIHNldE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpOwogICAg
IHZvaWQgcnVuU2Nyb2xsU3RlcHMoKTsKIApAQCAtMjA0Miw2ICsyMDQ1LDkgQEAgcHJpdmF0ZToK
IAogICAgIHN0cnVjdCBQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0OwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxFdmVu
dFRhcmdldExpc3Q7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHN0ZDo6dW5p
cXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldExpc3Q7CisjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAg
SGFzaFNldDxIVE1MTWVkaWFFbGVtZW50Kj4gbV9tZWRpYVN0cmVhbVN0YXRlQ2hhbmdlRWxlbWVu
dHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYzlkYmQ1ZTUzYS4uNzRjNDQ2NTE2NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcApAQCAtOTUwLDcgKzk1MCw3IEBAIHZvaWQgRWxlbWVudDo6c2Ny
b2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZykKICAgICAgICAgY2xhbXBUb0ludGVnZXIoc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUo
KSAqIHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSksCiAgICAgICAgIGNsYW1wVG9J
bnRlZ2VyKHNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSAqIHJlbmRlcmVyLT5zdHlsZSgpLmVm
ZmVjdGl2ZVpvb20oKSkKICAgICApOwotICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3Jv
bGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1
dG8pLCB0aGlzKTsKKyAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9s
bGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0
byksIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAg
ICByZW5kZXJlci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFR5cGU6
OlByb2dyYW1tYXRpYywgY2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIApAQCAtMTI5MywxNiArMTI5
MywyMCBAQCB2b2lkIEVsZW1lbnQ6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQpCiAgICAgICAg
IGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewogICAg
ICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxl
bWVudCgpPwogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhT
Y3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50
KCkpOworICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3Jv
bGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkp
ID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAg
IEludFBvaW50IHBvc2l0aW9uKHN0YXRpY19jYXN0PGludD4obmV3TGVmdCAqIGZyYW1lLT5wYWdl
Wm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSksIGZyYW1lLT52aWV3KCkt
PnNjcm9sbFkoKSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAg
ZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UK
ICAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2VuZGlmCiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHJlbmRlckJv
eCgpKSB7CiAgICAgICAgIGludCBjbGFtcGVkTGVmdCA9IGNsYW1wVG9JbnRlZ2VyKG5ld0xlZnQg
KiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBib29sIGFuaW1h
dGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKTsKKyAg
ICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xs
QmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Ny
b2xsOjpObzsKICAgICAgICAgcmVuZGVyZXItPnNldFNjcm9sbExlZnQoY2xhbXBlZExlZnQsIFNj
cm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVk
KTsKICAgICAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyZXItPmxheWVyKCkp
CiAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVk
U3RhdGUodHJ1ZSk7CkBAIC0xMzE3LDE2ICsxMzIxLDIwIEBAIHZvaWQgRWxlbWVudDo6c2V0U2Ny
b2xsVG9wKGludCBuZXdUb3ApCiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJh
bWVXaXRoTm9uTnVsbFZpZXcoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1
c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgLy8gU2VlIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAg
IGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8s
IGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAgQW5pbWF0ZWRTY3Jv
bGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRv
Y3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1h
dGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9uKGZyYW1lLT52aWV3
KCktPnNjcm9sbFgoKSwgc3RhdGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFtZS0+cGFnZVpvb21G
YWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpKTsKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlv
bihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBSZXF1ZXN0U2Ny
b2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0
U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRl
ZCk7CisjZW5kaWYKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYg
KGF1dG8qIHJlbmRlcmVyID0gcmVuZGVyQm94KCkpIHsKICAgICAgICAgaW50IGNsYW1wZWRUb3Ag
PSBjbGFtcFRvSW50ZWdlcihuZXdUb3AgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29t
KCkpOwotICAgICAgICBib29sIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJl
aGF2aW9yOjpBdXRvLCB0aGlzKTsKKyAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1
c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0ZWRT
Y3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgcmVuZGVyZXItPnNldFNj
cm9sbFRvcChjbGFtcGVkVG9wLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJl
YSA9IHJlbmRlcmVyLT5sYXllcigpKQogICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNj
cm9sbFNob3VsZENsZWFyTGF0Y2hlZFN0YXRlKHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgK
aW5kZXggNWNlZWU2ZjY4MS4uZTRkZjRjNGI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBA
IC0xOTEsNiArMTkxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKG9yaWVudGF0
aW9uY2hhbmdlKSBcCiAgICAgbWFjcm8ob3ZlcmNvbnN0cmFpbmVkKSBcCiAgICAgbWFjcm8ob3Zl
cmZsb3djaGFuZ2VkKSBcCisgICAgbWFjcm8ob3ZlcnNjcm9sbCkgXAogICAgIG1hY3JvKHBhZ2Vo
aWRlKSBcCiAgICAgbWFjcm8ocGFnZXNob3cpIFwKICAgICBtYWNybyhwYXN0ZSkgXApAQCAtMjI3
LDYgKzIyOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhyZXN1bHQpIFwKICAg
ICBtYWNybyhyZXN1bWUpIFwKICAgICBtYWNybyhzY3JvbGwpIFwKKyAgICBtYWNybyhzY3JvbGxl
bmQpIFwKICAgICBtYWNybyhzZWFyY2gpIFwKICAgICBtYWNybyhzZWN1cml0eXBvbGljeXZpb2xh
dGlvbikgXAogICAgIG1hY3JvKHNlZWtlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2
ZW50SGFuZGxlcnMuaWRsCmluZGV4IDc3MGFhOWMzYTcuLjFmMjc2NTM0ZjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGwKQEAgLTEzMiw0ICsxMzIsOCBAQAog
ICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNdIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRtb3VzZWZvcmNlZG93bjsKICAgICBbTm90RW51bWVy
YWJsZSwgQ29uZGl0aW9uYWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ud2Via2l0bW91c2Vmb3JjZXdpbGxiZWdpbjsKICAgICBbTm90RW51bWVyYWJsZSwgQ29u
ZGl0aW9uYWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Vi
a2l0bW91c2Vmb3JjZXVwOworCisgICAgLy8gRXZlbnQgaGFuZGxlcnMgZnJvbSBPdmVyc2Nyb2xs
IEV2ZW50cyBBUEkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vb3ZlcnNjcm9sbC1zY3JvbGxlbmQt
ZXZlbnRzLykKKyAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9T1ZFUlNDUk9MTF9FVkVO
VFMsIEVuYWJsZWRCeVNldHRpbmc9T3ZlcnNjcm9sbEV2ZW50c10gYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbm92ZXJzY3JvbGw7CisgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU9WRVJT
Q1JPTExfRVZFTlRTLCBFbmFibGVkQnlTZXR0aW5nPU92ZXJzY3JvbGxFdmVudHNdIGF0dHJpYnV0
ZSBFdmVudEhhbmRsZXIgb25zY3JvbGxlbmQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbgppbmRleCBkY2Q4Mzc4ZDk1Li4wOTlmZmI4MjI1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjY3LDYgKzI2Nyw3IEBAIG9u
bW91c2V3aGVlbAogb25vbmxpbmUKIG9ub2ZmbGluZQogb25vcmllbnRhdGlvbmNoYW5nZQorb25v
dmVyc2Nyb2xsCiBvbnBhZ2VoaWRlCiBvbnBhZ2VzaG93CiBvbnBhc3RlCkBAIC0yODcsNiArMjg4
LDcgQEAgb25yYXRlY2hhbmdlCiBvbnJlc2V0CiBvbnJlc2l6ZQogb25zY3JvbGwKK29uc2Nyb2xs
ZW5kCiBvbnNlYXJjaAogb25zZWVrZWQKIG9uc2Vla2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmNwcAppbmRleCAzMmVkNGFkMzFiLi5hZTU5YWMxMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50LmNwcApAQCAtMjg0LDYgKzI4NCw3IEBAIEhUTUxFbGVtZW50OjpFdmVudEhhbmRs
ZXJOYW1lTWFwIEhUTUxFbGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFwKCkKICAgICAg
ICAgJm9ubW91c2VvdmVyQXR0ci5nZXQoKSwKICAgICAgICAgJm9ubW91c2V1cEF0dHIuZ2V0KCks
CiAgICAgICAgICZvbm1vdXNld2hlZWxBdHRyLmdldCgpLAorICAgICAgICAmb25vdmVyc2Nyb2xs
QXR0ci5nZXQoKSwKICAgICAgICAgJm9ucGFzdGVBdHRyLmdldCgpLAogICAgICAgICAmb25wYXVz
ZUF0dHIuZ2V0KCksCiAgICAgICAgICZvbnBsYXlBdHRyLmdldCgpLApAQCAtMzAxLDYgKzMwMiw3
IEBAIEhUTUxFbGVtZW50OjpFdmVudEhhbmRsZXJOYW1lTWFwIEhUTUxFbGVtZW50OjpjcmVhdGVF
dmVudEhhbmRsZXJOYW1lTWFwKCkKICAgICAgICAgJm9ucmVzZXRBdHRyLmdldCgpLAogICAgICAg
ICAmb25yZXNpemVBdHRyLmdldCgpLAogICAgICAgICAmb25zY3JvbGxBdHRyLmdldCgpLAorICAg
ICAgICAmb25zY3JvbGxlbmRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWFyY2hBdHRyLmdldCgp
LAogICAgICAgICAmb25zZWVrZWRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWVraW5nQXR0ci5n
ZXQoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBhN2IyMmE5NjI5Li42MmZkZTZl
N2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNjc5LDggKzE2NzksMTUgQEAg
dm9pZCBET01XaW5kb3c6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywg
U2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcKIAogICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9u
IGZvciB0aGUgY29tbW9uIGNhc2Ugb2Ygc2Nyb2xsaW5nIHRvICgwLCAwKSB3aGVuIHRoZSBzY3Jv
bGxlciBpcyBhbHJlYWR5IGF0IHRoZSBvcmlnaW4uCiAgICAgLy8gSWYgYW4gYW5pbWF0ZWQgc2Ny
b2xsIGlzIGluIHByb2dyZXNzLCB0aGlzIG9wdGltaXphdGlvbiBpcyBza2lwcGVkIHRvIGVuc3Vy
ZSB0aGF0IHRoZSBhbmltYXRlZCBzY3JvbGwgaXMgcmVhbGx5IHN0b3BwZWQuCi0gICAgaWYgKHZp
ZXctPmN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVz
OjpOb3RJbkFuaW1hdGlvbiAmJiAhc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAmJiAhc2Ny
b2xsVG9PcHRpb25zLnRvcC52YWx1ZSgpICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24o
KSA9PSBJbnRQb2ludCgwLCAwKSkKKyAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2aW9y
U3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uCisgICAgICAg
ICYmICFzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpCisgICAgICAgICYmICFzY3JvbGxUb09w
dGlvbnMudG9wLnZhbHVlKCkKKyAgICAgICAgJiYgdmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlv
bigpID09IEludFBvaW50KDAsIDApKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgICAgICB2aWV3LT5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyNlbmRpZgog
ICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKQEAgLTE2ODgsMTIgKzE2OTUsOSBAQCB2b2lkIERP
TVdpbmRvdzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxD
bGFtcGluZyBjbGFtcGluZwogCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQo
KS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgaWYgKHVzZVNtb290aFNjcm9sbGluZyhzY3Jv
bGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0byksIGRvY3Vt
ZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSkgewotICAgICAgICB2aWV3LT5zY3JvbGxUb09mZnNl
dFdpdGhBbmltYXRpb24obGF5b3V0UG9zLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIGNsYW1w
aW5nKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRl
ZCA9IHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihT
Y3JvbGxCZWhhdmlvcjo6QXV0byksIGRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSA/IEFu
aW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAKLSAgICB2aWV3LT5zZXRD
b250ZW50c1Njcm9sbFBvc2l0aW9uKGxheW91dFBvcywgY2xhbXBpbmcpOworICAgIHZpZXctPnNl
dENvbnRlbnRzU2Nyb2xsUG9zaXRpb24obGF5b3V0UG9zLCBjbGFtcGluZywgYW5pbWF0ZWQpOwog
fQogCiBib29sIERPTVdpbmRvdzo6YWxsb3dlZFRvQ2hhbmdlV2luZG93R2VvbWV0cnkoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGM2OGY1ZDM4YzYuLmZkZjgzNDNkOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIyNzUsNyArMjI3NSw3IEBAIHZvaWQg
RnJhbWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNv
bnN0IEludFJlY3QmIHJlY3QpCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRz
LngoKSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmlu
Z09mZnNldFkgLSByZWN0LnkoKSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGlu
ZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5n
IGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50
IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5n
LCBzdHJlYW0gPDwgIkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24gIiA8PCBzY3JvbGxQb3Np
dGlvbiA8PCAiICwgY2xlYXJpbmcgYW5jaG9yIik7CiAKQEAgLTIyODgsMTAgKzIyODgsMjEgQEAg
dm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBz
Y3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7
CiAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAg
ICAgc2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hlZWxF
dmVudFRlc3RNb25pdG9yKCkpOwotICAgIGlmIChhbmltYXRlZCkKLSAgICAgICAgc2Nyb2xsVG9P
ZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQb3NpdGlv
biksIGN1cnJlbnRTY3JvbGxUeXBlKCksIGNsYW1waW5nKTsKKworICAgIFNjcm9sbFBvc2l0aW9u
IG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJh
bmdlKHNjcm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChhbmltYXRlZCA9
PSBBbmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRp
b24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKSwgY3VycmVudFNj
cm9sbFR5cGUoKSwgY2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xs
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBhbmlt
YXRlZCwgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKKyAgICBpZiAoZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVk
KCkgJiYgcmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVz
KSB7CisgICAgICAgIGlmIChuZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3JvbGxWaWV3OjpzY3JvbGxQ
b3NpdGlvbigpKQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7
CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAg
ICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWUoKS5kb2N1bWVudCgp
KSk7CisgICAgfQorI2VuZGlmCiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3JvbGxU
eXBlKTsKIH0KQEAgLTM3MjgsNiArMzczOSwzMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsVG9P
ZmZzZXRXaXRoQW5pbWF0aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeQog
ICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2
ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGlu
ZyBjbGFtcGluZykKK3sKKyAgICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZl
bnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFt
cGVkU2Nyb2xsUG9zaXRpb24gPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/
IGFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2UocG9zaXRpb24pIDogcG9zaXRpb247Cisg
ICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gY2xhbXBlZFNjcm9sbFBvc2l0aW9u
OworfQorCit2b2lkIEZyYW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2
ZW50QXRQb3NpdGlvbiB8fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAh
PSBwb3NpdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2
ZW50VGFyZ2V0KCk7CisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpu
dWxsb3B0OworfQorCit2b2lkIEZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFy
Z2V0KCkKK3sKKyAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgp
KQorICAgICAgICBkb2N1bWVudC0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpkb2N1
bWVudCk7Cit9CisjZW5kaWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9y
Rml4ZWRDb250ZW50KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9u
LCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJpdHkg
IT0gU2Nyb2xsQnlQYWdlIHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBiYjk1Nzg1Y2M4Li40NzM2NWM0NDViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTIyOSw3ICsyMjksNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNp
YmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNj
cm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBm
YWxzZSkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNs
YW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Nyb2xs
RW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKSBmaW5hbDsKICAgICB2b2lkIHJl
c3RvcmVTY3JvbGxiYXIoKTsKICAgICB2b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVu
dChTZWxlY3Rpb25SZXZlYWxNb2RlKTsKICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJ
bW1lZGlhdGVseUlmTmVlZGVkKCk7CkBAIC02NjQsNiArNjY0LDE0IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgaW5VcGRhdGVFbWJlZGRlZE9iamVjdHMoKSBjb25zdCB7IHJldHVybiBtX2luVXBkYXRl
RW1iZWRkZWRPYmplY3RzOyB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
dm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNj
cm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIHZvaWQg
Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7
CisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAgICBi
b29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5nU2Ny
b2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXco
Ym9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBzY3Jv
bGxpbmc7IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3JvbGxDb250ZW50c0Zh
c3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9T
Y3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2b2lkIHNjcm9sbENv
bnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmluYWw7CkBAIC05MDQs
NiArOTEyLDEwIEBAIHByaXZhdGU6CiAKICAgICBQYWdpbmF0aW9uIG1fcGFnaW5hdGlvbjsKIAor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3NpdGlv
bj4gbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCisKICAgICBlbnVtIGNs
YXNzIFZpZXdwb3J0UmVuZGVyZXJUeXBlIDogdWludDhfdCB7IE5vbmUsIERvY3VtZW50LCBCb2R5
IH07CiAgICAgVmlld3BvcnRSZW5kZXJlclR5cGUgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSB7IFZp
ZXdwb3J0UmVuZGVyZXJUeXBlOjpOb25lIH07CiAgICAgU2Nyb2xsUGlubmluZ0JlaGF2aW9yIG1f
c2Nyb2xsUGlubmluZ0JlaGF2aW9yIHsgRG9Ob3RQaW4gfTsKQEAgLTk0OSw2ICs5NjEsMTAgQEAg
cHJpdmF0ZToKICAgICAvLyBUcnVlIGlmIGF1dG9zaXplIGhhcyBiZWVuIHJ1biBzaW5jZSBtX3No
b3VsZEF1dG9TaXplIHdhcyBzZXQuCiAgICAgYm9vbCBtX2RpZFJ1bkF1dG9zaXplIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHMgeyBmYWxzZSB9OworCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcgeyBmYWxzZSB9OworI2VuZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBGcmFtZVZpZXc6Omlu
Y3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KGNvbnN0IEludFNpemUmIHNpemUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLnlhbWwKaW5kZXggYTg2NzZkOTdjMy4uOGM1ZWFhMjMzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbApAQCAtOTE5LDYgKzkxOSwxMCBAQCBpc0xvZ2dlZElu
QVBJRW5hYmxlZDoKIGVudGVyS2V5SGludEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAKK292
ZXJzY3JvbGxFdmVudHNFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDog
T1ZFUlNDUk9MTF9FVkVOVFMKKwogbGVnYWN5R2V0VXNlck1lZGlhRW5hYmxlZDoKICAgaW5pdGlh
bDogZmFsc2UKICAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRpb24uaAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYsNyBA
QAogI2lmbmRlZiBTY3JvbGxBbmltYXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25faAog
CisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2b2lk
IHNlcnZpY2VBbmltYXRpb24oKSB7IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2Rl
PikgeyB9OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Nyb2xs
YWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGgu
Y3BwCkBAIC0yOCw3ICsyOCwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNj
cm9sbEFuaW1hdGlvblNtb290aC5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlJl
bmRlckxheWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtODAsMTAgKzgzLDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpz
Y3JvbGwoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYg
KG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7
CisjZW5kaWYKKwogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xsYWJs
ZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdElu
QW5pbWF0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9zY3Jv
bGxFbmRFdmVudFRhcmdldCkgeworICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBh
dXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3KCkgPyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldygpIDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5n
UGFyZW50TGF5ZXIpCisgICAgICAgIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRTY3Jv
bGxFbmRUYXJnZXQobV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAgICBt
X3Njcm9sbEVuZEV2ZW50VGFyZ2V0LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldCgqbV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVBcmVh
LnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRFdmVu
dFRhcmdldCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRT
Y3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9z
Y3JvbGxFbmRFdmVudFRhcmdldCA9IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9sbEFu
aW1hdGlvblNtb290aDo6dXBkYXRlVmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpvbnRh
bERhdGEudmlzaWJsZUxlbmd0aCA9IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBA
IC00MTAsOCArNDQyLDEyIEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25U
aW1lckZpcmVkKCkKIAogICAgIGlmIChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnRO
ZXh0VGltZXIoc3RkOjptYXgobWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUp
KTsKLSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Ny
b2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgp
OworI2VuZGlmCisgICAgfQogCiAgICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbihG
bG9hdFBvaW50KG1faG9yaXpvbnRhbERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0
YS5jdXJyZW50UG9zaXRpb24pKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0aW9uU21vb3RoLmgKaW5kZXggODE3M2ZhN2UyMC4uOWM3NTkwNTkzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTMx
LDYgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJOb2Rl
OwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFzcyBT
Y3JvbGxDbGFtcGluZyA6IHVpbnQ4X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgogICAg
ICAgICBCb3VuY2UKICAgICB9OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IHZvaWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KSBv
dmVycmlkZSA7CisjZW5kaWYKIHByaXZhdGU6CiAgICAgYm9vbCBzY3JvbGwoU2Nyb2xsYmFyT3Jp
ZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVy
KSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbChjb25zdCBGbG9hdFBvaW50Jikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgIHZvaWQgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKICAgICB2b2lkIHVwZGF0ZVZp
c2libGVMZW5ndGhzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRDdXJyZW50UG9zaXRpb24oY29u
c3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogCkBAIC0xMDQsNiArMTExLDkgQEAgcHJpdmF0ZToK
IAogICAgIE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgVGltZXIgbV9hbmltYXRpb25U
aW1lcjsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgV2Vha1B0cjxDb250YWlu
ZXJOb2RlPiBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAK
aW5kZXggMGZjNzI5ZTkxMi4uZDg5MzAwOGFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtMjg3LDUgKzI4NywxMCBAQCB2b2lkIFNjcm9sbEFuaW1h
dG9yOjpkaWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciopCiB7CiAgICAgbV9hbmlt
YXRpb25Qcm9ncmFtbWF0aWNTY3JvbGwtPnVwZGF0ZVZpc2libGVMZW5ndGhzKCk7CiB9Ci0KKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbEFuaW1hdG9yOjpzZXRTY3Jv
bGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9hbmlt
YXRpb25Qcm9ncmFtbWF0aWNTY3JvbGwtPnNldFNjcm9sbEVuZFRhcmdldCh0YXJnZXQpOworfQor
I2VuZGlmCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3IuaAppbmRleCA5YjdjMDliNjkwLi5lZWRlNzk4ZGI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRl
ICJXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogI2lm
IEVOQUJMRShSVUJCRVJfQkFORElORykgfHwgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICNpbmNs
dWRlICJTY3JvbGxDb250cm9sbGVyLmgiCkBAIC00NCw2ICs0NSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEZsb2F0UG9pbnQ7CiBjbGFz
cyBQbGF0Zm9ybVRvdWNoRXZlbnQ7CiBjbGFzcyBTY3JvbGxBbmltYXRpb247CkBAIC0xNDMsNiAr
MTQ1LDEwIEBAIHB1YmxpYzoKICAgICBGbG9hdFNpemUgdmlld3BvcnRTaXplKCkgY29uc3Qgb3Zl
cnJpZGU7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lk
IHNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZChjb25zdCBG
bG9hdFNpemUmIGRlbHRhKTsKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVNjcm9sbFNuYXBJbmRleEZv
ck9mZnNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlw
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggNWM1MmQ1
YmJkZS4uNTYyNzM0NTQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBA
IC02MCw2ICs2MCwxNiBAQCBlbnVtIGNsYXNzIFNjcm9sbEJlaGF2aW9yU3RhdHVzIDogdWludDhf
dCB7CiAgICAgSW5Ob25OYXRpdmVBbmltYXRpb24sCiB9OwogCitlbnVtIGNsYXNzIEFuaW1hdGVk
U2Nyb2xsIDogdWludDhfdCB7CisgICAgTm8sCisgICAgWWVzCit9OworCitlbnVtIGNsYXNzIFJl
cXVlc3RTY3JvbGxFbmRFdmVudCA6IHVpbnQ4X3QgeworICAgIE5vLAorICAgIFllcworfTsKKwog
aW5saW5lIFNjcm9sbERpcmVjdGlvbiBsb2dpY2FsVG9QaHlzaWNhbChTY3JvbGxMb2dpY2FsRGly
ZWN0aW9uIGRpcmVjdGlvbiwgYm9vbCBpc1ZlcnRpY2FsLCBib29sIGlzRmxpcHBlZCkKIHsKICAg
ICBzd2l0Y2ggKGRpcmVjdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNw
cAppbmRleCAyZmQxNWY3YjMwLi42YmY2NGFhZDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcApAQCAtMjA2LDEzICsyMDYsMTcgQEAgSW50UG9pbnQgU2Nyb2xsVmlldzo6
Y29udGVudHNTY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9u
KCk7CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25z
dCBJbnRQb2ludCYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQordm9pZCBTY3Jv
bGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlv
biwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCiAgICAg
ICAgIHNldEFjdHVhbFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uKTsKICNlbmRpZgotICAgIHNldFNj
cm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBjbGFtcGluZyk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0
ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCisgICAgc2V0U2Nyb2xsUG9z
aXRpb24ocG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAogRmxvYXRS
ZWN0IFNjcm9sbFZpZXc6OmV4cG9zZWRDb250ZW50UmVjdCgpIGNvbnN0CkBAIC00ODYsNiArNDkw
LDEwIEBAIHZvaWQgU2Nyb2xsVmlldzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIG5l
d1Bvc2l0aW9uKQogCiAgICAgbV9zY3JvbGxQb3NpdGlvbiA9IG5ld1Bvc2l0aW9uOwogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
bihtX3Njcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgorCiAgICAgaWYgKHNjcm9sbGJhcnNTdXBwcmVz
c2VkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTEzLDcgKzUyMSw3IEBAIHZvaWQgU2Nyb2xs
Vmlldzo6Y29tcGxldGVVcGRhdGVzQWZ0ZXJTY3JvbGxUbyhjb25zdCBJbnRTaXplJiBzY3JvbGxE
ZWx0YSkKICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5nKCk7CiB9CiAK
LXZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
IHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbC8qIGFuaW1hdGVk
Ki8pCit2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Ny
b2xsIC8qIGFuaW1hdGVkKi8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBMT0dfV0lU
SF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0
aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24pOwogCkBAIC01MjUsMTQgKzUzMywxMyBAQCB2b2lkIFNj
cm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQ
b3NpdGlvbiwgU2Nyb2xsQwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgU2Nyb2xsUG9z
aXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9sbGluZygpICYmIGNsYW1w
aW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0aW9uV2l0
aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CisgICAgaWYgKGN1cnJl
bnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5h
dGl2ZUFuaW1hdGlvbikKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25z
KCk7CiAKKyAgICBTY3JvbGxQb3NpdGlvbiBuZXdTY3JvbGxQb3NpdGlvbiA9ICghZGVsZWdhdGVz
U2Nyb2xsaW5nKCkgJiYgY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpID8gYWRq
dXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShzY3JvbGxQb3NpdGlvbikgOiBzY3JvbGxQb3Np
dGlvbjsKICAgICBpZiAoKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSB8fCBjdXJyZW50U2Nyb2xsVHlw
ZSgpID09IFNjcm9sbFR5cGU6OlVzZXIpICYmIGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygp
ID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbiAmJiBuZXdTY3JvbGxQb3Np
dGlvbiA9PSB0aGlzLT5zY3JvbGxQb3NpdGlvbigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
OkluTm9uTmF0aXZlQW5pbWF0aW9uKQotICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFu
aW1hdGlvbnMoKTsKLQogICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKG5ld1Nj
cm9sbFBvc2l0aW9uLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZykpCiAgICAgICAgIHVw
ZGF0ZVNjcm9sbGJhcnMobmV3U2Nyb2xsUG9zaXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmgKaW5kZXggYjY0YWEzYmEwNi4uNzdhNzc1NjFhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtMjMxLDcgKzIzMSw3IEBAIHB1YmxpYzoKIAogICAgIC8v
IFNjcm9sbCBwb3NpdGlvbiB1c2VkIGJ5IHdlYi1leHBvc2VkIGZlYXR1cmVzIChoYXMgbGVnYWN5
IGlPUyBiZWhhdmlvcikuCiAgICAgV0VCQ09SRV9FWFBPUlQgSW50UG9pbnQgY29udGVudHNTY3Jv
bGxQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgc2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihj
b25zdCBJbnRQb2ludCYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQp
OworICAgIHZvaWQgc2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYsIFNj
cm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0g
QW5pbWF0ZWRTY3JvbGw6Ok5vKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaW50
IGFjdHVhbFNjcm9sbFgoKSBjb25zdCB7IHJldHVybiB1bm9ic2N1cmVkQ29udGVudFJlY3QoKS54
KCk7IH0KQEAgLTI2MSw3ICsyNjEsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsUG9zaXRpb24gY2Fj
aGVkU2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNjcm9sbFBvc2l0aW9u
OyB9CiAKICAgICAvLyBGdW5jdGlvbnMgZm9yIHNjcm9sbGluZyB0aGUgdmlldy4KLSAgICB2aXJ0
dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2Up
OworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Ny
b2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIHZvaWQgc2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYg
cykgeyByZXR1cm4gc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24oKSArIHMpOyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAppbmRleCA1YmRhODU3
YmI5Li4yMGZiZTQyNjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
U2Nyb2xsYWJsZUFyZWEuaCIKIAorI2luY2x1ZGUgIkNvbnRhaW5lck5vZGUuaCIKICNpbmNsdWRl
ICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAi
R3JhcGhpY3NMYXllci5oIgpAQCAtNzY5LDQgKzc3MCwxMSBAQCB2b2lkIFNjcm9sbGFibGVBcmVh
Ojpjb21wdXRlU2Nyb2xsYmFyVmFsdWVBbmRPdmVyaGFuZyhmbG9hdCBjdXJyZW50UG9zaXRpb24s
IGZsbwogICAgIH0KIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Ny
b2xsYWJsZUFyZWE6OnNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+IHRh
cmdldCkKK3sKKyAgICBzY3JvbGxBbmltYXRvcigpLnNldFNjcm9sbEVuZFRhcmdldCh0YXJnZXQp
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IGQyMDNhZWJlNWMuLjMzMzE2NzliNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMzMsNiArMzMsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9h
dFBvaW50OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgTGF5b3V0UG9pbnQ7CkBAIC0z
NDYsNiArMzQ3LDE2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRQbGFjZUJs
b2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3QgPSAwOwogCisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYWRkUGVu
ZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkgeyB9CisgICAgdmlydHVhbCBib29sIGR1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldygpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2b2lkIHNl
dER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sKSB7IH0KKyAgICB2aXJ0dWFsIFNjcm9sbGFi
bGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSB7IHJldHVybiBu
dWxscHRyOyB9CisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJO
b2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbGFi
bGVBcmVhKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+U2Nyb2xsYWJsZUFyZWEoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNDBiYTFhZTIxNy4uNzY5
NDQyZjkyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTU4MSw3
ICs1ODEsNyBAQCBzdGF0aWMgdm9pZCBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKFJlbmRlckxheWVy
JiBsYXllcikKICAgICBsYXllci5zY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9u
aXRvcihwYWdlLndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6
OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckJveDo6c2V0U2Ny
b2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgaWYgKCFoYXNPdmVy
Zmxvd0NsaXAoKSB8fCAhbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTg5LDcgKzU4OSw3
IEBAIHZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBTY3JvbGxUeXBl
IHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nCiAgICAgbGF5ZXIoKS0+c2Nyb2xsVG9YUG9zaXRp
b24obmV3TGVmdCwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIAotdm9pZCBS
ZW5kZXJCb3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJCb3g6
OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENs
YW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBpZiAoIWhh
c092ZXJmbG93Q2xpcCgpIHx8ICFsYXllcigpKQogICAgICAgICByZXR1cm47CkBAIC01OTcsMTIg
KzU5NywxNiBAQCB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIFNjcm9s
bFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgYwogICAgIGxheWVyKCktPnNjcm9sbFRv
WVBvc2l0aW9uKG5ld1RvcCwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIAot
dm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBw
b3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywg
Ym9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewogICAgIGlmICghaGFz
T3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1cFdo
ZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNs
YW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAg
ICBsYXllcigpLT5zY3JvbGxUb1Bvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGlu
ZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVyQm94OjphYnNvbHV0ZVJlY3Rz
KFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9m
ZnNldCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCAyNzUyMjBi
NmJlLi44MTQzNDRmNzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC0y
NDcsOSArMjQ3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50IHNjcm9sbFRvcCgpIGNvbnN0
OwogICAgIHZpcnR1YWwgaW50IHNjcm9sbFdpZHRoKCkgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQg
c2Nyb2xsSGVpZ2h0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbExlZnQoaW50
LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBi
b29sIGFuaW1hdGVkID0gZmFsc2UpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxUb3AoaW50
LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBi
b29sIGFuaW1hdGVkID0gZmFsc2UpOwotICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOworICAgIHZpcnR1YWwgdm9pZCBz
ZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAg
IHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Ny
b2xsOjpObyk7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQs
IEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKIAogICAgIExheW91dFVuaXQg
bWFyZ2luVG9wKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9tYXJnaW5Cb3gudG9wKCk7IH0K
ICAgICBMYXlvdXRVbml0IG1hcmdpbkJvdHRvbSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
bWFyZ2luQm94LmJvdHRvbSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAppbmRleCAyMWY1MmI5N2Q3Li5jMGU2MTlkOTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI2MjEsMjQgKzI2MjEsNDcgQEAgdm9pZCBSZW5kZXJM
YXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpCiAgICAgbV9wb3N0
TGF5b3V0U2Nyb2xsUG9zaXRpb24gPSBXVEY6Om51bGxvcHQ7CiB9CiAKLXZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBp
bmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewogICAgIFNjcm9sbFBvc2l0
aW9uIHBvc2l0aW9uKHgsIG1fc2Nyb2xsUG9zaXRpb24ueSgpKTsKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUs
IGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UK
ICAgICBzY3JvbGxUb1Bvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5p
bWF0ZWQpOworI2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9u
KGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBi
b29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9ZUG9zaXRpb24oaW50IHks
IFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVk
U2Nyb2xsIGFuaW1hdGVkKQogewogICAgIFNjcm9sbFBvc2l0aW9uIHBvc2l0aW9uKG1fc2Nyb2xs
UG9zaXRpb24ueCgpLCB5KTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc2V0
U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwg
UmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBzY3JvbGxUb1Bvc2l0aW9u
KHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAK
LXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
IHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5n
LCBib29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29u
c3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9s
bEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKLSAgICBpZiAoYW5pbWF0ZWQpCi0g
ICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRp
b24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisjaWYgIUVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKyNl
bmRpZgorCisgICAgYXV0byBvZmZzZXQgPSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRp
b24pOworICAgIFNjcm9sbE9mZnNldCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7
CisgICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgIHNjcm9s
bFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihuZXdTY3JvbGxPZmZzZXQsIHNjcm9sbFR5cGUsIGNsYW1w
aW5nKTsKICAgICBlbHNlCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9sbE9mZnNldEZyb21Q
b3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xs
VG9PZmZzZXQobmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5v
dmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ID09
IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFy
Z2V0KCk7CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMp
CisgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIocmVuZGVyZXIoKS5l
bGVtZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIH0KIAogU2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVy
OjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCkgY29u
c3QKQEAgLTI2NjEsMTMgKzI2ODQsMTggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZz
ZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIFNjcm9sbFR5cGUgc2MKICAgICAg
ICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAKICAgICBTY3JvbGxPZmZz
ZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9sbE9mZnNldDsKLSAg
ICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCA9PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAgICBT
Y3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21P
ZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CisgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQg
PT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRp
b24pOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBhdXRvIHByZXZpb3Vz
U2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxUeXBlKCk7CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5
cGUoc2Nyb2xsVHlwZSk7CiAKLSAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShz
Y3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIHNjcm9sbFR5cGUs
IGNsYW1waW5nKSkKKyAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjbGFtcGVk
U2Nyb2xsUG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKICAgICAgICAgc2Nyb2xsVG9P
ZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNsYW1wZWRTY3JvbGxPZmZzZXQsIGNsYW1waW5nKTsKICAg
ICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5Bbmlt
YXRpb24pOwogCkBAIC0yNzkxLDYgKzI4MTksMTAgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
VG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQogICAgIGlmIChFbGVtZW50KiBlbGVt
ZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCiAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCku
YWRkUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0KCplbGVtZW50KTsKIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQ
b3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3JvbGxzT3ZlcmZsb3coKSkKICAgICAgICAg
dmlldy5mcmFtZVZpZXcoKS5kaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKTsKIApAQCAtMjgzNiwxMyAr
Mjg2OCwxOCBAQCBib29sIFJlbmRlckxheWVyOjphbGxvd3NDdXJyZW50U2Nyb2xsKCkgY29uc3QK
ICAgICByZXR1cm4gYm94LT5oYXNIb3Jpem9udGFsT3ZlcmZsb3coKSB8fCBib3gtPmhhc1ZlcnRp
Y2FsT3ZlcmZsb3coKTsKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJs
ZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0
IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRpb25zLCBBdXRvc2Nyb2xsU3RhdHVzIGF1
dG9zY3JvbGxTdGF0dXMpCit2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNv
bnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Ny
b2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmIG9wdGlvbnMsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCBy
ZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywg
c3RyZWFtIDw8ICJMYXllciAiIDw8IHRoaXMgPDwgIiBzY3JvbGxSZWN0VG9WaXNpYmxlICIgPDwg
YWJzb2x1dGVSZWN0KTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBib29s
IG92ZXJzY3JvbGxFdmVudHNFbmFibGVkID0gcmVuZGVyZXIoKS5zZXR0aW5ncygpLm92ZXJzY3Jv
bGxFdmVudHNFbmFibGVkKCk7CisjZW5kaWYKKwogICAgIExheW91dFJlY3QgbmV3UmVjdCA9IGFi
c29sdXRlUmVjdDsKICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IHJlbmRlcmVyKCkudmlldygp
LmZyYW1lVmlldygpOwogICAgIGF1dG8qIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmlu
Z0Jsb2NrTGF5ZXIoKnRoaXMsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgYm9vbCBh
dXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyA9ICFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVy
KCkuYXV0b3Njcm9sbEluUHJvZ3Jlc3MoKTsKIAogICAgIGlmIChhbGxvd3NDdXJyZW50U2Nyb2xs
KCkpIHsKICAgICAgICAgLy8gRG9uJ3Qgc2Nyb2xsIHRvIHJldmVhbCBhbiBvdmVyZmxvdyBsYXll
ciB0aGF0IGlzIHJlc3RyaWN0ZWQgYnkgdGhlIC13ZWJraXQtbGluZS1jbGFtcCBwcm9wZXJ0eS4K
QEAgLTI4NjEsOCArMjg5OCwxNCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNp
YmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICBT
Y3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1wU2Nyb2xsT2Zmc2V0KHNjcm9s
bE9mZnNldCgpICsgdG9JbnRTaXplKHJvdW5kZWRJbnRSZWN0KHJldmVhbFJlY3QpLmxvY2F0aW9u
KCkpKTsKICAgICAgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0KCkg
fHwgY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgIT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
Ok5vdEluQW5pbWF0aW9uKSB7CiAgICAgICAgICAgICBTY3JvbGxPZmZzZXQgb2xkU2Nyb2xsT2Zm
c2V0ID0gc2Nyb2xsT2Zmc2V0KCk7Ci0gICAgICAgICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Nj
cm9sbFN0YXR1cyA9PSBBdXRvc2Nyb2xsU3RhdHVzOjpOb3RJblByb2dyZXNzICYmIHVzZVNtb290
aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSk7Ci0gICAgICAgICAg
ICBzY3JvbGxUb1Bvc2l0aW9uKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xs
T2Zmc2V0KSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSBBbmlt
YXRlZFNjcm9sbDo6Tm87CisgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3Mg
JiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGJveC0+ZWxlbWVudCgpKSkK
KyAgICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CisgICAgICAg
ICAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNj
cm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNs
YW1wZWQsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAg
ICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRT
Y3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKQorICAg
ICAgICAgICAgICAgIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsKKyNlbmRpZgog
ICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gY2xhbXBlZFNjcm9s
bE9mZnNldCAtIG9sZFNjcm9sbE9mZnNldDsKICAgICAgICAgICAgIGxvY2FsRXhwb3NlUmVjdC5t
b3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKICAgICAgICAgICAgIG5ld1JlY3QgPSBMYXlv
dXRSZWN0KGJveC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KGxvY2Fs
RXhwb3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4ODgsOSAr
MjkzMSwyMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExh
eW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIHNjcm9s
bFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb24uY29uc3RyYWluZWRCZXR3ZWVuKEludFBvaW50KCks
IEludFBvaW50KGZyYW1lVmlldy5jb250ZW50c1NpemUoKSkpOwogICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiBTaG91bGQgd2UgdXNlIGNvbnRlbnREb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50
KCk/CiAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Nj
cm9sbFN0YXR1cyA9PSBBdXRvc2Nyb2xsU3RhdHVzOjpOb3RJblByb2dyZXNzICYmIG93bmVyRWxl
bWVudC0+Y29udGVudERvY3VtZW50KCkgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVo
YXZpb3IsIG93bmVyRWxlbWVudC0+Y29udGVudERvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgp
KTsKKyAgICAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IEFuaW1hdGVkU2Ny
b2xsOjpObzsKKyAgICAgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MKKyAg
ICAgICAgICAgICAgICAgICAgJiYgb3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKQorICAg
ICAgICAgICAgICAgICAgICAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwg
b3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpKQorICAg
ICAgICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAg
ICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBh
bmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIHNjcm9sbFBvc2l0aW9uICE9IGZyYW1l
Vmlldy5zY3JvbGxQb3NpdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5z
ZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlm
IChyZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpCisg
ICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VX
ZWFrUHRyKGZyYW1lVmlldy5mcmFtZSgpLmRvY3VtZW50KCkpKTsKKyAgICAgICAgICAgICAgICB9
CisjZW5kaWYKKwogICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3VsZEFsbG93Q3Jvc3NP
cmlnaW5TY3JvbGxpbmcgPT0gU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIHx8
IGZyYW1lVmlldy5zYWZlVG9Qcm9wYWdhdGVTY3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmIChhdXRvKiBlbmNsb3NpbmdMYXllciA9IG93bmVyRWxlbWVudC0+cmVuZGVy
ZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExh
eWVyID0gZW5jbG9zaW5nTGF5ZXItPmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2Vs
Zk9yTm90OjpJbmNsdWRlU2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI5MzEs
OCArMjk4NiwxNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIFNj
cm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSByb3VuZGVkSW50UG9pbnQocmV2ZWFs
UmVjdC5sb2NhdGlvbigpKS5jb25zdHJhaW5lZEJldHdlZW4obWluU2Nyb2xsUG9zaXRpb24sIG1h
eFNjcm9sbFBvc2l0aW9uKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVz
ZSBkb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/CiAgICAgICAgICAgICAgICAgLy8gU2Vl
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAg
ICAgICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Njcm9sbFN0YXR1cyA9PSBBdXRvc2Nyb2xsU3Rh
dHVzOjpOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9y
LCByZW5kZXJlcigpLmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAg
ICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgICAg
ICAgICAgICAgIGlmIChhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxp
bmcob3B0aW9ucy5iZWhhdmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVu
dCgpKSkKKyAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVz
OwogICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Ny
b2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZl
bnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIGNsYW1wZWRT
Y3JvbGxQb3NpdGlvbiAhPSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAg
ICAgICAgICAgICBmcmFtZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOwor
ICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RT
Y3JvbGxFbmRFdmVudDo6WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNl
dFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgp
KSk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVy
IHNjcm9sbGluZyB0aGlzIHZpZXcgd2UKQEAgLTI5NDQsOCArMzAwOCwyNiBAQCB2b2lkIFJlbmRl
ckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVj
dCwgYm9vbCBpbnNpZAogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIGlmIChwYXJlbnRMYXll
cikKKyAgICBpZiAocGFyZW50TGF5ZXIpIHsKICAgICAgICAgcGFyZW50TGF5ZXItPnNjcm9sbFJl
Y3RUb1Zpc2libGUobmV3UmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlvbnMpOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYm
IHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcykgewor
ICAgICAgICAgICAgQ29udGFpbmVyTm9kZSogdGFyZ2V0ID0gcmVuZGVyZXIoKS5lbGVtZW50KCk7
CisgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQo
KSA9PSB0YXJnZXQpCisgICAgICAgICAgICAgICAgdGFyZ2V0ID0gJnJlbmRlcmVyKCkuZG9jdW1l
bnQoKTsKKworICAgICAgICAgICAgaWYgKGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAg
ICAgICAgICAgICAgIHNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAg
ICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGF1dG8qIGR1cmluZ1Njcm9sbGluZ1Bh
cmVudExheWVyID0gZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCk7CisgICAg
ICAgICAgICAgICAgaWYgKGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyKQorICAgICAgICAgICAg
ICAgICAgICBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1h
a2VXZWFrUHRyKHRhcmdldCkpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dCgqdGFyZ2V0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisgICAgfQogfQog
CiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsKCkK
QEAgLTMwNzEsNyArMzE1Myw3IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmdldFJlY3RUb0V4
cG9zZShjb25zdCBMYXlvdXRSZWN0JiB2aXNpYmxlUmVjdCwgY29uc3QgTGF5CiB2b2lkIFJlbmRl
ckxheWVyOjphdXRvc2Nyb2xsKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbkluV2luZG93KQogewog
ICAgIEludFBvaW50IGN1cnJlbnREb2N1bWVudFBvc2l0aW9uID0gcmVuZGVyZXIoKS52aWV3KCku
ZnJhbWVWaWV3KCkud2luZG93VG9Db250ZW50cyhwb3NpdGlvbkluV2luZG93KTsKLSAgICBzY3Jv
bGxSZWN0VG9WaXNpYmxlKExheW91dFJlY3QoY3VycmVudERvY3VtZW50UG9zaXRpb24sIExheW91
dFNpemUoMSwgMSkpLCBmYWxzZSwgeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9s
bEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRv
RWRnZUlmTmVlZGVkLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSwgQXV0
b3Njcm9sbFN0YXR1czo6SW5Qcm9ncmVzcyk7CisgICAgc2Nyb2xsUmVjdFRvVmlzaWJsZShMYXlv
dXRSZWN0KGN1cnJlbnREb2N1bWVudFBvc2l0aW9uLCBMYXlvdXRTaXplKDEsIDEpKSwgZmFsc2Us
IHsgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9F
ZGdlSWZOZWVkZWQsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2hvdWxk
QWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIH0pOwogfQogCiBib29sIFJlbmRlckxheWVy
OjpjYW5SZXNpemUoKSBjb25zdApAQCAtNzAyNiw2ICs3MTA4LDQ5IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbigpCiAjZW5kaWYKIH0KIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNhdmVTY3JvbGxFbmRFdmVudFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBp
bmcpCit7CisgICAgaWYgKCFyZW5kZXJlcigpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBvZmZzZXQgPSBzY3JvbGxPZmZz
ZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xs
T2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9s
bE9mZnNldChvZmZzZXQpIDogb2Zmc2V0OworICAgIG1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3Np
dGlvbiA9IHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KTsKK30K
Kwordm9pZCBSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2ZW50
QXRQb3NpdGlvbiB8fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBw
b3NpdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50
VGFyZ2V0KCk7CisKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBXVEY6Om51
bGxvcHQ7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRh
cmdldCgpCit7CisgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSByZW5kZXJlcigpLmVsZW1lbnQo
KSkKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRU
YXJnZXQoKmVsZW1lbnQpOworfQorCitTY3JvbGxhYmxlQXJlYSogUmVuZGVyTGF5ZXI6OmZpbmRB
bmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpCit7CisgICAgYXV0byogcGFyZW50TGF5
ZXIgPSBlbmNsb3NpbmdDb250YWluaW5nQmxvY2tMYXllcigqdGhpcywgQ3Jvc3NGcmFtZUJvdW5k
YXJpZXM6Ok5vKTsKKyAgICB3aGlsZSAocGFyZW50TGF5ZXIpIHsKKyAgICAgICAgaWYgKHBhcmVu
dExheWVyLT5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgICAgIHJldHVybiBw
YXJlbnRMYXllcjsKKyAgICAgICAgcGFyZW50TGF5ZXIgPSBlbmNsb3NpbmdDb250YWluaW5nQmxv
Y2tMYXllcigqcGFyZW50TGF5ZXIsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgfQor
CisgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXco
KTsKKyAgICBpZiAoZnJhbWVWaWV3LmR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAgICAg
ICByZXR1cm4gJmZyYW1lVmlldzsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKyNlbmRpZgorCiBU
ZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYgdHMsIENsaXBSZWN0c1R5cGUg
Y2xpcFJlY3RzVHlwZSkKIHsKICAgICBzd2l0Y2ggKGNsaXBSZWN0c1R5cGUpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZDExMzkzZTA3ZC4uNTAxY2M2YjE2OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ1MCw5ICs0NTAsOSBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxUb09mZnNldChjb25zdCBT
Y3JvbGxPZmZzZXQmLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihjb25zdCBTY3JvbGxPZmZzZXQmLCBT
Y3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkKTsKIAotICAgIHZvaWQgc2Nyb2xsVG9YUG9zaXRpb24oaW50
IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQs
IGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSk7Ci0gICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQg
eSwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwg
Ym9vbCBhbmltYXRlZCA9IGZhbHNlKTsKLSAgICB2b2lkIHNjcm9sbFRvUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOworICAgIHZvaWQgc2Nyb2xsVG9Y
UG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2
b2lkIHNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9
IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xs
OjpObyk7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYs
IFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFu
aW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQg
PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIC8vIFRoZXNlIGFyZSBvbmx5IHVz
ZWQgYnkgbWFycXVlZS4KICAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCkgeyBzY3JvbGxU
b09mZnNldChTY3JvbGxPZmZzZXQoeCwgc2Nyb2xsT2Zmc2V0KCkueSgpKSwgU2Nyb2xsVHlwZTo6
UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsgfQpAQCAtNDY2LDkgKzQ2
Niw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYXZhaWxhYmxlQ29udGVudFNpemVDaGFuZ2VkKEF2
YWlsYWJsZVNpemVDaGFuZ2VSZWFzb24pIGZpbmFsOwogCi0gICAgZW51bSBBdXRvc2Nyb2xsU3Rh
dHVzIHsgTm90SW5Qcm9ncmVzcywgSW5Qcm9ncmVzcyB9OwogICAgIC8vICJhYnNvbHV0ZVJlY3Qi
IGlzIGluIHNjYWxlZCBkb2N1bWVudCBjb29yZGluYXRlcy4KLSAgICB2b2lkIHNjcm9sbFJlY3RU
b1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVk
LCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIEF1dG9zY3JvbGxTdGF0dXMgPSBB
dXRvc2Nyb2xsU3RhdHVzOjpOb3RJblByb2dyZXNzKTsKKyAgICB2b2lkIHNjcm9sbFJlY3RUb1Zp
c2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBj
b25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9
IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3co
KSBjb25zdDsKICAgICBib29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25z
dDsKQEAgLTkyNiw2ICs5MjUsMTUgQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnZhbGlkYXRlRXZl
bnRSZWdpb24oKTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNh
dmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xh
bXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgZmluYWw7CisgICAgdm9pZCBjaGVja1Nj
cm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2
b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpIGZpbmFsOworICAgIGJvb2wgZHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWwgeyByZXR1cm4gbV9kdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sIHNj
cm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyA9IHNjcm9sbGluZzsg
fQorICAgIFNjcm9sbGFibGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoKSBmaW5hbDsKKyNlbmRpZgorCiBwcml2YXRlOgogCiAgICAgdm9pZCBzZXROZXh0U2libGlu
ZyhSZW5kZXJMYXllciogbmV4dCkgeyBtX25leHQgPSBuZXh0OyB9CkBAIC0xMjgyLDYgKzEyOTAs
MTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbGF5ZXJMaXN0TXV0YXRpb25BbGxvd2VkIDogMTsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJp
bmdTY3JvbGxSZWN0SW50b1ZpZXcgOiAxOworI2VuZGlmCisKICNpZiBFTkFCTEUoQ1NTX0NPTVBP
U0lUSU5HKQogICAgIHVuc2lnbmVkIG1fYmxlbmRNb2RlIDogNTsgLy8gQmxlbmRNb2RlCiAgICAg
Ym9vbCBtX2hhc05vdElzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMgOiAxOwpA
QCAtMTM1Nyw2ICsxMzY5LDEwIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVu
ZGVyTGF5ZXJGaWx0ZXJzPiBtX2ZpbHRlcnM7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxh
eWVyQmFja2luZz4gbV9iYWNraW5nOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRp
b247CisjZW5kaWYKICAgICAKICAgICBQYWludEZyZXF1ZW5jeVRyYWNrZXIgbV9wYWludEZyZXF1
ZW5jeVRyYWNrZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
Y3BwCmluZGV4IDc3OGRmMzgyM2MuLjRhZGFlMjJmMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTc0Myw3ICs3NDMsNyBAQCBpbnQgUmVuZGVyTGlz
dEJveDo6c2Nyb2xsTGVmdCgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgUmVuZGVy
TGlzdEJveDo6c2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBi
b29sKQordm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwg
U2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQogewogfQogCkBAIC03NjAsNyArNzYwLDcg
QEAgc3RhdGljIHZvaWQgc2V0dXBXaGVlbEV2ZW50VGVzdE1vbml0b3IoUmVuZGVyTGlzdEJveCYg
cmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVz
dE1vbml0b3IocmVuZGVyZXIucGFnZSgpLndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKIH0KIAot
dm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSwg
U2Nyb2xsQ2xhbXBpbmcsIGJvb2wpCit2b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9sbFRvcChp
bnQgbmV3VG9wLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCiB7
CiAgICAgLy8gRGV0ZXJtaW5lIGFuIGluZGV4IGFuZCBzY3JvbGwgdG8gaXQuICAgIAogICAgIGlu
dCBpbmRleCA9IG5ld1RvcCAvIGl0ZW1IZWlnaHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5oCmluZGV4IGY0ODU4MGE0YzcuLmI0ZTI2YTk0MTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaApAQCAtMTA2LDggKzEwNiw4IEBAIHByaXZh
dGU6CiAgICAgaW50IHNjcm9sbFRvcCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGludCBzY3JvbGxX
aWR0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGludCBzY3JvbGxIZWlnaHQoKSBjb25zdCBvdmVy
cmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZywgYm9vbCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxM
ZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKSBvdmVy
cmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbFRvcChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1w
aW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7CiAKICAgICBib29sIG5vZGVBdFBvaW50KGNv
bnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlv
biYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zm
c2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAppbmRleCBkNTYwMjg3NTI2Li4wYTQ2MDY0NDMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDI3LDcgKzQyNywxMSBAQCBi
b29sIFJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBh
YnNvbHV0ZVJlY3QsIGJvb2wgaW5zaQogICAgIGlmICghZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBlbmNs
b3NpbmdMYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVk
LCBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIGVuY2xv
c2luZ0xheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29sdXRlUmVjdCwgaW5zaWRlRml4ZWQs
IG9wdGlvbnMpOworI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAK
aW5kZXggNzRhODBiMDY4Ny4uMTY2MDIxNzMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKQEAgLTM4MCwx
MyArMzgwLDEzIEBAIGludCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNjcm9sbFRvcCgp
IGNvbnN0CiAgICAgcmV0dXJuIFJlbmRlckJsb2NrRmxvdzo6c2Nyb2xsVG9wKCk7CiB9CiAKLXZv
aWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0
LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkKK3ZvaWQgUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBTY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCiB7CiAgICAgaWYgKGlubmVyVGV4dEVsZW1lbnQo
KSkKICAgICAgICAgaW5uZXJUZXh0RWxlbWVudCgpLT5zZXRTY3JvbGxMZWZ0KG5ld0xlZnQpOwog
fQogCi12b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsVG9wKGludCBu
ZXdUb3AsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBib29sKQordm9pZCBSZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmU6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlLCBT
Y3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCiB7CiAgICAgaWYgKGlubmVyVGV4dEVsZW1l
bnQoKSkKICAgICAgICAgaW5uZXJUZXh0RWxlbWVudCgpLT5zZXRTY3JvbGxUb3AobmV3VG9wKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuaAppbmRleCBmZDYzMzAxOWVkLi4yNWEyYzk2ZDUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCkBA
IC01Nyw4ICs1Nyw4IEBAIHByaXZhdGU6CiAgICAgaW50IHNjcm9sbFRvcCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGludCBzY3JvbGxXaWR0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGludCBzY3Jv
bGxIZWlnaHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBT
Y3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRT
Y3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkgb3ZlcnJpZGU7
CisgICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcs
IEFuaW1hdGVkU2Nyb2xsKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbFRvcChpbnQsIFNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7CiAgICAg
Ym9vbCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVs
dGlwbGllciA9IDEsIEVsZW1lbnQqKiBzdG9wRWxlbWVudCA9IG51bGxwdHIsIFJlbmRlckJveCog
c3RhcnRCb3ggPSBudWxscHRyLCBjb25zdCBJbnRQb2ludCYgd2hlZWxFdmVudEFic29sdXRlUG9p
bnQgPSBJbnRQb2ludCgpKSBmaW5hbDsKICAgICBib29sIGxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9n
aWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBF
bGVtZW50Kiogc3RvcEVsZW1lbnQgPSAwKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzZDg5NWYzYzMw
Li5iZDU2N2FkZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTA5ICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBm
b3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTD
qXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgor
CisgICAgICAgIEFkZCBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBTaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbDoKKwogMjAyMC0wNC0wMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6e3JlYWRCdWZmZXJG
cm9tUGFzdGVib2FyZCxidWZmZXJGb3JUeXBlfSBzaG91bGQgdmFsaWRhdGUgdGhlaXIgYHNpemVg
IHBhcmFtZXRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKaW5kZXggZWZmYzcyYjZiMS4uY2JjOTk4NjNjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hf
Y29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9P
VkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BM
QVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hT
TFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19Q
QUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQ
RURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQ
VV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNU
T1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJ
VkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFM
SURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMp
ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hf
RVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVT
T1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVS
X1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19H
UkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJ
TlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVE
X09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVf
UFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9S
X1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FD
WV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZF
X1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElE
QVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAk
KEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZF
TlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VS
VkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJF
Q09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklW
RVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAk
KEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZjU0NDgzNzZhMy4uYzJhNWMwYzZjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xNTczLDYgKzE1
NzMsMTQgQEAgQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQ6CiAgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIk1hcCBIVE1MIGF0dHJpYnV0ZXMgd2lkdGgvaGVpZ2h0
IHRvIHRoZSBkZWZhdWx0IGFzcGVjdCByYXRpbyBvZiA8aW1nPiIKICAgY2F0ZWdvcnk6IGV4cGVy
aW1lbnRhbAogCitPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZh
dWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiT3ZlcnNjcm9sbCBldmVudHMi
CisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSB0aGUgb25zY3JvbGxlbmQgYW5k
IHNjcm9sbGVuZCBldmVudHMiCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgY29uZGl0aW9u
OiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisKICMgRm9yIGludGVybmFsIGZlYXR1cmVzOgog
IyBUaGUgdHlwZSBzaG91bGQgYmUgYm9vbGVhbi4KICMgWW91IG11c3QgcHJvdmlkZSBhIGh1bWFu
UmVhZGFibGVOYW1lIGFuZCBodW1hblJlYWRhYmxlRGVzY3JpcHRpb24gZm9yIGFsbCBkZWJ1ZyBm
ZWF0dXJlcy4gVGhleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGNjYTVmZDcyNGIu
LjE5MDRiOGE4MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAg
IFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOp
cmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQg
V2ViUHJlZmVyZW5jZSBzZXR0aW5nLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAo
K1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IG92ZXJzY3JvbGxFdmVudHNFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNl
dE92ZXJzY3JvbGxFdmVudHNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorCiAyMDIwLTA0
LTA0ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TiAocjI1OTA5NSk6IEFTU0VSVElPTiBGQUlMRUQ6IG1fdmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBW
aWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSBzZWVuIHdpdGggVGVzdFdlYktpdEFQSS5XZWJLaXRMZWdh
Y3kuQXVkaW9TZXNzaW9uQ2F0ZWdvcnlJT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggZWZmYzcyYjZiMS4uY2JjOTk4NjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTI5Nyw2ICsyOTcsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyA9IDsKIEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF9j
b2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSDsKIAorRU5BQkxFX09W
RVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTOworCiBFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAogRU5BQkxFX1BJQ1RVUkVf
SU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJXyQoV0tfUExB
VEZPUk1fTkFNRSkpOwpAQCAtNDE3LDQgKzQxOSw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNM
VCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVf
QVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BV
X1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RP
Ul9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlP
VVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdB
Q1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElW
RV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJ
REFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykg
JChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9F
WFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNP
VVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9W
QVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVO
VF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
VE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZ
UFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dS
QURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxF
X0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9Q
Uk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1Jf
VEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVf
UkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURB
VEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQo
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVO
VFMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJW
RVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xP
QURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVD
T05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktF
UikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZF
Ul9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFD
VElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQo
RU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAppbmRleCA3N2IzOTg5NTAyLi44NWYxMzU2NWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgK
QEAgLTIxMCw2ICsyMTAsNyBAQAogI2RlZmluZSBXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTU2hhZG93UGFydHNFbmFibGVkIgogI2RlZmluZSBXZWJL
aXRMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkg
QCJXZWJLaXRMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCIKICNkZWZp
bmUgV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJTUUxFbmFibGVk
IgorI2RlZmluZSBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCIKIAogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAv
LyBUaGVzZSBhcmUgcHJpdmF0ZSBib3RoIGJlY2F1c2UgY2FsbGVycyBzaG91bGQgYmUgdXNpbmcg
dGhlIGNvdmVyIG1ldGhvZHMgYW5kIGJlY2F1c2UgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwMjc5Mzk0MzA4Li5jNDdh
YTFjMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0KQEAgLTcxNCw2ICs3MTQsOSBAQCBwdWJsaWM6CiAgICAgICAgIEBOTywgV2Vi
S2l0QXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWRQcmVmZXJlbmNlS2V5
LAogICAgICAgICBATk8sIFdlYktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAg
ICBAWUVTLCBXZWJLaXREZWJ1Z05lZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrc1ByZWZlcmVu
Y2VLZXksCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICBATk8sIFdlYktp
dE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSwKKyNlbmRpZgogICAgICAgICBu
aWxdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0zNjgwLDYgKzM2ODMsMTYgQEAg
c3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRC
b29sVmFsdWU6d2ViU1FMRW5hYmxlZCBmb3JLZXk6V2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVu
Y2VLZXldOwogfQogCistIChCT09MKW92ZXJzY3JvbGxFdmVudHNFbmFibGVkCit7CisgICAgcmV0
dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQ
cmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZDoo
Qk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRP
dmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiBAZW5kCiAKIEBpbXBs
ZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2ViSW50ZXJuYWwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRl
eCBhODQ1NDlkNGFiLi43ZmY3MzE5ZDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTY4OCw2ICs2ODgs
NyBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRl
cm5hbE5vdGlmaWNhdGlvbiBXRUJLSVRfREVQUgogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wg
YXN5bmNDbGlwYm9hcmRBUElFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlu
a1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIGFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkOworQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ7CiAKICNpZiBUQVJHRVRf
T1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBxdWlja0xvb2tEb2N1bWVudFNh
dmluZ0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
aW5kZXggZDExNzc3ZGI2ZS4uZjA2NDU1N2MwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzAxNSw2ICszMDE1LDkgQEAgc3RhdGljIGJvb2wgbmVl
ZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAgIHNldHRpbmdzLnNldENTU09NVmll
d1Njcm9sbGluZ0FQSUVuYWJsZWQoW3ByZWZlcmVuY2VzIENTU09NVmlld1Njcm9sbGluZ0FQSUVu
YWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
KFtwcmVmZXJlbmNlcyBDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkXSk7CiAgICAgc2V0
dGluZ3Muc2V0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoW3ByZWZl
cmVuY2VzIG1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0XSk7CisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldHRpbmdzLnNldE92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkKFtwcmVmZXJlbmNlcyBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZF0pOworI2VuZGlm
CiAKICAgICBzd2l0Y2ggKFtwcmVmZXJlbmNlcyBzdG9yYWdlQmxvY2tpbmdQb2xpY3ldKSB7CiAg
ICAgY2FzZSBXZWJBbGxvd0FsbFN0b3JhZ2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5k
ZXggZmEzYTU3NmVjNS4uZWQyNjY3M2I4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI0IEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFy
c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJh
c2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBvdmVyc2Nyb2xs
RXZlbnRzRW5hYmxlZCBXZWJQcmVmZXJlbmNlIHNldHRpbmcuCisKKyAgICAgICAgKiBJbnRlcmZh
Y2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdl
YlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAgICAgKFdlYlBy
ZWZlcmVuY2VzOjpvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCk6CisgICAgICAgIChXZWJQcmVmZXJl
bmNlczo6c2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQpOgorICAgICAgICAqIFdlYlByZWZlcmVu
Y2VzLmg6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQ
cmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDIwLTA0LTAzICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFNQSSB0byBtYWtlIFdLVXNlclNj
cmlwdHMgd2FpdCBmb3IgYSBub3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmlu
ZGV4IGRmZmQ5NGRkODYuLjY1Y2YzYWQ5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApA
QCAtMjY1LDQgKzI2NSw3IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElX
ZWJQcmVmZXJlbmNlc1ByaXZhdGU3CiB7CiAgICAgSFJFU1VMVCBhbGxvd1RvcE5hdmlnYXRpb25U
b0RhdGFVUkxzKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRB
bGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVT
VUxUIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhS
RVNVTFQgc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCmluZGV4IDE3YmNmOWJlMTguLjA0YWViNmM3YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMjcsMyArMjI3LDUg
QEAKICNkZWZpbmUgV2ViS2l0QXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJs
ZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0
RW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSAiV2Vi
S2l0V2ViU1FMRW5hYmxlZCIKKworI2RlZmluZSBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZFByZWZlcmVuY2VLZXkgIldlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IGRkMjllOTIzNmMuLjE4NGIy
YzhiOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAg
LTM1NCw2ICszNTQsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNl
dHRpbmdzKCkKIAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJL
aXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBD
RkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIGRlZmF1bHRT
ZXR0aW5ncyA9IGRlZmF1bHRzOwogI2VuZGlmCiB9CkBAIC0yNDcwLDYgKzI0NzIsMjAgQEAgSFJF
U1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0V2ViU1FMRW5hYmxlZChCT09MIGVuYWJsZWQpCiAgICAg
cmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6Om92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAg
ICAgICByZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdl
YktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNf
T0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30K
KwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6YWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhf
T3V0XyBCT09MKiBhbGxvd0FjY2VzcykKIHsKICAgICBpZiAoIWFsbG93QWNjZXNzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggYTMxYmEwM2E4Mi4uNzA5OGVl
MTE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMDcs
NiArMzA3LDggQEAgcHVibGljOgogICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4CiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0
YVVSTHMoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBzZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKEJPT0wpOworICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09M
Kik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldE92ZXJzY3JvbGxF
dmVudHNFbmFibGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCA5YmNlMzY4YWRiLi4yMTU4NzEwYTM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtNTY3MCw2ICs1NjcwLDExIEBAIEhSRVNVTFQg
V2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlm
aWNhdGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLnNldEFzcGVjdFJhdGlv
T2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHBy
ZWZzUHJpdmF0ZS0+b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChG
QUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0T3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggYjU5MTk2NTExOS4uNmY3MWE1OGExZiAxMDA2NDQK
LS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFr
ZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMTgxLDYgKzE4MSw3IEBAIG1hY3JvKFdFQktJVF9P
UFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09GRlNDUkVFTl9D
QU5WQVMgIlRvZ2dsZSBPZmZzY3JlZW5DYW52YXMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiVG9nZ2xlIE9y
aWVudGF0aW9uIEV2ZW50cyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIICJUb2dnbGUgYWNjZWxlcmF0
ZWQgc2Nyb2xsaW5nIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyAiVG9nZ2xlIG92ZXJzY3JvbGwgZXZlbnRzIiBQ
UklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUICJUb2dnbGUgUGF5bWVudCBSZXF1ZXN0IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QREZLSVRfUExVR0lOICJUb2dnbGUgUERGS2l0IHBs
dWdpbiBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSAiVG9nZ2xlIFBpY3R1cmUtaW4tUGljdHVyZSBBUEkg
c3VwcG9ydCIgUFJJVkFURSBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggNTg5YTk0YjNkYy4uYmJmNmZhOTAzNiAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIw
LTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2Fu
ZydzIHBhdGNoLgorCisgICAgICAgIERlYWwgd2l0aCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZC4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFRl
c3RPcHRpb25zOjpUZXN0T3B0aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9w
dGlvbnMuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06
CisgICAgICAgIChlbmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyk6CisgICAgICAgIChzZXRXZWJQ
cmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxp
dTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04g
RkFJTEVEOiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUg
c2VlbiB3aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5
SU9TCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKaW5kZXggMjkwNjA2YTI1NS4uYTMx
MjIxNWFkMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcApAQCAtMTU2LDYgKzE1
Niw4IEBAIFRlc3RPcHRpb25zOjpUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9y
VVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1CiAgICAgICAgICAgICBlbmFibGVBc3BlY3RS
YXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0ID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVl
KHZhbHVlKTsKICAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJhbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzIikKICAgICAgICAgICAgIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMgPSBwYXJz
ZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAgICAgICBlbHNlIGlmIChrZXkgPT0g
ImV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCIpCisgICAgICAgICAgICBlbmFi
bGVPdmVyc2Nyb2xsRXZlbnRzID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsK
ICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3RPcHRpb25zLmgKaW5kZXggYWU0YmE0YWQ1ZC4uMDFjZjM0NjBhMCAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5oCkBAIC01OCw2ICs1OCw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7
CiAgICAgYm9vbCBlbmFibGVBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0IHsgZmFs
c2UgfTsKICAgICBib29sIGVuYWJsZVdlYlNRTCB7IHRydWUgfTsKICAgICBib29sIGFsbG93VG9w
TmF2aWdhdGlvblRvRGF0YVVSTHMgeyB0cnVlIH07CisgICAgYm9vbCBlbmFibGVPdmVyc2Nyb2xs
RXZlbnRzIHsgZmFsc2UgfTsKICAgICBzdGQ6OnN0cmluZyBqc2NPcHRpb25zOwogICAgIHN0ZDo6
c3RyaW5nIGFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVzOwogCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggMGI3NDQ0OTUyMS4uMGVkMzFmYjYwYyAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtODg2LDYg
Kzg4Niw3IEBAIHN0YXRpYyB2b2lkIGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKFdlYlByZWZl
cmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBbcHJlZmVyZW5jZXMgc2V0Q1NTU2hhZG93UGFydHNF
bmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lk
dGhBbmRIZWlnaHRFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldENTU09NVmlld1Nt
b290aFNjcm9sbGluZ0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0T3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQ6WUVTXTsKIH0KIAogLy8gQ2FsbGVkIGJlZm9yZSBlYWNoIHRlc3QuCkBA
IC0xMDQ0LDYgKzEwNDUsNyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RP
cHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQogICAgIHByZWZlcmVuY2VzLmxheW91
dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkID0gb3B0aW9ucy5sYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZDsKICAgICBwcmVmZXJlbmNlcy5hc3BlY3RS
YXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlQXNwZWN0
UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodDsKICAgICBwcmVmZXJlbmNlcy5hbGxvd1RvcE5h
dmlnYXRpb25Ub0RhdGFVUkxzID0gb3B0aW9ucy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxz
OworICAgIHByZWZlcmVuY2VzLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkID0gb3B0aW9ucy5lbmFi
bGVPdmVyc2Nyb2xsRXZlbnRzOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJl
ZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVM
aXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDc2
M2FhMmU4MzIuLjM0ODE0YzMzYjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KQEAgLTEzOCw2ICsxMzgsNyBAQCBteSAoCiAgICAgJG9mZnNjcmVlbkNhbnZhc1N1cHBv
cnQsCiAgICAgJG9yaWVudGF0aW9uRXZlbnRzU3VwcG9ydCwKICAgICAkb3ZlcmZsb3dTY3JvbGxp
bmdUb3VjaFN1cHBvcnQsCisgICAgJG92ZXJzY3JvbGxFdmVudHNTdXBwb3J0LAogICAgICRwYXlt
ZW50UmVxdWVzdFN1cHBvcnQsCiAgICAgJHBkZmtpdFBsdWdpblN1cHBvcnQsCiAgICAgJHBpY3R1
cmVJblBpY3R1cmVBUElTdXBwb3J0LApAQCAtNDY0LDYgKzQ2NSw5IEBAIG15IEBmZWF0dXJlcyA9
ICgKICAgICB7IG9wdGlvbiA9PiAib3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoIiwgZGVzYyA9PiAi
VG9nZ2xlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCIsIHZhbHVlID0+IFwkb3ZlcmZsb3dTY3Jv
bGxpbmdUb3VjaFN1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJvdmVyc2Nyb2xsLWV2ZW50
cyIsIGRlc2MgPT4gIkVuYWJsZSBPdmVyc2Nyb2xsIEV2ZW50cyBzdXBwb3J0IiwKKyAgICAgIGRl
ZmluZSA9PiAiRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTIiwgdmFsdWUgPT4gXCRvdmVyc2Nyb2xs
RXZlbnRzU3VwcG9ydCB9LAorCiAgICAgeyBvcHRpb24gPT4gInBheW1lbnQtcmVxdWVzdCIsIGRl
c2MgPT4gIlRvZ2dsZSBQYXltZW50IFJlcXVlc3Qgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9QQVlNRU5UX1JFUVVFU1QiLCB2YWx1ZSA9PiBcJHBheW1lbnRSZXF1ZXN0U3VwcG9y
dCB9LAogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlZmZjNzJiNmIxLi5jYmM5OTg2M2MyIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTI5Nyw2ICsyOTcsOCBAQCBFTkFCTEVfT0ZGU0NSRUVO
X0NBTlZBUyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJG
TE9XX1NDUk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExf
RVZFTlRTOworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVT
VDsKIAogRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lO
X1BJQ1RVUkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkpOwpAQCAtNDE3LDQgKzQxOSw0IEBAIEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElP
Tl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElP
TikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hF
UlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9P
QlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVS
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVU
V09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FD
SEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAk
KEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVD
VCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9V
U0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05f
TUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
UElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJT
KSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hF
X1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMp
ICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395800</attachid>
            <date>2020-04-08 06:32:43 -0700</date>
            <delta_ts>2020-04-08 06:47:27 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-004-view.diff</filename>
            <type>text/plain</type>
            <size>58973</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNmYxMjRmODVlLi5jNzIxZWViYzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MjAtMDQtMDggIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIwLTA0LTA0ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTA5NSk6IEFTU0VSVElPTiBGQUlMRUQ6IG1f
dmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSBzZWVuIHdpdGgg
VGVzdFdlYktpdEFQSS5XZWJLaXRMZWdhY3kuQXVkaW9TZXNzaW9uQ2F0ZWdvcnlJT1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGViMTY5MzNiOGYuLjkxMjhhYjRkOGEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTY0LDcgKzE2NCwxNSBAQCBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kv
IFsgU2tpcCBdCiBmYXN0L2hhcm5lc3MvdWlzY3JpcHRjb250cm9sbGVyIFsgU2tpcCBdCiAKICMg
T25seSBpT1MgaGFzIGFuIGltcGxlbWVudGF0aW9uIG9mIFVJU2NyaXB0Q29udHJvbGxlcjo6c2Vu
ZEV2ZW50U3RyZWFtKCkuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvc2Nyb2xsaW5nIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRt
bCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWVsZW1lbnQtd2l0aC1vdmVyc2Nyb2xs
LWJlaGF2aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1l
bGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBb
IFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtYWZ0ZXItc25hcC5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJl
ZC10by1lbGVtZW50LXdpdGgtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBdCiAKICMgVGhpcyB0ZXN0IG9ubHkgbWFr
ZXMgc2Vuc2Ugb24gTWFjCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1zdWJ0aXRsZS1yZXNp
emUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmly
ZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxl
bmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjk2NmM5ZjFhYmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNj
cm9sbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdHMgc2Nyb2xsZW5k
IGV2ZW50IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlvbnMuIAorUEFTUyBUZXN0cyBzY3JvbGxl
bmQgZXZlbnQgZm9yIGNoYW5naW5nIHNjcm9sbCBhdHRyaWJ1dGVzLiAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNDNmYjdhY2RkZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9n
cmFtbWF0aWMtc2Nyb2xsLmh0bWwKQEAgLTAsMCArMSwxMzUgQEAKKzwhRE9DVFlQRSBIVE1MPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ9dHJ1
ZSBdIC0tPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2Nyb2xsX3N1
cHBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBodG1sIHsKKyAgICBoZWlnaHQ6IDMwMDBw
eDsKKyAgICB3aWR0aDogMzAwMHB4OworICB9CisKKyAgI3RhcmdldERpdiB7CisgICAgd2lkdGg6
IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgfQor
CisgICNpbm5lckRpdiB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7Cisg
IH0KKzwvc3R5bGU+CisKKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPXJ1blRlc3QoKT4K
KyAgPGRpdiBpZD0idGFyZ2V0RGl2Ij4KKyAgICA8ZGl2IGlkPSJpbm5lckRpdiI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyAgdmFyIGVsZW1lbnRfc2Nyb2xsZW5k
X2Fycml2ZWQgPSBmYWxzZTsKKyAgdmFyIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFs
c2U7CisKKyAgZnVuY3Rpb24gb25FbGVtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgYXNzZXJ0
X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgIGFzc2VydF9mYWxzZShldmVudC5idWJibGVz
KTsKKyAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gdHJ1ZTsKKyAgfQorCisgIGZ1bmN0
aW9uIG9uRG9jdW1lbnRTY3JvbGxFbmQoZXZlbnQpIHsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQu
Y2FuY2VsYWJsZSk7CisgICAgLy8gc2Nyb2xsZW5kIGV2ZW50cyBhcmUgYnViYmxlZCB3aGVuIHRo
ZSB0YXJnZXQgbm9kZSBpcyBkb2N1bWVudC4KKyAgICBhc3NlcnRfdHJ1ZShldmVudC5idWJibGVz
KTsKKyAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgIH0KKworICBmdW5j
dGlvbiBjYWxsU2Nyb2xsRnVuY3Rpb24oW3Njcm9sbFRhcmdldCwgc2Nyb2xsRnVuY3Rpb24sIGFy
Z3NdKSB7CisgICAgc2Nyb2xsVGFyZ2V0W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgfQorCisg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgbGV0IHJvb3RfZWxlbWVudCA9IGRvY3VtZW50LnNj
cm9sbGluZ0VsZW1lbnQ7CisgICAgbGV0IHRhcmdldF9kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0RGl2Iik7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAg
ICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICB0YXJnZXRfZGl2LmFk
ZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRWxlbWVudFNjcm9sbEVuZCk7CisgICAgICBk
b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkRvY3VtZW50U2Nyb2xsRW5k
KTsKKworICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAgICAgIFt0YXJnZXRfZGl2LCAyMDAs
IDIwMCwgW3RhcmdldF9kaXYsICJzY3JvbGxUbyIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVo
YXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBbdGFyZ2V0X2Rp
diwgInNjcm9sbFRvIiwgeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0s
CisgICAgICAgIFtyb290X2VsZW1lbnQsIDIwMCwgMjAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xs
VG8iLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0byIgfV1dLAorICAgICAg
ICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsVG8iLCB7IHRvcDog
MCwgbGVmdDogMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYs
IDIwMCwgMjAwLCBbdGFyZ2V0X2RpdiwgInNjcm9sbEJ5IiwgeyB0b3A6IDIwMCwgbGVmdDogMjAw
LCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYsIDAsIDAsIFt0YXJn
ZXRfZGl2LCAic2Nyb2xsQnkiLCB7IHRvcDogLTIwMCwgbGVmdDogLTIwMCwgYmVoYXZpb3I6ICJz
bW9vdGgiIH1dXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwgMjAwLCAyMDAsIFtyb290X2VsZW1l
bnQsICJzY3JvbGxCeSIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9
XV0sCisgICAgICAgIFtyb290X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1lbnQsICJzY3JvbGxC
eSIsIHsgdG9wOiAtMjAwLCBsZWZ0OiAtMjAwLCBiZWhhdmlvcjogInNtb290aCIgfV1dCisgICAg
ICBdOworCisgICAgICBmb3IgKGkgPSAwOyBpIDwgdGVzdF9jYXNlcy5sZW5ndGg7IGkrKykgewor
ICAgICAgICBsZXQgdCA9IHRlc3RfY2FzZXNbaV07CisgICAgICAgIGxldCB0YXJnZXQgPSB0WzBd
OworICAgICAgICBsZXQgZXhwZWN0ZWRfeCA9IHRbMV07CisgICAgICAgIGxldCBleHBlY3RlZF95
ID0gdFsyXTsKKyAgICAgICAgbGV0IHNjcm9sbF9kYXRhcyA9IHRbM107CisKKyAgICAgICAgY2Fs
bFNjcm9sbEZ1bmN0aW9uKHNjcm9sbF9kYXRhcyk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkg
PT4geyByZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxl
bmRfYXJyaXZlZDsgfSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAi
IGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgIGlmICh0YXJnZXQg
PT0gcm9vdF9lbGVtZW50KQorICAgICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9s
bExlZnQsIGV4cGVjdGVkX3gsIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBzY3JvbGxMZWZ0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9sbFRv
cCwgZXhwZWN0ZWRfeSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAi
IHNjcm9sbFRvcCIpOworCisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxz
ZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgIH0K
KyAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlv
bnMuIik7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAgIGF3YWl0IHdh
aXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisKKyAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWworICAg
ICAgICBbdGFyZ2V0X2RpdiwgInNjcm9sbFRvcCJdLAorICAgICAgICBbdGFyZ2V0X2RpdiwgInNj
cm9sbExlZnQiXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvcCJdLAorICAgICAg
ICBbcm9vdF9lbGVtZW50LCAic2Nyb2xsTGVmdCJdCisgICAgICBdOworICAgICAgZm9yIChpID0g
MDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgbGV0IHQgPSB0ZXN0X2Nh
c2VzW2ldOworICAgICAgICBsZXQgdGFyZ2V0ID0gdFswXTsKKyAgICAgICAgbGV0IGF0dHJpYnV0
ZSA9IHRbMV07CisgICAgICAgIGxldCBwb3NpdGlvbiA9IDIwMDsKKworICAgICAgICB0YXJnZXQu
c3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSAic21vb3RoIjsKKyAgICAgICAgdGFyZ2V0W2F0dHJpYnV0
ZV0gPSBwb3NpdGlvbjsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVt
ZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCB0
YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgZGlkIG5vdCByZWNlaXZlIHNjcm9s
bGVuZCBldmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1lbnQpCisgICAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBl
bHNlCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXRbYXR0cmlidXRlXSwgcG9zaXRpb24sIHRhcmdl
dC50YWdOYW1lICsgIi4iICsgYXR0cmlidXRlICsgIiAiKTsKKyAgICAgICAgZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCA9IGZhbHNlOworCisgICAgICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7Cisg
ICAgICAgIHRhcmdldC5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICJhdXRvIjsKKyAgICAgICAgdGFy
Z2V0W2F0dHJpYnV0ZV0gPSAwOworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJu
IGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7
IH0sIHRhcmdldC50YWdOYW1lICsgIi4iICsgYXR0cmlidXRlICsgIiBkaWQgbm90IHJlY2VpdmUg
c2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVudCkK
KyAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldFthdHRyaWJ1dGVdLCAwLCB0YXJnZXQu
dGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgIik7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xs
ZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQg
PSBmYWxzZTsKKyAgICAgIH0KKyAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFu
Z2luZyBzY3JvbGwgYXR0cmlidXRlcy4iKTsKKyAgfQorPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMC4uYmVjNzExZmRlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJ
bnRvVmlldy4gCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbElu
dG9WaWV3LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXNjcm9sbEludG9WaWV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3It
c2Nyb2xsSW50b1ZpZXcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
Li5lZGQzOGMwZjJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKQEAgLTAsMCArMSwxMjQgQEAKKzwhRE9DVFlQ
RSBIVE1MPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxF
dmVudHNFbmFibGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0Vu
YWJsZWQ9dHJ1ZSBdIC0tPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
c2Nyb2xsX3N1cHBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAgIGh0bWwgeworICAgICAg
ICBoZWlnaHQ6IDMwMDBweDsKKyAgICAgICAgd2lkdGg6IDMwMDBweDsKKyAgICB9CisKKyAgICAj
dGFyZ2V0RGl2IHsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDIwMHB4
OworICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIH0KKworICAgICNpbm5lckRpdiB7Cisg
ICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICB9Cis8L3N0
eWxlPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD1ydW5UZXN0KCk+CisgICAgPGRp
diBpZD0idGFyZ2V0RGl2Ij4KKyAgICAgICAgPGRpdiBpZD0iaW5uZXJEaXYiPgorICAgICAgICA8
L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnRfc2Ny
b2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICB2YXIgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSBmYWxzZTsKKworICAgIGZ1bmN0aW9uIG9uRWxlbWVudFNjcm9sbEVuZChldmVudCkgewor
ICAgICAgICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgICAgIGFzc2VydF9m
YWxzZShldmVudC5idWJibGVzKTsKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25Eb2N1bWVudFNjcm9sbEVuZChldmVudCkg
eworICAgICAgICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgICAgIC8vIHNj
cm9sbGVuZCBldmVudHMgYXJlIGJ1YmJsZWQgd2hlbiB0aGUgdGFyZ2V0IG5vZGUgaXMgZG9jdW1l
bnQuCisgICAgICAgIGFzc2VydF90cnVlKGV2ZW50LmJ1YmJsZXMpOworICAgICAgICBkb2N1bWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gY2FsbFNj
cm9sbEZ1bmN0aW9uKFtzY3JvbGxUYXJnZXQsIHNjcm9sbEZ1bmN0aW9uLCBhcmdzXSkgeworICAg
ICAgICBzY3JvbGxUYXJnZXRbc2Nyb2xsRnVuY3Rpb25dKGFyZ3MpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGxldCByb290X2VsZW1lbnQgPSBkb2N1bWVudC5z
Y3JvbGxpbmdFbGVtZW50OworICAgICAgICBsZXQgdGFyZ2V0X2RpdiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXREaXYiKTsKKyAgICAgICAgbGV0IGlubmVyX2RpdiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpbm5lckRpdiIpOworCisgICAgICAgIC8vIEdldCBleHBlY3RlZCBw
b3NpdGlvbiBmb3Igcm9vdF9lbGVtZW50IHNjcm9sbEludG9WaWV3LgorICAgICAgICByb290X2Vs
ZW1lbnQuc2Nyb2xsVG8oMTAwMDAsIDEwMDAwKTsKKyAgICAgICAgbGV0IG1heF9yb290X3ggPSBy
b290X2VsZW1lbnQuc2Nyb2xsTGVmdDsKKyAgICAgICAgbGV0IG1heF9yb290X3kgPSByb290X2Vs
ZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICByb290X2VsZW1lbnQuc2Nyb2xsVG8oMCwgMCk7CisK
KyAgICAgICAgdGFyZ2V0X2Rpdi5zY3JvbGxUbygxMDAwMCwgMTAwMDApOworICAgICAgICBsZXQg
bWF4X2VsZW1lbnRfeCA9IHRhcmdldF9kaXYuc2Nyb2xsTGVmdDsKKyAgICAgICAgbGV0IG1heF9l
bGVtZW50X3kgPSB0YXJnZXRfZGl2LnNjcm9sbFRvcDsKKyAgICAgICAgdGFyZ2V0X2Rpdi5zY3Jv
bGxUbygwLCAwKTsKKworICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAg
ICAgICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICAgICAgICB0YXJn
ZXRfZGl2LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRWxlbWVudFNjcm9sbEVuZCk7
CisgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkRv
Y3VtZW50U2Nyb2xsRW5kKTsKKworICAgICAgICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAg
ICAgICAgICAgICAgW3RhcmdldF9kaXYsIG1heF9lbGVtZW50X3gsIG1heF9lbGVtZW50X3ksIFtp
bm5lcl9kaXYsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAiZW5kIiwgYmxvY2s6ICJlbmQi
LCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgICAgICAgICBbdGFyZ2V0X2RpdiwgMCwg
MCwgW2lubmVyX2RpdiwgInNjcm9sbEludG9WaWV3IiwgeyBpbmxpbmU6ICJzdGFydCIsIGJsb2Nr
OiAic3RhcnQiLCBiZWhhdmlvcjogInNtb290aCIgfV1dLAorICAgICAgICAgICAgICAgIFtyb290
X2VsZW1lbnQsIG1heF9yb290X3gsIG1heF9yb290X3ksIFtyb290X2VsZW1lbnQsICJzY3JvbGxJ
bnRvVmlldyIsIHsgaW5saW5lOiAiZW5kIiwgYmxvY2s6ICJlbmQiLCBiZWhhdmlvcjogInNtb290
aCIgfV1dLAorICAgICAgICAgICAgICAgIFtyb290X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1l
bnQsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAic3RhcnQiLCBibG9jazogInN0YXJ0Iiwg
YmVoYXZpb3I6ICJzbW9vdGgiIH1dXQorICAgICAgICAgICAgXTsKKworICAgICAgICAgICAgZm9y
IChpID0gMDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICBs
ZXQgdCA9IHRlc3RfY2FzZXNbaV07CisgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07
CisgICAgICAgICAgICAgICAgbGV0IGV4cGVjdGVkX3ggPSB0WzFdOworICAgICAgICAgICAgICAg
IGxldCBleHBlY3RlZF95ID0gdFsyXTsKKyAgICAgICAgICAgICAgICBsZXQgc2Nyb2xsX2RhdGFz
ID0gdFszXTsKKworICAgICAgICAgICAgICAgIGNhbGxTY3JvbGxGdW5jdGlvbihzY3JvbGxfZGF0
YXMpOworICAgICAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgdGFy
Z2V0LnRhZ05hbWUgKyAiLnNjcm9sbEludG9WaWV3ICBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5k
IGV2ZW50LiIpOworICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQor
ICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFs
c2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0LnNjcm9sbExlZnQsIGV4cGVjdGVkX3gsIHRhcmdldC50YWdOYW1lICsgIi5z
Y3JvbGxJbnRvVmlldyBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0YXJnZXQuc2Nyb2xsVG9wLCBleHBlY3RlZF95LCB0YXJnZXQudGFnTmFtZSArICIuc2Nyb2xs
SW50b1ZpZXcgc2Nyb2xsVG9wIik7CisKKyAgICAgICAgICAgICAgICBlbGVtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwgIlRlc3RzIHNjcm9sbGVu
ZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIik7CisKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFz
eW5jICh0KSA9PiB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRhcmdl
dF9kaXYpOworICAgICAgICAgICAgbGV0IG91dF9kaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICAgICAgICAgIG91dF9kaXYuc3R5bGUgPSAid2lkdGg6IDEwMHB4OyBoZWln
aHQ6MTAwcHg7IG92ZXJmbG93OnNjcm9sbDsgc2Nyb2xsLWJlaGF2aW9yOnNtb290aDsiOworICAg
ICAgICAgICAgb3V0X2Rpdi5hcHBlbmRDaGlsZCh0YXJnZXRfZGl2KTsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0X2Rpdik7CisgICAgICAgICAgICBhd2FpdCB3YWl0
Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworCisgICAgICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9h
cnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IGZhbHNlOworICAgICAgICAgICAgaW5uZXJfZGl2LnNjcm9sbEludG9WaWV3KHsgaW5saW5lOiAi
ZW5kIiwgYmxvY2s6ICJlbmQiLCBiZWhhdmlvcjogImF1dG8iIH0pOworICAgICAgICAgICAgYXdh
aXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRv
Y3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IGRpZCBu
b3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHJvb3RfZWxlbWVudC5zY3JvbGxMZWZ0LCAwLCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHJvb3Rf
ZWxlbWVudCBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJvb3RfZWxl
bWVudC5zY3JvbGxUb3AsIDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgcm9vdF9lbGVtZW50IHNj
cm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhvdXRfZGl2LnNjcm9sbExlZnQs
IDEwMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBvdXRfZGl2IHNjcm9sbExlZnQiKTsKKyAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMob3V0X2Rpdi5zY3JvbGxUb3AsIDEwMCwgIk5lc3RlZCBzY3Jv
bGxJbnRvVmlldyBvdXRfZGl2IHNjcm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0YXJnZXRfZGl2LnNjcm9sbExlZnQsIG1heF9lbGVtZW50X3gsICJOZXN0ZWQgc2Nyb2xsSW50
b1ZpZXcgdGFyZ2V0X2RpdiBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHRhcmdldF9kaXYuc2Nyb2xsVG9wLCBtYXhfZWxlbWVudF95LCAiTmVzdGVkIHNjcm9sbEludG9W
aWV3IHRhcmdldF9kaXYgc2Nyb2xsVG9wIik7CisgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2
ZW50IGZvciBuZXN0ZWQgc2Nyb2xsSW50b1ZpZXcuIik7CisgICAgfQorPC9zY3JpcHQ+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVmMmMyNzg4MDMuLmU1ZDI5NTIz
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5MiBAQAorMjAyMC0wNC0wOCAgQ2F0aGllIENoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9s
bGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2
ZW50IG9mIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcuIG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFy
Z2V0TGlzdCBpbiBEb2N1bWVudCBzdG9yZXMKKyAgICAgICAgdGhlIHNjcm9sbGVkIHRhcmdldHMg
d2hpY2ggbmVlZCB0byBkaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnRzLiBGcmFtZVZpZXcgYW5kIFJl
bmRlckxheWVyIHByb3ZpZGUgdGhyZWUgd2F5cyB0bworICAgICAgICBhZGQgZWxlbWVudHMgdG8g
dGhlIHNjcm9sbGVuZCBsaXN0LiAgICAgCisgICAgICAgIDEuIEluc3RhbnQgc2Nyb2xsaW5nIGlu
Y2x1ZGluZyB0aGUgc2Nyb2xsaW5nIHBvc2l0aW9uIG5vdCBjaGFuZ2VkIGFuaW1hdGVkIHNjcm9s
bCwgdGhlIGVsZW1lbnQgd291bGQgYWRkIHRvIHRoZSBsaXN0CisgICAgICAgIGFmdGVyIHNjcm9s
bCBwb3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAyLiBBbmltYXRlZCBzY3JvbGxpbmcsIHRoZSBl
bGVtZW50IHdvdWxkIGJlIHNldCBhcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCBvZiBTY3Jv
bGxBbmltYXRpb24gYW5kIGFkZCB0byB0aGUgbGlzdAorICAgICAgICB3aGVuIGFuaW1hdGlvbiBz
dG9wcy4gRm9yIHNjcm9sbFJlY3RJbnRvVmlldywgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHNjcm9s
bGVuZCBldmVudCBmaXJlZCBhZnRlciBhbGwgYW5jZXN0b3IgbGF5ZXJzCisgICAgICAgIGZpbmlz
aGluZyBzY3JvbGxpbmcsIGFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0byBpbmRpY2F0
ZSBpZiBzY3JvbGxSZWN0SW50b1ZpZXcgZmluaXNoZWQuIFdoZW4gU2Nyb2xsQW5pbWF0aW9uCisg
ICAgICAgIHN0b3BzLCBpdCB3aWxsIHRyeSB0byBmaW5kIGEgZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3IGFuY2VzdG9yIGxheWVyIGFuZCBwYXNzIHRoZSBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRv
IGl0cworICAgICAgICBTY3JvbGxBbmltYXRpb24uIElmIG5vIHN1Y2ggbGF5ZXIgZm91bmQsIGFk
ZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAg
My4gVXNlciBhc3luY2hyb25vdXMgc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsIHBvc2l0aW9uIHdvdWxk
bid0IGNoYW5nZSBpbW1lZGlhdGVseS4gU28gc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24KKyAg
ICAgICAgdGhlbiBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9u
IGNoYW5nZWQuIFRoZSBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHdvdWxkbid0IHRyaWdnZXIgdGhp
cyB3YXkuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRp
Yy1zY3JvbGwuaHRtbAorICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXcuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojpjb21tb25UZWFyZG93bik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTogQXBwZW5kIHRoZSB0YXJnZXRz
IHRvIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC4KKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpydW5TY3JvbGxTdGVwcyk6IERpc3BhdGNoIHNjcm9sbGVuZCBldmVudCBmb3Ig
ZWFjaCB0YXJnZXQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZCBtX3BlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldExpc3Qgd2hpY2gga2VlcHMgdGhlIHNjcm9sbGVuZCBldmVudCB0YXJn
ZXRzLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNldFNjcm9sbExlZnQpOiBTZXQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMgZm9yIEZy
YW1lVmlldyBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsVG9w
KTogRGl0dG8uCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjpzY3JvbGxUbyBjb25zdCk6IEFkZCBkb2N1bWVudCB0byB0aGUgc2Nyb2xs
ZW5kIGxpc3QgZm9yIHNjcm9sbGluZyB0byAoMCwgMCkgb3B0aW1pemF0aW9uLgorICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24pOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGlmIGl0IHNj
cm9sbGVkKGluc3RhbnQgc2Nyb2xsIG9yIHNtb290aCBzY3JvbGwKKwl3aXRob3V0IGNoYW5naW5n
IHRoZSBwb3NpdGlvbiwgb3RoZXJ3aXNlIHNldCBkb2N1bWVudCBhcyB0aGUgc2Nyb2xsRW5kVGFy
Z2V0IG9mIHNjcm9sbEFuaWFtdGlvbi4pLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpz
YXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6IFNhdmUgdGhlIHNjcm9sbCBwb3NpdGlvbiB0aGF0
IHJlcXVpcmVzIHRvIGZpcmUgYW4gc2Nyb2xsZW5kIGV2ZW50LiBUaGlzIGlzIGZvciBhc3luY2hy
b25vdXMgc2Nyb2xsLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjaGVja1Njcm9sbEVu
ZEV2ZW50UG9zaXRpb24pOiBBZGQgZG9jdW1lbnQgdG8gdGhlIGxpc3QgaWYgdGhlIHNjcm9sbCBw
b3NpdGlvbiBlcXVhbCB0byB0aGUgcHJlc2VydmVkIG9uZS4KKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTogQWRkIERvY3VtZW50IHRv
IG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdCBpbiBEb2N1bWVudC4KKyAgICAgICAg
KiBwYWdlL0ZyYW1lVmlldy5oOiBBZGQgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5k
aWNhdGUgRnJhbWVWaWV3IGlzIHBlcmZvcm1pbmcgYSBhbmltYXRlZCBzY3JvbGxSZWN0SW50b1Zp
ZXcgc2Nyb2xsLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0b3ApOiBDYWxsIG5vdGlmeVNjcm9sbEVuZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6bm90aWZ5U2Nyb2xsRW5kKTog
c2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGZhbHNlLiBJZiB0aGVyZSdzIG1fc2Nyb2xsRW5k
RXZlbnRUYXJnZXQsIHRyeSB0byBmaW5kIGFuIGFuY2VzdG9yIGxheWVyCisJZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3IGFuZCBzZXQgdGhlIHRhcmdldCB0byBpdC4gT3RoZXJ3aXNlLCBhZGQgdGhl
IHRhcmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRpb25TbW9vdGg6OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOiBDYWxsIG5vdGlmeVNj
cm9sbEVuZCBpZiBub3QgY29udGludWVBbmltYXRpb24uCisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0aW9uU21vb3RoLmg6IEFkZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yOjpzZXRTY3JvbGxFbmRUYXJnZXQpOiBTZXQgbV9zY3JvbGxFbmRFdmVudFRhcmdl
dCB0byBTY3JvbGxBbmltYXRpb25TbW9vdGguCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOiBBZGQgUmVxdWVzdFNj
cm9sbEVuZEV2ZW50LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbik6IEFkZCBS
ZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnNjcm9sbFRvKTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgdGhlIHNjcm9s
bCBwb3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxh
YmxlQXJlYTo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNhdmVTY3JvbGxF
bmRFdmVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpjaGVj
a1Njcm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFy
ZWE6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxhYmxlQXJlYTo6ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGFibGVBcmVhOjpzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9s
bFRvWFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRp
b24pOiBBZGQgZWxlbWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgaWYgaXQgc2Nyb2xsZWQoaW5z
dGFudCBzY3JvbGwgb3Igc21vb3RoIHNjcm9sbAorCXdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc2l0
aW9uLCBvdGhlcndpc2Ugc2V0IGVsZW1lbnQgYXMgdGhlIHNjcm9sbEVuZFRhcmdldCBvZiBzY3Jv
bGxBbmlhbXRpb24uKS4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRv
T2Zmc2V0KTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24sIGlmIHRoZXJlIGlzIG5v
IHNjcm9sbGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUbyk6IGNo
ZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbiBpZiBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKTogc2V0RHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpIGlmIGl0J3MgcGVyZm9ybWluZyBhIGFuaW1hdGVk
IHNjcm9sbGluZy4KKwlBZnRlciBwYXJlbnRMYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZSgpLCBj
aGVjayBpZiBjdXJyZW50IGxheWVyIGlzIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldywgc2V0IHRo
ZSBlbGVtZW50IGFzIGFuaW1hdGlvbidzIHNjcm9sbGVuZCBUYXJnZXQuCisJT3RoZXJ3aXNlLCBm
aW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5jZXN0b3IgbGF5ZXIgYW5kIHBhc3Mg
dGhlIGVsZW1lbnQgdG8gYW5jZXN0b3IgbGF5ZXIncyBzY3JvbGxBbmltYXRpb24uCisJSWYgbm8g
ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGxheWVyIGZvdW5kLCBhZGQgdGhlIGVsZW1lbnQgdG8g
dGhlIHNjcm9sbGVuZCBsaXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNhdmVT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpj
aGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KTogRmluZCB0
aGUgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGFuY2VzdG9yIGxheWVyLCBhbmQgY2hlY2sgRnJh
bWVWaWV3IGF0IHRoZSBlbmQuIAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyT2JqZWN0OjpzY3JvbGxSZWN0VG9WaXNpYmxlKTogQWRkIFJlcXVlc3RTY3JvbGxFbmRF
dmVudDo6WWVzLgorCiAyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlh
LmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2lu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggM2VmOTQ1OTAwYi4uZTVjNDc4N2VkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC03OTksNiArNzk5LDEwIEBAIHZvaWQgRG9jdW1lbnQ6
OmNvbW1vblRlYXJkb3duKCkKIAogICAgIG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdCA9
IG51bGxwdHI7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbV9wZW5kaW5n
U2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ID0gbnVsbHB0cjsKKyNlbmRpZgorCiAgICAgd2hpbGUg
KCFtX3RpbWVsaW5lcy5jb21wdXRlc0VtcHR5KCkpCiAgICAgICAgIG1fdGltZWxpbmVzLmJlZ2lu
KCktPmRldGFjaEZyb21Eb2N1bWVudCgpOwogICAgIG1fdGltZWxpbmUgPSBudWxscHRyOwpAQCAt
NDA3Miw2ICs0MDc2LDI2IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxFdmVudFRh
cmdldChDb250YWluZXJOb2RlJiB0YXJnZXQpCiAgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsK
IH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRG9jdW1lbnQ6OmFkZFBl
bmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJOb2RlJiB0YXJnZXQpCit7CisgICAg
aWYgKCFzZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmICghbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0KQorICAgICAg
ICBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QgPSBtYWtlVW5pcXVlPFBlbmRpbmdT
Y3JvbGxFdmVudFRhcmdldExpc3Q+KCk7CisKKyAgICBhdXRvJiB0YXJnZXRzID0gbV9wZW5kaW5n
U2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzOworICAgIGlmICh0YXJnZXRzLmZpbmRN
YXRjaGluZyhbJl0gKGF1dG8mIGVudHJ5KSB7IHJldHVybiBlbnRyeS5wdHIoKSA9PSAmdGFyZ2V0
OyB9KSAhPSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHRhcmdldHMuaXNF
bXB0eSgpKQorICAgICAgICBzY2hlZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CisKKyAgICB0
YXJnZXRzLmFwcGVuZCh0YXJnZXQpOworfQorI2VuZGlmCisKIHZvaWQgRG9jdW1lbnQ6OnNldE5l
ZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpCiB7CiAgICAgaWYgKCFtX25lZWRzVmlzdWFs
Vmlld3BvcnRTY3JvbGxFdmVudCkKQEAgLTQwOTcsNiArNDEyMSwxOCBAQCB2b2lkIERvY3VtZW50
OjpydW5TY3JvbGxTdGVwcygpCiAgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb21XaW5kb3co
KSkKICAgICAgICAgICAgIHdpbmRvdy0+dmlzdWFsVmlld3BvcnQoKS5kaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbEV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpO
bywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKICAgICB9CisKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgLy8gRGVhbCB3aXRoIHNjcm9sbGVuZCBldmVudC4KKyAgICBpZiAo
bV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ICYmICFtX3BlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldExpc3QtPnRhcmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAgIExPR19XSVRIX1NU
UkVBTShFdmVudHMsIHN0cmVhbSA8PCAiRG9jdW1lbnQiIDw8IHRoaXMgPDwgInNlbmRpbmcgc2Ny
b2xsZW5kIGV2ZW50cyB0byBwZW5kaW5nIHNjcm9sbCBldmVudCB0YXJnZXRzIik7CisgICAgICAg
IGF1dG8gY3VycmVudFNjcm9sbEVuZFRhcmdldHMgPSBXVEZNb3ZlKG1fcGVuZGluZ1Njcm9sbEVu
ZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0cyk7CisgICAgICAgIGZvciAoYXV0byYgdGFyZ2V0IDog
Y3VycmVudFNjcm9sbEVuZFRhcmdldHMpIHsKKyAgICAgICAgICAgIGF1dG8gYnViYmxlcyA9IHRh
cmdldC0+aXNEb2N1bWVudE5vZGUoKSA/IEV2ZW50OjpDYW5CdWJibGU6OlllcyA6IEV2ZW50OjpD
YW5CdWJibGU6Ok5vOworICAgICAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbGVuZEV2ZW50LCBidWJibGVzLCBFdmVudDo6SXNDYW5j
ZWxhYmxlOjpObykpOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1l
bnQ6OmFkZEF1ZGlvUHJvZHVjZXIoTWVkaWFQcm9kdWNlciYgYXVkaW9Qcm9kdWNlcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKaW5kZXggODM5YWZjZDU4Yi4uNzQ1ZGEyZGYyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKQEAgLTEzNjAsNiArMTM2MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJ1blJlc2l6ZVN0
ZXBzKCk7CiAKICAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJO
b2RlJik7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgYWRkUGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmKTsKKyNlbmRpZgogICAgIHZvaWQg
c2V0TmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2ZW50KCk7CiAgICAgdm9pZCBydW5TY3JvbGxT
dGVwcygpOwogCkBAIC0yMDQyLDYgKzIwNDUsOSBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFBl
bmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdT
Y3JvbGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdDsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdT
Y3JvbGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdDsK
KyNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBIYXNoU2V0PEhUTUxNZWRp
YUVsZW1lbnQqPiBtX21lZGlhU3RyZWFtU3RhdGVDaGFuZ2VFbGVtZW50czsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAppbmRleCBkOTAyMTM0NjZjLi43NGM0NDY1MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCkBAIC0xMjk1LDcgKzEyOTUsMTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KGlu
dCBuZXdMZWZ0KQogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDUwNTkKICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVk
ID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRv
Y3VtZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6
Tm87CiAgICAgICAgICAgICBJbnRQb2ludCBwb3NpdGlvbihzdGF0aWNfY2FzdDxpbnQ+KG5ld0xl
ZnQgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkp
LCBmcmFtZS0+dmlldygpLT5zY3JvbGxZKCkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9u
LCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVu
dDo6WWVzKTsKKyNlbHNlCiAgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRp
ZgogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzE5LDcgKzEzMjMsMTEg
QEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCkKICAgICAgICAgICAgIC8v
IFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5CiAgICAg
ICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvcjo6QXV0bywgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmltYXRl
ZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOwogICAgICAgICAgICAgSW50UG9pbnQg
cG9zaXRpb24oZnJhbWUtPnZpZXcoKS0+c2Nyb2xsWCgpLCBzdGF0aWNfY2FzdDxpbnQ+KG5ld1Rv
cCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkp
OworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgIGZyYW1lLT52aWV3
KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwg
YW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgICAgICAg
ICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgICAgIHJldHVy
bjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMDlhYWI2YjIzZC4uNjJm
ZGU2ZTdjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTY3OSw4ICsxNjc5LDE1
IEBAIHZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlv
bnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nCiAKICAgICAvLyBUaGlzIGlzIGFuIG9wdGltaXph
dGlvbiBmb3IgdGhlIGNvbW1vbiBjYXNlIG9mIHNjcm9sbGluZyB0byAoMCwgMCkgd2hlbiB0aGUg
c2Nyb2xsZXIgaXMgYWxyZWFkeSBhdCB0aGUgb3JpZ2luLgogICAgIC8vIElmIGFuIGFuaW1hdGVk
IHNjcm9sbCBpcyBpbiBwcm9ncmVzcywgdGhpcyBvcHRpbWl6YXRpb24gaXMgc2tpcHBlZCB0byBl
bnN1cmUgdGhhdCB0aGUgYW5pbWF0ZWQgc2Nyb2xsIGlzIHJlYWxseSBzdG9wcGVkLgotICAgIGlm
ICh2aWV3LT5jdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0
YXR1czo6Tm90SW5BbmltYXRpb24gJiYgIXNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkgJiYg
IXNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSAmJiB2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0
aW9uKCkgPT0gSW50UG9pbnQoMCwgMCkpCisgICAgaWYgKHZpZXctPmN1cnJlbnRTY3JvbGxCZWhh
dmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbgorICAg
ICAgICAmJiAhc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKQorICAgICAgICAmJiAhc2Nyb2xs
VG9PcHRpb25zLnRvcC52YWx1ZSgpCisgICAgICAgICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9z
aXRpb24oKSA9PSBJbnRQb2ludCgwLCAwKSkgeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICAgICAgdmlldy0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisjZW5k
aWYKICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
aW5kZXggNzQ0MWQwYzQwMi4uZmRmODM0M2Q4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cApAQCAtMjI3NSw3ICsyMjc1LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbEVsZW1lbnRUb1Jl
Y3QoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBzZXRT
Y3JvbGxQb3NpdGlvbihJbnRQb2ludChib3VuZHMueCgpIC0gY2VudGVyaW5nT2Zmc2V0WCAtIHJl
Y3QueCgpLCBib3VuZHMueSgpIC0gY2VudGVyaW5nT2Zmc2V0WSAtIHJlY3QueSgpKSk7CiB9CiAK
LXZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYg
c2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBh
bmltYXRlZCkKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxFbmRF
dmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZyYW1l
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbiA8PCAiICwgY2xlYXJp
bmcgYW5jaG9yIik7CiAKQEAgLTIyODgsMTAgKzIyODgsMjEgQEAgdm9pZCBGcmFtZVZpZXc6OnNl
dFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Ny
b2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgc2Nyb2xsQW5pbWF0b3Io
KS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hlZWxFdmVudFRlc3RNb25pdG9yKCkp
OworCisgICAgU2Nyb2xsUG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Nj
cm9sbGluZygpICYmIGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVz
dFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRp
b247CiAgICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAgIHNj
cm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oc2Nyb2xs
UG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CisgICAgICAgIHNjcm9s
bFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24obmV3U2Nyb2xs
UG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAg
ICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgY2xhbXBp
bmcpOworICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihuZXdTY3JvbGxQb3Np
dGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpOworCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChmcmFtZSgpLnNldHRpbmdzKCkub3Zl
cnNjcm9sbEV2ZW50c0VuYWJsZWQoKSAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVz
dFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgaWYgKG5ld1Njcm9sbFBvc2l0aW9uID09
IFNjcm9sbFZpZXc6OnNjcm9sbFBvc2l0aW9uKCkpCisgICAgICAgICAgICBhZGRQZW5kaW5nU2Ny
b2xsRW5kRXZlbnRUYXJnZXQoKTsKKyAgICAgICAgZWxzZSBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0
ZWRTY3JvbGw6OlllcykKKyAgICAgICAgICAgIHNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0
cihmcmFtZSgpLmRvY3VtZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIAogICAgIHNldEN1cnJlbnRT
Y3JvbGxUeXBlKG9sZFNjcm9sbFR5cGUpOwogfQpAQCAtMzcyOCw2ICszNzM5LDMyIEBAIHZvaWQg
RnJhbWVWaWV3OjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0
JiBvZmZzZXQsIFNjcm9sbFR5CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNTY3Jv
bGxUeXBlKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRnJhbWVW
aWV3OjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9z
aXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghZnJhbWUoKS5zZXR0
aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IFNjcm9sbFBvc2l0aW9uIGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IGNsYW1waW5nID09IFNjcm9s
bENsYW1waW5nOjpDbGFtcGVkID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShwb3Np
dGlvbikgOiBwb3NpdGlvbjsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBj
bGFtcGVkU2Nyb2xsUG9zaXRpb247Cit9CisKK3ZvaWQgRnJhbWVWaWV3OjpjaGVja1Njcm9sbEVu
ZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGlm
ICghbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uIHx8IG1fZmlyZVNjcm9sbEVuZEV2ZW50
QXRQb3NpdGlvbi52YWx1ZSgpICE9IHBvc2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBh
ZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVu
dEF0UG9zaXRpb24gPSBXVEY6Om51bGxvcHQ7Cit9CisKK3ZvaWQgRnJhbWVWaWV3OjphZGRQZW5k
aW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKQoreworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQg
PSBmcmFtZSgpLmRvY3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50LT5hZGRQZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXQoKmRvY3VtZW50KTsKK30KKyNlbmRpZgorCiBmbG9hdCBGcmFtZVZpZXc6
OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhlZENvbnRlbnQoZmxvYXQgc3RlcCwgU2Nyb2xsYmFyT3Jp
ZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQogewog
ICAgIGlmIChncmFudWxhcml0eSAhPSBTY3JvbGxCeVBhZ2UgfHwgb3JpZW50YXRpb24gPT0gSG9y
aXpvbnRhbFNjcm9sbGJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDA0YWU1OWE2MTAu
LjQ3MzY1YzQ0NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjI5LDcgKzIyOSw3IEBA
IHB1YmxpYzoKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRGaXhlZFZpc2libGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JikgZmluYWw7
CiAjZW5kaWYKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pIGZpbmFsOworICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBT
Y3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9
IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9s
bEVuZEV2ZW50OjpObykgZmluYWw7CiAgICAgdm9pZCByZXN0b3JlU2Nyb2xsYmFyKCk7CiAgICAg
dm9pZCBzY2hlZHVsZVNjcm9sbFRvRm9jdXNlZEVsZW1lbnQoU2VsZWN0aW9uUmV2ZWFsTW9kZSk7
CiAgICAgdm9pZCBzY3JvbGxUb0ZvY3VzZWRFbGVtZW50SW1tZWRpYXRlbHlJZk5lZWRlZCgpOwpA
QCAtNjY0LDYgKzY2NCwxNCBAQCBwdWJsaWM6CiAKICAgICBib29sIGluVXBkYXRlRW1iZWRkZWRP
YmplY3RzKCkgY29uc3QgeyByZXR1cm4gbV9pblVwZGF0ZUVtYmVkZGVkT2JqZWN0czsgfQogCisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2F2ZVNjcm9sbEVuZEV2ZW50
UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKKyAgICB2b2lkIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIGZpbmFsOworICAgIHZvaWQgYWRkUGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0KCkgZmluYWw7CisgICAgYm9vbCBkdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcoKSBmaW5hbCB7IHJldHVybiBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldzsgfQorICAg
IHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGJvb2wgc2Nyb2xsaW5nKSBmaW5hbCB7
IG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3ID0gc2Nyb2xsaW5nOyB9CisjZW5kaWYKKwogcHJv
dGVjdGVkOgogICAgIGJvb2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBz
Y3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBj
bGlwUmVjdCkgZmluYWw7CiAgICAgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IElu
dFJlY3QmIHVwZGF0ZVJlY3QpIGZpbmFsOwpAQCAtOTA0LDYgKzkxMiwxMCBAQCBwcml2YXRlOgog
CiAgICAgUGFnaW5hdGlvbiBtX3BhZ2luYXRpb247CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCisgICAgT3B0aW9uYWw8U2Nyb2xsUG9zaXRpb24+IG1fZmlyZVNjcm9sbEVuZEV2ZW50
QXRQb3NpdGlvbjsKKyNlbmRpZgorCiAgICAgZW51bSBjbGFzcyBWaWV3cG9ydFJlbmRlcmVyVHlw
ZSA6IHVpbnQ4X3QgeyBOb25lLCBEb2N1bWVudCwgQm9keSB9OwogICAgIFZpZXdwb3J0UmVuZGVy
ZXJUeXBlIG1fdmlld3BvcnRSZW5kZXJlclR5cGUgeyBWaWV3cG9ydFJlbmRlcmVyVHlwZTo6Tm9u
ZSB9OwogICAgIFNjcm9sbFBpbm5pbmdCZWhhdmlvciBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciB7
IERvTm90UGluIH07CkBAIC05NDksNiArOTYxLDEwIEBAIHByaXZhdGU6CiAgICAgLy8gVHJ1ZSBp
ZiBhdXRvc2l6ZSBoYXMgYmVlbiBydW4gc2luY2UgbV9zaG91bGRBdXRvU2l6ZSB3YXMgc2V0Lgog
ICAgIGJvb2wgbV9kaWRSdW5BdXRvc2l6ZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2luVXBkYXRl
RW1iZWRkZWRPYmplY3RzIHsgZmFsc2UgfTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBib29sIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IHsgZmFsc2UgfTsKKyNlbmRp
ZgogfTsKIAogaW5saW5lIHZvaWQgRnJhbWVWaWV3OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5
UGl4ZWxDb3VudChjb25zdCBJbnRTaXplJiBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRpb24uaAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAogI2lm
bmRlZiBTY3JvbGxBbmltYXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25faAogCisjaW5j
bHVkZSAiQ29udGFpbmVyTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVu
dFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNlcnZp
Y2VBbmltYXRpb24oKSB7IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZp
cnR1YWwgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPikgeyB9
OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Nyb2xsYWJsZUFy
ZWEmIHNjcm9sbGFibGVBcmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvblNtb290aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCkBA
IC0yOCw3ICsyOCwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbEFu
aW1hdGlvblNtb290aC5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlJlbmRlckxh
eWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtODAsMTAgKzgzLDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3JvbGwo
Y29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1fYW5p
bWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5k
aWYKKwogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEu
c2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0
aW9uKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsQW5p
bWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9zY3JvbGxFbmRF
dmVudFRhcmdldCkgeworICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJl
Y3RJbnRvVmlldyhmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBk
dXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3KCkgPyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldygpIDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFyZW50
TGF5ZXIpCisgICAgICAgIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRTY3JvbGxFbmRU
YXJnZXQobV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAgICBtX3Njcm9s
bEVuZEV2ZW50VGFyZ2V0LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dCgqbV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdl
dCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3JvbGxF
bmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9zY3JvbGxF
bmRFdmVudFRhcmdldCA9IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9sbEFuaW1hdGlv
blNtb290aDo6dXBkYXRlVmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpvbnRhbERhdGEu
dmlzaWJsZUxlbmd0aCA9IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBAIC00MTAs
OCArNDQyLDEyIEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZp
cmVkKCkKIAogICAgIGlmIChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0VGlt
ZXIoc3RkOjptYXgobWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsKLSAg
ICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVo
YXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2Vu
ZGlmCisgICAgfQogCiAgICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbihGbG9hdFBv
aW50KG1faG9yaXpvbnRhbERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0YS5jdXJy
ZW50UG9zaXRpb24pKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uU21vb3RoLmgKaW5kZXggODE3M2ZhN2UyMC4uOWM3NTkwNTkzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTMxLDYgKzMx
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xh
c3MgRmxvYXRQb2ludDsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFzcyBTY3JvbGxD
bGFtcGluZyA6IHVpbnQ4X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgogICAgICAgICBC
b3VuY2UKICAgICB9OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQg
c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KSBvdmVycmlk
ZSA7CisjZW5kaWYKIHByaXZhdGU6CiAgICAgYm9vbCBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRp
b24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNjcm9sbChjb25zdCBGbG9hdFBvaW50Jikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IHZvaWQgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKICAgICB2b2lkIHVwZGF0ZVZpc2libGVM
ZW5ndGhzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRDdXJyZW50UG9zaXRpb24oY29uc3QgRmxv
YXRQb2ludCYpIG92ZXJyaWRlOwogCkBAIC0xMDQsNiArMTExLDkgQEAgcHJpdmF0ZToKIAogICAg
IE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgVGltZXIgbV9hbmltYXRpb25UaW1lcjsK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgV2Vha1B0cjxDb250YWluZXJOb2Rl
PiBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXgg
MGZjNzI5ZTkxMi4uZDg5MzAwOGFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yLmNwcApAQCAtMjg3LDUgKzI4NywxMCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yOjpk
aWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciopCiB7CiAgICAgbV9hbmltYXRpb25Q
cm9ncmFtbWF0aWNTY3JvbGwtPnVwZGF0ZVZpc2libGVMZW5ndGhzKCk7CiB9Ci0KKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbEFuaW1hdG9yOjpzZXRTY3JvbGxFbmRU
YXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9hbmltYXRpb25Q
cm9ncmFtbWF0aWNTY3JvbGwtPnNldFNjcm9sbEVuZFRhcmdldCh0YXJnZXQpOworfQorI2VuZGlm
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuaAppbmRleCA5YjdjMDliNjkwLi5lZWRlNzk4ZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJXaGVl
bEV2ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogI2lmIEVOQUJM
RShSVUJCRVJfQkFORElORykgfHwgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICNpbmNsdWRlICJT
Y3JvbGxDb250cm9sbGVyLmgiCkBAIC00NCw2ICs0NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEZsb2F0UG9pbnQ7CiBjbGFzcyBQbGF0
Zm9ybVRvdWNoRXZlbnQ7CiBjbGFzcyBTY3JvbGxBbmltYXRpb247CkBAIC0xNDMsNiArMTQ1LDEw
IEBAIHB1YmxpYzoKICAgICBGbG9hdFNpemUgdmlld3BvcnRTaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNldFNj
cm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZChjb25zdCBGbG9hdFNp
emUmIGRlbHRhKTsKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvck9mZnNl
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggYjk3NWZiMDQzMC4u
NTYyNzM0NTQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlw
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC02NSw2
ICs2NSwxMSBAQCBlbnVtIGNsYXNzIEFuaW1hdGVkU2Nyb2xsIDogdWludDhfdCB7CiAgICAgWWVz
CiB9OwogCitlbnVtIGNsYXNzIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA6IHVpbnQ4X3QgeworICAg
IE5vLAorICAgIFllcworfTsKKwogaW5saW5lIFNjcm9sbERpcmVjdGlvbiBsb2dpY2FsVG9QaHlz
aWNhbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgYm9vbCBpc1ZlcnRpY2FsLCBi
b29sIGlzRmxpcHBlZCkKIHsKICAgICBzd2l0Y2ggKGRpcmVjdGlvbikgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCBkODFkMjQ0NGMwLi42YmY2NGFhZDU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtMjEyLDcgKzIxMiwxMSBAQCB2
b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQm
IHBvc2l0aW9uLCBTY3JvbGxDbGFtcAogICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQogICAgICAg
ICBzZXRBY3R1YWxTY3JvbGxQb3NpdGlvbihwb3NpdGlvbik7CiAjZW5kaWYKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIGNsYW1w
aW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBz
ZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgog
fQogCiBGbG9hdFJlY3QgU2Nyb2xsVmlldzo6ZXhwb3NlZENvbnRlbnRSZWN0KCkgY29uc3QKQEAg
LTQ4Niw2ICs0OTAsMTAgQEAgdm9pZCBTY3JvbGxWaWV3OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgbmV3UG9zaXRpb24pCiAKICAgICBtX3Njcm9sbFBvc2l0aW9uID0gbmV3UG9zaXRp
b247CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgY2hlY2tTY3JvbGxFbmRF
dmVudFBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCisKICAgICBpZiAoc2Nyb2xs
YmFyc1N1cHByZXNzZWQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC01MTMsNyArNTIxLDcgQEAg
dm9pZCBTY3JvbGxWaWV3Ojpjb21wbGV0ZVVwZGF0ZXNBZnRlclNjcm9sbFRvKGNvbnN0IEludFNp
emUmIHNjcm9sbERlbHRhKQogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzQWZ0ZXJTY3JvbGxp
bmcoKTsKIH0KIAotdm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmlt
YXRlZFNjcm9sbC8qIGFuaW1hdGVkKi8pCit2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcg
Y2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIC8qIGFuaW1hdGVkKi8sIFJlcXVlc3RTY3JvbGxFbmRF
dmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9s
bFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24pOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKaW5kZXggMDYwNDI0YzkyMS4uNzdhNzc1NjFhYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtMjYxLDcgKzI2MSw3IEBAIHB1Ymxp
YzoKICAgICBTY3JvbGxQb3NpdGlvbiBjYWNoZWRTY3JvbGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fY2FjaGVkU2Nyb2xsUG9zaXRpb247IH0KIAogICAgIC8vIEZ1bmN0aW9ucyBmb3Igc2Ny
b2xsaW5nIHRoZSB2aWV3LgotICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25z
dCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2aXJ0dWFsIHZv
aWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGlu
ZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Ny
b2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpO
byk7CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsgcmV0dXJuIHNldFNj
cm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggNWJkYTg1N2JiOS4uMjBmYmU0MjY3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgi
CiAKKyNpbmNsdWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIK
QEAgLTc2OSw0ICs3NzAsMTEgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6Y29tcHV0ZVNjcm9sbGJh
clZhbHVlQW5kT3ZlcmhhbmcoZmxvYXQgY3VycmVudFBvc2l0aW9uLCBmbG8KICAgICB9CiB9CiAK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbGFibGVBcmVhOjpzZXRT
Y3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgc2Ny
b2xsQW5pbWF0b3IoKS5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuaAppbmRleCBkMjAzYWViZTVjLi4zMzMxNjc5Yjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIEdy
YXBoaWNzQ29udGV4dDsKIGNsYXNzIExheW91dFBvaW50OwpAQCAtMzQ2LDYgKzM0NywxNiBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9s
bGJhck9uTGVmdCgpIGNvbnN0ID0gMDsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICB2aXJ0dWFsIHZvaWQgc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xs
UG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldCgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXco
KSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcoYm9vbCkgeyB9CisgICAgdmlydHVhbCBTY3JvbGxhYmxlQXJlYSogZmluZEFuY2Vz
dG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZv
aWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pOworI2VuZGlmCisK
IHByb3RlY3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxhYmxlQXJlYSgpOwogICAgIFdF
QkNPUkVfRVhQT1JUIHZpcnR1YWwgflNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDhiMjg2NDI1YzAuLjc2OTQ0MmY5MmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC02MDIsNyArNjAyLDExIEBAIHZvaWQg
UmVuZGVyQm94OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRp
b24sIFNjcm9sbFR5cGUgc2NyCiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5ZXIo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIHNldHVwV2hlZWxFdmVudE1vbml0b3IoKmxheWVyKCkp
OwotICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBs
YXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcs
IGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQorICAgIGxheWVy
KCktPnNjcm9sbFRvUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmlt
YXRlZCk7CisjZW5kaWYKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFic29sdXRlUmVjdHMoVmVjdG9y
PEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggYmUyMzE3
YTc4Mi4uYzBlNjE5ZDk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCkBAIC0yNjI0LDIxICsyNjI0LDQ0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmFwcGx5UG9zdExh
eW91dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKQogdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9Y
UG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewogICAgIFNjcm9sbFBvc2l0aW9uIHBv
c2l0aW9uKHgsIG1fc2Nyb2xsUG9zaXRpb24ueSgpKTsKLSAgICBzZXRTY3JvbGxQb3NpdGlvbihw
b3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5
cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vs
c2UKKyAgICBzY3JvbGxUb1Bvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywg
YW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0
aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5n
LCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlv
bihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7Ci0gICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRp
b24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCisg
ICAgc2Nyb2xsVG9Qb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1h
dGVkKTsKKyNlbmRpZgogfQogCi12b2lkIFJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBSZW5k
ZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9u
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxFbmRF
dmVudCkKIHsKKyNpZiAhRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIFVOVVNFRF9QQVJB
TShyZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpOworI2VuZGlmCisKKyAgICBhdXRvIG9mZnNldCA9IHNj
cm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbik7CisgICAgU2Nyb2xsT2Zmc2V0IG5ld1Nj
cm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBT
Y3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsKICAgICBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0
ZWRTY3JvbGw6OlllcykKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9s
bE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAg
ICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKG5ld1Njcm9sbE9mZnNldCwgc2Nyb2xs
VHlwZSwgY2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXQoc2Nyb2xs
T2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpOworICAg
ICAgICBzY3JvbGxUb09mZnNldChuZXdTY3JvbGxPZmZzZXQsIHNjcm9sbFR5cGUsIGNsYW1waW5n
KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBpZiAocmVuZGVyZXIoKS5z
ZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkgJiYgcmVxdWVzdFNjcm9sbEVuZEV2
ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKSB7CisgICAgICAgIGlmIChuZXdTY3Jv
bGxPZmZzZXQgPT0gc2Nyb2xsT2Zmc2V0KCkpCisgICAgICAgICAgICBhZGRQZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXQoKTsKKyAgICAgICAgZWxzZSBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0ZWRT
Y3JvbGw6OlllcykKKyAgICAgICAgICAgIHNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihy
ZW5kZXJlcigpLmVsZW1lbnQoKSkpOworICAgIH0KKyNlbmRpZgogfQogCiBTY3JvbGxPZmZzZXQg
UmVuZGVyTGF5ZXI6OmNsYW1wU2Nyb2xsT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xs
T2Zmc2V0KSBjb25zdApAQCAtMjY2MSwxMyArMjY4NCwxOCBAQCB2b2lkIFJlbmRlckxheWVyOjpz
Y3JvbGxUb09mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCwgU2Nyb2xsVHlw
ZSBzYwogICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKIAogICAg
IFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQpIDogc2Nyb2xs
T2Zmc2V0OwotICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ID09IHRoaXMtPnNjcm9sbE9mZnNl
dCgpKQorICAgIFNjcm9sbFBvc2l0aW9uIGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IHNjcm9sbFBv
c2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KTsKKyAgICBpZiAoY2xhbXBlZFNj
cm9sbE9mZnNldCA9PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkgeworI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICAgICAgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNsYW1wZWRT
Y3JvbGxQb3NpdGlvbik7CisjZW5kaWYKICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGF1
dG8gcHJldmlvdXNTY3JvbGxUeXBlID0gY3VycmVudFNjcm9sbFR5cGUoKTsKICAgICBzZXRDdXJy
ZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsKIAotICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0
aW9uVXBkYXRlKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwg
c2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQorICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBk
YXRlKGNsYW1wZWRTY3JvbGxQb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQogICAgICAg
ICBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY2xhbXBlZFNjcm9sbE9mZnNldCwgY2xh
bXBpbmcpOwogICAgIHNldFNjcm9sbEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVz
OjpOb3RJbkFuaW1hdGlvbik7CiAKQEAgLTI3OTEsNiArMjgxOSwxMCBAQCB2b2lkIFJlbmRlckxh
eWVyOjpzY3JvbGxUbyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCiAgICAgaWYgKEVs
ZW1lbnQqIGVsZW1lbnQgPSByZW5kZXJlcigpLmVsZW1lbnQoKSkKICAgICAgICAgZWxlbWVudC0+
ZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoKmVsZW1lbnQpOwogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
bihtX3Njcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgorCiAgICAgaWYgKHNjcm9sbHNPdmVyZmxvdygp
KQogICAgICAgICB2aWV3LmZyYW1lVmlldygpLmRpZENoYW5nZVNjcm9sbE9mZnNldCgpOwogCkBA
IC0yODM2LDEwICsyODY4LDE0IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmFsbG93c0N1cnJlbnRTY3Jv
bGwoKSBjb25zdAogICAgIHJldHVybiBib3gtPmhhc0hvcml6b250YWxPdmVyZmxvdygpIHx8IGJv
eC0+aGFzVmVydGljYWxPdmVyZmxvdygpOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxS
ZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVG
aXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmIG9wdGlvbnMpCit2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMm
IG9wdGlvbnMsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7
CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJMYXllciAiIDw8IHRo
aXMgPDwgIiBzY3JvbGxSZWN0VG9WaXNpYmxlICIgPDwgYWJzb2x1dGVSZWN0KTsKIAorI2lmIEVO
QUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBib29sIG92ZXJzY3JvbGxFdmVudHNFbmFibGVk
ID0gcmVuZGVyZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCk7CisjZW5k
aWYKKwogICAgIExheW91dFJlY3QgbmV3UmVjdCA9IGFic29sdXRlUmVjdDsKICAgICBGcmFtZVZp
ZXcmIGZyYW1lVmlldyA9IHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpOwogICAgIGF1dG8q
IHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnRoaXMsIENyb3Nz
RnJhbWVCb3VuZGFyaWVzOjpObyk7CkBAIC0yODY2LDYgKzI5MDIsMTAgQEAgdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3Qs
IGJvb2wgaW5zaWQKICAgICAgICAgICAgIGlmIChhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAmJiB1
c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgYm94LT5lbGVtZW50KCkpKQogICAg
ICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgICAg
IHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xs
T2Zmc2V0KSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAg
IGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9s
bDo6WWVzICYmIGNsYW1wZWRTY3JvbGxPZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0KCkpCisgICAgICAg
ICAgICAgICAgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOworI2VuZGlmCiAgICAg
ICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBjbGFtcGVkU2Nyb2xsT2Zm
c2V0IC0gb2xkU2Nyb2xsT2Zmc2V0OwogICAgICAgICAgICAgbG9jYWxFeHBvc2VSZWN0Lm1vdmUo
LXNjcm9sbE9mZnNldERpZmZlcmVuY2UpOwogICAgICAgICAgICAgbmV3UmVjdCA9IExheW91dFJl
Y3QoYm94LT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QobG9jYWxFeHBv
c2VSZWN0KSksIFVzZVRyYW5zZm9ybXMpLmJvdW5kaW5nQm94KCkpOwpAQCAtMjg5OCw2ICsyOTM4
LDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0
UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICAgICAgICAgIGFuaW1h
dGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBh
bmltYXRlZCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgICAgICAg
ICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIGFuaW1hdGVkID09IEFuaW1hdGVkU2Ny
b2xsOjpZZXMgJiYgc2Nyb2xsUG9zaXRpb24gIT0gZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldER1cmluZ1Njcm9sbFJlY3RJbnRv
Vmlldyh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3RTY3JvbGxFbmRFdmVu
dCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykKKyAgICAgICAgICAgICAgICAgICAgICAg
IGZyYW1lVmlldy5zZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWVWaWV3LmZyYW1l
KCkuZG9jdW1lbnQoKSkpOworICAgICAgICAgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAgICAg
ICAgICAgaWYgKG9wdGlvbnMuc2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZyA9PSBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfHwgZnJhbWVWaWV3LnNhZmVUb1Byb3Bh
Z2F0ZVNjcm9sbFRvUGFyZW50KCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGVu
Y2xvc2luZ0xheWVyID0gb3duZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigp
KQogICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50TGF5ZXIgPSBlbmNsb3NpbmdMYXllci0+
ZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyKEluY2x1ZGVTZWxmT3JOb3Q6OkluY2x1ZGVTZWxmLCBD
cm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOwpAQCAtMjk0Miw2ICsyOTkwLDEzIEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVS
ZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICAgICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dy
ZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCByZW5kZXJlcigpLmRv
Y3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpKQogICAgICAgICAgICAgICAgICAgICBhbmltYXRl
ZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNj
cm9sbFBvc2l0aW9uKGNsYW1wZWRTY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgICAg
ICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIGFuaW1hdGVkID09IEFuaW1hdGVk
U2Nyb2xsOjpZZXMgJiYgY2xhbXBlZFNjcm9sbFBvc2l0aW9uICE9IGZyYW1lVmlldy5zY3JvbGxQ
b3NpdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXREdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0U2Ny
b2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpCisgICAgICAgICAgICAg
ICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKGZyYW1l
Vmlldy5mcmFtZSgpLmRvY3VtZW50KCkpKTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IHZpZXcg
b2YgYSB3ZWIgcGFnZSwgc28gYWZ0ZXIgc2Nyb2xsaW5nIHRoaXMgdmlldyB3ZQpAQCAtMjk1Myw4
ICszMDA4LDI2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3Qg
TGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgIH0KICAgICB9CiAg
ICAgCi0gICAgaWYgKHBhcmVudExheWVyKQorICAgIGlmIChwYXJlbnRMYXllcikgewogICAgICAg
ICBwYXJlbnRMYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShuZXdSZWN0LCBpbnNpZGVGaXhlZCwg
b3B0aW9ucyk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICBpZiAob3Zl
cnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgcmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RT
Y3JvbGxFbmRFdmVudDo6WWVzKSB7CisgICAgICAgICAgICBDb250YWluZXJOb2RlKiB0YXJnZXQg
PSByZW5kZXJlcigpLmVsZW1lbnQoKTsKKyAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmRvY3Vt
ZW50KCkuc2Nyb2xsaW5nRWxlbWVudCgpID09IHRhcmdldCkKKyAgICAgICAgICAgICAgICB0YXJn
ZXQgPSAmcmVuZGVyZXIoKS5kb2N1bWVudCgpOworCisgICAgICAgICAgICBpZiAoZHVyaW5nU2Ny
b2xsUmVjdEludG9WaWV3KCkpCisgICAgICAgICAgICAgICAgc2V0U2Nyb2xsRW5kVGFyZ2V0KG1h
a2VXZWFrUHRyKHRhcmdldCkpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAg
YXV0byogZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXIgPSBmaW5kQW5jZXN0b3JEdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcoKTsKKyAgICAgICAgICAgICAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFy
ZW50TGF5ZXIpCisgICAgICAgICAgICAgICAgICAgIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVy
LT5zZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIodGFyZ2V0KSk7CisgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICByZW5kZXJlcigpLmRvY3VtZW50KCkuYWRkUGVu
ZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCp0YXJnZXQpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisjZW5kaWYKKyAgICB9CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUNvbXBvc2l0
aW5nTGF5ZXJzQWZ0ZXJTY3JvbGwoKQpAQCAtNzAzNSw2ICs3MTA4LDQ5IEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbigpCiAjZW5kaWYKIH0KIAorI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNhdmVTY3JvbGxFbmRFdmVudFBv
c2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcpCit7CisgICAgaWYgKCFyZW5kZXJlcigpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBvZmZzZXQgPSBzY3JvbGxP
ZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Ny
b2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNj
cm9sbE9mZnNldChvZmZzZXQpIDogb2Zmc2V0OworICAgIG1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQ
b3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KTsK
K30KKwordm9pZCBSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2
ZW50QXRQb3NpdGlvbiB8fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAh
PSBwb3NpdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2
ZW50VGFyZ2V0KCk7CisKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBXVEY6
Om51bGxvcHQ7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldCgpCit7CisgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSByZW5kZXJlcigpLmVsZW1l
bnQoKSkKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZl
bnRUYXJnZXQoKmVsZW1lbnQpOworfQorCitTY3JvbGxhYmxlQXJlYSogUmVuZGVyTGF5ZXI6OmZp
bmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpCit7CisgICAgYXV0byogcGFyZW50
TGF5ZXIgPSBlbmNsb3NpbmdDb250YWluaW5nQmxvY2tMYXllcigqdGhpcywgQ3Jvc3NGcmFtZUJv
dW5kYXJpZXM6Ok5vKTsKKyAgICB3aGlsZSAocGFyZW50TGF5ZXIpIHsKKyAgICAgICAgaWYgKHBh
cmVudExheWVyLT5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgICAgIHJldHVy
biBwYXJlbnRMYXllcjsKKyAgICAgICAgcGFyZW50TGF5ZXIgPSBlbmNsb3NpbmdDb250YWluaW5n
QmxvY2tMYXllcigqcGFyZW50TGF5ZXIsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAg
fQorCisgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZp
ZXcoKTsKKyAgICBpZiAoZnJhbWVWaWV3LmR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAg
ICAgICByZXR1cm4gJmZyYW1lVmlldzsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKyNlbmRpZgor
CiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYgdHMsIENsaXBSZWN0c1R5
cGUgY2xpcFJlY3RzVHlwZSkKIHsKICAgICBzd2l0Y2ggKGNsaXBSZWN0c1R5cGUpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZDcwOGQyNmVkMS4uNTAxY2M2YjE2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ1Miw3ICs0NTIs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNj
cm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CiAgICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihp
bnQgeSwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOwotICAgIHZvaWQgc2V0U2Ny
b2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVk
U2Nyb2xsOjpObyk7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Nyb2xsRW5k
RXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIC8vIFRoZXNlIGFyZSBv
bmx5IHVzZWQgYnkgbWFycXVlZS4KICAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCkgeyBz
Y3JvbGxUb09mZnNldChTY3JvbGxPZmZzZXQoeCwgc2Nyb2xsT2Zmc2V0KCkueSgpKSwgU2Nyb2xs
VHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsgfQpAQCAtNDY3
LDcgKzQ2Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGF2YWlsYWJsZUNvbnRlbnRTaXplQ2hhbmdl
ZChBdmFpbGFibGVTaXplQ2hhbmdlUmVhc29uKSBmaW5hbDsKIAogICAgIC8vICJhYnNvbHV0ZVJl
Y3QiIGlzIGluIHNjYWxlZCBkb2N1bWVudCBjb29yZGluYXRlcy4KLSAgICB2b2lkIHNjcm9sbFJl
Y3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZp
eGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYpOworICAgIHZvaWQgc2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRl
Rml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiwgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICBib29sIHNjcm9sbHNP
dmVyZmxvdygpIGNvbnN0OwogICAgIGJvb2wgaGFzU2Nyb2xsYWJsZUhvcml6b250YWxPdmVyZmxv
dygpIGNvbnN0OwpAQCAtOTI1LDYgKzkyNSwxNSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGludmFs
aWRhdGVFdmVudFJlZ2lvbigpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IHZvaWQgc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBT
Y3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKKyAgICB2b2lk
IGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIGZpbmFs
OworICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkgZmluYWw7CisgICAg
Ym9vbCBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSBmaW5hbCB7IHJldHVybiBtX2R1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldzsgfQorICAgIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
KGJvb2wgc2Nyb2xsaW5nKSBmaW5hbCB7IG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3ID0gc2Ny
b2xsaW5nOyB9CisgICAgU2Nyb2xsYWJsZUFyZWEqIGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJl
Y3RJbnRvVmlldygpIGZpbmFsOworI2VuZGlmCisKIHByaXZhdGU6CiAKICAgICB2b2lkIHNldE5l
eHRTaWJsaW5nKFJlbmRlckxheWVyKiBuZXh0KSB7IG1fbmV4dCA9IG5leHQ7IH0KQEAgLTEyODEs
NiArMTI5MCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9sYXllckxpc3RNdXRhdGlvbkFsbG93
ZWQgOiAxOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9v
bCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyA6IDE7CisjZW5kaWYKKwogI2lmIEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCiAgICAgdW5zaWduZWQgbV9ibGVuZE1vZGUgOiA1OyAvLyBCbGVuZE1v
ZGUKICAgICBib29sIG1faGFzTm90SXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50
cyA6IDE7CkBAIC0xMzU2LDYgKzEzNjksMTAgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxSZW5kZXJMYXllckZpbHRlcnM+IG1fZmlsdGVyczsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UmVuZGVyTGF5ZXJCYWNraW5nPiBtX2JhY2tpbmc7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCisgICAgT3B0aW9uYWw8U2Nyb2xsUG9zaXRpb24+IG1fZmlyZVNjcm9sbEVuZEV2ZW50
QXRQb3NpdGlvbjsKKyNlbmRpZgogICAgIAogICAgIFBhaW50RnJlcXVlbmN5VHJhY2tlciBtX3Bh
aW50RnJlcXVlbmN5VHJhY2tlcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCmluZGV4IGQ1NjAyODc1MjYuLjBhNDYwNjQ0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC00MjcsNyArNDI3LDExIEBAIGJvb2wgUmVu
ZGVyT2JqZWN0OjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpCiAgICAgaWYgKCFlbmNsb3NpbmdMYXllcikKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGVuY2xvc2luZ0xh
eWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29sdXRlUmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlv
bnMsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgZW5jbG9zaW5nTGF5
ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUoYWJzb2x1dGVSZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9u
cyk7CisjZW5kaWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395801</attachid>
            <date>2020-04-08 06:47:27 -0700</date>
            <delta_ts>2020-04-08 07:13:13 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-005-all.diff</filename>
            <type>text/plain</type>
            <size>143852</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzNDlkYzA3ZGI0Li5hZGEz
NGVmMzZkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wNC0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTkz
OTAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMzZmMTI0Zjg1ZS4uYzcyMWVlYmMwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA0LTA4ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2ZW50IG9mIHByb2dyYW1tYXRpYyBzY3Jv
bGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
OTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04gRkFJTEVE
OiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUgc2VlbiB3
aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBlYjE2OTMzYjhmLi45MTI4YWI0ZDhhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE2NCw3ICsxNjQsMTUgQEAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2
YWN5LyBbIFNraXAgXQogZmFzdC9oYXJuZXNzL3Vpc2NyaXB0Y29udHJvbGxlciBbIFNraXAgXQog
CiAjIE9ubHkgaU9TIGhhcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBVSVNjcmlwdENvbnRyb2xsZXI6
OnNlbmRFdmVudFN0cmVhbSgpLgotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL3Njcm9sbGluZyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWRvY3VtZW50
Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1lbGVtZW50LXdpdGgtb3ZlcnNj
cm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tc2Nyb2xs
ZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8td2luZG93Lmh0
bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9z
Y3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWFmdGVyLXNuYXAuaHRtbCBbIFNraXAgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3Jv
bGxlbmQtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtdG8tZWxlbWVudC13aXRoLW92ZXJzY3JvbGwtYmVoYXZpb3IuaHRtbCBbIFNraXAgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3Jv
bGxlbmQtZXZlbnQtZmlyZWQtdG8tc2Nyb2xsZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBbIFNraXAgXQogCiAjIFRoaXMgdGVzdCBvbmx5
IG1ha2VzIHNlbnNlIG9uIE1hYwogZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtc3VidGl0bGUt
cmVzaXplLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi45NjZjOWYxYWJiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRp
Yy1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RzIHNjcm9s
bGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVuY3Rpb25zLiAKK1BBU1MgVGVzdHMgc2Ny
b2xsZW5kIGV2ZW50IGZvciBjaGFuZ2luZyBzY3JvbGwgYXR0cmlidXRlcy4gCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNj
cm9sbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjQzZmI3YWNk
ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3It
cHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sCkBAIC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUgSFRN
TD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZD10cnVlIGV4cGVyaW1lbnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
PXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcm9s
bF9zdXBwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0OiAz
MDAwcHg7CisgICAgd2lkdGg6IDMwMDBweDsKKyAgfQorCisgICN0YXJnZXREaXYgeworICAgIHdp
ZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIG92ZXJmbG93OiBzY3JvbGw7Cisg
IH0KKworICAjaW5uZXJEaXYgeworICAgIHdpZHRoOiA0MDBweDsKKyAgICBoZWlnaHQ6IDQwMHB4
OworICB9Cis8L3N0eWxlPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD1ydW5UZXN0
KCk+CisgIDxkaXYgaWQ9InRhcmdldERpdiI+CisgICAgPGRpdiBpZD0iaW5uZXJEaXYiPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisgIHZhciBlbGVtZW50X3Njcm9s
bGVuZF9hcnJpdmVkID0gZmFsc2U7CisgIHZhciBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IGZhbHNlOworCisgIGZ1bmN0aW9uIG9uRWxlbWVudFNjcm9sbEVuZChldmVudCkgeworICAgIGFz
c2VydF9mYWxzZShldmVudC5jYW5jZWxhYmxlKTsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQuYnVi
Ymxlcyk7CisgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgIH0KKworICBm
dW5jdGlvbiBvbkRvY3VtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgYXNzZXJ0X2ZhbHNlKGV2
ZW50LmNhbmNlbGFibGUpOworICAgIC8vIHNjcm9sbGVuZCBldmVudHMgYXJlIGJ1YmJsZWQgd2hl
biB0aGUgdGFyZ2V0IG5vZGUgaXMgZG9jdW1lbnQuCisgICAgYXNzZXJ0X3RydWUoZXZlbnQuYnVi
Ymxlcyk7CisgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICB9CisKKyAg
ZnVuY3Rpb24gY2FsbFNjcm9sbEZ1bmN0aW9uKFtzY3JvbGxUYXJnZXQsIHNjcm9sbEZ1bmN0aW9u
LCBhcmdzXSkgeworICAgIHNjcm9sbFRhcmdldFtzY3JvbGxGdW5jdGlvbl0oYXJncyk7CisgIH0K
KworICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGxldCByb290X2VsZW1lbnQgPSBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50OworICAgIGxldCB0YXJnZXRfZGl2ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldERpdiIpOworCisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7
CisgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworICAgICAgdGFyZ2V0X2Rp
di5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkVsZW1lbnRTY3JvbGxFbmQpOworICAg
ICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwgb25Eb2N1bWVudFNjcm9s
bEVuZCk7CisKKyAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWworICAgICAgICBbdGFyZ2V0X2Rpdiwg
MjAwLCAyMDAsIFt0YXJnZXRfZGl2LCAic2Nyb2xsVG8iLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAs
IGJlaGF2aW9yOiAiYXV0byIgfV1dLAorICAgICAgICBbdGFyZ2V0X2RpdiwgMCwgMCwgW3Rhcmdl
dF9kaXYsICJzY3JvbGxUbyIsIHsgdG9wOiAwLCBsZWZ0OiAwLCBiZWhhdmlvcjogInNtb290aCIg
fV1dLAorICAgICAgICBbcm9vdF9lbGVtZW50LCAyMDAsIDIwMCwgW3Jvb3RfZWxlbWVudCwgInNj
cm9sbFRvIiwgeyB0b3A6IDIwMCwgbGVmdDogMjAwLCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAg
ICAgICAgW3Jvb3RfZWxlbWVudCwgMCwgMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvIiwgeyB0
b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0sCisgICAgICAgIFt0YXJnZXRf
ZGl2LCAyMDAsIDIwMCwgW3RhcmdldF9kaXYsICJzY3JvbGxCeSIsIHsgdG9wOiAyMDAsIGxlZnQ6
IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBb
dGFyZ2V0X2RpdiwgInNjcm9sbEJ5IiwgeyB0b3A6IC0yMDAsIGxlZnQ6IC0yMDAsIGJlaGF2aW9y
OiAic21vb3RoIiB9XV0sCisgICAgICAgIFtyb290X2VsZW1lbnQsIDIwMCwgMjAwLCBbcm9vdF9l
bGVtZW50LCAic2Nyb2xsQnkiLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0
byIgfV1dLAorICAgICAgICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Ny
b2xsQnkiLCB7IHRvcDogLTIwMCwgbGVmdDogLTIwMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXQor
ICAgICAgXTsKKworICAgICAgZm9yIChpID0gMDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgbGV0IHQgPSB0ZXN0X2Nhc2VzW2ldOworICAgICAgICBsZXQgdGFyZ2V0ID0g
dFswXTsKKyAgICAgICAgbGV0IGV4cGVjdGVkX3ggPSB0WzFdOworICAgICAgICBsZXQgZXhwZWN0
ZWRfeSA9IHRbMl07CisgICAgICAgIGxldCBzY3JvbGxfZGF0YXMgPSB0WzNdOworCisgICAgICAg
IGNhbGxTY3JvbGxGdW5jdGlvbihzY3JvbGxfZGF0YXMpOworICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsgcmV0dXJuIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Ny
b2xsZW5kX2Fycml2ZWQ7IH0sIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICBpZiAodGFy
Z2V0ID09IHJvb3RfZWxlbWVudCkKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5z
Y3JvbGxMZWZ0LCBleHBlY3RlZF94LCB0YXJnZXQudGFnTmFtZSArICIuIiArIHNjcm9sbF9kYXRh
c1sxXSArICIgc2Nyb2xsTGVmdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5zY3Jv
bGxUb3AsIGV4cGVjdGVkX3ksIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBzY3JvbGxUb3AiKTsKKworICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0g
ZmFsc2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAg
ICB9CisgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVu
Y3Rpb25zLiIpOworCisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgICBhd2Fp
dCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworCisgICAgICBsZXQgdGVzdF9jYXNlcyA9IFsK
KyAgICAgICAgW3RhcmdldF9kaXYsICJzY3JvbGxUb3AiXSwKKyAgICAgICAgW3RhcmdldF9kaXYs
ICJzY3JvbGxMZWZ0Il0sCisgICAgICAgIFtyb290X2VsZW1lbnQsICJzY3JvbGxUb3AiXSwKKyAg
ICAgICAgW3Jvb3RfZWxlbWVudCwgInNjcm9sbExlZnQiXQorICAgICAgXTsKKyAgICAgIGZvciAo
aSA9IDA7IGkgPCB0ZXN0X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGxldCB0ID0gdGVz
dF9jYXNlc1tpXTsKKyAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07CisgICAgICAgIGxldCBhdHRy
aWJ1dGUgPSB0WzFdOworICAgICAgICBsZXQgcG9zaXRpb24gPSAyMDA7CisKKyAgICAgICAgdGFy
Z2V0LnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CisgICAgICAgIHRhcmdldFthdHRy
aWJ1dGVdID0gcG9zaXRpb247CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4g
ZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsg
fSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiIGRpZCBub3QgcmVjZWl2ZSBz
Y3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQor
ICAgICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0W2F0dHJpYnV0ZV0sIHBvc2l0aW9uLCB0
YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgIik7CisgICAgICAgIGVsZW1lbnRf
c2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQgPSBmYWxzZTsKKworICAgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgp
OworICAgICAgICB0YXJnZXQuc3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSAiYXV0byI7CisgICAgICAg
IHRhcmdldFthdHRyaWJ1dGVdID0gMDsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJl
dHVybiBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJp
dmVkOyB9LCB0YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgZGlkIG5vdCByZWNl
aXZlIHNjcm9sbGVuZCBldmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1l
bnQpCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXRbYXR0cmlidXRlXSwgMCwgdGFy
Z2V0LnRhZ05hbWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiICIpOworICAgICAgICBlbGVtZW50X3Nj
cm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJp
dmVkID0gZmFsc2U7CisgICAgICB9CisgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Ig
Y2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0ZXMuIik7CisgIH0KKzwvc2NyaXB0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZp
cmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1l
dmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmJlYzcxMWZkZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Ny
b2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Ny
b2xsSW50b1ZpZXcuIAorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3RlZCBzY3Jv
bGxJbnRvVmlldy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVk
LWZvci1zY3JvbGxJbnRvVmlldy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMC4uZWRkMzhjMGYyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sCkBAIC0wLDAgKzEsMTI0IEBACis8IURP
Q1RZUEUgSFRNTD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Ny
b2xsRXZlbnRzRW5hYmxlZD10cnVlIGV4cGVyaW1lbnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxvbmci
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InNjcm9sbF9zdXBwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBodG1sIHsKKyAg
ICAgICAgaGVpZ2h0OiAzMDAwcHg7CisgICAgICAgIHdpZHRoOiAzMDAwcHg7CisgICAgfQorCisg
ICAgI3RhcmdldERpdiB7CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAy
MDBweDsKKyAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICB9CisKKyAgICAjaW5uZXJEaXYg
eworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgfQor
PC9zdHlsZT4KKworPGJvZHkgc3R5bGU9Im1hcmdpbjowIiBvbmxvYWQ9cnVuVGVzdCgpPgorICAg
IDxkaXYgaWQ9InRhcmdldERpdiI+CisgICAgICAgIDxkaXYgaWQ9ImlubmVyRGl2Ij4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorICAgIHZhciBlbGVtZW50
X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgdmFyIGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkID0gZmFsc2U7CisKKyAgICBmdW5jdGlvbiBvbkVsZW1lbnRTY3JvbGxFbmQoZXZlbnQp
IHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgICAgICBhc3Nl
cnRfZmFsc2UoZXZlbnQuYnViYmxlcyk7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uRG9jdW1lbnRTY3JvbGxFbmQoZXZl
bnQpIHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgICAgICAv
LyBzY3JvbGxlbmQgZXZlbnRzIGFyZSBidWJibGVkIHdoZW4gdGhlIHRhcmdldCBub2RlIGlzIGRv
Y3VtZW50LgorICAgICAgICBhc3NlcnRfdHJ1ZShldmVudC5idWJibGVzKTsKKyAgICAgICAgZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNh
bGxTY3JvbGxGdW5jdGlvbihbc2Nyb2xsVGFyZ2V0LCBzY3JvbGxGdW5jdGlvbiwgYXJnc10pIHsK
KyAgICAgICAgc2Nyb2xsVGFyZ2V0W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBsZXQgcm9vdF9lbGVtZW50ID0gZG9jdW1l
bnQuc2Nyb2xsaW5nRWxlbWVudDsKKyAgICAgICAgbGV0IHRhcmdldF9kaXYgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0RGl2Iik7CisgICAgICAgIGxldCBpbm5lcl9kaXYgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaW5uZXJEaXYiKTsKKworICAgICAgICAvLyBHZXQgZXhwZWN0
ZWQgcG9zaXRpb24gZm9yIHJvb3RfZWxlbWVudCBzY3JvbGxJbnRvVmlldy4KKyAgICAgICAgcm9v
dF9lbGVtZW50LnNjcm9sbFRvKDEwMDAwLCAxMDAwMCk7CisgICAgICAgIGxldCBtYXhfcm9vdF94
ID0gcm9vdF9lbGVtZW50LnNjcm9sbExlZnQ7CisgICAgICAgIGxldCBtYXhfcm9vdF95ID0gcm9v
dF9lbGVtZW50LnNjcm9sbFRvcDsKKyAgICAgICAgcm9vdF9lbGVtZW50LnNjcm9sbFRvKDAsIDAp
OworCisgICAgICAgIHRhcmdldF9kaXYuc2Nyb2xsVG8oMTAwMDAsIDEwMDAwKTsKKyAgICAgICAg
bGV0IG1heF9lbGVtZW50X3ggPSB0YXJnZXRfZGl2LnNjcm9sbExlZnQ7CisgICAgICAgIGxldCBt
YXhfZWxlbWVudF95ID0gdGFyZ2V0X2Rpdi5zY3JvbGxUb3A7CisgICAgICAgIHRhcmdldF9kaXYu
c2Nyb2xsVG8oMCwgMCk7CisKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7Cisg
ICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworICAgICAgICAgICAg
dGFyZ2V0X2Rpdi5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkVsZW1lbnRTY3JvbGxF
bmQpOworICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwg
b25Eb2N1bWVudFNjcm9sbEVuZCk7CisKKyAgICAgICAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWwor
ICAgICAgICAgICAgICAgIFt0YXJnZXRfZGl2LCBtYXhfZWxlbWVudF94LCBtYXhfZWxlbWVudF95
LCBbaW5uZXJfZGl2LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGluZTogImVuZCIsIGJsb2NrOiAi
ZW5kIiwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgICAgICAgICAgW3RhcmdldF9kaXYs
IDAsIDAsIFtpbm5lcl9kaXYsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAic3RhcnQiLCBi
bG9jazogInN0YXJ0IiwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgICAgICAgICBb
cm9vdF9lbGVtZW50LCBtYXhfcm9vdF94LCBtYXhfcm9vdF95LCBbcm9vdF9lbGVtZW50LCAic2Ny
b2xsSW50b1ZpZXciLCB7IGlubGluZTogImVuZCIsIGJsb2NrOiAiZW5kIiwgYmVoYXZpb3I6ICJz
bW9vdGgiIH1dXSwKKyAgICAgICAgICAgICAgICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9l
bGVtZW50LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGluZTogInN0YXJ0IiwgYmxvY2s6ICJzdGFy
dCIsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0KKyAgICAgICAgICAgIF07CisKKyAgICAgICAgICAg
IGZvciAoaSA9IDA7IGkgPCB0ZXN0X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAg
ICAgbGV0IHQgPSB0ZXN0X2Nhc2VzW2ldOworICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0
WzBdOworICAgICAgICAgICAgICAgIGxldCBleHBlY3RlZF94ID0gdFsxXTsKKyAgICAgICAgICAg
ICAgICBsZXQgZXhwZWN0ZWRfeSA9IHRbMl07CisgICAgICAgICAgICAgICAgbGV0IHNjcm9sbF9k
YXRhcyA9IHRbM107CisKKyAgICAgICAgICAgICAgICBjYWxsU2Nyb2xsRnVuY3Rpb24oc2Nyb2xs
X2RhdGFzKTsKKyAgICAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGVs
ZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7IH0s
IHRhcmdldC50YWdOYW1lICsgIi5zY3JvbGxJbnRvVmlldyAgZGlkIG5vdCByZWNlaXZlIHNjcm9s
bGVuZCBldmVudC4iKTsKKyAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVu
dCkKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHRhcmdldC5zY3JvbGxMZWZ0LCBleHBlY3RlZF94LCB0YXJnZXQudGFnTmFtZSAr
ICIuc2Nyb2xsSW50b1ZpZXcgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0LnNjcm9sbFRvcCwgZXhwZWN0ZWRfeSwgdGFyZ2V0LnRhZ05hbWUgKyAiLnNj
cm9sbEludG9WaWV3IHNjcm9sbFRvcCIpOworCisgICAgICAgICAgICAgICAgZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGRvY3VtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0sICJUZXN0cyBzY3Jv
bGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3LiIpOworCisgICAgICAgIHByb21pc2VfdGVz
dChhc3luYyAodCkgPT4geworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0
YXJnZXRfZGl2KTsKKyAgICAgICAgICAgIGxldCBvdXRfZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgICAgICAgICBvdXRfZGl2LnN0eWxlID0gIndpZHRoOiAxMDBweDsg
aGVpZ2h0OjEwMHB4OyBvdmVyZmxvdzpzY3JvbGw7IHNjcm9sbC1iZWhhdmlvcjpzbW9vdGg7IjsK
KyAgICAgICAgICAgIG91dF9kaXYuYXBwZW5kQ2hpbGQodGFyZ2V0X2Rpdik7CisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG91dF9kaXYpOworICAgICAgICAgICAgYXdhaXQg
d2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKworICAgICAgICAgICAgZWxlbWVudF9zY3JvbGxl
bmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIGlubmVyX2Rpdi5zY3JvbGxJbnRvVmlldyh7IGlubGlu
ZTogImVuZCIsIGJsb2NrOiAiZW5kIiwgYmVoYXZpb3I6ICJhdXRvIiB9KTsKKyAgICAgICAgICAg
IGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8
fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBk
aWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhyb290X2VsZW1lbnQuc2Nyb2xsTGVmdCwgMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBy
b290X2VsZW1lbnQgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyb290
X2VsZW1lbnQuc2Nyb2xsVG9wLCAwLCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHJvb3RfZWxlbWVu
dCBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMob3V0X2Rpdi5zY3JvbGxM
ZWZ0LCAxMDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgb3V0X2RpdiBzY3JvbGxMZWZ0Iik7Cisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG91dF9kaXYuc2Nyb2xsVG9wLCAxMDAsICJOZXN0ZWQg
c2Nyb2xsSW50b1ZpZXcgb3V0X2RpdiBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0X2Rpdi5zY3JvbGxMZWZ0LCBtYXhfZWxlbWVudF94LCAiTmVzdGVkIHNjcm9s
bEludG9WaWV3IHRhcmdldF9kaXYgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyh0YXJnZXRfZGl2LnNjcm9sbFRvcCwgbWF4X2VsZW1lbnRfeSwgIk5lc3RlZCBzY3JvbGxJ
bnRvVmlldyB0YXJnZXRfZGl2IHNjcm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2ZhbHNl
KGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgfSwgIlRlc3RzIHNjcm9sbGVu
ZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbEludG9WaWV3LiIpOworICAgIH0KKzwvc2NyaXB0Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDg4
ZmQzMmUzNjguLmVmMzg2ZGEwYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZy
w6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBFTkFCTEVfT1ZFUlNDUk9MTF9F
VkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAyMC0wNC0wMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qgc2hvdWxkIGdyYWNlZnVsbHkgdGhy
b3cgT09NIGVycm9yIGlmIGlucHV0ICsgZXJyb3IgbWVzc2FnZSBpcyB0b28gbGFyZ2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCBlZmZjNzJiNmIxLi5jYmM5OTg2M2MyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5W
QVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5U
UzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAK
IEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNU
VVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElD
VFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAk
KEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktf
Q0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NU
QUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RV
UkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChF
TkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFM
RV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZT
Q1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxF
X09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVO
QUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
S0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGNiMmI1NWQ1ZjYuLjIyZDkxNWUwMDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjEgQEAKKzIwMjAtMDQtMDggIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3Jh
bW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMg
c2Nyb2xsaW5nLiBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1lbnQg
c3RvcmVzCisgICAgICAgIHRoZSBzY3JvbGxlZCB0YXJnZXRzIHdoaWNoIG5lZWQgdG8gZGlzcGF0
Y2ggc2Nyb2xsZW5kIGV2ZW50cy4gRnJhbWVWaWV3IGFuZCBSZW5kZXJMYXllciBwcm92aWRlIHRo
cmVlIHdheXMgdG8KKyAgICAgICAgYWRkIGVsZW1lbnRzIHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4g
ICAgIAorICAgICAgICAxLiBJbnN0YW50IHNjcm9sbGluZyBpbmNsdWRpbmcgdGhlIHNjcm9sbGlu
ZyBwb3NpdGlvbiBub3QgY2hhbmdlZCBhbmltYXRlZCBzY3JvbGwsIHRoZSBlbGVtZW50IHdvdWxk
IGFkZCB0byB0aGUgbGlzdAorICAgICAgICBhZnRlciBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4K
KyAgICAgICAgMi4gQW5pbWF0ZWQgc2Nyb2xsaW5nLCB0aGUgZWxlbWVudCB3b3VsZCBiZSBzZXQg
YXMgdGhlIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgb2YgU2Nyb2xsQW5pbWF0aW9uIGFuZCBhZGQg
dG8gdGhlIGxpc3QKKyAgICAgICAgd2hlbiBhbmltYXRpb24gc3RvcHMuIEZvciBzY3JvbGxSZWN0
SW50b1ZpZXcsIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSBzY3JvbGxlbmQgZXZlbnQgZmlyZWQgYWZ0
ZXIgYWxsIGFuY2VzdG9yIGxheWVycworICAgICAgICBmaW5pc2hpbmcgc2Nyb2xsaW5nLCBhZGQg
bV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5kaWNhdGUgaWYgc2Nyb2xsUmVjdEludG9W
aWV3IGZpbmlzaGVkLiBXaGVuIFNjcm9sbEFuaW1hdGlvbgorICAgICAgICBzdG9wcywgaXQgd2ls
bCB0cnkgdG8gZmluZCBhIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3RvciBsYXllciBh
bmQgcGFzcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byBpdHMKKyAgICAgICAgU2Nyb2xs
QW5pbWF0aW9uLiBJZiBubyBzdWNoIGxheWVyIGZvdW5kLCBhZGQgbV9zY3JvbGxFbmRFdmVudFRh
cmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIDMuIFVzZXIgYXN5bmNocm9ub3Vz
IHNjcm9sbGluZywgdGhlIHNjcm9sbCBwb3NpdGlvbiB3b3VsZG4ndCBjaGFuZ2UgaW1tZWRpYXRl
bHkuIFNvIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uCisgICAgICAgIHRoZW4gY2hlY2tTY3Jv
bGxFbmRFdmVudFBvc2l0aW9uIGlmIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2VkLiBUaGUgcHJvZ3Jh
bW1hdGljIHNjcm9sbGluZyB3b3VsZG4ndCB0cmlnZ2VyIHRoaXMgd2F5LgorCisgICAgICAgIFRl
c3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcv
c2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwKKyAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y29t
bW9uVGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFyZ2V0cyB0byBtX3BlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cnVuU2Nyb2xs
U3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQgZm9yIGVhY2ggdGFyZ2V0LgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0
IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQgdGFyZ2V0cy4KKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KTog
U2V0IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzIGZvciBGcmFtZVZpZXcgZWxlbWVudC4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6IERpdHRvLgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xs
VG8gY29uc3QpOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGZvciBzY3JvbGxp
bmcgdG8gKDAsIDApIG9wdGltaXphdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIGRv
Y3VtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChpbnN0YW50IHNjcm9s
bCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc2l0aW9u
LCBvdGhlcndpc2Ugc2V0IGRvY3VtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Nyb2xs
QW5pYW10aW9uLikuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNhdmVTY3JvbGxFbmRF
dmVudFBvc2l0aW9uKTogU2F2ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIHRoYXQgcmVxdWlyZXMgdG8g
ZmlyZSBhbiBzY3JvbGxlbmQgZXZlbnQuIFRoaXMgaXMgZm9yIGFzeW5jaHJvbm91cyBzY3JvbGwu
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
bik6IEFkZCBkb2N1bWVudCB0byB0aGUgbGlzdCBpZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGVxdWFs
IHRvIHRoZSBwcmVzZXJ2ZWQgb25lLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQpOiBBZGQgRG9jdW1lbnQgdG8gbV9wZW5kaW5nU2Ny
b2xsZW5kRXZlbnRUYXJnZXRMaXN0IGluIERvY3VtZW50LgorICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3Lmg6IEFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0byBpbmRpY2F0ZSBGcmFtZVZp
ZXcgaXMgcGVyZm9ybWluZyBhIGFuaW1hdGVkIHNjcm9sbFJlY3RJbnRvVmlldyBzY3JvbGwuCisg
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb246OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dGlvblNtb290aDo6c3RvcCk6IENhbGwgbm90aWZ5U2Nyb2xsRW5kLgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQpOiBzZXREdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcgZmFsc2UuIElmIHRoZXJlJ3MgbV9zY3JvbGxFbmRFdmVudFRhcmdldCwg
dHJ5IHRvIGZpbmQgYW4gYW5jZXN0b3IgbGF5ZXIKKyAgICAgICAgZHVyaW5nU2Nyb2xsUmVjdElu
dG9WaWV3IGFuZCBzZXQgdGhlIHRhcmdldCB0byBpdC4gT3RoZXJ3aXNlLCBhZGQgdGhlIHRhcmdl
dCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRp
b25TbW9vdGg6OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOiBDYWxsIG5vdGlmeVNjcm9sbEVu
ZCBpZiBub3QgY29udGludWVBbmltYXRpb24uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uU21vb3RoLmg6IEFkZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yOjpzZXRTY3JvbGxFbmRUYXJnZXQpOiBTZXQgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byBT
Y3JvbGxBbmltYXRpb25TbW9vdGguCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOiBBZGQgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbik6IEFkZCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9s
bFRvKTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgdGhlIHNjcm9sbCBwb3Np
dGlvbiBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJl
YTo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNhdmVTY3JvbGxFbmRFdmVu
dFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpjaGVja1Njcm9s
bEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmFk
ZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxh
YmxlQXJlYTo6ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGFibGVBcmVhOjpzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYWJsZUFyZWE6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBB
ZGQgZWxlbWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgaWYgaXQgc2Nyb2xsZWQoaW5zdGFudCBz
Y3JvbGwgb3Igc21vb3RoIHNjcm9sbAorICAgICAgICB3aXRob3V0IGNoYW5naW5nIHRoZSBwb3Np
dGlvbiwgb3RoZXJ3aXNlIHNldCBlbGVtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Ny
b2xsQW5pYW10aW9uLikuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxU
b09mZnNldCk6IENhbGwgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uLCBpZiB0aGVyZSBpcyBu
byBzY3JvbGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOiBj
aGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IHNldER1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKSBpZiBpdCdzIHBlcmZvcm1pbmcgYSBhbmltYXRl
ZCBzY3JvbGxpbmcuCisgICAgICAgIEFmdGVyIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9WaXNp
YmxlKCksIGNoZWNrIGlmIGN1cnJlbnQgbGF5ZXIgaXMgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
LCBzZXQgdGhlIGVsZW1lbnQgYXMgYW5pbWF0aW9uJ3Mgc2Nyb2xsZW5kIFRhcmdldC4KKyAgICAg
ICAgT3RoZXJ3aXNlLCBmaW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5jZXN0b3Ig
bGF5ZXIgYW5kIHBhc3MgdGhlIGVsZW1lbnQgdG8gYW5jZXN0b3IgbGF5ZXIncyBzY3JvbGxBbmlt
YXRpb24uCisgICAgICAgIElmIG5vIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBsYXllciBmb3Vu
ZCwgYWRkIHRoZSBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldyk6IEZpbmQgdGhlIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3Rv
ciBsYXllciwgYW5kIGNoZWNrIEZyYW1lVmlldyBhdCB0aGUgZW5kLiAKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6
IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKworMjAyMC0wMy0wOSAgQ2F0aGllIENo
ZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92
ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMg
V2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAg
ICAgICBQYXJzZSBvbm92ZXJzY3JvbGwvc2Nyb2xsZW5kIGF0dHJpYnV0ZSBhbmQgb3ZlcnNjcm9s
bC9vdmVyc2Nyb2xsIGV2ZW50IG5hbWUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBk
b20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCk6CisgICAgICAgICog
cGFnZS9TZXR0aW5ncy55YW1sOgorCisyMDIwLTA0LTA3ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNo
ZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBGaXggdXAgY29kZSBzdHlsZSBmb3Igc2Nyb2xsIGFu
aW1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwMTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
MS4gVXNlIEFuaW1hdGVkU2Nyb2xsIGluc3RlYWQgb2YgYm9vbCB0byBpbmRpY2F0ZSBhbmltYXRl
ZCBvciBub3QuCisgICAgICAgIDIuIFJlbW92ZSBwYXJhbWV0ZXIgU2Nyb2xsUmVjdFRvVmlzaWJs
ZU9wdGlvbnMsIHRoZSBhdXRvc2Nyb2xsIHN0YXR1cyBpcyBhdmFpbGFibGUgZnJvbSBFdmVudEhh
bmRsZXIuCisgICAgICAgIDMuIEluIG9yZGVyIHRvIGtlZXAgY29uc2lzdGVudCwgdXNlIFJlbmRl
ckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbiBpbnN0ZWFkIG9mIFJlbmRlckxheWVyOjpzY3JvbGxU
b1Bvc2l0aW9uLgorICAgICAgICA0LiBBZGQgQW5pbWF0ZWRTY3JvbGwgcGFyYW1ldGVyIHRvIFNj
cm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24sIHRoZW4gdGhlIHNjcm9sbCBhbmlt
YXRpb24KKyAgICAgICAgY2FuIGJlIGRlYWx0IGluIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRp
b24uCisgICAgICAgIDUuIEluIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uLCB0aGUgc2Ny
b2xsIGFuaW1hdGlvbiBzaG91bGQgYmUgY2FuY2xlZCBiZWZvcmUgcmV0dXJuLgorCisgICAgICAg
ICogZG9tL0VsZW1lbnQuY3BwOiBVc2UgQW5pbWF0ZWRTY3JvbGwgaW5zdGVhZCBvZiBib29sLgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2Nyb2xsVG8pOgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6c2V0U2Nyb2xsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRT
Y3JvbGxUb3ApOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8gY29uc3QpOiBObyBuZWVkIHRvIGNhbGwgc2Nyb2xsVG9P
ZmZzZXRXaXRoQW5pbWF0aW9uIGhlcmUuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOiBB
ZGQgQW5pbWF0ZWRTY3JvbGwuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKTog
QWRkIHBhcmFtZXRlciBBbmltYXRlZFNjcm9sbC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZp
ZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQ2FuY2VsIHRoZSBzY3JvbGwgYW5pbWF0aW9uIGJlZm9y
ZSByZXR1cm4uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRT
Y3JvbGxMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsVG9wKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUpOiBSZW1vdmUgQXV0
b3Njcm9sbFN0YXR1cy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphdXRvc2Nyb2xs
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1Bvc2l0aW9uKTogRGVs
ZXRlZC4gVXNlIHNldFNjcm9sbFBvc2l0aW9uIGluc3RlYWQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsTGVmdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmU6OnNldFNjcm9sbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDoKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5n
LmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJ
T04gRkFJTEVEOiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5v
bmUgc2VlbiB3aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVn
b3J5SU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCmluZGV4IGVmZmM3MmI2YjEuLmNiYzk5ODYzYzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hf
Y29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9P
VkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BM
QVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hT
TFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19Q
QUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQ
RURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQ
VV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNU
T1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJ
VkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFM
SURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMp
ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hf
RVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVT
T1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVS
X1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19H
UkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJ
TlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVE
X09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVf
UFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9S
X1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FD
WV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZF
X1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElE
QVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAk
KEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZF
TlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VS
VkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJF
Q09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklW
RVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAk
KEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKaW5kZXggNThlMjQzMzFkZS4uZTFkNGRlZWZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIK
KworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQg
b24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NS
T0xMX0VWRU5UUy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorCiAyMDIwLTA0LTAzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgW1hjb2RlXSBSZXBsYWNlIEFTQU5fT1RIRVJfQ0ZMQUdTIGFuZCBBU0FOX09U
SEVSX0NQTFVTUExVU0ZMQUdTIHdpdGggJChpbmhlcml0ZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggZWZmYzcyYjZiMS4uY2JjOTk4NjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjk3LDYg
KzI5Nyw4IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NP
Q09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2gg
PSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9F
VkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1F
KSk7CkBAIC00MTcsNCArNDE5LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Yz
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5T
UEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRS
WSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURB
VElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMp
ICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJ
T04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBjNjIwNWM1ZjZlLi4zMzYwYmM1
OGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCkBAIC0zMDUsNiArMzA1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3Jv
KG1hdGNoaW5nRWxlbWVudEluRmxhdFRyZWUpIFwKICAgICBtYWNybyhtZWRpYVN0cmVhbVRyYWNr
Q29uc3RyYWludHMpIFwKICAgICBtYWNybyhvcGVuRGF0YWJhc2UpIFwKKyAgICBtYWNybyhvbm92
ZXJzY3JvbGwpIFwKKyAgICBtYWNybyhvbnNjcm9sbGVuZCkgXAogICAgIG1hY3JvKG9udG91Y2hj
YW5jZWwpIFwKICAgICBtYWNybyhvbnRvdWNoZW5kKSBcCiAgICAgbWFjcm8ob250b3VjaG1vdmUp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDNlZjk0NTkwMGIuLmU1YzQ3ODdlZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzk5LDYgKzc5OSwxMCBAQCB2b2lkIERvY3VtZW50
Ojpjb21tb25UZWFyZG93bigpCiAKICAgICBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Qg
PSBudWxscHRyOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIG1fcGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CisjZW5kaWYKKwogICAgIHdoaWxl
ICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBtX3RpbWVsaW5lcy5iZWdp
bigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKICAgICBtX3RpbWVsaW5lID0gbnVsbHB0cjsKQEAg
LTQwNzIsNiArNDA3NiwyNiBAQCB2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRXZlbnRU
YXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQogICAgIHRhcmdldHMuYXBwZW5kKHRhcmdldCk7
CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIERvY3VtZW50OjphZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQoreworICAg
IGlmICghc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoIW1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCkKKyAgICAg
ICAgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ID0gbWFrZVVuaXF1ZTxQZW5kaW5n
U2Nyb2xsRXZlbnRUYXJnZXRMaXN0PigpOworCisgICAgYXV0byYgdGFyZ2V0cyA9IG1fcGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0czsKKyAgICBpZiAodGFyZ2V0cy5maW5k
TWF0Y2hpbmcoWyZdIChhdXRvJiBlbnRyeSkgeyByZXR1cm4gZW50cnkucHRyKCkgPT0gJnRhcmdl
dDsgfSkgIT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICh0YXJnZXRzLmlz
RW1wdHkoKSkKKyAgICAgICAgc2NoZWR1bGVUaW1lZFJlbmRlcmluZ1VwZGF0ZSgpOworCisgICAg
dGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKK30KKyNlbmRpZgorCiB2b2lkIERvY3VtZW50OjpzZXRO
ZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQoKQogewogICAgIGlmICghbV9uZWVkc1Zpc3Vh
bFZpZXdwb3J0U2Nyb2xsRXZlbnQpCkBAIC00MDk3LDYgKzQxMjEsMTggQEAgdm9pZCBEb2N1bWVu
dDo6cnVuU2Nyb2xsU3RlcHMoKQogICAgICAgICBpZiAoYXV0byogd2luZG93ID0gZG9tV2luZG93
KCkpCiAgICAgICAgICAgICB3aW5kb3ctPnZpc3VhbFZpZXdwb3J0KCkuZGlzcGF0Y2hFdmVudChF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6
Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgfQorCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIC8vIERlYWwgd2l0aCBzY3JvbGxlbmQgZXZlbnQuCisgICAgaWYg
KG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCAmJiAhbV9wZW5kaW5nU2Nyb2xsRW5k
RXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzLmlzRW1wdHkoKSkgeworICAgICAgICBMT0dfV0lUSF9T
VFJFQU0oRXZlbnRzLCBzdHJlYW0gPDwgIkRvY3VtZW50IiA8PCB0aGlzIDw8ICJzZW5kaW5nIHNj
cm9sbGVuZCBldmVudHMgdG8gcGVuZGluZyBzY3JvbGwgZXZlbnQgdGFyZ2V0cyIpOworICAgICAg
ICBhdXRvIGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzID0gV1RGTW92ZShtX3BlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMpOworICAgICAgICBmb3IgKGF1dG8mIHRhcmdldCA6
IGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzKSB7CisgICAgICAgICAgICBhdXRvIGJ1YmJsZXMgPSB0
YXJnZXQtPmlzRG9jdW1lbnROb2RlKCkgPyBFdmVudDo6Q2FuQnViYmxlOjpZZXMgOiBFdmVudDo6
Q2FuQnViYmxlOjpObzsKKyAgICAgICAgICAgIHRhcmdldC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxlbmRFdmVudCwgYnViYmxlcywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIERvY3Vt
ZW50OjphZGRBdWRpb1Byb2R1Y2VyKE1lZGlhUHJvZHVjZXImIGF1ZGlvUHJvZHVjZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IDgzOWFmY2Q1OGIuLjc0NWRhMmRmMjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCkBAIC0xMzYwLDYgKzEzNjAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBydW5SZXNpemVT
dGVwcygpOwogCiAgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVy
Tm9kZSYpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIGFkZFBlbmRp
bmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7CisjZW5kaWYKICAgICB2b2lk
IHNldE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpOwogICAgIHZvaWQgcnVuU2Nyb2xs
U3RlcHMoKTsKIApAQCAtMjA0Miw2ICsyMDQ1LDkgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBQ
ZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5n
U2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q7Cisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5n
U2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3Q7
CisjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgSGFzaFNldDxIVE1MTWVk
aWFFbGVtZW50Kj4gbV9tZWRpYVN0cmVhbVN0YXRlQ2hhbmdlRWxlbWVudHM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKaW5kZXggYzlkYmQ1ZTUzYS4uNzRjNDQ2NTE2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcApAQCAtOTUwLDcgKzk1MCw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oY29uc3QgU2Ny
b2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKICAgICAgICAg
Y2xhbXBUb0ludGVnZXIoc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAqIHJlbmRlcmVyLT5z
dHlsZSgpLmVmZmVjdGl2ZVpvb20oKSksCiAgICAgICAgIGNsYW1wVG9JbnRlZ2VyKHNjcm9sbFRv
T3B0aW9ucy50b3AudmFsdWUoKSAqIHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSkK
ICAgICApOwotICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9P
cHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCB0aGlzKTsKKyAg
ICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09w
dGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0byksIHRoaXMpID8gQW5p
bWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICByZW5kZXJlci0+c2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywg
Y2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIApAQCAtMTI5MywxNiArMTI5MywyMCBAQCB2b2lkIEVs
ZW1lbnQ6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQpCiAgICAgICAgIGlmIChhdXRvKiBmcmFt
ZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewogICAgICAgICAgICAgLy8gRklY
TUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAg
ICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUw
NTkKLSAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xs
QmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAg
ICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVo
YXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3Jv
bGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0
aW9uKHN0YXRpY19jYXN0PGludD4obmV3TGVmdCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICog
ZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSksIGZyYW1lLT52aWV3KCktPnNjcm9sbFkoKSk7Cisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+
c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmlt
YXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICAgICAgICAgIGZy
YW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAg
IGludCBjbGFtcGVkTGVmdCA9IGNsYW1wVG9JbnRlZ2VyKG5ld0xlZnQgKiByZW5kZXJlci0+c3R5
bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBib29sIGFuaW1hdGVkID0gdXNlU21vb3Ro
U2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKTsKKyAgICAgICAgQW5pbWF0ZWRT
Y3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8s
IHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAg
ICAgcmVuZGVyZXItPnNldFNjcm9sbExlZnQoY2xhbXBlZExlZnQsIFNjcm9sbFR5cGU6OlByb2dy
YW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKICAgICAgICAgaWYg
KGF1dG8qIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyZXItPmxheWVyKCkpCiAgICAgICAgICAgICBz
Y3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVkU3RhdGUodHJ1ZSk7CkBA
IC0xMzE3LDE2ICsxMzIxLDIwIEBAIHZvaWQgRWxlbWVudDo6c2V0U2Nyb2xsVG9wKGludCBuZXdU
b3ApCiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZp
ZXcoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+
c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQg
PSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9j
dW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1
c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1l
bnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsK
ICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9uKGZyYW1lLT52aWV3KCktPnNjcm9sbFgoKSwg
c3RhdGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1l
LT5mcmFtZVNjYWxlRmFjdG9yKCkpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olll
cyk7CisjZWxzZQogICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjZW5kaWYKICAg
ICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVy
ID0gcmVuZGVyQm94KCkpIHsKICAgICAgICAgaW50IGNsYW1wZWRUb3AgPSBjbGFtcFRvSW50ZWdl
cihuZXdUb3AgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBi
b29sIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0
aGlzKTsKKyAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxp
bmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFu
aW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgcmVuZGVyZXItPnNldFNjcm9sbFRvcChjbGFtcGVk
VG9wLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBh
bmltYXRlZCk7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IHJlbmRlcmVyLT5s
YXllcigpKQogICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNjcm9sbFNob3VsZENsZWFy
TGF0Y2hlZFN0YXRlKHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNWNlZWU2ZjY4
MS4uZTRkZjRjNGI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xOTEsNiArMTkxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKG9yaWVudGF0aW9uY2hhbmdlKSBcCiAg
ICAgbWFjcm8ob3ZlcmNvbnN0cmFpbmVkKSBcCiAgICAgbWFjcm8ob3ZlcmZsb3djaGFuZ2VkKSBc
CisgICAgbWFjcm8ob3ZlcnNjcm9sbCkgXAogICAgIG1hY3JvKHBhZ2VoaWRlKSBcCiAgICAgbWFj
cm8ocGFnZXNob3cpIFwKICAgICBtYWNybyhwYXN0ZSkgXApAQCAtMjI3LDYgKzIyOCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhyZXN1bHQpIFwKICAgICBtYWNybyhyZXN1bWUp
IFwKICAgICBtYWNybyhzY3JvbGwpIFwKKyAgICBtYWNybyhzY3JvbGxlbmQpIFwKICAgICBtYWNy
byhzZWFyY2gpIFwKICAgICBtYWNybyhzZWN1cml0eXBvbGljeXZpb2xhdGlvbikgXAogICAgIG1h
Y3JvKHNlZWtlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50
SGFuZGxlcnMuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRs
CmluZGV4IDc3MGFhOWMzYTcuLjFmMjc2NTM0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2xv
YmFsRXZlbnRIYW5kbGVycy5pZGwKQEAgLTEzMiw0ICsxMzIsOCBAQAogICAgIFtOb3RFbnVtZXJh
YmxlLCBDb25kaXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb253ZWJraXRtb3VzZWZvcmNlZG93bjsKICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9u
YWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91
c2Vmb3JjZXdpbGxiZWdpbjsKICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9TU9VU0Vf
Rk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91c2Vmb3JjZXVw
OworCisgICAgLy8gRXZlbnQgaGFuZGxlcnMgZnJvbSBPdmVyc2Nyb2xsIEV2ZW50cyBBUEkgKGh0
dHBzOi8vd2ljZy5naXRodWIuaW8vb3ZlcnNjcm9sbC1zY3JvbGxlbmQtZXZlbnRzLykKKyAgICBb
Tm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9T1ZFUlNDUk9MTF9FVkVOVFMsIEVuYWJsZWRCeVNl
dHRpbmc9T3ZlcnNjcm9sbEV2ZW50c10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm92ZXJzY3Jv
bGw7CisgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU9WRVJTQ1JPTExfRVZFTlRTLCBF
bmFibGVkQnlTZXR0aW5nPU92ZXJzY3JvbGxFdmVudHNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25zY3JvbGxlbmQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
bgppbmRleCBkY2Q4Mzc4ZDk1Li4wOTlmZmI4MjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjY3LDYgKzI2Nyw3IEBAIG9ubW91c2V3aGVlbAogb25v
bmxpbmUKIG9ub2ZmbGluZQogb25vcmllbnRhdGlvbmNoYW5nZQorb25vdmVyc2Nyb2xsCiBvbnBh
Z2VoaWRlCiBvbnBhZ2VzaG93CiBvbnBhc3RlCkBAIC0yODcsNiArMjg4LDcgQEAgb25yYXRlY2hh
bmdlCiBvbnJlc2V0CiBvbnJlc2l6ZQogb25zY3JvbGwKK29uc2Nyb2xsZW5kCiBvbnNlYXJjaAog
b25zZWVrZWQKIG9uc2Vla2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCAz
MmVkNGFkMzFiLi5hZTU5YWMxMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApA
QCAtMjg0LDYgKzI4NCw3IEBAIEhUTUxFbGVtZW50OjpFdmVudEhhbmRsZXJOYW1lTWFwIEhUTUxF
bGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFwKCkKICAgICAgICAgJm9ubW91c2VvdmVy
QXR0ci5nZXQoKSwKICAgICAgICAgJm9ubW91c2V1cEF0dHIuZ2V0KCksCiAgICAgICAgICZvbm1v
dXNld2hlZWxBdHRyLmdldCgpLAorICAgICAgICAmb25vdmVyc2Nyb2xsQXR0ci5nZXQoKSwKICAg
ICAgICAgJm9ucGFzdGVBdHRyLmdldCgpLAogICAgICAgICAmb25wYXVzZUF0dHIuZ2V0KCksCiAg
ICAgICAgICZvbnBsYXlBdHRyLmdldCgpLApAQCAtMzAxLDYgKzMwMiw3IEBAIEhUTUxFbGVtZW50
OjpFdmVudEhhbmRsZXJOYW1lTWFwIEhUTUxFbGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1l
TWFwKCkKICAgICAgICAgJm9ucmVzZXRBdHRyLmdldCgpLAogICAgICAgICAmb25yZXNpemVBdHRy
LmdldCgpLAogICAgICAgICAmb25zY3JvbGxBdHRyLmdldCgpLAorICAgICAgICAmb25zY3JvbGxl
bmRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWFyY2hBdHRyLmdldCgpLAogICAgICAgICAmb25z
ZWVrZWRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWVraW5nQXR0ci5nZXQoKSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcAppbmRleCBhN2IyMmE5NjI5Li42MmZkZTZlN2MzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNjc5LDggKzE2NzksMTUgQEAgdm9pZCBET01XaW5kb3c6
OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcg
Y2xhbXBpbmcKIAogICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIGZvciB0aGUgY29tbW9u
IGNhc2Ugb2Ygc2Nyb2xsaW5nIHRvICgwLCAwKSB3aGVuIHRoZSBzY3JvbGxlciBpcyBhbHJlYWR5
IGF0IHRoZSBvcmlnaW4uCiAgICAgLy8gSWYgYW4gYW5pbWF0ZWQgc2Nyb2xsIGlzIGluIHByb2dy
ZXNzLCB0aGlzIG9wdGltaXphdGlvbiBpcyBza2lwcGVkIHRvIGVuc3VyZSB0aGF0IHRoZSBhbmlt
YXRlZCBzY3JvbGwgaXMgcmVhbGx5IHN0b3BwZWQuCi0gICAgaWYgKHZpZXctPmN1cnJlbnRTY3Jv
bGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlv
biAmJiAhc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAmJiAhc2Nyb2xsVG9PcHRpb25zLnRv
cC52YWx1ZSgpICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSA9PSBJbnRQb2ludCgw
LCAwKSkKKyAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Ny
b2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uCisgICAgICAgICYmICFzY3JvbGxUb09w
dGlvbnMubGVmdC52YWx1ZSgpCisgICAgICAgICYmICFzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVl
KCkKKyAgICAgICAgJiYgdmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpID09IEludFBvaW50
KDAsIDApKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICB2aWV3LT5h
ZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47
CisgICAgfQogCiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKCk7CiAKQEAgLTE2ODgsMTIgKzE2OTUsOSBAQCB2b2lkIERPTVdpbmRvdzo6c2Nyb2xs
VG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZwogCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxl
bWVudCgpPwogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA1MDU5Ci0gICAgaWYgKHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVo
YXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0byksIGRvY3VtZW50KCktPmRvY3VtZW50
RWxlbWVudCgpKSkgewotICAgICAgICB2aWV3LT5zY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24o
bGF5b3V0UG9zLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIGNsYW1waW5nKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KKyAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNj
cm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6
QXV0byksIGRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZ
ZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAKLSAgICB2aWV3LT5zZXRDb250ZW50c1Njcm9sbFBv
c2l0aW9uKGxheW91dFBvcywgY2xhbXBpbmcpOworICAgIHZpZXctPnNldENvbnRlbnRzU2Nyb2xs
UG9zaXRpb24obGF5b3V0UG9zLCBjbGFtcGluZywgYW5pbWF0ZWQpOwogfQogCiBib29sIERPTVdp
bmRvdzo6YWxsb3dlZFRvQ2hhbmdlV2luZG93R2VvbWV0cnkoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCmluZGV4IGM2OGY1ZDM4YzYuLmZkZjgzNDNkOGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKQEAgLTIyNzUsNyArMjI3NSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3Jv
bGxFbGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngoKSAtIGNlbnRlcmlu
Z09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0
LnkoKSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9v
bCBhbmltYXRlZCkKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmlt
YXRlZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxF
bmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZy
YW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbiA8PCAiICwgY2xl
YXJpbmcgYW5jaG9yIik7CiAKQEAgLTIyODgsMTAgKzIyODgsMjEgQEAgdm9pZCBGcmFtZVZpZXc6
OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwg
U2Nyb2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CiAgICAgaWYgKHBhZ2Ug
JiYgcGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgc2Nyb2xsQW5pbWF0
b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hlZWxFdmVudFRlc3RNb25pdG9y
KCkpOwotICAgIGlmIChhbmltYXRlZCkKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0
aW9uKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQb3NpdGlvbiksIGN1cnJlbnRTY3Jv
bGxUeXBlKCksIGNsYW1waW5nKTsKKworICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Njcm9sbFBvc2l0
aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNjcm9sbFBvc2l0
aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9s
bDo6WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0
RnJvbVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xh
bXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24o
c2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgcmVxdWVzdFNj
cm9sbEVuZEV2ZW50KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBpZiAo
ZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkgJiYgcmVxdWVzdFNj
cm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKSB7CisgICAgICAgIGlm
IChuZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3JvbGxWaWV3OjpzY3JvbGxQb3NpdGlvbigpKQorICAg
ICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2Ug
aWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3Jv
bGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgfQorI2Vu
ZGlmCiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3JvbGxUeXBlKTsKIH0KQEAgLTM3
MjgsNiArMzczOSwzMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0
aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeQogICAgIHNldEN1cnJlbnRT
Y3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29u
c3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3sK
KyAgICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRp
b24gPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGFkanVzdFNjcm9sbFBv
c2l0aW9uV2l0aGluUmFuZ2UocG9zaXRpb24pIDogcG9zaXRpb247CisgICAgbV9maXJlU2Nyb2xs
RW5kRXZlbnRBdFBvc2l0aW9uID0gY2xhbXBlZFNjcm9sbFBvc2l0aW9uOworfQorCit2b2lkIEZy
YW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbiB8
fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBwb3NpdGlvbikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7Cisg
ICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2
b2lkIEZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAgICBp
ZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICBkb2N1
bWVudC0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpkb2N1bWVudCk7Cit9CisjZW5k
aWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRDb250ZW50KGZs
b2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxh
cml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsQnlQYWdl
IHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAppbmRleCBiYjk1Nzg1Y2M4Li40NzM2NWM0NDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmgKQEAgLTIyOSw3ICsyMjksNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSkgZmluYWw7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVk
U2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKSBmaW5hbDsKICAgICB2b2lkIHJlc3RvcmVTY3JvbGxiYXIo
KTsKICAgICB2b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChTZWxlY3Rpb25SZXZl
YWxNb2RlKTsKICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVl
ZGVkKCk7CkBAIC02NjQsNiArNjY0LDE0IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaW5VcGRhdGVF
bWJlZGRlZE9iamVjdHMoKSBjb25zdCB7IHJldHVybiBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3Rz
OyB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xs
RW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3JvbGxFbmRF
dmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBhZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcp
IGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyNlbmRp
ZgorCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IElu
dFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IElu
dFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgo
Y29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmluYWw7CkBAIC05MDQsNiArOTEyLDEwIEBAIHBy
aXZhdGU6CiAKICAgICBQYWdpbmF0aW9uIG1fcGFnaW5hdGlvbjsKIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3NpdGlvbj4gbV9maXJlU2Nyb2xs
RW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCisKICAgICBlbnVtIGNsYXNzIFZpZXdwb3J0UmVu
ZGVyZXJUeXBlIDogdWludDhfdCB7IE5vbmUsIERvY3VtZW50LCBCb2R5IH07CiAgICAgVmlld3Bv
cnRSZW5kZXJlclR5cGUgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSB7IFZpZXdwb3J0UmVuZGVyZXJU
eXBlOjpOb25lIH07CiAgICAgU2Nyb2xsUGlubmluZ0JlaGF2aW9yIG1fc2Nyb2xsUGlubmluZ0Jl
aGF2aW9yIHsgRG9Ob3RQaW4gfTsKQEAgLTk0OSw2ICs5NjEsMTAgQEAgcHJpdmF0ZToKICAgICAv
LyBUcnVlIGlmIGF1dG9zaXplIGhhcyBiZWVuIHJ1biBzaW5jZSBtX3Nob3VsZEF1dG9TaXplIHdh
cyBzZXQuCiAgICAgYm9vbCBtX2RpZFJ1bkF1dG9zaXplIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aW5VcGRhdGVFbWJlZGRlZE9iamVjdHMgeyBmYWxzZSB9OworCisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgeyBmYWxzZSB9
OworI2VuZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBGcmFtZVZpZXc6OmluY3JlbWVudFZpc3VhbGx5
Tm9uRW1wdHlQaXhlbENvdW50KGNvbnN0IEludFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLnlhbWwKaW5kZXggYTg2NzZkOTdjMy4uOGM1ZWFhMjMzMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MueWFtbApAQCAtOTE5LDYgKzkxOSwxMCBAQCBpc0xvZ2dlZEluQVBJRW5hYmxlZDoKIGVu
dGVyS2V5SGludEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAKK292ZXJzY3JvbGxFdmVudHNF
bmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogT1ZFUlNDUk9MTF9FVkVO
VFMKKwogbGVnYWN5R2V0VXNlck1lZGlhRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKICAgY29u
ZGl0aW9uYWw6IE1FRElBX1NUUkVBTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb24uaAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTY3Jv
bGxBbmltYXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25faAogCisjaW5jbHVkZSAiQ29u
dGFpbmVyTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVW
aXNpYmxlTGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNlcnZpY2VBbmltYXRp
b24oKSB7IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9p
ZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPikgeyB9OworI2VuZGlm
CiAKIHByb3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Nyb2xsYWJsZUFyZWEmIHNjcm9s
bGFibGVBcmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uU21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlv
blNtb290aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCkBAIC0yOCw3ICsy
OCwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdGlvblNt
b290aC5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAj
aW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODAs
MTAgKzgzLDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3JvbGwoY29uc3QgRmxv
YXRQb2ludCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKCkK
IHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1fYW5pbWF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKKwogICAg
IG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIH0K
IAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjpub3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9zY3JvbGxFbmRFdmVudFRhcmdl
dCkgeworICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyhmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBkdXJpbmdTY3Jv
bGxpbmdQYXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3KCkgPyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldygpIDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXIpCisg
ICAgICAgIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRTY3JvbGxFbmRUYXJnZXQobV9z
Y3JvbGxFbmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAgICBtX3Njcm9sbEVuZEV2ZW50
VGFyZ2V0LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqbV9zY3Jv
bGxFbmRFdmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IG51bGxw
dHI7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3JvbGxFbmRUYXJnZXQo
V2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9zY3JvbGxFbmRFdmVudFRh
cmdldCA9IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6
dXBkYXRlVmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpvbnRhbERhdGEudmlzaWJsZUxl
bmd0aCA9IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBAIC00MTAsOCArNDQyLDEy
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIAog
ICAgIGlmIChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0VGltZXIoc3RkOjpt
YXgobWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsKLSAgICBlbHNlCisg
ICAgZWxzZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0
dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCisgICAg
fQogCiAgICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbihGbG9hdFBvaW50KG1faG9y
aXpvbnRhbERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0YS5jdXJyZW50UG9zaXRp
b24pKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21v
b3RoLmgKaW5kZXggODE3M2ZhN2UyMC4uMTg0Y2ZhZDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTMxLDYgKzMxLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQ
b2ludDsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFzcyBTY3JvbGxDbGFtcGluZyA6
IHVpbnQ4X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgogICAgICAgICBCb3VuY2UKICAg
ICB9OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2V0U2Nyb2xs
RW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIG92ZXJyaWRlOworI2VuZGlmCiBwcml2
YXRlOgogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxh
cml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
Y3JvbGwoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJy
aWRlOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIG5vdGlmeVNjcm9s
bEVuZCgpOworI2VuZGlmCiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlk
ZTsKIApAQCAtMTA0LDYgKzExMSw5IEBAIHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1f
c3RhcnRUaW1lOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gbV9zY3JvbGxFbmRFdmVu
dFRhcmdldDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IDBmYzcyOWU5MTIuLmQ4OTMw
MDhhYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAg
LTI4Nyw1ICsyODcsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRkSG9yaXpvbnRhbFNj
cm9sbGJhcihTY3JvbGxiYXIqKQogewogICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xs
LT51cGRhdGVWaXNpYmxlTGVuZ3RocygpOwogfQotCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQordm9pZCBTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29u
dGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xs
LT5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggOWI3
YzA5YjY5MC4uZWVkZTc5OGRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2hlZWxFdmVudFRlc3RNb25pdG9y
LmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcp
IHx8IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5o
IgpAQCAtNDQsNiArNDUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRh
aW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50Owog
Y2xhc3MgU2Nyb2xsQW5pbWF0aW9uOwpAQCAtMTQzLDYgKzE0NSwxMCBAQCBwdWJsaWM6CiAgICAg
RmxvYXRTaXplIHZpZXdwb3J0U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vh
a1B0cjxDb250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
dm9pZCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSk7CiAgICAg
dm9pZCB1cGRhdGVBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JPZmZzZXQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDVjNTJkNWJiZGUuLjU2MjczNDU0N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtNjAsNiArNjAsMTYgQEAgZW51bSBj
bGFzcyBTY3JvbGxCZWhhdmlvclN0YXR1cyA6IHVpbnQ4X3QgewogICAgIEluTm9uTmF0aXZlQW5p
bWF0aW9uLAogfTsKIAorZW51bSBjbGFzcyBBbmltYXRlZFNjcm9sbCA6IHVpbnQ4X3QgeworICAg
IE5vLAorICAgIFllcworfTsKKworZW51bSBjbGFzcyBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgOiB1
aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CisKIGlubGluZSBTY3JvbGxEaXJlY3Rpb24g
bG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIGJvb2wg
aXNWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7CiAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggMmZkMTVmN2IzMC4uNmJm
NjRhYWQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTIwNiwx
MyArMjA2LDE3IEBAIEludFBvaW50IFNjcm9sbFZpZXc6OmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24o
KSBjb25zdAogICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbigpOwogfQogCi12b2lkIFNjcm9sbFZp
ZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBT
Y3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3ZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3Jv
bGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1w
aW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQogICAgICAgICBzZXRBY3R1YWxTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbik7CiAjZW5kaWYKLSAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
Y2xhbXBpbmcpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQ
b3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQ6Olllcyk7CisjZWxzZQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBjbGFtcGlu
ZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIEZsb2F0UmVjdCBTY3JvbGxWaWV3OjpleHBvc2Vk
Q29udGVudFJlY3QoKSBjb25zdApAQCAtNDg2LDYgKzQ5MCwxMCBAQCB2b2lkIFNjcm9sbFZpZXc6
OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBuZXdQb3NpdGlvbikKIAogICAgIG1fc2Ny
b2xsUG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7Cisj
ZW5kaWYKKwogICAgIGlmIChzY3JvbGxiYXJzU3VwcHJlc3NlZCgpKQogICAgICAgICByZXR1cm47
CiAKQEAgLTUxMyw3ICs1MjEsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmNvbXBsZXRlVXBkYXRlc0Fm
dGVyU2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAgdXBkYXRlQ29tcG9z
aXRpbmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wvKiBhbmltYXRlZCovKQordm9pZCBTY3JvbGxWaWV3Ojpz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCAvKiBhbmltYXRlZCovLCBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3Ry
ZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9u
KTsKIApAQCAtNTI1LDE0ICs1MzMsMTMgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbEMKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Njcm9sbFBvc2l0aW9u
ID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNjcm9sbFBvc2l0aW9u
KSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMo
KSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVBbmltYXRpb24pCisgICAgICAg
IHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwogCisgICAgU2Nyb2xsUG9zaXRp
b24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9sbGluZygpICYmIGNsYW1waW5n
ID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGlu
UmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CiAgICAgaWYgKCghZGVsZWdh
dGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxUeXBlOjpVc2Vy
KSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1
czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xsUG9zaXRpb24gPT0gdGhpcy0+c2Nyb2xsUG9z
aXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGN1cnJlbnRTY3JvbGxCZWhhdmlv
clN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFuaW1hdGlvbikK
LSAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7Ci0KICAgICBpZiAo
IXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3JvbGxQb3NpdGlvbiwgY3VycmVudFNj
cm9sbFR5cGUoKSwgY2xhbXBpbmcpKQogICAgICAgICB1cGRhdGVTY3JvbGxiYXJzKG5ld1Njcm9s
bFBvc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IGI2NGFh
M2JhMDYuLjc3YTc3NTYxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAg
LTIzMSw3ICsyMzEsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTY3JvbGwgcG9zaXRpb24gdXNlZCBi
eSB3ZWItZXhwb3NlZCBmZWF0dXJlcyAoaGFzIGxlZ2FjeSBpT1MgYmVoYXZpb3IpLgogICAgIFdF
QkNPUkVfRVhQT1JUIEludFBvaW50IGNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSBjb25zdDsKLSAg
ICB2b2lkIHNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKKyAgICB2b2lkIHNldENvbnRlbnRz
U2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGludCBhY3R1YWxTY3JvbGxYKCkgY29uc3Qg
eyByZXR1cm4gdW5vYnNjdXJlZENvbnRlbnRSZWN0KCkueCgpOyB9CkBAIC0yNjEsNyArMjYxLDcg
QEAgcHVibGljOgogICAgIFNjcm9sbFBvc2l0aW9uIGNhY2hlZFNjcm9sbFBvc2l0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9jYWNoZWRTY3JvbGxQb3NpdGlvbjsgfQogCiAgICAgLy8gRnVuY3Rpb25z
IGZvciBzY3JvbGxpbmcgdGhlIHZpZXcuCi0gICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpO
bywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAK
ICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsgcmV0dXJuIHNldFNjcm9sbFBv
c2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggNWJkYTg1N2JiOS4uMjBmYmU0MjY3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAKKyNp
bmNsdWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTc2
OSw0ICs3NzAsMTEgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6Y29tcHV0ZVNjcm9sbGJhclZhbHVl
QW5kT3ZlcmhhbmcoZmxvYXQgY3VycmVudFBvc2l0aW9uLCBmbG8KICAgICB9CiB9CiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbGFibGVBcmVhOjpzZXRTY3JvbGxF
bmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgc2Nyb2xsQW5p
bWF0b3IoKS5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApp
bmRleCBkMjAzYWViZTVjLi4zMzMxNjc5Yjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIEdyYXBoaWNz
Q29udGV4dDsKIGNsYXNzIExheW91dFBvaW50OwpAQCAtMzQ2LDYgKzM0NywxNiBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9u
TGVmdCgpIGNvbnN0ID0gMDsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2
aXJ0dWFsIHZvaWQgc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRp
b24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dCgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoYm9vbCkgeyB9CisgICAgdmlydHVhbCBTY3JvbGxhYmxlQXJlYSogZmluZEFuY2VzdG9yRHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZvaWQgc2V0
U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pOworI2VuZGlmCisKIHByb3Rl
Y3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxhYmxlQXJlYSgpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZpcnR1YWwgflNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCmluZGV4IDQwYmExYWUyMTcuLjc2OTQ0MmY5MmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC01ODEsNyArNTgxLDcgQEAgc3RhdGljIHZvaWQg
c2V0dXBXaGVlbEV2ZW50TW9uaXRvcihSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgbGF5ZXIuc2Ny
b2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS53aGVlbEV2ZW50VGVz
dE1vbml0b3IoKSk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdM
ZWZ0LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29s
IGFuaW1hdGVkKQordm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIFNj
cm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Ny
b2xsIGFuaW1hdGVkKQogewogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkp
CiAgICAgICAgIHJldHVybjsKQEAgLTU4OSw3ICs1ODksNyBAQCB2b2lkIFJlbmRlckJveDo6c2V0
U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZwogICAgIGxheWVyKCktPnNjcm9sbFRvWFBvc2l0aW9uKG5ld0xlZnQsIHNjcm9sbFR5cGUs
IGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxUb3Ao
aW50IG5ld1RvcCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1Rv
cCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0
ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5
ZXIoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTk3LDEyICs1OTcsMTYgQEAgdm9pZCBSZW5kZXJC
b3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nIGMKICAgICBsYXllcigpLT5zY3JvbGxUb1lQb3NpdGlvbihuZXdUb3AsIHNjcm9s
bFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3Jv
bGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Ny
b2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wgYW5pbWF0ZWQpCit2b2lkIFJl
bmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9u
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8ICFsYXll
cigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcigqbGF5ZXIo
KSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGxheWVyKCktPnNldFNjcm9s
bFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVl
c3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgbGF5ZXIoKS0+c2Nyb2xsVG9Qb3Np
dGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgog
fQogCiB2b2lkIFJlbmRlckJveDo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3Rz
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggMjc1MjIwYjZiZS4uODE0MzQ0Zjc1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtMjQ3LDkgKzI0Nyw5IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGludCBzY3JvbGxUb3AoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBzY3Jv
bGxXaWR0aCgpIGNvbnN0OwogICAgIHZpcnR1YWwgaW50IHNjcm9sbEhlaWdodCgpIGNvbnN0Owot
ICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsK
LSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmlt
YXRlZCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9s
bFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVk
U2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xs
VG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZvaWQgc2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1h
dGVkU2Nyb2xsOjpObyk7CiAKICAgICBMYXlvdXRVbml0IG1hcmdpblRvcCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fbWFyZ2luQm94LnRvcCgpOyB9CiAgICAgTGF5b3V0VW5pdCBtYXJnaW5C
b3R0b20oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX21hcmdpbkJveC5ib3R0b20oKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMjFmNTJiOTdkNy4u
YzBlNjE5ZDk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBA
IC0yNjIxLDI0ICsyNjIxLDQ3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmFwcGx5UG9zdExheW91dFNj
cm9sbFBvc2l0aW9uSWZOZWVkZWQoKQogICAgIG1fcG9zdExheW91dFNjcm9sbFBvc2l0aW9uID0g
V1RGOjpudWxsb3B0OwogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihp
bnQgeCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9v
bCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBT
Y3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNj
cm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbih4LCBtX3Njcm9s
bFBvc2l0aW9uLnkoKSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldFNj
cm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJl
cXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgc2Nyb2xsVG9Qb3NpdGlvbihw
b3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCi12
b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBzY3Jv
bGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAg
ICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7CisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9u
LCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6
WWVzKTsKKyNlbHNlCiAgICAgc2Nyb2xsVG9Qb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwg
Y2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3Jv
bGxUb1Bvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBz
Y3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQg
UmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3Np
dGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5p
bWF0ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xs
RW5kRXZlbnQpCiB7Ci0gICAgaWYgKGFuaW1hdGVkKQotICAgICAgICBzY3JvbGxUb09mZnNldFdp
dGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlw
ZSwgY2xhbXBpbmcpOworI2lmICFFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgVU5VU0VE
X1BBUkFNKHJlcXVlc3RTY3JvbGxFbmRFdmVudCk7CisjZW5kaWYKKworICAgIGF1dG8gb2Zmc2V0
ID0gc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQg
bmV3U2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBj
bGFtcFNjcm9sbE9mZnNldChvZmZzZXQpIDogb2Zmc2V0OworICAgIGlmIChhbmltYXRlZCA9PSBB
bmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24o
bmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAgICAg
ICBzY3JvbGxUb09mZnNldChzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3Jv
bGxUeXBlLCBjbGFtcGluZyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNl
dCwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgIGlmIChyZW5kZXJlcigpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQo
KSAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMp
IHsKKyAgICAgICAgaWYgKG5ld1Njcm9sbE9mZnNldCA9PSBzY3JvbGxPZmZzZXQoKSkKKyAgICAg
ICAgICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworICAgICAgICBlbHNlIGlm
IChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICAgICAgc2V0U2Nyb2xs
RW5kVGFyZ2V0KG1ha2VXZWFrUHRyKHJlbmRlcmVyKCkuZWxlbWVudCgpKSk7CisgICAgfQorI2Vu
ZGlmCiB9CiAKIFNjcm9sbE9mZnNldCBSZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQoY29u
c3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQpIGNvbnN0CkBAIC0yNjYxLDEzICsyNjg0LDE4
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYg
c2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNjCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2Fu
Y2VsQW5pbWF0aW9ucygpOwogCiAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQg
PSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0
KHNjcm9sbE9mZnNldCkgOiBzY3JvbGxPZmZzZXQ7Ci0gICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZz
ZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCisgICAgU2Nyb2xsUG9zaXRpb24gY2xhbXBlZFNj
cm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZz
ZXQpOworICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgp
KSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICBjaGVja1Njcm9sbEVu
ZEV2ZW50UG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBy
ZXR1cm47CisgICAgfQogCiAgICAgYXV0byBwcmV2aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50U2Ny
b2xsVHlwZSgpOwogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHNjcm9sbFR5cGUpOwogCi0gICAg
aWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0
KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBzY3JvbGxUeXBlLCBjbGFtcGluZykpCisgICAgaWYgKCFy
ZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBzY3JvbGxU
eXBlLCBjbGFtcGluZykpCiAgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihj
bGFtcGVkU2Nyb2xsT2Zmc2V0LCBjbGFtcGluZyk7CiAgICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0
dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIApAQCAtMjc5MSw2ICsy
ODE5LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBwb3NpdGlvbikKICAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVu
dCgpKQogICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFdmVudFRh
cmdldCgqZWxlbWVudCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgY2hl
Y2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCisKICAg
ICBpZiAoc2Nyb2xsc092ZXJmbG93KCkpCiAgICAgICAgIHZpZXcuZnJhbWVWaWV3KCkuZGlkQ2hh
bmdlU2Nyb2xsT2Zmc2V0KCk7CiAKQEAgLTI4MzYsMTMgKzI4NjgsMTggQEAgYm9vbCBSZW5kZXJM
YXllcjo6YWxsb3dzQ3VycmVudFNjcm9sbCgpIGNvbnN0CiAgICAgcmV0dXJuIGJveC0+aGFzSG9y
aXpvbnRhbE92ZXJmbG93KCkgfHwgYm94LT5oYXNWZXJ0aWNhbE92ZXJmbG93KCk7CiB9CiAKLXZv
aWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJz
b2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0
aW9ucyYgb3B0aW9ucywgQXV0b3Njcm9sbFN0YXR1cyBhdXRvc2Nyb2xsU3RhdHVzKQordm9pZCBS
ZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0
ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25z
JiBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KQog
ewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiTGF5ZXIgIiA8PCB0
aGlzIDw8ICIgc2Nyb2xsUmVjdFRvVmlzaWJsZSAiIDw8IGFic29sdXRlUmVjdCk7CiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9vbCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZCA9IHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpOworI2Vu
ZGlmCisKICAgICBMYXlvdXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CiAgICAgRnJhbWVW
aWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICBhdXRv
KiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9z
c0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIGJvb2wgYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3Mg
PSAhcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNz
KCk7CiAKICAgICBpZiAoYWxsb3dzQ3VycmVudFNjcm9sbCgpKSB7CiAgICAgICAgIC8vIERvbid0
IHNjcm9sbCB0byByZXZlYWwgYW4gb3ZlcmZsb3cgbGF5ZXIgdGhhdCBpcyByZXN0cmljdGVkIGJ5
IHRoZSAtd2Via2l0LWxpbmUtY2xhbXAgcHJvcGVydHkuCkBAIC0yODYxLDggKzI4OTgsMTQgQEAg
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBh
YnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3Jv
bGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShy
b3VuZGVkSW50UmVjdChyZXZlYWxSZWN0KS5sb2NhdGlvbigpKSk7CiAgICAgICAgIGlmIChjbGFt
cGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpIHx8IGN1cnJlbnRTY3JvbGxCZWhhdmlv
clN0YXR1cygpICE9IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbikgewogICAg
ICAgICAgICAgU2Nyb2xsT2Zmc2V0IG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwot
ICAgICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9s
bFN0YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhh
dmlvciwgYm94LT5lbGVtZW50KCkpOwotICAgICAgICAgICAgc2Nyb2xsVG9Qb3NpdGlvbihzY3Jv
bGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlBy
b2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAg
ICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgICAg
ICAgICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhv
cHRpb25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSkpCisgICAgICAgICAgICAgICAgYW5pbWF0
ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOworICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb24o
c2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBTY3JvbGxUeXBl
OjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgaWYgKG92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkICYmIGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMgJiYgY2xhbXBlZFNj
cm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgICAgICAgICBzZXREdXJpbmdT
Y3JvbGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisjZW5kaWYKICAgICAgICAgICAgIEludFNpemUgc2Ny
b2xsT2Zmc2V0RGlmZmVyZW5jZSA9IGNsYW1wZWRTY3JvbGxPZmZzZXQgLSBvbGRTY3JvbGxPZmZz
ZXQ7CiAgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVy
ZW5jZSk7CiAgICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2FsVG9BYnNv
bHV0ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNlVHJhbnNm
b3JtcykuYm91bmRpbmdCb3goKSk7CkBAIC0yODg4LDkgKzI5MzEsMjEgQEAgdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3Qs
IGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbiA9IHNjcm9sbFBvc2l0
aW9uLmNvbnN0cmFpbmVkQmV0d2VlbihJbnRQb2ludCgpLCBJbnRQb2ludChmcmFtZVZpZXcuY29u
dGVudHNTaXplKCkpKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBj
b250ZW50RG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8v
IFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAg
ICAgICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9s
bFN0YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgp
ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBvd25lckVsZW1lbnQtPmNv
bnRlbnREb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgQW5p
bWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6Tm87CisgICAgICAgICAgICAg
ICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dyZXNzCisgICAgICAgICAgICAgICAgICAgICYmIG93
bmVyRWxlbWVudC0+Y29udGVudERvY3VtZW50KCkKKyAgICAgICAgICAgICAgICAgICAgJiYgdXNl
U21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIG93bmVyRWxlbWVudC0+Y29udGVudERv
Y3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSkKKyAgICAgICAgICAgICAgICAgICAgYW5pbWF0
ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRT
Y3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFu
aW1hdGVkKTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAg
ICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3Jv
bGw6OlllcyAmJiBzY3JvbGxQb3NpdGlvbiAhPSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkg
eworICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3KHRydWUpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50
ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAg
ZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUo
KS5kb2N1bWVudCgpKSk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAg
ICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3Vs
ZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFn
YXRlU2Nyb2xsVG9QYXJlbnQoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogZW5j
bG9zaW5nTGF5ZXIgPSBvd25lckVsZW1lbnQtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkp
CiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0xheWVyLT5l
bmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENy
b3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CkBAIC0yOTMxLDggKzI5ODYsMTcgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJl
Y3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9s
bFBvc2l0aW9uID0gcm91bmRlZEludFBvaW50KHJldmVhbFJlY3QubG9jYXRpb24oKSkuY29uc3Ry
YWluZWRCZXR3ZWVuKG1pblNjcm9sbFBvc2l0aW9uLCBtYXhTY3JvbGxQb3NpdGlvbik7CiAgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5n
RWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAgYm9vbCBhbmltYXRlZCA9
IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiB1
c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgp
LmRvY3VtZW50RWxlbWVudCgpKTsKKyAgICAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmlt
YXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpObzsKKyAgICAgICAgICAgICAgICBpZiAoYXV0b3Njcm9s
bE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIHJl
bmRlcmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkpCisgICAgICAgICAgICAgICAg
ICAgIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgICAgICAgICBmcmFt
ZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICAgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQg
PT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gIT0gZnJhbWVW
aWV3LnNjcm9sbFBvc2l0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNl
dER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdl
YWtQdHIoZnJhbWVWaWV3LmZyYW1lKCkuZG9jdW1lbnQoKSkpOworICAgICAgICAgICAgICAgIH0K
KyNlbmRpZgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRl
cm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdl
CkBAIC0yOTQ0LDggKzMwMDgsMjYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAg
fQogICAgIH0KICAgICAKLSAgICBpZiAocGFyZW50TGF5ZXIpCisgICAgaWYgKHBhcmVudExheWVy
KSB7CiAgICAgICAgIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKG5ld1JlY3QsIGlu
c2lkZUZpeGVkLCBvcHRpb25zKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
ICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQg
PT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgICAgIENvbnRhaW5lck5v
ZGUqIHRhcmdldCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpOworICAgICAgICAgICAgaWYgKHJlbmRl
cmVyKCkuZG9jdW1lbnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0gdGFyZ2V0KQorICAgICAgICAg
ICAgICAgIHRhcmdldCA9ICZyZW5kZXJlcigpLmRvY3VtZW50KCk7CisKKyAgICAgICAgICAgIGlm
IChkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgICAgICAgICBzZXRTY3JvbGxF
bmRUYXJnZXQobWFrZVdlYWtQdHIodGFyZ2V0KSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAg
ICAgICAgICAgICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IGZpbmRBbmNlc3Rv
ckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpOworICAgICAgICAgICAgICAgIGlmIChkdXJpbmdT
Y3JvbGxpbmdQYXJlbnRMYXllcikKKyAgICAgICAgICAgICAgICAgICAgZHVyaW5nU2Nyb2xsaW5n
UGFyZW50TGF5ZXItPnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCkuZG9jdW1l
bnQoKS5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKnRhcmdldCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6dXBk
YXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbCgpCkBAIC0zMDcxLDcgKzMxNTMsNyBAQCBM
YXlvdXRSZWN0IFJlbmRlckxheWVyOjpnZXRSZWN0VG9FeHBvc2UoY29uc3QgTGF5b3V0UmVjdCYg
dmlzaWJsZVJlY3QsIGNvbnN0IExheQogdm9pZCBSZW5kZXJMYXllcjo6YXV0b3Njcm9sbChjb25z
dCBJbnRQb2ludCYgcG9zaXRpb25JbldpbmRvdykKIHsKICAgICBJbnRQb2ludCBjdXJyZW50RG9j
dW1lbnRQb3NpdGlvbiA9IHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpLndpbmRvd1RvQ29u
dGVudHMocG9zaXRpb25JbldpbmRvdyk7Ci0gICAgc2Nyb2xsUmVjdFRvVmlzaWJsZShMYXlvdXRS
ZWN0KGN1cnJlbnREb2N1bWVudFBvc2l0aW9uLCBMYXlvdXRTaXplKDEsIDEpKSwgZmFsc2UsIHsg
U2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdl
SWZOZWVkZWQsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIH0sIEF1dG9zY3JvbGxTdGF0dXM6OkluUHJvZ3Jl
c3MpOworICAgIHNjcm9sbFJlY3RUb1Zpc2libGUoTGF5b3V0UmVjdChjdXJyZW50RG9jdW1lbnRQ
b3NpdGlvbiwgTGF5b3V0U2l6ZSgxLCAxKSksIGZhbHNlLCB7IFNlbGVjdGlvblJldmVhbE1vZGU6
OlJldmVhbCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTY3JvbGxBbGln
bm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxp
bmc6OlllcyB9KTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6Y2FuUmVzaXplKCkgY29uc3QKQEAg
LTcwMjYsNiArNzEwOCw0OSBAQCB2b2lkIFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdp
b24oKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFJl
bmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghcmVuZGVy
ZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGF1dG8gb2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9u
KTsKKyAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNl
dDsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZy
b21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmNo
ZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24p
Cit7CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gfHwgbV9maXJlU2Ny
b2xsRW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRpb24pCisgICAgICAgIHJldHVy
bjsKKworICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworCisgICAgbV9maXJl
U2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2b2lkIFJlbmRl
ckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKQoreworICAgIGlmIChFbGVt
ZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCisgICAgICAgIGVsZW1lbnQtPmRv
Y3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCplbGVtZW50KTsKK30KKwor
U2Nyb2xsYWJsZUFyZWEqIFJlbmRlckxheWVyOjpmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcoKQoreworICAgIGF1dG8qIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmlu
Z0Jsb2NrTGF5ZXIoKnRoaXMsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgd2hpbGUg
KHBhcmVudExheWVyKSB7CisgICAgICAgIGlmIChwYXJlbnRMYXllci0+ZHVyaW5nU2Nyb2xsUmVj
dEludG9WaWV3KCkpCisgICAgICAgICAgICByZXR1cm4gcGFyZW50TGF5ZXI7CisgICAgICAgIHBh
cmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnBhcmVudExheWVyLCBD
cm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIH0KKworICAgIEZyYW1lVmlldyYgZnJhbWVW
aWV3ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CisgICAgaWYgKGZyYW1lVmlldy5k
dXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgcmV0dXJuICZmcmFtZVZpZXc7Cisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisjZW5kaWYKKwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChX
VEY6OlRleHRTdHJlYW0mIHRzLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUpCiB7CiAgICAg
c3dpdGNoIChjbGlwUmVjdHNUeXBlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5oCmluZGV4IGQxMTM5M2UwN2QuLjUwMWNjNmIxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5oCkBAIC00NTAsOSArNDUwLDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiwgU2Nyb2xsVHlw
ZSA9IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxUb09mZnNldFdp
dGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6
OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7
CiAKLSAgICB2b2lkIHNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2Up
OwotICAgIHZvaWQgc2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNjcm9sbFR5cGUsIFNjcm9sbENs
YW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSk7
Ci0gICAgdm9pZCBzY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmlt
YXRlZCA9IGZhbHNlKTsKKyAgICB2b2lkIHNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNj
cm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihp
bnQgeSwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZvaWQgc2V0U2Ny
b2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVk
U2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50
OjpObyk7CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2VkIGJ5IG1hcnF1ZWUuCiAgICAgdm9p
ZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHgs
IHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xh
bXBpbmc6OlVuY2xhbXBlZCk7IH0KQEAgLTQ2Niw5ICs0NjYsOCBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGF2YWlsYWJsZUNvbnRlbnRTaXplQ2hhbmdlZChBdmFpbGFibGVTaXplQ2hhbmdlUmVhc29u
KSBmaW5hbDsKIAotICAgIGVudW0gQXV0b3Njcm9sbFN0YXR1cyB7IE5vdEluUHJvZ3Jlc3MsIElu
UHJvZ3Jlc3MgfTsKICAgICAvLyAiYWJzb2x1dGVSZWN0IiBpcyBpbiBzY2FsZWQgZG9jdW1lbnQg
Y29vcmRpbmF0ZXMuCi0gICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJl
Y3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlz
aWJsZU9wdGlvbnMmLCBBdXRvc2Nyb2xsU3RhdHVzID0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Q
cm9ncmVzcyk7CisgICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3Qm
IGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJs
ZU9wdGlvbnMmLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6
Ok5vKTsKIAogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNT
Y3JvbGxhYmxlSG9yaXpvbnRhbE92ZXJmbG93KCkgY29uc3Q7CkBAIC05MjYsNiArOTI1LDE1IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgaW52YWxpZGF0ZUV2ZW50UmVnaW9uKCk7CiAKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5k
RXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygp
IGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBz
ZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJp
bmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyAgICBTY3JvbGxhYmxlQXJlYSog
ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWw7CisjZW5kaWYKKwog
cHJpdmF0ZToKIAogICAgIHZvaWQgc2V0TmV4dFNpYmxpbmcoUmVuZGVyTGF5ZXIqIG5leHQpIHsg
bV9uZXh0ID0gbmV4dDsgfQpAQCAtMTI4Miw2ICsxMjkwLDEwIEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2xheWVyTGlzdE11dGF0aW9uQWxsb3dlZCA6IDE7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICBib29sIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IDog
MTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICB1bnNpZ25lZCBt
X2JsZW5kTW9kZSA6IDU7IC8vIEJsZW5kTW9kZQogICAgIGJvb2wgbV9oYXNOb3RJc29sYXRlZENv
bXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzIDogMTsKQEAgLTEzNTcsNiArMTM2OSwxMCBAQCBw
cml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxheWVyRmlsdGVycz4gbV9maWx0
ZXJzOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJMYXllckJhY2tpbmc+IG1fYmFja2luZzsK
KworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3Np
dGlvbj4gbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCiAgICAgCiAgICAg
UGFpbnRGcmVxdWVuY3lUcmFja2VyIG1fcGFpbnRGcmVxdWVuY3lUcmFja2VyOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCA3NzhkZjM4MjNjLi40
YWRhZTIyZjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3Bw
CkBAIC03NDMsNyArNzQzLDcgQEAgaW50IFJlbmRlckxpc3RCb3g6OnNjcm9sbExlZnQoKSBjb25z
dAogICAgIHJldHVybiAwOwogfQogCi12b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9sbExlZnQo
aW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkKK3ZvaWQgUmVuZGVyTGlzdEJv
eDo6c2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCkKIHsKIH0KIApAQCAtNzYwLDcgKzc2MCw3IEBAIHN0YXRpYyB2b2lkIHNldHVwV2hl
ZWxFdmVudFRlc3RNb25pdG9yKFJlbmRlckxpc3RCb3gmIHJlbmRlcmVyKQogICAgIHJlbmRlcmVy
LnNjcm9sbEFuaW1hdG9yKCkuc2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKHJlbmRlcmVyLnBhZ2Uo
KS53aGVlbEV2ZW50VGVzdE1vbml0b3IoKSk7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEJveDo6c2V0
U2Nyb2xsVG9wKGludCBuZXdUb3AsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBib29sKQor
dm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSwg
U2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQogewogICAgIC8vIERldGVybWluZSBhbiBp
bmRleCBhbmQgc2Nyb2xsIHRvIGl0LiAgICAKICAgICBpbnQgaW5kZXggPSBuZXdUb3AgLyBpdGVt
SGVpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAppbmRleCBm
NDg1ODBhNGM3Li5iNGUyNmE5NDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmgKQEAgLTEwNiw4ICsxMDYsOCBAQCBwcml2YXRlOgogICAgIGludCBzY3JvbGxUb3Ao
KSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsV2lkdGgoKSBjb25zdCBvdmVycmlkZTsK
ICAgICBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3Jv
bGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wpIG92ZXJyaWRlOwot
ICAgIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJv
b2wpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNj
cm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3Jv
bGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpIG92
ZXJyaWRlOwogCiAgICAgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhp
dFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIs
IGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3Zl
cnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXgg
ZDU2MDI4NzUyNi4uMGE0NjA2NDQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKQEAgLTQyNyw3ICs0MjcsMTEgQEAgYm9vbCBSZW5kZXJPYmplY3Q6OnNjcm9s
bFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2kK
ICAgICBpZiAoIWVuY2xvc2luZ0xheWVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgZW5jbG9zaW5nTGF5ZXItPnNjcm9sbFJlY3RU
b1Zpc2libGUoYWJzb2x1dGVSZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucywgUmVxdWVzdFNjcm9s
bEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBlbmNsb3NpbmdMYXllci0+c2Nyb2xsUmVjdFRv
VmlzaWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsKKyNlbmRpZgogICAg
IHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IDc0YTgwYjA2ODcuLjE2NjAy
MTczMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBAIC0zODAsMTMgKzM4MCwxMyBAQCBpbnQgUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzY3JvbGxUb3AoKSBjb25zdAogICAgIHJldHVybiBSZW5k
ZXJCbG9ja0Zsb3c6OnNjcm9sbFRvcCgpOwogfQogCi12b2lkIFJlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZTo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcsIGJvb2wpCit2b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xs
TGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Ny
b2xsKQogewogICAgIGlmIChpbm5lclRleHRFbGVtZW50KCkpCiAgICAgICAgIGlubmVyVGV4dEVs
ZW1lbnQoKS0+c2V0U2Nyb2xsTGVmdChuZXdMZWZ0KTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmU6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZywgYm9vbCkKK3ZvaWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRT
Y3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVk
U2Nyb2xsKQogewogICAgIGlmIChpbm5lclRleHRFbGVtZW50KCkpCiAgICAgICAgIGlubmVyVGV4
dEVsZW1lbnQoKS0+c2V0U2Nyb2xsVG9wKG5ld1RvcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKaW5kZXggZmQ2MzMw
MTllZC4uMjVhMmM5NmQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaApAQCAtNTcsOCArNTcsOCBAQCBwcml2YXRl
OgogICAgIGludCBzY3JvbGxUb3AoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsV2lk
dGgoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBp
bmcsIGJvb2wpIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVm
dChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJp
ZGU7CisgICAgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZywgQW5pbWF0ZWRTY3JvbGwpIG92ZXJyaWRlOwogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVj
dGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiog
c3RvcEVsZW1lbnQgPSBudWxscHRyLCBSZW5kZXJCb3gqIHN0YXJ0Qm94ID0gbnVsbHB0ciwgY29u
c3QgSW50UG9pbnQmIHdoZWVsRXZlbnRBYnNvbHV0ZVBvaW50ID0gSW50UG9pbnQoKSkgZmluYWw7
CiAgICAgYm9vbCBsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdy
YW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0g
MCkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggM2Q4OTVmM2MzMC4uYmQ1NjdhZGYzZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGln
YWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBh
cnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBC
YXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgRU5BQkxFX09W
RVJTQ1JPTExfRVZFTlRTLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIw
MjAtMDQtMDMgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OntyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQsYnVmZmVyRm9y
VHlwZX0gc2hvdWxkIHZhbGlkYXRlIHRoZWlyIGBzaXplYCBwYXJhbWV0ZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4
IGVmZmM3MmI2YjEuLmNiYzk5ODYzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjk3LDYgKzI5Nyw4IEBAIEVO
QUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VD
SCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNIKSk7
CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBFTkFC
TEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFCTEVf
UEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQoRU5B
QkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00MTcs
NCArNDE5LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVS
TkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFC
TEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJ
WkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JF
U09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NF
UlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJW
SUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FS
RF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVf
V0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJM
RV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFU
QV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lO
VEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
TU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxF
X05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xM
SU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9S
RVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRC
T1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVf
UkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VM
RU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykg
JChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJ
VkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCmluZGV4IGY1NDQ4Mzc2YTMuLmMyYTVjMGM2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTU3Myw2ICsxNTczLDE0IEBAIEFzcGVjdFJhdGlvT2ZJ
bWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJNYXAgSFRNTCBhdHRyaWJ1dGVzIHdpZHRoL2hlaWdodCB0byB0aGUgZGVmYXVsdCBhc3BlY3Qg
cmF0aW8gb2YgPGltZz4iCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAorT3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1h
blJlYWRhYmxlTmFtZTogIk92ZXJzY3JvbGwgZXZlbnRzIgorICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJFbmFibGUgdGhlIG9uc2Nyb2xsZW5kIGFuZCBzY3JvbGxlbmQgZXZlbnRzIgorICBj
YXRlZ29yeTogZXhwZXJpbWVudGFsCisgIGNvbmRpdGlvbjogRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorCiAjIEZvciBpbnRlcm5hbCBmZWF0dXJlczoKICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJv
b2xlYW4uCiAjIFlvdSBtdXN0IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uIGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwppbmRleCBjY2E1ZmQ3MjRiLi4xOTA0YjhhODM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBD
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBv
dmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmlj
IFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAg
ICAgICAgQWRkIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkIFdlYlByZWZlcmVuY2Ugc2V0dGluZy4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlh
bGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxp
dTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04g
RkFJTEVEOiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUg
c2VlbiB3aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5
SU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGVmZmM3MmI2YjEuLmNiYzk5ODYz
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5B
QkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNI
ID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsK
IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVS
RkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJM
RV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFC
TEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0
ICs0MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFC
TEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0la
RV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VS
VkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJE
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFU
RV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVN
T1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVf
TkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
TkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJP
WF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9S
RVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4OTUwMi4u
ODVmMTM1NjVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMTAsNiArMjEwLDcgQEAKICNk
ZWZpbmUgV2ViS2l0Q1NTU2hhZG93UGFydHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENT
U1NoYWRvd1BhcnRzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TGF5b3V0Rm9ybWF0dGluZ0NvbnRl
eHRJbnRlZ3JhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGF5b3V0Rm9ybWF0dGlu
Z0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYlNRTEVuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0T3ZlcnNj
cm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90
aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBi
ZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0KaW5kZXggMDI3OTM5NDMwOC4uYzQ3YWExYzAzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC03MTQsNiAr
NzE0LDkgQEAgcHVibGljOgogICAgICAgICBATk8sIFdlYktpdEFzcGVjdFJhdGlvT2ZJbWdGcm9t
V2lkdGhBbmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRX
ZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQFlFUywgV2ViS2l0RGVidWdOZWVk
c0luQXBwQnJvd3NlclByaXZhY3lRdWlya3NQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICAgICAgQE5PLCBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZFByZWZlcmVuY2VLZXksCisjZW5kaWYKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFURk9STShJ
T1NfRkFNSUxZKQpAQCAtMzY4MCw2ICszNjgzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJ
QkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOndlYlNRTEVuYWJsZWQg
Zm9yS2V5OldlYktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClv
dmVyc2Nyb2xsRXZlbnRzRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0g
KHZvaWQpc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxm
IF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQ
cmVmZXJlbmNlS2V5XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5j
ZXMgKFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYTg0NTQ5ZDRhYi4uN2ZmNzMxOWQ4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02ODgsNiArNjg4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lU
X0RFUFIKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdl
c0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhc3BlY3RSYXRpb09mSW1nRnJv
bVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG92ZXJz
Y3JvbGxFdmVudHNFbmFibGVkOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgcXVpY2tMb29rRG9jdW1lbnRTYXZpbmdFbmFibGVkOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGQxMTc3N2RiNmUuLmYwNjQ1
NTdjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAg
LTMwMTUsNiArMzAxNSw5IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGlu
Z1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFtw
cmVmZXJlbmNlcyBDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Mu
c2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgQ1NTT01WaWV3
U21vb3RoU2Nyb2xsaW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldE1lZGlhQ29udGVudFR5
cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KFtwcmVmZXJlbmNlcyBtZWRpYUNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydF0pOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBzZXR0aW5ncy5zZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChbcHJlZmVyZW5jZXMg
b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRdKTsKKyNlbmRpZgogCiAgICAgc3dpdGNoIChbcHJlZmVy
ZW5jZXMgc3RvcmFnZUJsb2NraW5nUG9saWN5XSkgewogICAgIGNhc2UgV2ViQWxsb3dBbGxTdG9y
YWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGZhM2E1NzZlYzUuLmVkMjY2NzNi
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMC0w
My0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcn
cyBwYXRjaC4KKworICAgICAgICBBZGQgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgV2ViUHJlZmVy
ZW5jZSBzZXR0aW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6
ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6b3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwog
MjAyMC0wNC0wMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIEFkZCBTUEkgdG8gbWFrZSBXS1VzZXJTY3JpcHRzIHdhaXQgZm9yIGEgbm90aWZp
Y2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lX
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAppbmRleCBkZmZkOTRkZDg2Li42NWNmM2Fk
OTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVy
ZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTI2NSw0ICsyNjUsNyBAQCBpbnRl
cmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTggOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNwog
ewogICAgIEhSRVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbb3V0LCByZXR2YWxd
IEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRh
VVJMcyhbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBvdmVyc2Nyb2xsRXZlbnRzRW5h
YmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldE92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCAxN2JjZjliZTE4Li4w
NGFlYjZjN2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaApAQCAtMjI3LDMgKzIyNyw1IEBACiAjZGVmaW5lIFdlYktpdEFzcGVj
dFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0
QXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQiCiAKICNkZWZpbmUgV2Vi
S2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFdlYlNRTEVuYWJsZWQiCisKKyNk
ZWZpbmUgV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRP
dmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VzLmNwcAppbmRleCBkZDI5ZTkyMzZjLi4xODRiMmM4YjhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0zNTQsNiArMzU0LDggQEAgdm9pZCBX
ZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAKICAgICBDRkRpY3Rp
b25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVu
Y2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVm
YXVsdHMsIENGU1RSKFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSks
IGtDRkJvb2xlYW5GYWxzZSk7CisKICAgICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKICNl
bmRpZgogfQpAQCAtMjQ3MCw2ICsyNDcyLDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNl
dFdlYlNRTEVuYWJsZWQoQk9PTCBlbmFibGVkKQogICAgIHJldHVybiBTX09LOwogfQogCitIUkVT
VUxUIFdlYlByZWZlcmVuY2VzOjpvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKiBl
bmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsK
KyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5h
YmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlBy
ZWZlcmVuY2VzOjpzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChCT09MIGVuYWJsZWQpCit7Cisg
ICAgc2V0Qm9vbFZhbHVlKFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtl
eSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5j
ZXM6OmFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCogYWxsb3dBY2Nlc3Mp
CiB7CiAgICAgaWYgKCFhbGxvd0FjY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlcy5oCmluZGV4IGEzMWJhMDNhODIuLjcwOThlZTExOTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaApAQCAtMzA3LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAg
ICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9u
VG9EYXRhVVJMcyhCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChCT09MKTsKIAog
ICAgIC8vIFdlYlByZWZlcmVuY2VzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5k
ZXggOWJjZTM2OGFkYi4uMjE1ODcxMGEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAKQEAgLTU2NzAsNiArNTY3MCwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVu
Y2VzQ2hhbmdlZChJV2ViTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAgICAgICAgIHJldHVy
biBocjsKICAgICBzZXR0aW5ncy5zZXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0
RW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPm92ZXJzY3JvbGxF
dmVudHNFbmFibGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0
dXJuIGhyOworICAgIHNldHRpbmdzLnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCEhZW5hYmxl
ZCk7CisKICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmlu
ZGV4IGI1OTE5NjUxMTkuLjZmNzFhNThhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
QEAgLTE4MSw2ICsxODEsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTICJUb2dnbGUgT2Zmc2NyZWVu
Q2FudmFzIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9PUklFTlRBVElPTl9FVkVOVFMgIlRvZ2dsZSBPcmllbnRhdGlvbiBFdmVudHMgc3VwcG9y
dCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09WRVJGTE9X
X1NDUk9MTElOR19UT1VDSCAiVG9nZ2xlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzdXBwb3J0IiBQ
UklWQVRFIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfT1ZFUlNDUk9MTF9F
VkVOVFMgIlRvZ2dsZSBvdmVyc2Nyb2xsIGV2ZW50cyIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCAiVG9nZ2xlIFBheW1lbnQgUmVx
dWVzdCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfUERGS0lUX1BMVUdJTiAiVG9nZ2xlIFBERktpdCBwbHVnaW4gc3VwcG9ydCIgUFJJVkFURSBP
RkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9B
UEkgIlRvZ2dsZSBQaWN0dXJlLWluLVBpY3R1cmUgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU4OWE5
NGIzZGMuLmJiZjZmYTkwMzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxj
YXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3Jv
bGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4K
KworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBE
ZWFsIHdpdGggb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJp
bWVudGFsRmVhdHVyZXMpOgorICAgICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9u
cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMjAtMDQtMDQgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjU5MDk1KTogQVNTRVJUSU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3Jl
ZW5Nb2RlICE9IFZpZGVvRnVsbHNjcmVlbk1vZGVOb25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJ
LldlYktpdExlZ2FjeS5BdWRpb1Nlc3Npb25DYXRlZ29yeUlPUwpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVz
dE9wdGlvbnMuY3BwCmluZGV4IDI5MDYwNmEyNTUuLmEzMTIyMTVhZDMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHAKQEAgLTE1Niw2ICsxNTYsOCBAQCBUZXN0T3B0aW9uczo6VGVz
dE9wdGlvbnMoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcm
IGFic29sdQogICAgICAgICAgICAgZW5hYmxlQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhl
aWdodCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGVsc2Ug
aWYgKGtleSA9PSAiYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyIpCiAgICAgICAgICAgICBh
bGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVl
KHZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJleHBlcmltZW50YWw6T3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQiKQorICAgICAgICAgICAgZW5hYmxlT3ZlcnNjcm9sbEV2ZW50cyA9IHBh
cnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBh
aXJFbmQgKyAxOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RPcHRpb25zLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCmluZGV4IGFl
NGJhNGFkNWQuLjAxY2YzNDYwYTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RPcHRpb25zLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaApAQCAt
NTgsNiArNTgsNyBAQCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgIGJvb2wgZW5hYmxlQXNwZWN0
UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVX
ZWJTUUwgeyB0cnVlIH07CiAgICAgYm9vbCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIHsg
dHJ1ZSB9OworICAgIGJvb2wgZW5hYmxlT3ZlcnNjcm9sbEV2ZW50cyB7IGZhbHNlIH07CiAgICAg
c3RkOjpzdHJpbmcganNjT3B0aW9uczsKICAgICBzdGQ6OnN0cmluZyBhZGRpdGlvbmFsU3VwcG9y
dGVkSW1hZ2VUeXBlczsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCmluZGV4IDBiNzQ0NDk1MjEuLjBlZDMxZmI2MGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg4Niw2ICs4ODYsNyBAQCBzdGF0aWMgdm9pZCBl
bmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyhXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAg
ICAgW3ByZWZlcmVuY2VzIHNldENTU1NoYWRvd1BhcnRzRW5hYmxlZDpZRVNdOwogICAgIFtwcmVm
ZXJlbmNlcyBzZXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDpZRVNd
OwogICAgIFtwcmVmZXJlbmNlcyBzZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkOllF
U107CisgICAgW3ByZWZlcmVuY2VzIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkOllFU107CiB9
CiAKIC8vIENhbGxlZCBiZWZvcmUgZWFjaCB0ZXN0LgpAQCAtMTA0NCw2ICsxMDQ1LDcgQEAgc3Rh
dGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyhjb25zdCBUZXN0T3B0aW9u
cyYgb3B0aW9ucykKICAgICBwcmVmZXJlbmNlcy5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVn
cmF0aW9uRW5hYmxlZCA9IG9wdGlvbnMubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlv
bkVuYWJsZWQ7CiAgICAgcHJlZmVyZW5jZXMuYXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhl
aWdodEVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZUFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRI
ZWlnaHQ7CiAgICAgcHJlZmVyZW5jZXMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyA9IG9w
dGlvbnMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMczsKKyAgICBwcmVmZXJlbmNlcy5vdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlT3ZlcnNjcm9sbEV2ZW50czsKIH0K
IAogLy8gQ2FsbGVkIG9uY2Ugb24gRHVtcFJlbmRlclRyZWUgc3RhcnR1cC4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCA3NjNhYTJlODMyLi4zNDgxNGMzM2I2IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0xMzgsNiArMTM4LDcg
QEAgbXkgKAogICAgICRvZmZzY3JlZW5DYW52YXNTdXBwb3J0LAogICAgICRvcmllbnRhdGlvbkV2
ZW50c1N1cHBvcnQsCiAgICAgJG92ZXJmbG93U2Nyb2xsaW5nVG91Y2hTdXBwb3J0LAorICAgICRv
dmVyc2Nyb2xsRXZlbnRzU3VwcG9ydCwKICAgICAkcGF5bWVudFJlcXVlc3RTdXBwb3J0LAogICAg
ICRwZGZraXRQbHVnaW5TdXBwb3J0LAogICAgICRwaWN0dXJlSW5QaWN0dXJlQVBJU3VwcG9ydCwK
QEAgLTQ2NCw2ICs0NjUsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gIm92
ZXJmbG93LXNjcm9sbGluZy10b3VjaCIsIGRlc2MgPT4gIlRvZ2dsZSBhY2NlbGVyYXRlZCBzY3Jv
bGxpbmcgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
TkdfVE9VQ0giLCB2YWx1ZSA9PiBcJG92ZXJmbG93U2Nyb2xsaW5nVG91Y2hTdXBwb3J0IH0sCiAK
KyAgICB7IG9wdGlvbiA9PiAib3ZlcnNjcm9sbC1ldmVudHMiLCBkZXNjID0+ICJFbmFibGUgT3Zl
cnNjcm9sbCBFdmVudHMgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9PVkVSU0NS
T0xMX0VWRU5UUyIsIHZhbHVlID0+IFwkb3ZlcnNjcm9sbEV2ZW50c1N1cHBvcnQgfSwKKwogICAg
IHsgb3B0aW9uID0+ICJwYXltZW50LXJlcXVlc3QiLCBkZXNjID0+ICJUb2dnbGUgUGF5bWVudCBS
ZXF1ZXN0IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
IiwgdmFsdWUgPT4gXCRwYXltZW50UmVxdWVzdFN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggZWZmYzcyYjZiMS4uY2JjOTk4NjNjMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBA
IC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNI
XyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29j
b2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVS
U0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1F
TlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lO
X1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRG
T1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dS
QURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxF
X0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9Q
Uk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1Jf
VEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVf
UkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURB
VEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQo
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhU
RU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VS
Q0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RP
VUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9E
QVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJP
Q0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RF
TEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JF
VkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRF
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVO
QUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRT
KSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVS
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09O
TkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJf
TU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395802</attachid>
            <date>2020-04-08 06:47:51 -0700</date>
            <delta_ts>2020-04-08 07:13:13 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-005-review.diff</filename>
            <type>text/plain</type>
            <size>59007</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNmYxMjRmODVlLi5jNzIxZWViYzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MjAtMDQtMDggIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIwLTA0LTA0ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTA5NSk6IEFTU0VSVElPTiBGQUlMRUQ6IG1f
dmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSBzZWVuIHdpdGgg
VGVzdFdlYktpdEFQSS5XZWJLaXRMZWdhY3kuQXVkaW9TZXNzaW9uQ2F0ZWdvcnlJT1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGViMTY5MzNiOGYuLjkxMjhhYjRkOGEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTY0LDcgKzE2NCwxNSBAQCBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kv
IFsgU2tpcCBdCiBmYXN0L2hhcm5lc3MvdWlzY3JpcHRjb250cm9sbGVyIFsgU2tpcCBdCiAKICMg
T25seSBpT1MgaGFzIGFuIGltcGxlbWVudGF0aW9uIG9mIFVJU2NyaXB0Q29udHJvbGxlcjo6c2Vu
ZEV2ZW50U3RyZWFtKCkuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvc2Nyb2xsaW5nIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRt
bCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWVsZW1lbnQtd2l0aC1vdmVyc2Nyb2xs
LWJlaGF2aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1l
bGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBb
IFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtYWZ0ZXItc25hcC5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJl
ZC10by1lbGVtZW50LXdpdGgtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBdCiAKICMgVGhpcyB0ZXN0IG9ubHkgbWFr
ZXMgc2Vuc2Ugb24gTWFjCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1zdWJ0aXRsZS1yZXNp
emUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmly
ZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxl
bmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjk2NmM5ZjFhYmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNj
cm9sbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdHMgc2Nyb2xsZW5k
IGV2ZW50IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlvbnMuIAorUEFTUyBUZXN0cyBzY3JvbGxl
bmQgZXZlbnQgZm9yIGNoYW5naW5nIHNjcm9sbCBhdHRyaWJ1dGVzLiAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNDNmYjdhY2RkZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9n
cmFtbWF0aWMtc2Nyb2xsLmh0bWwKQEAgLTAsMCArMSwxMzUgQEAKKzwhRE9DVFlQRSBIVE1MPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ9dHJ1
ZSBdIC0tPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2Nyb2xsX3N1
cHBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBodG1sIHsKKyAgICBoZWlnaHQ6IDMwMDBw
eDsKKyAgICB3aWR0aDogMzAwMHB4OworICB9CisKKyAgI3RhcmdldERpdiB7CisgICAgd2lkdGg6
IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgfQor
CisgICNpbm5lckRpdiB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7Cisg
IH0KKzwvc3R5bGU+CisKKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPXJ1blRlc3QoKT4K
KyAgPGRpdiBpZD0idGFyZ2V0RGl2Ij4KKyAgICA8ZGl2IGlkPSJpbm5lckRpdiI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyAgdmFyIGVsZW1lbnRfc2Nyb2xsZW5k
X2Fycml2ZWQgPSBmYWxzZTsKKyAgdmFyIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFs
c2U7CisKKyAgZnVuY3Rpb24gb25FbGVtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgYXNzZXJ0
X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgIGFzc2VydF9mYWxzZShldmVudC5idWJibGVz
KTsKKyAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gdHJ1ZTsKKyAgfQorCisgIGZ1bmN0
aW9uIG9uRG9jdW1lbnRTY3JvbGxFbmQoZXZlbnQpIHsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQu
Y2FuY2VsYWJsZSk7CisgICAgLy8gc2Nyb2xsZW5kIGV2ZW50cyBhcmUgYnViYmxlZCB3aGVuIHRo
ZSB0YXJnZXQgbm9kZSBpcyBkb2N1bWVudC4KKyAgICBhc3NlcnRfdHJ1ZShldmVudC5idWJibGVz
KTsKKyAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgIH0KKworICBmdW5j
dGlvbiBjYWxsU2Nyb2xsRnVuY3Rpb24oW3Njcm9sbFRhcmdldCwgc2Nyb2xsRnVuY3Rpb24sIGFy
Z3NdKSB7CisgICAgc2Nyb2xsVGFyZ2V0W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgfQorCisg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgbGV0IHJvb3RfZWxlbWVudCA9IGRvY3VtZW50LnNj
cm9sbGluZ0VsZW1lbnQ7CisgICAgbGV0IHRhcmdldF9kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0RGl2Iik7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAg
ICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICB0YXJnZXRfZGl2LmFk
ZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRWxlbWVudFNjcm9sbEVuZCk7CisgICAgICBk
b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkRvY3VtZW50U2Nyb2xsRW5k
KTsKKworICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAgICAgIFt0YXJnZXRfZGl2LCAyMDAs
IDIwMCwgW3RhcmdldF9kaXYsICJzY3JvbGxUbyIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVo
YXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBbdGFyZ2V0X2Rp
diwgInNjcm9sbFRvIiwgeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0s
CisgICAgICAgIFtyb290X2VsZW1lbnQsIDIwMCwgMjAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xs
VG8iLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0byIgfV1dLAorICAgICAg
ICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsVG8iLCB7IHRvcDog
MCwgbGVmdDogMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYs
IDIwMCwgMjAwLCBbdGFyZ2V0X2RpdiwgInNjcm9sbEJ5IiwgeyB0b3A6IDIwMCwgbGVmdDogMjAw
LCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYsIDAsIDAsIFt0YXJn
ZXRfZGl2LCAic2Nyb2xsQnkiLCB7IHRvcDogLTIwMCwgbGVmdDogLTIwMCwgYmVoYXZpb3I6ICJz
bW9vdGgiIH1dXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwgMjAwLCAyMDAsIFtyb290X2VsZW1l
bnQsICJzY3JvbGxCeSIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9
XV0sCisgICAgICAgIFtyb290X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1lbnQsICJzY3JvbGxC
eSIsIHsgdG9wOiAtMjAwLCBsZWZ0OiAtMjAwLCBiZWhhdmlvcjogInNtb290aCIgfV1dCisgICAg
ICBdOworCisgICAgICBmb3IgKGkgPSAwOyBpIDwgdGVzdF9jYXNlcy5sZW5ndGg7IGkrKykgewor
ICAgICAgICBsZXQgdCA9IHRlc3RfY2FzZXNbaV07CisgICAgICAgIGxldCB0YXJnZXQgPSB0WzBd
OworICAgICAgICBsZXQgZXhwZWN0ZWRfeCA9IHRbMV07CisgICAgICAgIGxldCBleHBlY3RlZF95
ID0gdFsyXTsKKyAgICAgICAgbGV0IHNjcm9sbF9kYXRhcyA9IHRbM107CisKKyAgICAgICAgY2Fs
bFNjcm9sbEZ1bmN0aW9uKHNjcm9sbF9kYXRhcyk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkg
PT4geyByZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxl
bmRfYXJyaXZlZDsgfSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAi
IGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgIGlmICh0YXJnZXQg
PT0gcm9vdF9lbGVtZW50KQorICAgICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9s
bExlZnQsIGV4cGVjdGVkX3gsIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBzY3JvbGxMZWZ0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9sbFRv
cCwgZXhwZWN0ZWRfeSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAi
IHNjcm9sbFRvcCIpOworCisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxz
ZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgIH0K
KyAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlv
bnMuIik7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAgIGF3YWl0IHdh
aXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisKKyAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWworICAg
ICAgICBbdGFyZ2V0X2RpdiwgInNjcm9sbFRvcCJdLAorICAgICAgICBbdGFyZ2V0X2RpdiwgInNj
cm9sbExlZnQiXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvcCJdLAorICAgICAg
ICBbcm9vdF9lbGVtZW50LCAic2Nyb2xsTGVmdCJdCisgICAgICBdOworICAgICAgZm9yIChpID0g
MDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgbGV0IHQgPSB0ZXN0X2Nh
c2VzW2ldOworICAgICAgICBsZXQgdGFyZ2V0ID0gdFswXTsKKyAgICAgICAgbGV0IGF0dHJpYnV0
ZSA9IHRbMV07CisgICAgICAgIGxldCBwb3NpdGlvbiA9IDIwMDsKKworICAgICAgICB0YXJnZXQu
c3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSAic21vb3RoIjsKKyAgICAgICAgdGFyZ2V0W2F0dHJpYnV0
ZV0gPSBwb3NpdGlvbjsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVt
ZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCB0
YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgZGlkIG5vdCByZWNlaXZlIHNjcm9s
bGVuZCBldmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1lbnQpCisgICAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBl
bHNlCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXRbYXR0cmlidXRlXSwgcG9zaXRpb24sIHRhcmdl
dC50YWdOYW1lICsgIi4iICsgYXR0cmlidXRlICsgIiAiKTsKKyAgICAgICAgZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCA9IGZhbHNlOworCisgICAgICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7Cisg
ICAgICAgIHRhcmdldC5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICJhdXRvIjsKKyAgICAgICAgdGFy
Z2V0W2F0dHJpYnV0ZV0gPSAwOworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJu
IGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7
IH0sIHRhcmdldC50YWdOYW1lICsgIi4iICsgYXR0cmlidXRlICsgIiBkaWQgbm90IHJlY2VpdmUg
c2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVudCkK
KyAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldFthdHRyaWJ1dGVdLCAwLCB0YXJnZXQu
dGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgIik7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xs
ZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQg
PSBmYWxzZTsKKyAgICAgIH0KKyAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFu
Z2luZyBzY3JvbGwgYXR0cmlidXRlcy4iKTsKKyAgfQorPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMC4uYmVjNzExZmRlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJ
bnRvVmlldy4gCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbElu
dG9WaWV3LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXNjcm9sbEludG9WaWV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3It
c2Nyb2xsSW50b1ZpZXcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
Li5lZGQzOGMwZjJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKQEAgLTAsMCArMSwxMjQgQEAKKzwhRE9DVFlQ
RSBIVE1MPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxF
dmVudHNFbmFibGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0Vu
YWJsZWQ9dHJ1ZSBdIC0tPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
c2Nyb2xsX3N1cHBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAgIGh0bWwgeworICAgICAg
ICBoZWlnaHQ6IDMwMDBweDsKKyAgICAgICAgd2lkdGg6IDMwMDBweDsKKyAgICB9CisKKyAgICAj
dGFyZ2V0RGl2IHsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDIwMHB4
OworICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIH0KKworICAgICNpbm5lckRpdiB7Cisg
ICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICB9Cis8L3N0
eWxlPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD1ydW5UZXN0KCk+CisgICAgPGRp
diBpZD0idGFyZ2V0RGl2Ij4KKyAgICAgICAgPGRpdiBpZD0iaW5uZXJEaXYiPgorICAgICAgICA8
L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnRfc2Ny
b2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICB2YXIgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSBmYWxzZTsKKworICAgIGZ1bmN0aW9uIG9uRWxlbWVudFNjcm9sbEVuZChldmVudCkgewor
ICAgICAgICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgICAgIGFzc2VydF9m
YWxzZShldmVudC5idWJibGVzKTsKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25Eb2N1bWVudFNjcm9sbEVuZChldmVudCkg
eworICAgICAgICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgICAgIC8vIHNj
cm9sbGVuZCBldmVudHMgYXJlIGJ1YmJsZWQgd2hlbiB0aGUgdGFyZ2V0IG5vZGUgaXMgZG9jdW1l
bnQuCisgICAgICAgIGFzc2VydF90cnVlKGV2ZW50LmJ1YmJsZXMpOworICAgICAgICBkb2N1bWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gY2FsbFNj
cm9sbEZ1bmN0aW9uKFtzY3JvbGxUYXJnZXQsIHNjcm9sbEZ1bmN0aW9uLCBhcmdzXSkgeworICAg
ICAgICBzY3JvbGxUYXJnZXRbc2Nyb2xsRnVuY3Rpb25dKGFyZ3MpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGxldCByb290X2VsZW1lbnQgPSBkb2N1bWVudC5z
Y3JvbGxpbmdFbGVtZW50OworICAgICAgICBsZXQgdGFyZ2V0X2RpdiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXREaXYiKTsKKyAgICAgICAgbGV0IGlubmVyX2RpdiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpbm5lckRpdiIpOworCisgICAgICAgIC8vIEdldCBleHBlY3RlZCBw
b3NpdGlvbiBmb3Igcm9vdF9lbGVtZW50IHNjcm9sbEludG9WaWV3LgorICAgICAgICByb290X2Vs
ZW1lbnQuc2Nyb2xsVG8oMTAwMDAsIDEwMDAwKTsKKyAgICAgICAgbGV0IG1heF9yb290X3ggPSBy
b290X2VsZW1lbnQuc2Nyb2xsTGVmdDsKKyAgICAgICAgbGV0IG1heF9yb290X3kgPSByb290X2Vs
ZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICByb290X2VsZW1lbnQuc2Nyb2xsVG8oMCwgMCk7CisK
KyAgICAgICAgdGFyZ2V0X2Rpdi5zY3JvbGxUbygxMDAwMCwgMTAwMDApOworICAgICAgICBsZXQg
bWF4X2VsZW1lbnRfeCA9IHRhcmdldF9kaXYuc2Nyb2xsTGVmdDsKKyAgICAgICAgbGV0IG1heF9l
bGVtZW50X3kgPSB0YXJnZXRfZGl2LnNjcm9sbFRvcDsKKyAgICAgICAgdGFyZ2V0X2Rpdi5zY3Jv
bGxUbygwLCAwKTsKKworICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAg
ICAgICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICAgICAgICB0YXJn
ZXRfZGl2LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRWxlbWVudFNjcm9sbEVuZCk7
CisgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkRv
Y3VtZW50U2Nyb2xsRW5kKTsKKworICAgICAgICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAg
ICAgICAgICAgICAgW3RhcmdldF9kaXYsIG1heF9lbGVtZW50X3gsIG1heF9lbGVtZW50X3ksIFtp
bm5lcl9kaXYsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAiZW5kIiwgYmxvY2s6ICJlbmQi
LCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgICAgICAgICBbdGFyZ2V0X2RpdiwgMCwg
MCwgW2lubmVyX2RpdiwgInNjcm9sbEludG9WaWV3IiwgeyBpbmxpbmU6ICJzdGFydCIsIGJsb2Nr
OiAic3RhcnQiLCBiZWhhdmlvcjogInNtb290aCIgfV1dLAorICAgICAgICAgICAgICAgIFtyb290
X2VsZW1lbnQsIG1heF9yb290X3gsIG1heF9yb290X3ksIFtyb290X2VsZW1lbnQsICJzY3JvbGxJ
bnRvVmlldyIsIHsgaW5saW5lOiAiZW5kIiwgYmxvY2s6ICJlbmQiLCBiZWhhdmlvcjogInNtb290
aCIgfV1dLAorICAgICAgICAgICAgICAgIFtyb290X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1l
bnQsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAic3RhcnQiLCBibG9jazogInN0YXJ0Iiwg
YmVoYXZpb3I6ICJzbW9vdGgiIH1dXQorICAgICAgICAgICAgXTsKKworICAgICAgICAgICAgZm9y
IChpID0gMDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICBs
ZXQgdCA9IHRlc3RfY2FzZXNbaV07CisgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07
CisgICAgICAgICAgICAgICAgbGV0IGV4cGVjdGVkX3ggPSB0WzFdOworICAgICAgICAgICAgICAg
IGxldCBleHBlY3RlZF95ID0gdFsyXTsKKyAgICAgICAgICAgICAgICBsZXQgc2Nyb2xsX2RhdGFz
ID0gdFszXTsKKworICAgICAgICAgICAgICAgIGNhbGxTY3JvbGxGdW5jdGlvbihzY3JvbGxfZGF0
YXMpOworICAgICAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgdGFy
Z2V0LnRhZ05hbWUgKyAiLnNjcm9sbEludG9WaWV3ICBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5k
IGV2ZW50LiIpOworICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQor
ICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFs
c2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0LnNjcm9sbExlZnQsIGV4cGVjdGVkX3gsIHRhcmdldC50YWdOYW1lICsgIi5z
Y3JvbGxJbnRvVmlldyBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0YXJnZXQuc2Nyb2xsVG9wLCBleHBlY3RlZF95LCB0YXJnZXQudGFnTmFtZSArICIuc2Nyb2xs
SW50b1ZpZXcgc2Nyb2xsVG9wIik7CisKKyAgICAgICAgICAgICAgICBlbGVtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwgIlRlc3RzIHNjcm9sbGVu
ZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIik7CisKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFz
eW5jICh0KSA9PiB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRhcmdl
dF9kaXYpOworICAgICAgICAgICAgbGV0IG91dF9kaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICAgICAgICAgIG91dF9kaXYuc3R5bGUgPSAid2lkdGg6IDEwMHB4OyBoZWln
aHQ6MTAwcHg7IG92ZXJmbG93OnNjcm9sbDsgc2Nyb2xsLWJlaGF2aW9yOnNtb290aDsiOworICAg
ICAgICAgICAgb3V0X2Rpdi5hcHBlbmRDaGlsZCh0YXJnZXRfZGl2KTsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0X2Rpdik7CisgICAgICAgICAgICBhd2FpdCB3YWl0
Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworCisgICAgICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9h
cnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IGZhbHNlOworICAgICAgICAgICAgaW5uZXJfZGl2LnNjcm9sbEludG9WaWV3KHsgaW5saW5lOiAi
ZW5kIiwgYmxvY2s6ICJlbmQiLCBiZWhhdmlvcjogImF1dG8iIH0pOworICAgICAgICAgICAgYXdh
aXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRv
Y3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IGRpZCBu
b3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHJvb3RfZWxlbWVudC5zY3JvbGxMZWZ0LCAwLCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHJvb3Rf
ZWxlbWVudCBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJvb3RfZWxl
bWVudC5zY3JvbGxUb3AsIDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgcm9vdF9lbGVtZW50IHNj
cm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhvdXRfZGl2LnNjcm9sbExlZnQs
IDEwMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBvdXRfZGl2IHNjcm9sbExlZnQiKTsKKyAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMob3V0X2Rpdi5zY3JvbGxUb3AsIDEwMCwgIk5lc3RlZCBzY3Jv
bGxJbnRvVmlldyBvdXRfZGl2IHNjcm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0YXJnZXRfZGl2LnNjcm9sbExlZnQsIG1heF9lbGVtZW50X3gsICJOZXN0ZWQgc2Nyb2xsSW50
b1ZpZXcgdGFyZ2V0X2RpdiBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHRhcmdldF9kaXYuc2Nyb2xsVG9wLCBtYXhfZWxlbWVudF95LCAiTmVzdGVkIHNjcm9sbEludG9W
aWV3IHRhcmdldF9kaXYgc2Nyb2xsVG9wIik7CisgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2
ZW50IGZvciBuZXN0ZWQgc2Nyb2xsSW50b1ZpZXcuIik7CisgICAgfQorPC9zY3JpcHQ+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVmMmMyNzg4MDMuLjIyZDkxNWUw
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5MiBAQAorMjAyMC0wNC0wOCAgQ2F0aGllIENoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9s
bGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2
ZW50IG9mIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcuIG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFy
Z2V0TGlzdCBpbiBEb2N1bWVudCBzdG9yZXMKKyAgICAgICAgdGhlIHNjcm9sbGVkIHRhcmdldHMg
d2hpY2ggbmVlZCB0byBkaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnRzLiBGcmFtZVZpZXcgYW5kIFJl
bmRlckxheWVyIHByb3ZpZGUgdGhyZWUgd2F5cyB0bworICAgICAgICBhZGQgZWxlbWVudHMgdG8g
dGhlIHNjcm9sbGVuZCBsaXN0LiAgICAgCisgICAgICAgIDEuIEluc3RhbnQgc2Nyb2xsaW5nIGlu
Y2x1ZGluZyB0aGUgc2Nyb2xsaW5nIHBvc2l0aW9uIG5vdCBjaGFuZ2VkIGFuaW1hdGVkIHNjcm9s
bCwgdGhlIGVsZW1lbnQgd291bGQgYWRkIHRvIHRoZSBsaXN0CisgICAgICAgIGFmdGVyIHNjcm9s
bCBwb3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAyLiBBbmltYXRlZCBzY3JvbGxpbmcsIHRoZSBl
bGVtZW50IHdvdWxkIGJlIHNldCBhcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCBvZiBTY3Jv
bGxBbmltYXRpb24gYW5kIGFkZCB0byB0aGUgbGlzdAorICAgICAgICB3aGVuIGFuaW1hdGlvbiBz
dG9wcy4gRm9yIHNjcm9sbFJlY3RJbnRvVmlldywgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHNjcm9s
bGVuZCBldmVudCBmaXJlZCBhZnRlciBhbGwgYW5jZXN0b3IgbGF5ZXJzCisgICAgICAgIGZpbmlz
aGluZyBzY3JvbGxpbmcsIGFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0byBpbmRpY2F0
ZSBpZiBzY3JvbGxSZWN0SW50b1ZpZXcgZmluaXNoZWQuIFdoZW4gU2Nyb2xsQW5pbWF0aW9uCisg
ICAgICAgIHN0b3BzLCBpdCB3aWxsIHRyeSB0byBmaW5kIGEgZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3IGFuY2VzdG9yIGxheWVyIGFuZCBwYXNzIHRoZSBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRv
IGl0cworICAgICAgICBTY3JvbGxBbmltYXRpb24uIElmIG5vIHN1Y2ggbGF5ZXIgZm91bmQsIGFk
ZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAg
My4gVXNlciBhc3luY2hyb25vdXMgc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsIHBvc2l0aW9uIHdvdWxk
bid0IGNoYW5nZSBpbW1lZGlhdGVseS4gU28gc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24KKyAg
ICAgICAgdGhlbiBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9u
IGNoYW5nZWQuIFRoZSBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHdvdWxkbid0IHRyaWdnZXIgdGhp
cyB3YXkuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRp
Yy1zY3JvbGwuaHRtbAorICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXcuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojpjb21tb25UZWFyZG93bik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTogQXBwZW5kIHRoZSB0YXJnZXRz
IHRvIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC4KKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpydW5TY3JvbGxTdGVwcyk6IERpc3BhdGNoIHNjcm9sbGVuZCBldmVudCBmb3Ig
ZWFjaCB0YXJnZXQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZCBtX3BlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldExpc3Qgd2hpY2gga2VlcHMgdGhlIHNjcm9sbGVuZCBldmVudCB0YXJn
ZXRzLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNldFNjcm9sbExlZnQpOiBTZXQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMgZm9yIEZy
YW1lVmlldyBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsVG9w
KTogRGl0dG8uCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjpzY3JvbGxUbyBjb25zdCk6IEFkZCBkb2N1bWVudCB0byB0aGUgc2Nyb2xs
ZW5kIGxpc3QgZm9yIHNjcm9sbGluZyB0byAoMCwgMCkgb3B0aW1pemF0aW9uLgorICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24pOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGlmIGl0IHNj
cm9sbGVkKGluc3RhbnQgc2Nyb2xsIG9yIHNtb290aCBzY3JvbGwKKyAgICAgICAgd2l0aG91dCBj
aGFuZ2luZyB0aGUgcG9zaXRpb24sIG90aGVyd2lzZSBzZXQgZG9jdW1lbnQgYXMgdGhlIHNjcm9s
bEVuZFRhcmdldCBvZiBzY3JvbGxBbmlhbXRpb24uKS4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24pOiBTYXZlIHRoZSBzY3JvbGwgcG9zaXRp
b24gdGhhdCByZXF1aXJlcyB0byBmaXJlIGFuIHNjcm9sbGVuZCBldmVudC4gVGhpcyBpcyBmb3Ig
YXN5bmNocm9ub3VzIHNjcm9sbC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Y2hlY2tT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uKTogQWRkIGRvY3VtZW50IHRvIHRoZSBsaXN0IGlmIHRoZSBz
Y3JvbGwgcG9zaXRpb24gZXF1YWwgdG8gdGhlIHByZXNlcnZlZCBvbmUuCisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6IEFkZCBEb2N1
bWVudCB0byBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1lbnQuCisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDogQWRkIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
IHRvIGluZGljYXRlIEZyYW1lVmlldyBpcyBwZXJmb3JtaW5nIGEgYW5pbWF0ZWQgc2Nyb2xsUmVj
dEludG9WaWV3IHNjcm9sbC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvbjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKTogQ2FsbCBub3RpZnlTY3JvbGxF
bmQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6Om5vdGlmeVNjcm9s
bEVuZCk6IHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBmYWxzZS4gSWYgdGhlcmUncyBtX3Nj
cm9sbEVuZEV2ZW50VGFyZ2V0LCB0cnkgdG8gZmluZCBhbiBhbmNlc3RvciBsYXllcgorICAgICAg
ICBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5kIHNldCB0aGUgdGFyZ2V0IHRvIGl0LiBPdGhl
cndpc2UsIGFkZCB0aGUgdGFyZ2V0IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCk6
IENhbGwgbm90aWZ5U2Nyb2xsRW5kIGlmIG5vdCBjb250aW51ZUFuaW1hdGlvbi4KKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaDogQWRkIG1fc2Nyb2xsRW5kRXZlbnRU
YXJnZXQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNldFNjcm9sbEVuZFRhcmdldCk6IFNldCBtX3Njcm9s
bEVuZEV2ZW50VGFyZ2V0IHRvIFNjcm9sbEFuaW1hdGlvblNtb290aC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6
IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmll
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBv
c2l0aW9uKTogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzLgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsVmlldzo6c2Nyb2xsVG8pOiBDYWxsIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
biBpZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuCisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmll
dy5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJl
YTo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YWJsZUFyZWE6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxhYmxlQXJlYTo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNldER1cmluZ1Njcm9sbFJlY3RJbnRv
Vmlldyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6ZmluZEFuY2VzdG9yRHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
ZXRTY3JvbGxQb3NpdGlvbik6IEFkZCBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBp
dCBzY3JvbGxlZChpbnN0YW50IHNjcm9sbCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhv
dXQgY2hhbmdpbmcgdGhlIHBvc2l0aW9uLCBvdGhlcndpc2Ugc2V0IGVsZW1lbnQgYXMgdGhlIHNj
cm9sbEVuZFRhcmdldCBvZiBzY3JvbGxBbmlhbXRpb24uKS4KKworICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9z
aXRpb24sIGlmIHRoZXJlIGlzIG5vIHNjcm9sbGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzY3JvbGxUbyk6IGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbiBpZiBzY3JvbGwg
cG9zaXRpb24gY2hhbmdlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxS
ZWN0VG9WaXNpYmxlKTogc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpIGlmIGl0J3Mg
cGVyZm9ybWluZyBhIGFuaW1hdGVkIHNjcm9sbGluZy4KKyAgICAgICAgQWZ0ZXIgcGFyZW50TGF5
ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUoKSwgY2hlY2sgaWYgY3VycmVudCBsYXllciBpcyBkdXJp
bmdTY3JvbGxSZWN0SW50b1ZpZXcsIHNldCB0aGUgZWxlbWVudCBhcyBhbmltYXRpb24ncyBzY3Jv
bGxlbmQgVGFyZ2V0LgorICAgICAgICBPdGhlcndpc2UsIGZpbmQgdGhlIGR1cmluZ1Njcm9sbFJl
Y3RJbnRvVmlldyBhbmNlc3RvciBsYXllciBhbmQgcGFzcyB0aGUgZWxlbWVudCB0byBhbmNlc3Rv
ciBsYXllcidzIHNjcm9sbEFuaW1hdGlvbi4KKyAgICAgICAgSWYgbm8gZHVyaW5nU2Nyb2xsUmVj
dEludG9WaWV3IGxheWVyIGZvdW5kLCBhZGQgdGhlIGVsZW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBs
aXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNhdmVTY3JvbGxFbmRFdmVudFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjaGVja1Njcm9sbEVuZEV2
ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Zmlu
ZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KTogRmluZCB0aGUgZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3IGFuY2VzdG9yIGxheWVyLCBhbmQgY2hlY2sgRnJhbWVWaWV3IGF0IHRoZSBl
bmQuIAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpz
Y3JvbGxSZWN0VG9WaXNpYmxlKTogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzLgorCiAy
MDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggM2VmOTQ1OTAwYi4uZTVjNDc4N2VkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCkBAIC03OTksNiArNzk5LDEwIEBAIHZvaWQgRG9jdW1lbnQ6OmNvbW1vblRlYXJkb3du
KCkKIAogICAgIG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRU
YXJnZXRMaXN0ID0gbnVsbHB0cjsKKyNlbmRpZgorCiAgICAgd2hpbGUgKCFtX3RpbWVsaW5lcy5j
b21wdXRlc0VtcHR5KCkpCiAgICAgICAgIG1fdGltZWxpbmVzLmJlZ2luKCktPmRldGFjaEZyb21E
b2N1bWVudCgpOwogICAgIG1fdGltZWxpbmUgPSBudWxscHRyOwpAQCAtNDA3Miw2ICs0MDc2LDI2
IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJO
b2RlJiB0YXJnZXQpCiAgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKIH0KIAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldChDb250YWluZXJOb2RlJiB0YXJnZXQpCit7CisgICAgaWYgKCFzZXR0aW5ncygp
Lm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0KQorICAgICAgICBtX3BlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldExpc3QgPSBtYWtlVW5pcXVlPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dExpc3Q+KCk7CisKKyAgICBhdXRvJiB0YXJnZXRzID0gbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRU
YXJnZXRMaXN0LT50YXJnZXRzOworICAgIGlmICh0YXJnZXRzLmZpbmRNYXRjaGluZyhbJl0gKGF1
dG8mIGVudHJ5KSB7IHJldHVybiBlbnRyeS5wdHIoKSA9PSAmdGFyZ2V0OyB9KSAhPSBub3RGb3Vu
ZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHRhcmdldHMuaXNFbXB0eSgpKQorICAgICAg
ICBzY2hlZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CisKKyAgICB0YXJnZXRzLmFwcGVuZCh0
YXJnZXQpOworfQorI2VuZGlmCisKIHZvaWQgRG9jdW1lbnQ6OnNldE5lZWRzVmlzdWFsVmlld3Bv
cnRTY3JvbGxFdmVudCgpCiB7CiAgICAgaWYgKCFtX25lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxF
dmVudCkKQEAgLTQwOTcsNiArNDEyMSwxOCBAQCB2b2lkIERvY3VtZW50OjpydW5TY3JvbGxTdGVw
cygpCiAgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb21XaW5kb3coKSkKICAgICAgICAgICAg
IHdpbmRvdy0+dmlzdWFsVmlld3BvcnQoKS5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLnNjcm9sbEV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKICAgICB9CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgLy8gRGVhbCB3aXRoIHNjcm9sbGVuZCBldmVudC4KKyAgICBpZiAobV9wZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXRMaXN0ICYmICFtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3Qt
PnRhcmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAgIExPR19XSVRIX1NUUkVBTShFdmVudHMsIHN0
cmVhbSA8PCAiRG9jdW1lbnQiIDw8IHRoaXMgPDwgInNlbmRpbmcgc2Nyb2xsZW5kIGV2ZW50cyB0
byBwZW5kaW5nIHNjcm9sbCBldmVudCB0YXJnZXRzIik7CisgICAgICAgIGF1dG8gY3VycmVudFNj
cm9sbEVuZFRhcmdldHMgPSBXVEZNb3ZlKG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlz
dC0+dGFyZ2V0cyk7CisgICAgICAgIGZvciAoYXV0byYgdGFyZ2V0IDogY3VycmVudFNjcm9sbEVu
ZFRhcmdldHMpIHsKKyAgICAgICAgICAgIGF1dG8gYnViYmxlcyA9IHRhcmdldC0+aXNEb2N1bWVu
dE5vZGUoKSA/IEV2ZW50OjpDYW5CdWJibGU6OlllcyA6IEV2ZW50OjpDYW5CdWJibGU6Ok5vOwor
ICAgICAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLnNjcm9sbGVuZEV2ZW50LCBidWJibGVzLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwor
ICAgICAgICB9CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmFkZEF1ZGlvUHJv
ZHVjZXIoTWVkaWFQcm9kdWNlciYgYXVkaW9Qcm9kdWNlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggODM5YWZjZDU4Yi4uNzQ1ZGEyZGYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzNjAs
NiArMTM2MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJ1blJlc2l6ZVN0ZXBzKCk7CiAKICAgICB2
b2lkIGFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50
VGFyZ2V0KENvbnRhaW5lck5vZGUmKTsKKyNlbmRpZgogICAgIHZvaWQgc2V0TmVlZHNWaXN1YWxW
aWV3cG9ydFNjcm9sbEV2ZW50KCk7CiAgICAgdm9pZCBydW5TY3JvbGxTdGVwcygpOwogCkBAIC0y
MDQyLDYgKzIwNDUsOSBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFBlbmRpbmdTY3JvbGxFdmVu
dFRhcmdldExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dExpc3Q+IG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdDsKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dExpc3Q+IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdDsKKyNlbmRpZgogCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBIYXNoU2V0PEhUTUxNZWRpYUVsZW1lbnQqPiBtX21l
ZGlhU3RyZWFtU3RhdGVDaGFuZ2VFbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBk
OTAyMTM0NjZjLi43NGM0NDY1MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjk1LDcg
KzEyOTUsMTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0KQogICAg
ICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDUwNTkKICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3RoU2Ny
b2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgp
KSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAgICAgICAgICAg
ICBJbnRQb2ludCBwb3NpdGlvbihzdGF0aWNfY2FzdDxpbnQ+KG5ld0xlZnQgKiBmcmFtZS0+cGFn
ZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCBmcmFtZS0+dmlldygp
LT5zY3JvbGxZKCkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAg
IGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNl
CiAgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRpZgogICAgICAgICB9CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzE5LDcgKzEzMjMsMTEgQEAgdm9pZCBFbGVtZW50
OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCkKICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5CiAgICAgICAgICAgICBBbmltYXRl
ZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvcjo6QXV0
bywgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDog
QW5pbWF0ZWRTY3JvbGw6Ok5vOwogICAgICAgICAgICAgSW50UG9pbnQgcG9zaXRpb24oZnJhbWUt
PnZpZXcoKS0+c2Nyb2xsWCgpLCBzdGF0aWNfY2FzdDxpbnQ+KG5ld1RvcCAqIGZyYW1lLT5wYWdl
Wm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkpOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBv
c2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIFJlcXVl
c3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgICAgICAgICBmcmFtZS0+dmlldygp
LT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFu
aW1hdGVkKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMDlhYWI2YjIzZC4uNjJmZGU2ZTdjMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTY3OSw4ICsxNjc5LDE1IEBAIHZvaWQgRE9NV2lu
ZG93OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1w
aW5nIGNsYW1waW5nCiAKICAgICAvLyBUaGlzIGlzIGFuIG9wdGltaXphdGlvbiBmb3IgdGhlIGNv
bW1vbiBjYXNlIG9mIHNjcm9sbGluZyB0byAoMCwgMCkgd2hlbiB0aGUgc2Nyb2xsZXIgaXMgYWxy
ZWFkeSBhdCB0aGUgb3JpZ2luLgogICAgIC8vIElmIGFuIGFuaW1hdGVkIHNjcm9sbCBpcyBpbiBw
cm9ncmVzcywgdGhpcyBvcHRpbWl6YXRpb24gaXMgc2tpcHBlZCB0byBlbnN1cmUgdGhhdCB0aGUg
YW5pbWF0ZWQgc2Nyb2xsIGlzIHJlYWxseSBzdG9wcGVkLgotICAgIGlmICh2aWV3LT5jdXJyZW50
U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5Bbmlt
YXRpb24gJiYgIXNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkgJiYgIXNjcm9sbFRvT3B0aW9u
cy50b3AudmFsdWUoKSAmJiB2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkgPT0gSW50UG9p
bnQoMCwgMCkpCisgICAgaWYgKHZpZXctPmN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09
IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbgorICAgICAgICAmJiAhc2Nyb2xs
VG9PcHRpb25zLmxlZnQudmFsdWUoKQorICAgICAgICAmJiAhc2Nyb2xsVG9PcHRpb25zLnRvcC52
YWx1ZSgpCisgICAgICAgICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSA9PSBJbnRQ
b2ludCgwLCAwKSkgeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgdmll
dy0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisjZW5kaWYKICAgICAgICAgcmV0
dXJuOworICAgIH0KIAogICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNzQ0MWQwYzQw
Mi4uZmRmODM0M2Q4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjI3NSw3ICsy
Mjc1LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbEVsZW1lbnRUb1JlY3QoY29uc3QgRWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBzZXRTY3JvbGxQb3NpdGlvbihJ
bnRQb2ludChib3VuZHMueCgpIC0gY2VudGVyaW5nT2Zmc2V0WCAtIHJlY3QueCgpLCBib3VuZHMu
eSgpIC0gY2VudGVyaW5nT2Zmc2V0WSAtIHJlY3QueSgpKSk7CiB9CiAKLXZvaWQgRnJhbWVWaWV3
OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24s
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQg
RnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xs
UG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRl
ZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZyYW1lVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbiA8PCAiICwgY2xlYXJpbmcgYW5jaG9yIik7CiAK
QEAgLTIyODgsMTAgKzIyODgsMjEgQEAgdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2wKICAgICBQYWdl
KiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+aXNNb25pdG9y
aW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50
VGVzdE1vbml0b3IocGFnZS0+d2hlZWxFdmVudFRlc3RNb25pdG9yKCkpOworCisgICAgU2Nyb2xs
UG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9sbGluZygpICYmIGNs
YW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0aW9u
V2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CiAgICAgaWYgKGFu
aW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0
aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pLCBjdXJy
ZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFu
aW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24pLCBjdXJy
ZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBTY3JvbGxWaWV3
OjpzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcpOworICAgICAgICBT
Y3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihuZXdTY3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcs
IGFuaW1hdGVkLCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpOworCisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIGlmIChmcmFtZSgpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQoKSAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50
OjpZZXMpIHsKKyAgICAgICAgaWYgKG5ld1Njcm9sbFBvc2l0aW9uID09IFNjcm9sbFZpZXc6OnNj
cm9sbFBvc2l0aW9uKCkpCisgICAgICAgICAgICBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJn
ZXQoKTsKKyAgICAgICAgZWxzZSBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcykK
KyAgICAgICAgICAgIHNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZSgpLmRvY3Vt
ZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIAogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKG9sZFNj
cm9sbFR5cGUpOwogfQpAQCAtMzcyOCw2ICszNzM5LDMyIEBAIHZvaWQgRnJhbWVWaWV3OjpzY3Jv
bGxUb09mZnNldFdpdGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9s
bFR5CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNTY3JvbGxUeXBlKTsKIH0KIAor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRnJhbWVWaWV3OjpzYXZlU2Nyb2xs
RW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbENs
YW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3Jv
bGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFNjcm9sbFBvc2l0aW9u
IGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShwb3NpdGlvbikgOiBwb3NpdGlv
bjsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBjbGFtcGVkU2Nyb2xsUG9z
aXRpb247Cit9CisKK3ZvaWQgRnJhbWVWaWV3OjpjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGlmICghbV9maXJlU2Nyb2xs
RW5kRXZlbnRBdFBvc2l0aW9uIHx8IG1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbi52YWx1
ZSgpICE9IHBvc2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBhZGRQZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXQoKTsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBX
VEY6Om51bGxvcHQ7Cit9CisKK3ZvaWQgRnJhbWVWaWV3OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZl
bnRUYXJnZXQoKQoreworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3Vt
ZW50KCkpCisgICAgICAgIGRvY3VtZW50LT5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQo
KmRvY3VtZW50KTsKK30KKyNlbmRpZgorCiBmbG9hdCBGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0
ZXBGb3JGaXhlZENvbnRlbnQoZmxvYXQgc3RlcCwgU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50
YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQogewogICAgIGlmIChncmFudWxh
cml0eSAhPSBTY3JvbGxCeVBhZ2UgfHwgb3JpZW50YXRpb24gPT0gSG9yaXpvbnRhbFNjcm9sbGJh
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDA0YWU1OWE2MTAuLjQ3MzY1YzQ0NWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjI5LDcgKzIyOSw3IEBAIHB1YmxpYzoKICNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRGaXhl
ZFZpc2libGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JikgZmluYWw7CiAjZW5kaWYKLSAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3Jv
bGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9
IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xs
OjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObykg
ZmluYWw7CiAgICAgdm9pZCByZXN0b3JlU2Nyb2xsYmFyKCk7CiAgICAgdm9pZCBzY2hlZHVsZVNj
cm9sbFRvRm9jdXNlZEVsZW1lbnQoU2VsZWN0aW9uUmV2ZWFsTW9kZSk7CiAgICAgdm9pZCBzY3Jv
bGxUb0ZvY3VzZWRFbGVtZW50SW1tZWRpYXRlbHlJZk5lZWRlZCgpOwpAQCAtNjY0LDYgKzY2NCwx
NCBAQCBwdWJsaWM6CiAKICAgICBib29sIGluVXBkYXRlRW1iZWRkZWRPYmplY3RzKCkgY29uc3Qg
eyByZXR1cm4gbV9pblVwZGF0ZUVtYmVkZGVkT2JqZWN0czsgfQogCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
KSBmaW5hbDsKKyAgICB2b2lkIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYpIGZpbmFsOworICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFy
Z2V0KCkgZmluYWw7CisgICAgYm9vbCBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSBmaW5hbCB7
IHJldHVybiBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldzsgfQorICAgIHZvaWQgc2V0RHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3KGJvb2wgc2Nyb2xsaW5nKSBmaW5hbCB7IG1fZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3ID0gc2Nyb2xsaW5nOyB9CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIGJv
b2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29u
c3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgZmluYWw7
CiAgICAgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJl
Y3QpIGZpbmFsOwpAQCAtOTA0LDYgKzkxMiwxMCBAQCBwcml2YXRlOgogCiAgICAgUGFnaW5hdGlv
biBtX3BhZ2luYXRpb247CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgT3B0
aW9uYWw8U2Nyb2xsUG9zaXRpb24+IG1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbjsKKyNl
bmRpZgorCiAgICAgZW51bSBjbGFzcyBWaWV3cG9ydFJlbmRlcmVyVHlwZSA6IHVpbnQ4X3QgeyBO
b25lLCBEb2N1bWVudCwgQm9keSB9OwogICAgIFZpZXdwb3J0UmVuZGVyZXJUeXBlIG1fdmlld3Bv
cnRSZW5kZXJlclR5cGUgeyBWaWV3cG9ydFJlbmRlcmVyVHlwZTo6Tm9uZSB9OwogICAgIFNjcm9s
bFBpbm5pbmdCZWhhdmlvciBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciB7IERvTm90UGluIH07CkBA
IC05NDksNiArOTYxLDEwIEBAIHByaXZhdGU6CiAgICAgLy8gVHJ1ZSBpZiBhdXRvc2l6ZSBoYXMg
YmVlbiBydW4gc2luY2UgbV9zaG91bGRBdXRvU2l6ZSB3YXMgc2V0LgogICAgIGJvb2wgbV9kaWRS
dW5BdXRvc2l6ZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3Rz
IHsgZmFsc2UgfTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBib29sIG1f
ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IHsgZmFsc2UgfTsKKyNlbmRpZgogfTsKIAogaW5saW5l
IHZvaWQgRnJhbWVWaWV3OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChjb25z
dCBJbnRTaXplJiBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24u
aAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxBbmlt
YXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25faAogCisjaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaXNpYmxl
TGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNlcnZpY2VBbmltYXRpb24oKSB7
IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBzZXRT
Y3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPikgeyB9OworI2VuZGlmCiAKIHBy
b3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVB
cmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9u
U21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290
aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCkBAIC0yOCw3ICsyOCwxMCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdGlvblNtb290aC5o
IgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVk
ZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODAsMTAgKzgz
LDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3JvbGwoY29uc3QgRmxvYXRQb2lu
dCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKCkKIHsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNB
Y3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKKwogICAgIG1fYW5p
bWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZp
b3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIH0KIAorI2lm
IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpu
b3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9zY3JvbGxFbmRFdmVudFRhcmdldCkgewor
ICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxz
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQ
YXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkg
PyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygp
IDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXIpCisgICAgICAg
IGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRTY3JvbGxFbmRUYXJnZXQobV9zY3JvbGxF
bmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAgICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0
LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqbV9zY3JvbGxFbmRF
dmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IG51bGxwdHI7Cit9
CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0
cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9
IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRl
VmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpvbnRhbERhdGEudmlzaWJsZUxlbmd0aCA9
IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBAIC00MTAsOCArNDQyLDEyIEBAIHZv
aWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIAogICAgIGlm
IChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0VGltZXIoc3RkOjptYXgobWlu
aW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsKLSAgICBlbHNlCisgICAgZWxz
ZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Ny
b2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCisgICAgfQogCiAg
ICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbihGbG9hdFBvaW50KG1faG9yaXpvbnRh
bERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0YS5jdXJyZW50UG9zaXRpb24pKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNt
b290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgK
aW5kZXggODE3M2ZhN2UyMC4uMTg0Y2ZhZDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTMxLDYgKzMxLDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsK
IGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFzcyBTY3JvbGxDbGFtcGluZyA6IHVpbnQ4
X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgogICAgICAgICBCb3VuY2UKICAgICB9Owog
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFy
Z2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIG92ZXJyaWRlOworI2VuZGlmCiBwcml2YXRlOgog
ICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwg
ZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGwo
Y29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIG5vdGlmeVNjcm9sbEVuZCgp
OworI2VuZGlmCiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsKIApA
QCAtMTA0LDYgKzExMSw5IEBAIHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRU
aW1lOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gbV9zY3JvbGxFbmRFdmVudFRhcmdl
dDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IDBmYzcyOWU5MTIuLmQ4OTMwMDhhYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTI4Nyw1
ICsyODcsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJh
cihTY3JvbGxiYXIqKQogewogICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT51cGRh
dGVWaXNpYmxlTGVuZ3RocygpOwogfQotCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
dm9pZCBTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVy
Tm9kZT4gdGFyZ2V0KQoreworICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT5zZXRT
Y3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggOWI3YzA5YjY5
MC4uZWVkZTc5OGRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5o
CkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2hlZWxFdmVudFRlc3RNb25pdG9yLmgiCiAj
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHx8IEVO
QUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5oIgpAQCAt
NDQsNiArNDUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRhaW5lck5v
ZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50OwogY2xhc3Mg
U2Nyb2xsQW5pbWF0aW9uOwpAQCAtMTQzLDYgKzE0NSwxMCBAQCBwdWJsaWM6CiAgICAgRmxvYXRT
aXplIHZpZXdwb3J0U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxD
b250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBu
b3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSk7CiAgICAgdm9pZCB1
cGRhdGVBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxUeXBlcy5oCmluZGV4IGI5NzVmYjA0MzAuLjU2MjczNDU0N2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtNjUsNiArNjUsMTEgQEAgZW51bSBjbGFzcyBB
bmltYXRlZFNjcm9sbCA6IHVpbnQ4X3QgewogICAgIFllcwogfTsKIAorZW51bSBjbGFzcyBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQgOiB1aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CisKIGlu
bGluZSBTY3JvbGxEaXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVj
dGlvbiBkaXJlY3Rpb24sIGJvb2wgaXNWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7CiAgICAg
c3dpdGNoIChkaXJlY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAK
aW5kZXggZDgxZDI0NDRjMC4uNmJmNjRhYWQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHAKQEAgLTIxMiw3ICsyMTIsMTEgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRDb250
ZW50c1Njcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXAK
ICAgICBpZiAocGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgc2V0QWN0dWFsU2Nyb2xsUG9zaXRp
b24ocG9zaXRpb24pOwogI2VuZGlmCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RT
Y3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRp
b24sIGNsYW1waW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAogRmxvYXRSZWN0IFNjcm9sbFZp
ZXc6OmV4cG9zZWRDb250ZW50UmVjdCgpIGNvbnN0CkBAIC00ODYsNiArNDkwLDEwIEBAIHZvaWQg
U2Nyb2xsVmlldzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIG5ld1Bvc2l0aW9uKQog
CiAgICAgbV9zY3JvbGxQb3NpdGlvbiA9IG5ld1Bvc2l0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihtX3Njcm9sbFBv
c2l0aW9uKTsKKyNlbmRpZgorCiAgICAgaWYgKHNjcm9sbGJhcnNTdXBwcmVzc2VkKCkpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtNTEzLDcgKzUyMSw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6Y29tcGxl
dGVVcGRhdGVzQWZ0ZXJTY3JvbGxUbyhjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSkKICAgICB1
cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5nKCk7CiB9CiAKLXZvaWQgU2Nyb2xs
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0
aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwvKiBhbmltYXRlZCov
KQordm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9s
bCAvKiBhbmltYXRlZCovLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhf
U1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlv
biAiIDw8IHNjcm9sbFBvc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5o
CmluZGV4IDA2MDQyNGM5MjEuLjc3YTc3NTYxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmgKQEAgLTI2MSw3ICsyNjEsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsUG9zaXRpb24g
Y2FjaGVkU2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNjcm9sbFBvc2l0
aW9uOyB9CiAKICAgICAvLyBGdW5jdGlvbnMgZm9yIHNjcm9sbGluZyB0aGUgdmlldy4KLSAgICB2
aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFu
aW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVlc3RTY3JvbGxF
bmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgdm9pZCBzY3JvbGxC
eShjb25zdCBJbnRTaXplJiBzKSB7IHJldHVybiBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3Np
dGlvbigpICsgcyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEu
Y3BwCmluZGV4IDViZGE4NTdiYjkuLjIwZmJlNDI2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJTY3JvbGxhYmxlQXJlYS5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZS5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCkBAIC03NjksNCArNzcwLDExIEBAIHZv
aWQgU2Nyb2xsYWJsZUFyZWE6OmNvbXB1dGVTY3JvbGxiYXJWYWx1ZUFuZE92ZXJoYW5nKGZsb2F0
IGN1cnJlbnRQb3NpdGlvbiwgZmxvCiAgICAgfQogfQogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQordm9pZCBTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8
Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIHNjcm9sbEFuaW1hdG9yKCkuc2V0U2Nyb2xs
RW5kVGFyZ2V0KHRhcmdldCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggZDIwM2FlYmU1Yy4u
MzMzMTY3OWI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBA
IC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVy
Tm9kZTsKIGNsYXNzIEZsb2F0UG9pbnQ7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBM
YXlvdXRQb2ludDsKQEAgLTM0Niw2ICszNDcsMTYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCA9IDA7
CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdmlydHVhbCB2b2lkIHNhdmVT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBp
bmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGNoZWNr
U2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSB7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gZmFsc2U7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGJvb2wpIHsgfQorICAg
IHZpcnR1YWwgU2Nyb2xsYWJsZUFyZWEqIGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldygpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2b2lkIHNldFNjcm9sbEVuZFRhcmdldChX
ZWFrUHRyPENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09S
RV9FWFBPUlQgU2Nyb2xsYWJsZUFyZWEoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5T
Y3JvbGxhYmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRl
eCA4YjI4NjQyNWMwLi43Njk0NDJmOTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcApAQCAtNjAyLDcgKzYwMiwxMSBAQCB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcgogICAg
IGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAg
ICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigpLT5zZXRTY3Jv
bGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRp
b24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9s
bEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKKyAgICBsYXllcigpLT5zY3JvbGxUb1Bvc2l0aW9uKHBv
c2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZv
aWQgUmVuZGVyQm94OjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0
IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGJlMjMxN2E3ODIuLmMwZTYxOWQ5NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjYyNCwyMSArMjYyNCw0
NCBAQCB2b2lkIFJlbmRlckxheWVyOjphcHBseVBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbklmTmVl
ZGVkKCkKIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxU
eXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBh
bmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbih4LCBtX3Njcm9sbFBvc2l0
aW9uLnkoKSk7Ci0gICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNs
YW1waW5nLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNl
dFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQs
IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCisgICAgc2Nyb2xsVG9Qb3NpdGlv
bihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQog
CiB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBz
Y3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0
ZWQpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbi54KCks
IHkpOwotICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGlu
ZywgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3Jv
bGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQorICAgIHNjcm9sbFRvUG9zaXRpb24ocG9z
aXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAotdm9p
ZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBv
c2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBB
bmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBl
LCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVl
c3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CisjaWYgIUVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVzdFNjcm9sbEVuZEV2ZW50
KTsKKyNlbmRpZgorCisgICAgYXV0byBvZmZzZXQgPSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24o
cG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNldCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBv
ZmZzZXQ7CiAgICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAg
IHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9z
aXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0
aEFuaW1hdGlvbihuZXdTY3JvbGxPZmZzZXQsIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKICAgICBl
bHNlCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3Np
dGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG9PZmZzZXQobmV3
U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgaWYgKHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZl
bnRzRW5hYmxlZCgpICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5k
RXZlbnQ6OlllcykgeworICAgICAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ID09IHNjcm9sbE9mZnNl
dCgpKQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAg
ICAgIGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAg
ICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIocmVuZGVyZXIoKS5lbGVtZW50KCkpKTsK
KyAgICB9CisjZW5kaWYKIH0KIAogU2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9s
bE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCkgY29uc3QKQEAgLTI2NjEs
MTMgKzI2ODQsMTggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Ny
b2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIFNjcm9sbFR5cGUgc2MKICAgICAgICAgc2Nyb2xsQW5p
bWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAKICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNj
cm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBT
Y3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9sbE9mZnNldDsKLSAgICBpZiAoY2xhbXBl
ZFNjcm9sbE9mZnNldCA9PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAgICBTY3JvbGxQb3NpdGlv
biBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBl
ZFNjcm9sbE9mZnNldCk7CisgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Ny
b2xsT2Zmc2V0KCkpIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGNo
ZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24pOworI2VuZGlm
CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBhdXRvIHByZXZpb3VzU2Nyb2xsVHlwZSA9
IGN1cnJlbnRTY3JvbGxUeXBlKCk7CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUoc2Nyb2xsVHlw
ZSk7CiAKLSAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShzY3JvbGxQb3NpdGlv
bkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkK
KyAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjbGFtcGVkU2Nyb2xsUG9zaXRp
b24sIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKICAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRob3V0
QW5pbWF0aW9uKGNsYW1wZWRTY3JvbGxPZmZzZXQsIGNsYW1waW5nKTsKICAgICBzZXRTY3JvbGxC
ZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwogCkBA
IC0yNzkxLDYgKzI4MTksMTAgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIHBvc2l0aW9uKQogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVy
ZXIoKS5lbGVtZW50KCkpCiAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Nj
cm9sbEV2ZW50VGFyZ2V0KCplbGVtZW50KTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7Cisj
ZW5kaWYKKwogICAgIGlmIChzY3JvbGxzT3ZlcmZsb3coKSkKICAgICAgICAgdmlldy5mcmFtZVZp
ZXcoKS5kaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKTsKIApAQCAtMjgzNiwxMCArMjg2OCwxNCBAQCBi
b29sIFJlbmRlckxheWVyOjphbGxvd3NDdXJyZW50U2Nyb2xsKCkgY29uc3QKICAgICByZXR1cm4g
Ym94LT5oYXNIb3Jpem9udGFsT3ZlcmZsb3coKSB8fCBib3gtPmhhc1ZlcnRpY2FsT3ZlcmZsb3co
KTsKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlv
dXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RU
b1Zpc2libGVPcHRpb25zJiBvcHRpb25zKQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRv
VmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQs
IGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xs
RW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KQogewogICAgIExPR19XSVRIX1NUUkVBTShT
Y3JvbGxpbmcsIHN0cmVhbSA8PCAiTGF5ZXIgIiA8PCB0aGlzIDw8ICIgc2Nyb2xsUmVjdFRvVmlz
aWJsZSAiIDw8IGFic29sdXRlUmVjdCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgYm9vbCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCA9IHJlbmRlcmVyKCkuc2V0dGluZ3Mo
KS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpOworI2VuZGlmCisKICAgICBMYXlvdXRSZWN0IG5l
d1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJl
cigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2lu
Z0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOwpA
QCAtMjg2Niw2ICsyOTAyLDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2li
bGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAg
ICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIGJveC0+ZWxlbWVudCgpKSkKICAgICAgICAgICAgICAgICBhbmltYXRlZCA9
IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3Jv
bGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlBy
b2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xs
T2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAgICAgICAgIHNldER1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldyh0cnVlKTsKKyNlbmRpZgogICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxP
ZmZzZXREaWZmZXJlbmNlID0gY2xhbXBlZFNjcm9sbE9mZnNldCAtIG9sZFNjcm9sbE9mZnNldDsK
ICAgICAgICAgICAgIGxvY2FsRXhwb3NlUmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNl
KTsKICAgICAgICAgICAgIG5ld1JlY3QgPSBMYXlvdXRSZWN0KGJveC0+bG9jYWxUb0Fic29sdXRl
UXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1z
KS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4OTgsNiArMjkzOCwxNCBAQCB2b2lkIFJlbmRlckxheWVy
OjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9v
bCBpbnNpZAogICAgICAgICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZ
ZXM7CiAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBv
c2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwogCisjaWYgRU5BQkxF
KE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZCAmJiBhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIHNjcm9sbFBvc2l0
aW9uICE9IGZyYW1lVmlldy5zY3JvbGxQb3NpdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAg
IGZyYW1lVmlldy5zZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChyZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2
ZW50OjpZZXMpCisgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsRW5k
VGFyZ2V0KG1ha2VXZWFrUHRyKGZyYW1lVmlldy5mcmFtZSgpLmRvY3VtZW50KCkpKTsKKyAgICAg
ICAgICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3Vs
ZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgPT0gU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9s
bGluZzo6WWVzIHx8IGZyYW1lVmlldy5zYWZlVG9Qcm9wYWdhdGVTY3JvbGxUb1BhcmVudCgpKSB7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBlbmNsb3NpbmdMYXllciA9IG93bmVyRWxl
bWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKSkKICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcmVudExheWVyID0gZW5jbG9zaW5nTGF5ZXItPmVuY2xvc2luZ1Njcm9sbGFibGVMYXll
cihJbmNsdWRlU2VsZk9yTm90OjpJbmNsdWRlU2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5v
KTsKQEAgLTI5NDIsNiArMjk5MCwxMyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9W
aXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAg
ICAgICAgICAgIGlmIChhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxp
bmcob3B0aW9ucy5iZWhhdmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVu
dCgpKSkKICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVz
OwogICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Ny
b2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZl
bnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIGNsYW1wZWRT
Y3JvbGxQb3NpdGlvbiAhPSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAg
ICAgICAgICAgICBmcmFtZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOwor
ICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RT
Y3JvbGxFbmRFdmVudDo6WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNl
dFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgp
KSk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVy
IHNjcm9sbGluZyB0aGlzIHZpZXcgd2UKQEAgLTI5NTMsOCArMzAwOCwyNiBAQCB2b2lkIFJlbmRl
ckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVj
dCwgYm9vbCBpbnNpZAogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIGlmIChwYXJlbnRMYXll
cikKKyAgICBpZiAocGFyZW50TGF5ZXIpIHsKICAgICAgICAgcGFyZW50TGF5ZXItPnNjcm9sbFJl
Y3RUb1Zpc2libGUobmV3UmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlvbnMpOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYm
IHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcykgewor
ICAgICAgICAgICAgQ29udGFpbmVyTm9kZSogdGFyZ2V0ID0gcmVuZGVyZXIoKS5lbGVtZW50KCk7
CisgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQo
KSA9PSB0YXJnZXQpCisgICAgICAgICAgICAgICAgdGFyZ2V0ID0gJnJlbmRlcmVyKCkuZG9jdW1l
bnQoKTsKKworICAgICAgICAgICAgaWYgKGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAg
ICAgICAgICAgICAgIHNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAg
ICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGF1dG8qIGR1cmluZ1Njcm9sbGluZ1Bh
cmVudExheWVyID0gZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCk7CisgICAg
ICAgICAgICAgICAgaWYgKGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyKQorICAgICAgICAgICAg
ICAgICAgICBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1h
a2VXZWFrUHRyKHRhcmdldCkpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dCgqdGFyZ2V0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisgICAgfQogfQog
CiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsKCkK
QEAgLTcwMzUsNiArNzEwOCw0OSBAQCB2b2lkIFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRS
ZWdpb24oKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lk
IFJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghcmVu
ZGVyZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGF1dG8gb2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0
aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09
IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9m
ZnNldDsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlv
bkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6
OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRp
b24pCit7CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gfHwgbV9maXJl
U2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRpb24pCisgICAgICAgIHJl
dHVybjsKKworICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworCisgICAgbV9m
aXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2b2lkIFJl
bmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKQoreworICAgIGlmIChF
bGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCisgICAgICAgIGVsZW1lbnQt
PmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCplbGVtZW50KTsKK30K
KworU2Nyb2xsYWJsZUFyZWEqIFJlbmRlckxheWVyOjpmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcoKQoreworICAgIGF1dG8qIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFp
bmluZ0Jsb2NrTGF5ZXIoKnRoaXMsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgd2hp
bGUgKHBhcmVudExheWVyKSB7CisgICAgICAgIGlmIChwYXJlbnRMYXllci0+ZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3KCkpCisgICAgICAgICAgICByZXR1cm4gcGFyZW50TGF5ZXI7CisgICAgICAg
IHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnBhcmVudExheWVy
LCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIH0KKworICAgIEZyYW1lVmlldyYgZnJh
bWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CisgICAgaWYgKGZyYW1lVmll
dy5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgcmV0dXJuICZmcmFtZVZpZXc7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisjZW5kaWYKKwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChXVEY6OlRleHRTdHJlYW0mIHRzLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUpCiB7CiAg
ICAgc3dpdGNoIChjbGlwUmVjdHNUeXBlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCmluZGV4IGQ3MDhkMjZlZDEuLjUwMWNjNmIxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCkBAIC00NTIsNyArNDUyLDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6
Tm8pOwogICAgIHZvaWQgc2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5p
bWF0ZWRTY3JvbGw6Ok5vKTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZvaWQg
c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFu
aW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpObyk7CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2VkIGJ5IG1hcnF1ZWUuCiAg
ICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zm
c2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Ny
b2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KQEAgLTQ2Nyw3ICs0NjcsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBhdmFpbGFibGVDb250ZW50U2l6ZUNoYW5nZWQoQXZhaWxhYmxlU2l6ZUNoYW5nZVJl
YXNvbikgZmluYWw7CiAKICAgICAvLyAiYWJzb2x1dGVSZWN0IiBpcyBpbiBzY2FsZWQgZG9jdW1l
bnQgY29vcmRpbmF0ZXMuCi0gICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91
dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRv
VmlzaWJsZU9wdGlvbnMmKTsKKyAgICB2b2lkIHNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5
b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0
VG9WaXNpYmxlT3B0aW9ucyYsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxF
bmRFdmVudDo6Tm8pOwogCiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3coKSBjb25zdDsKICAgICBi
b29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25zdDsKQEAgLTkyNSw2ICs5
MjUsMTUgQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnZhbGlkYXRlRXZlbnRSZWdpb24oKTsKIAor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNhdmVTY3JvbGxFbmRFdmVu
dFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCkgZmluYWw7CisgICAgdm9pZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIGFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCgpIGZpbmFsOworICAgIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdElu
dG9WaWV3KCkgZmluYWwgeyByZXR1cm4gbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXc7IH0KKyAg
ICB2b2lkIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sIHNjcm9sbGluZykgZmluYWwg
eyBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyA9IHNjcm9sbGluZzsgfQorICAgIFNjcm9sbGFi
bGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSBmaW5hbDsKKyNl
bmRpZgorCiBwcml2YXRlOgogCiAgICAgdm9pZCBzZXROZXh0U2libGluZyhSZW5kZXJMYXllciog
bmV4dCkgeyBtX25leHQgPSBuZXh0OyB9CkBAIC0xMjgxLDYgKzEyOTAsMTAgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fbGF5ZXJMaXN0TXV0YXRpb25BbGxvd2VkIDogMTsKICNlbmRpZgogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcgOiAxOworI2VuZGlmCisKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIHVu
c2lnbmVkIG1fYmxlbmRNb2RlIDogNTsgLy8gQmxlbmRNb2RlCiAgICAgYm9vbCBtX2hhc05vdElz
b2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMgOiAxOwpAQCAtMTM1Niw2ICsxMzY5
LDEwIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyTGF5ZXJGaWx0ZXJz
PiBtX2ZpbHRlcnM7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxheWVyQmFja2luZz4gbV9i
YWNraW5nOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIE9wdGlvbmFsPFNj
cm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb247CisjZW5kaWYKICAg
ICAKICAgICBQYWludEZyZXF1ZW5jeVRyYWNrZXIgbV9wYWludEZyZXF1ZW5jeVRyYWNrZXI7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBkNTYwMjg3
NTI2Li4wYTQ2MDY0NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcApAQCAtNDI3LDcgKzQyNywxMSBAQCBib29sIFJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRv
VmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaQogICAgIGlm
ICghZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICBlbmNsb3NpbmdMYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJs
ZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQ6Olllcyk7CisjZWxzZQogICAgIGVuY2xvc2luZ0xheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxl
KGFic29sdXRlUmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlvbnMpOworI2VuZGlmCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395805</attachid>
            <date>2020-04-08 07:13:13 -0700</date>
            <delta_ts>2020-04-09 05:25:27 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-006-all.diff</filename>
            <type>text/plain</type>
            <size>144059</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzNDlkYzA3ZGI0Li5hZGEz
NGVmMzZkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wNC0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTkz
OTAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMzZmMTI0Zjg1ZS4uYzcyMWVlYmMwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA0LTA4ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2ZW50IG9mIHByb2dyYW1tYXRpYyBzY3Jv
bGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
OTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04gRkFJTEVE
OiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUgc2VlbiB3
aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBlYjE2OTMzYjhmLi45MTI4YWI0ZDhhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE2NCw3ICsxNjQsMTUgQEAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2
YWN5LyBbIFNraXAgXQogZmFzdC9oYXJuZXNzL3Vpc2NyaXB0Y29udHJvbGxlciBbIFNraXAgXQog
CiAjIE9ubHkgaU9TIGhhcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBVSVNjcmlwdENvbnRyb2xsZXI6
OnNlbmRFdmVudFN0cmVhbSgpLgotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL3Njcm9sbGluZyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWRvY3VtZW50
Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1lbGVtZW50LXdpdGgtb3ZlcnNj
cm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tc2Nyb2xs
ZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8td2luZG93Lmh0
bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9z
Y3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWFmdGVyLXNuYXAuaHRtbCBbIFNraXAgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3Jv
bGxlbmQtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtdG8tZWxlbWVudC13aXRoLW92ZXJzY3JvbGwtYmVoYXZpb3IuaHRtbCBbIFNraXAgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3Jv
bGxlbmQtZXZlbnQtZmlyZWQtdG8tc2Nyb2xsZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBbIFNraXAgXQogCiAjIFRoaXMgdGVzdCBvbmx5
IG1ha2VzIHNlbnNlIG9uIE1hYwogZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtc3VidGl0bGUt
cmVzaXplLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi45NjZjOWYxYWJiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRp
Yy1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RzIHNjcm9s
bGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVuY3Rpb25zLiAKK1BBU1MgVGVzdHMgc2Ny
b2xsZW5kIGV2ZW50IGZvciBjaGFuZ2luZyBzY3JvbGwgYXR0cmlidXRlcy4gCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNj
cm9sbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjQzZmI3YWNk
ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3It
cHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sCkBAIC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUgSFRN
TD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZD10cnVlIGV4cGVyaW1lbnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
PXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcm9s
bF9zdXBwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0OiAz
MDAwcHg7CisgICAgd2lkdGg6IDMwMDBweDsKKyAgfQorCisgICN0YXJnZXREaXYgeworICAgIHdp
ZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIG92ZXJmbG93OiBzY3JvbGw7Cisg
IH0KKworICAjaW5uZXJEaXYgeworICAgIHdpZHRoOiA0MDBweDsKKyAgICBoZWlnaHQ6IDQwMHB4
OworICB9Cis8L3N0eWxlPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD1ydW5UZXN0
KCk+CisgIDxkaXYgaWQ9InRhcmdldERpdiI+CisgICAgPGRpdiBpZD0iaW5uZXJEaXYiPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisgIHZhciBlbGVtZW50X3Njcm9s
bGVuZF9hcnJpdmVkID0gZmFsc2U7CisgIHZhciBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IGZhbHNlOworCisgIGZ1bmN0aW9uIG9uRWxlbWVudFNjcm9sbEVuZChldmVudCkgeworICAgIGFz
c2VydF9mYWxzZShldmVudC5jYW5jZWxhYmxlKTsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQuYnVi
Ymxlcyk7CisgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgIH0KKworICBm
dW5jdGlvbiBvbkRvY3VtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgYXNzZXJ0X2ZhbHNlKGV2
ZW50LmNhbmNlbGFibGUpOworICAgIC8vIHNjcm9sbGVuZCBldmVudHMgYXJlIGJ1YmJsZWQgd2hl
biB0aGUgdGFyZ2V0IG5vZGUgaXMgZG9jdW1lbnQuCisgICAgYXNzZXJ0X3RydWUoZXZlbnQuYnVi
Ymxlcyk7CisgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICB9CisKKyAg
ZnVuY3Rpb24gY2FsbFNjcm9sbEZ1bmN0aW9uKFtzY3JvbGxUYXJnZXQsIHNjcm9sbEZ1bmN0aW9u
LCBhcmdzXSkgeworICAgIHNjcm9sbFRhcmdldFtzY3JvbGxGdW5jdGlvbl0oYXJncyk7CisgIH0K
KworICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGxldCByb290X2VsZW1lbnQgPSBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50OworICAgIGxldCB0YXJnZXRfZGl2ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldERpdiIpOworCisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7
CisgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworICAgICAgdGFyZ2V0X2Rp
di5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkVsZW1lbnRTY3JvbGxFbmQpOworICAg
ICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwgb25Eb2N1bWVudFNjcm9s
bEVuZCk7CisKKyAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWworICAgICAgICBbdGFyZ2V0X2Rpdiwg
MjAwLCAyMDAsIFt0YXJnZXRfZGl2LCAic2Nyb2xsVG8iLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAs
IGJlaGF2aW9yOiAiYXV0byIgfV1dLAorICAgICAgICBbdGFyZ2V0X2RpdiwgMCwgMCwgW3Rhcmdl
dF9kaXYsICJzY3JvbGxUbyIsIHsgdG9wOiAwLCBsZWZ0OiAwLCBiZWhhdmlvcjogInNtb290aCIg
fV1dLAorICAgICAgICBbcm9vdF9lbGVtZW50LCAyMDAsIDIwMCwgW3Jvb3RfZWxlbWVudCwgInNj
cm9sbFRvIiwgeyB0b3A6IDIwMCwgbGVmdDogMjAwLCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAg
ICAgICAgW3Jvb3RfZWxlbWVudCwgMCwgMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvIiwgeyB0
b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0sCisgICAgICAgIFt0YXJnZXRf
ZGl2LCAyMDAsIDIwMCwgW3RhcmdldF9kaXYsICJzY3JvbGxCeSIsIHsgdG9wOiAyMDAsIGxlZnQ6
IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBb
dGFyZ2V0X2RpdiwgInNjcm9sbEJ5IiwgeyB0b3A6IC0yMDAsIGxlZnQ6IC0yMDAsIGJlaGF2aW9y
OiAic21vb3RoIiB9XV0sCisgICAgICAgIFtyb290X2VsZW1lbnQsIDIwMCwgMjAwLCBbcm9vdF9l
bGVtZW50LCAic2Nyb2xsQnkiLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0
byIgfV1dLAorICAgICAgICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Ny
b2xsQnkiLCB7IHRvcDogLTIwMCwgbGVmdDogLTIwMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXQor
ICAgICAgXTsKKworICAgICAgZm9yIChpID0gMDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgbGV0IHQgPSB0ZXN0X2Nhc2VzW2ldOworICAgICAgICBsZXQgdGFyZ2V0ID0g
dFswXTsKKyAgICAgICAgbGV0IGV4cGVjdGVkX3ggPSB0WzFdOworICAgICAgICBsZXQgZXhwZWN0
ZWRfeSA9IHRbMl07CisgICAgICAgIGxldCBzY3JvbGxfZGF0YXMgPSB0WzNdOworCisgICAgICAg
IGNhbGxTY3JvbGxGdW5jdGlvbihzY3JvbGxfZGF0YXMpOworICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsgcmV0dXJuIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Ny
b2xsZW5kX2Fycml2ZWQ7IH0sIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICBpZiAodGFy
Z2V0ID09IHJvb3RfZWxlbWVudCkKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5z
Y3JvbGxMZWZ0LCBleHBlY3RlZF94LCB0YXJnZXQudGFnTmFtZSArICIuIiArIHNjcm9sbF9kYXRh
c1sxXSArICIgc2Nyb2xsTGVmdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5zY3Jv
bGxUb3AsIGV4cGVjdGVkX3ksIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBzY3JvbGxUb3AiKTsKKworICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0g
ZmFsc2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAg
ICB9CisgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVu
Y3Rpb25zLiIpOworCisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgICBhd2Fp
dCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworCisgICAgICBsZXQgdGVzdF9jYXNlcyA9IFsK
KyAgICAgICAgW3RhcmdldF9kaXYsICJzY3JvbGxUb3AiXSwKKyAgICAgICAgW3RhcmdldF9kaXYs
ICJzY3JvbGxMZWZ0Il0sCisgICAgICAgIFtyb290X2VsZW1lbnQsICJzY3JvbGxUb3AiXSwKKyAg
ICAgICAgW3Jvb3RfZWxlbWVudCwgInNjcm9sbExlZnQiXQorICAgICAgXTsKKyAgICAgIGZvciAo
aSA9IDA7IGkgPCB0ZXN0X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGxldCB0ID0gdGVz
dF9jYXNlc1tpXTsKKyAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07CisgICAgICAgIGxldCBhdHRy
aWJ1dGUgPSB0WzFdOworICAgICAgICBsZXQgcG9zaXRpb24gPSAyMDA7CisKKyAgICAgICAgdGFy
Z2V0LnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CisgICAgICAgIHRhcmdldFthdHRy
aWJ1dGVdID0gcG9zaXRpb247CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4g
ZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsg
fSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiIGRpZCBub3QgcmVjZWl2ZSBz
Y3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQor
ICAgICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0W2F0dHJpYnV0ZV0sIHBvc2l0aW9uLCB0
YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgIik7CisgICAgICAgIGVsZW1lbnRf
c2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQgPSBmYWxzZTsKKworICAgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgp
OworICAgICAgICB0YXJnZXQuc3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSAiYXV0byI7CisgICAgICAg
IHRhcmdldFthdHRyaWJ1dGVdID0gMDsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJl
dHVybiBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJp
dmVkOyB9LCB0YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgZGlkIG5vdCByZWNl
aXZlIHNjcm9sbGVuZCBldmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1l
bnQpCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXRbYXR0cmlidXRlXSwgMCwgdGFy
Z2V0LnRhZ05hbWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiICIpOworICAgICAgICBlbGVtZW50X3Nj
cm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJp
dmVkID0gZmFsc2U7CisgICAgICB9CisgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Ig
Y2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0ZXMuIik7CisgIH0KKzwvc2NyaXB0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZp
cmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1l
dmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmJlYzcxMWZkZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Ny
b2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Ny
b2xsSW50b1ZpZXcuIAorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3RlZCBzY3Jv
bGxJbnRvVmlldy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVk
LWZvci1zY3JvbGxJbnRvVmlldy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMC4uZWRkMzhjMGYyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sCkBAIC0wLDAgKzEsMTI0IEBACis8IURP
Q1RZUEUgSFRNTD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Ny
b2xsRXZlbnRzRW5hYmxlZD10cnVlIGV4cGVyaW1lbnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxvbmci
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InNjcm9sbF9zdXBwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBodG1sIHsKKyAg
ICAgICAgaGVpZ2h0OiAzMDAwcHg7CisgICAgICAgIHdpZHRoOiAzMDAwcHg7CisgICAgfQorCisg
ICAgI3RhcmdldERpdiB7CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAy
MDBweDsKKyAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICB9CisKKyAgICAjaW5uZXJEaXYg
eworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgfQor
PC9zdHlsZT4KKworPGJvZHkgc3R5bGU9Im1hcmdpbjowIiBvbmxvYWQ9cnVuVGVzdCgpPgorICAg
IDxkaXYgaWQ9InRhcmdldERpdiI+CisgICAgICAgIDxkaXYgaWQ9ImlubmVyRGl2Ij4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorICAgIHZhciBlbGVtZW50
X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgdmFyIGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkID0gZmFsc2U7CisKKyAgICBmdW5jdGlvbiBvbkVsZW1lbnRTY3JvbGxFbmQoZXZlbnQp
IHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgICAgICBhc3Nl
cnRfZmFsc2UoZXZlbnQuYnViYmxlcyk7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uRG9jdW1lbnRTY3JvbGxFbmQoZXZl
bnQpIHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgICAgICAv
LyBzY3JvbGxlbmQgZXZlbnRzIGFyZSBidWJibGVkIHdoZW4gdGhlIHRhcmdldCBub2RlIGlzIGRv
Y3VtZW50LgorICAgICAgICBhc3NlcnRfdHJ1ZShldmVudC5idWJibGVzKTsKKyAgICAgICAgZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNh
bGxTY3JvbGxGdW5jdGlvbihbc2Nyb2xsVGFyZ2V0LCBzY3JvbGxGdW5jdGlvbiwgYXJnc10pIHsK
KyAgICAgICAgc2Nyb2xsVGFyZ2V0W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBsZXQgcm9vdF9lbGVtZW50ID0gZG9jdW1l
bnQuc2Nyb2xsaW5nRWxlbWVudDsKKyAgICAgICAgbGV0IHRhcmdldF9kaXYgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0RGl2Iik7CisgICAgICAgIGxldCBpbm5lcl9kaXYgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaW5uZXJEaXYiKTsKKworICAgICAgICAvLyBHZXQgZXhwZWN0
ZWQgcG9zaXRpb24gZm9yIHJvb3RfZWxlbWVudCBzY3JvbGxJbnRvVmlldy4KKyAgICAgICAgcm9v
dF9lbGVtZW50LnNjcm9sbFRvKDEwMDAwLCAxMDAwMCk7CisgICAgICAgIGxldCBtYXhfcm9vdF94
ID0gcm9vdF9lbGVtZW50LnNjcm9sbExlZnQ7CisgICAgICAgIGxldCBtYXhfcm9vdF95ID0gcm9v
dF9lbGVtZW50LnNjcm9sbFRvcDsKKyAgICAgICAgcm9vdF9lbGVtZW50LnNjcm9sbFRvKDAsIDAp
OworCisgICAgICAgIHRhcmdldF9kaXYuc2Nyb2xsVG8oMTAwMDAsIDEwMDAwKTsKKyAgICAgICAg
bGV0IG1heF9lbGVtZW50X3ggPSB0YXJnZXRfZGl2LnNjcm9sbExlZnQ7CisgICAgICAgIGxldCBt
YXhfZWxlbWVudF95ID0gdGFyZ2V0X2Rpdi5zY3JvbGxUb3A7CisgICAgICAgIHRhcmdldF9kaXYu
c2Nyb2xsVG8oMCwgMCk7CisKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7Cisg
ICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworICAgICAgICAgICAg
dGFyZ2V0X2Rpdi5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkVsZW1lbnRTY3JvbGxF
bmQpOworICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwg
b25Eb2N1bWVudFNjcm9sbEVuZCk7CisKKyAgICAgICAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWwor
ICAgICAgICAgICAgICAgIFt0YXJnZXRfZGl2LCBtYXhfZWxlbWVudF94LCBtYXhfZWxlbWVudF95
LCBbaW5uZXJfZGl2LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGluZTogImVuZCIsIGJsb2NrOiAi
ZW5kIiwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgICAgICAgICAgW3RhcmdldF9kaXYs
IDAsIDAsIFtpbm5lcl9kaXYsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAic3RhcnQiLCBi
bG9jazogInN0YXJ0IiwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgICAgICAgICBb
cm9vdF9lbGVtZW50LCBtYXhfcm9vdF94LCBtYXhfcm9vdF95LCBbcm9vdF9lbGVtZW50LCAic2Ny
b2xsSW50b1ZpZXciLCB7IGlubGluZTogImVuZCIsIGJsb2NrOiAiZW5kIiwgYmVoYXZpb3I6ICJz
bW9vdGgiIH1dXSwKKyAgICAgICAgICAgICAgICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9l
bGVtZW50LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGluZTogInN0YXJ0IiwgYmxvY2s6ICJzdGFy
dCIsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0KKyAgICAgICAgICAgIF07CisKKyAgICAgICAgICAg
IGZvciAoaSA9IDA7IGkgPCB0ZXN0X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAg
ICAgbGV0IHQgPSB0ZXN0X2Nhc2VzW2ldOworICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0
WzBdOworICAgICAgICAgICAgICAgIGxldCBleHBlY3RlZF94ID0gdFsxXTsKKyAgICAgICAgICAg
ICAgICBsZXQgZXhwZWN0ZWRfeSA9IHRbMl07CisgICAgICAgICAgICAgICAgbGV0IHNjcm9sbF9k
YXRhcyA9IHRbM107CisKKyAgICAgICAgICAgICAgICBjYWxsU2Nyb2xsRnVuY3Rpb24oc2Nyb2xs
X2RhdGFzKTsKKyAgICAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGVs
ZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7IH0s
IHRhcmdldC50YWdOYW1lICsgIi5zY3JvbGxJbnRvVmlldyAgZGlkIG5vdCByZWNlaXZlIHNjcm9s
bGVuZCBldmVudC4iKTsKKyAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVu
dCkKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHRhcmdldC5zY3JvbGxMZWZ0LCBleHBlY3RlZF94LCB0YXJnZXQudGFnTmFtZSAr
ICIuc2Nyb2xsSW50b1ZpZXcgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0LnNjcm9sbFRvcCwgZXhwZWN0ZWRfeSwgdGFyZ2V0LnRhZ05hbWUgKyAiLnNj
cm9sbEludG9WaWV3IHNjcm9sbFRvcCIpOworCisgICAgICAgICAgICAgICAgZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGRvY3VtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0sICJUZXN0cyBzY3Jv
bGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3LiIpOworCisgICAgICAgIHByb21pc2VfdGVz
dChhc3luYyAodCkgPT4geworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0
YXJnZXRfZGl2KTsKKyAgICAgICAgICAgIGxldCBvdXRfZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgICAgICAgICBvdXRfZGl2LnN0eWxlID0gIndpZHRoOiAxMDBweDsg
aGVpZ2h0OjEwMHB4OyBvdmVyZmxvdzpzY3JvbGw7IHNjcm9sbC1iZWhhdmlvcjpzbW9vdGg7IjsK
KyAgICAgICAgICAgIG91dF9kaXYuYXBwZW5kQ2hpbGQodGFyZ2V0X2Rpdik7CisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG91dF9kaXYpOworICAgICAgICAgICAgYXdhaXQg
d2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKworICAgICAgICAgICAgZWxlbWVudF9zY3JvbGxl
bmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIGlubmVyX2Rpdi5zY3JvbGxJbnRvVmlldyh7IGlubGlu
ZTogImVuZCIsIGJsb2NrOiAiZW5kIiwgYmVoYXZpb3I6ICJhdXRvIiB9KTsKKyAgICAgICAgICAg
IGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8
fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBk
aWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhyb290X2VsZW1lbnQuc2Nyb2xsTGVmdCwgMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBy
b290X2VsZW1lbnQgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyb290
X2VsZW1lbnQuc2Nyb2xsVG9wLCAwLCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHJvb3RfZWxlbWVu
dCBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMob3V0X2Rpdi5zY3JvbGxM
ZWZ0LCAxMDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgb3V0X2RpdiBzY3JvbGxMZWZ0Iik7Cisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG91dF9kaXYuc2Nyb2xsVG9wLCAxMDAsICJOZXN0ZWQg
c2Nyb2xsSW50b1ZpZXcgb3V0X2RpdiBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0X2Rpdi5zY3JvbGxMZWZ0LCBtYXhfZWxlbWVudF94LCAiTmVzdGVkIHNjcm9s
bEludG9WaWV3IHRhcmdldF9kaXYgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyh0YXJnZXRfZGl2LnNjcm9sbFRvcCwgbWF4X2VsZW1lbnRfeSwgIk5lc3RlZCBzY3JvbGxJ
bnRvVmlldyB0YXJnZXRfZGl2IHNjcm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2ZhbHNl
KGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgfSwgIlRlc3RzIHNjcm9sbGVu
ZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbEludG9WaWV3LiIpOworICAgIH0KKzwvc2NyaXB0Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDg4
ZmQzMmUzNjguLmVmMzg2ZGEwYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZy
w6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBFTkFCTEVfT1ZFUlNDUk9MTF9F
VkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAyMC0wNC0wMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qgc2hvdWxkIGdyYWNlZnVsbHkgdGhy
b3cgT09NIGVycm9yIGlmIGlucHV0ICsgZXJyb3IgbWVzc2FnZSBpcyB0b28gbGFyZ2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCBlZmZjNzJiNmIxLi5jYmM5OTg2M2MyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5W
QVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5U
UzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAK
IEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNU
VVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElD
VFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAk
KEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktf
Q0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NU
QUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RV
UkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChF
TkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFM
RV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZT
Q1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxF
X09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVO
QUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
S0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGNiMmI1NWQ1ZjYuLjIyZDkxNWUwMDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjEgQEAKKzIwMjAtMDQtMDggIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3Jh
bW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMg
c2Nyb2xsaW5nLiBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1lbnQg
c3RvcmVzCisgICAgICAgIHRoZSBzY3JvbGxlZCB0YXJnZXRzIHdoaWNoIG5lZWQgdG8gZGlzcGF0
Y2ggc2Nyb2xsZW5kIGV2ZW50cy4gRnJhbWVWaWV3IGFuZCBSZW5kZXJMYXllciBwcm92aWRlIHRo
cmVlIHdheXMgdG8KKyAgICAgICAgYWRkIGVsZW1lbnRzIHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4g
ICAgIAorICAgICAgICAxLiBJbnN0YW50IHNjcm9sbGluZyBpbmNsdWRpbmcgdGhlIHNjcm9sbGlu
ZyBwb3NpdGlvbiBub3QgY2hhbmdlZCBhbmltYXRlZCBzY3JvbGwsIHRoZSBlbGVtZW50IHdvdWxk
IGFkZCB0byB0aGUgbGlzdAorICAgICAgICBhZnRlciBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4K
KyAgICAgICAgMi4gQW5pbWF0ZWQgc2Nyb2xsaW5nLCB0aGUgZWxlbWVudCB3b3VsZCBiZSBzZXQg
YXMgdGhlIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgb2YgU2Nyb2xsQW5pbWF0aW9uIGFuZCBhZGQg
dG8gdGhlIGxpc3QKKyAgICAgICAgd2hlbiBhbmltYXRpb24gc3RvcHMuIEZvciBzY3JvbGxSZWN0
SW50b1ZpZXcsIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSBzY3JvbGxlbmQgZXZlbnQgZmlyZWQgYWZ0
ZXIgYWxsIGFuY2VzdG9yIGxheWVycworICAgICAgICBmaW5pc2hpbmcgc2Nyb2xsaW5nLCBhZGQg
bV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5kaWNhdGUgaWYgc2Nyb2xsUmVjdEludG9W
aWV3IGZpbmlzaGVkLiBXaGVuIFNjcm9sbEFuaW1hdGlvbgorICAgICAgICBzdG9wcywgaXQgd2ls
bCB0cnkgdG8gZmluZCBhIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3RvciBsYXllciBh
bmQgcGFzcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byBpdHMKKyAgICAgICAgU2Nyb2xs
QW5pbWF0aW9uLiBJZiBubyBzdWNoIGxheWVyIGZvdW5kLCBhZGQgbV9zY3JvbGxFbmRFdmVudFRh
cmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIDMuIFVzZXIgYXN5bmNocm9ub3Vz
IHNjcm9sbGluZywgdGhlIHNjcm9sbCBwb3NpdGlvbiB3b3VsZG4ndCBjaGFuZ2UgaW1tZWRpYXRl
bHkuIFNvIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uCisgICAgICAgIHRoZW4gY2hlY2tTY3Jv
bGxFbmRFdmVudFBvc2l0aW9uIGlmIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2VkLiBUaGUgcHJvZ3Jh
bW1hdGljIHNjcm9sbGluZyB3b3VsZG4ndCB0cmlnZ2VyIHRoaXMgd2F5LgorCisgICAgICAgIFRl
c3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcv
c2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwKKyAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y29t
bW9uVGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFyZ2V0cyB0byBtX3BlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cnVuU2Nyb2xs
U3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQgZm9yIGVhY2ggdGFyZ2V0LgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0
IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQgdGFyZ2V0cy4KKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KTog
U2V0IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzIGZvciBGcmFtZVZpZXcgZWxlbWVudC4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6IERpdHRvLgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xs
VG8gY29uc3QpOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGZvciBzY3JvbGxp
bmcgdG8gKDAsIDApIG9wdGltaXphdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIGRv
Y3VtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChpbnN0YW50IHNjcm9s
bCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc2l0aW9u
LCBvdGhlcndpc2Ugc2V0IGRvY3VtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Nyb2xs
QW5pYW10aW9uLikuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNhdmVTY3JvbGxFbmRF
dmVudFBvc2l0aW9uKTogU2F2ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIHRoYXQgcmVxdWlyZXMgdG8g
ZmlyZSBhbiBzY3JvbGxlbmQgZXZlbnQuIFRoaXMgaXMgZm9yIGFzeW5jaHJvbm91cyBzY3JvbGwu
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
bik6IEFkZCBkb2N1bWVudCB0byB0aGUgbGlzdCBpZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGVxdWFs
IHRvIHRoZSBwcmVzZXJ2ZWQgb25lLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQpOiBBZGQgRG9jdW1lbnQgdG8gbV9wZW5kaW5nU2Ny
b2xsZW5kRXZlbnRUYXJnZXRMaXN0IGluIERvY3VtZW50LgorICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3Lmg6IEFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0byBpbmRpY2F0ZSBGcmFtZVZp
ZXcgaXMgcGVyZm9ybWluZyBhIGFuaW1hdGVkIHNjcm9sbFJlY3RJbnRvVmlldyBzY3JvbGwuCisg
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb246OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dGlvblNtb290aDo6c3RvcCk6IENhbGwgbm90aWZ5U2Nyb2xsRW5kLgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQpOiBzZXREdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcgZmFsc2UuIElmIHRoZXJlJ3MgbV9zY3JvbGxFbmRFdmVudFRhcmdldCwg
dHJ5IHRvIGZpbmQgYW4gYW5jZXN0b3IgbGF5ZXIKKyAgICAgICAgZHVyaW5nU2Nyb2xsUmVjdElu
dG9WaWV3IGFuZCBzZXQgdGhlIHRhcmdldCB0byBpdC4gT3RoZXJ3aXNlLCBhZGQgdGhlIHRhcmdl
dCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRp
b25TbW9vdGg6OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOiBDYWxsIG5vdGlmeVNjcm9sbEVu
ZCBpZiBub3QgY29udGludWVBbmltYXRpb24uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uU21vb3RoLmg6IEFkZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yOjpzZXRTY3JvbGxFbmRUYXJnZXQpOiBTZXQgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byBT
Y3JvbGxBbmltYXRpb25TbW9vdGguCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOiBBZGQgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbik6IEFkZCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9s
bFRvKTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgdGhlIHNjcm9sbCBwb3Np
dGlvbiBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJl
YTo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNhdmVTY3JvbGxFbmRFdmVu
dFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpjaGVja1Njcm9s
bEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmFk
ZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxh
YmxlQXJlYTo6ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGFibGVBcmVhOjpzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYWJsZUFyZWE6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBB
ZGQgZWxlbWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgaWYgaXQgc2Nyb2xsZWQoaW5zdGFudCBz
Y3JvbGwgb3Igc21vb3RoIHNjcm9sbAorICAgICAgICB3aXRob3V0IGNoYW5naW5nIHRoZSBwb3Np
dGlvbiwgb3RoZXJ3aXNlIHNldCBlbGVtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Ny
b2xsQW5pYW10aW9uLikuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxU
b09mZnNldCk6IENhbGwgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uLCBpZiB0aGVyZSBpcyBu
byBzY3JvbGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOiBj
aGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IHNldER1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKSBpZiBpdCdzIHBlcmZvcm1pbmcgYSBhbmltYXRl
ZCBzY3JvbGxpbmcuCisgICAgICAgIEFmdGVyIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9WaXNp
YmxlKCksIGNoZWNrIGlmIGN1cnJlbnQgbGF5ZXIgaXMgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
LCBzZXQgdGhlIGVsZW1lbnQgYXMgYW5pbWF0aW9uJ3Mgc2Nyb2xsZW5kIFRhcmdldC4KKyAgICAg
ICAgT3RoZXJ3aXNlLCBmaW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5jZXN0b3Ig
bGF5ZXIgYW5kIHBhc3MgdGhlIGVsZW1lbnQgdG8gYW5jZXN0b3IgbGF5ZXIncyBzY3JvbGxBbmlt
YXRpb24uCisgICAgICAgIElmIG5vIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBsYXllciBmb3Vu
ZCwgYWRkIHRoZSBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldyk6IEZpbmQgdGhlIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3Rv
ciBsYXllciwgYW5kIGNoZWNrIEZyYW1lVmlldyBhdCB0aGUgZW5kLiAKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6
IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKworMjAyMC0wMy0wOSAgQ2F0aGllIENo
ZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92
ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMg
V2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAg
ICAgICBQYXJzZSBvbm92ZXJzY3JvbGwvc2Nyb2xsZW5kIGF0dHJpYnV0ZSBhbmQgb3ZlcnNjcm9s
bC9vdmVyc2Nyb2xsIGV2ZW50IG5hbWUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBk
b20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCk6CisgICAgICAgICog
cGFnZS9TZXR0aW5ncy55YW1sOgorCisyMDIwLTA0LTA3ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNo
ZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBGaXggdXAgY29kZSBzdHlsZSBmb3Igc2Nyb2xsIGFu
aW1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwMTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
MS4gVXNlIEFuaW1hdGVkU2Nyb2xsIGluc3RlYWQgb2YgYm9vbCB0byBpbmRpY2F0ZSBhbmltYXRl
ZCBvciBub3QuCisgICAgICAgIDIuIFJlbW92ZSBwYXJhbWV0ZXIgU2Nyb2xsUmVjdFRvVmlzaWJs
ZU9wdGlvbnMsIHRoZSBhdXRvc2Nyb2xsIHN0YXR1cyBpcyBhdmFpbGFibGUgZnJvbSBFdmVudEhh
bmRsZXIuCisgICAgICAgIDMuIEluIG9yZGVyIHRvIGtlZXAgY29uc2lzdGVudCwgdXNlIFJlbmRl
ckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbiBpbnN0ZWFkIG9mIFJlbmRlckxheWVyOjpzY3JvbGxU
b1Bvc2l0aW9uLgorICAgICAgICA0LiBBZGQgQW5pbWF0ZWRTY3JvbGwgcGFyYW1ldGVyIHRvIFNj
cm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24sIHRoZW4gdGhlIHNjcm9sbCBhbmlt
YXRpb24KKyAgICAgICAgY2FuIGJlIGRlYWx0IGluIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRp
b24uCisgICAgICAgIDUuIEluIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uLCB0aGUgc2Ny
b2xsIGFuaW1hdGlvbiBzaG91bGQgYmUgY2FuY2xlZCBiZWZvcmUgcmV0dXJuLgorCisgICAgICAg
ICogZG9tL0VsZW1lbnQuY3BwOiBVc2UgQW5pbWF0ZWRTY3JvbGwgaW5zdGVhZCBvZiBib29sLgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2Nyb2xsVG8pOgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6c2V0U2Nyb2xsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRT
Y3JvbGxUb3ApOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8gY29uc3QpOiBObyBuZWVkIHRvIGNhbGwgc2Nyb2xsVG9P
ZmZzZXRXaXRoQW5pbWF0aW9uIGhlcmUuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOiBB
ZGQgQW5pbWF0ZWRTY3JvbGwuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKTog
QWRkIHBhcmFtZXRlciBBbmltYXRlZFNjcm9sbC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZp
ZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQ2FuY2VsIHRoZSBzY3JvbGwgYW5pbWF0aW9uIGJlZm9y
ZSByZXR1cm4uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRT
Y3JvbGxMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsVG9wKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUpOiBSZW1vdmUgQXV0
b3Njcm9sbFN0YXR1cy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphdXRvc2Nyb2xs
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1Bvc2l0aW9uKTogRGVs
ZXRlZC4gVXNlIHNldFNjcm9sbFBvc2l0aW9uIGluc3RlYWQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsTGVmdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmU6OnNldFNjcm9sbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDoKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5n
LmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJ
T04gRkFJTEVEOiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5v
bmUgc2VlbiB3aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVn
b3J5SU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCmluZGV4IGVmZmM3MmI2YjEuLmNiYzk5ODYzYzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hf
Y29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9P
VkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BM
QVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hT
TFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19Q
QUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQ
RURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQ
VV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNU
T1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJ
VkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFM
SURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMp
ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hf
RVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVT
T1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVS
X1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19H
UkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJ
TlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVE
X09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVf
UFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9S
X1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FD
WV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZF
X1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElE
QVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAk
KEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZF
TlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VS
VkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJF
Q09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklW
RVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAk
KEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKaW5kZXggNThlMjQzMzFkZS4uZTFkNGRlZWZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIK
KworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQg
b24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NS
T0xMX0VWRU5UUy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorCiAyMDIwLTA0LTAzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgW1hjb2RlXSBSZXBsYWNlIEFTQU5fT1RIRVJfQ0ZMQUdTIGFuZCBBU0FOX09U
SEVSX0NQTFVTUExVU0ZMQUdTIHdpdGggJChpbmhlcml0ZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggZWZmYzcyYjZiMS4uY2JjOTk4NjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjk3LDYg
KzI5Nyw4IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NP
Q09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2gg
PSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9F
VkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1F
KSk7CkBAIC00MTcsNCArNDE5LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Yz
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5T
UEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRS
WSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURB
VElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMp
ICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJ
T04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBjNjIwNWM1ZjZlLi4zMzYwYmM1
OGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCkBAIC0zMDUsNiArMzA1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3Jv
KG1hdGNoaW5nRWxlbWVudEluRmxhdFRyZWUpIFwKICAgICBtYWNybyhtZWRpYVN0cmVhbVRyYWNr
Q29uc3RyYWludHMpIFwKICAgICBtYWNybyhvcGVuRGF0YWJhc2UpIFwKKyAgICBtYWNybyhvbm92
ZXJzY3JvbGwpIFwKKyAgICBtYWNybyhvbnNjcm9sbGVuZCkgXAogICAgIG1hY3JvKG9udG91Y2hj
YW5jZWwpIFwKICAgICBtYWNybyhvbnRvdWNoZW5kKSBcCiAgICAgbWFjcm8ob250b3VjaG1vdmUp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDNlZjk0NTkwMGIuLmU1YzQ3ODdlZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzk5LDYgKzc5OSwxMCBAQCB2b2lkIERvY3VtZW50
Ojpjb21tb25UZWFyZG93bigpCiAKICAgICBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Qg
PSBudWxscHRyOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIG1fcGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CisjZW5kaWYKKwogICAgIHdoaWxl
ICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBtX3RpbWVsaW5lcy5iZWdp
bigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKICAgICBtX3RpbWVsaW5lID0gbnVsbHB0cjsKQEAg
LTQwNzIsNiArNDA3NiwyNiBAQCB2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRXZlbnRU
YXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQogICAgIHRhcmdldHMuYXBwZW5kKHRhcmdldCk7
CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIERvY3VtZW50OjphZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQoreworICAg
IGlmICghc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoIW1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCkKKyAgICAg
ICAgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ID0gbWFrZVVuaXF1ZTxQZW5kaW5n
U2Nyb2xsRXZlbnRUYXJnZXRMaXN0PigpOworCisgICAgYXV0byYgdGFyZ2V0cyA9IG1fcGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0czsKKyAgICBpZiAodGFyZ2V0cy5maW5k
TWF0Y2hpbmcoWyZdIChhdXRvJiBlbnRyeSkgeyByZXR1cm4gZW50cnkucHRyKCkgPT0gJnRhcmdl
dDsgfSkgIT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICh0YXJnZXRzLmlz
RW1wdHkoKSkKKyAgICAgICAgc2NoZWR1bGVUaW1lZFJlbmRlcmluZ1VwZGF0ZSgpOworCisgICAg
dGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKK30KKyNlbmRpZgorCiB2b2lkIERvY3VtZW50OjpzZXRO
ZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQoKQogewogICAgIGlmICghbV9uZWVkc1Zpc3Vh
bFZpZXdwb3J0U2Nyb2xsRXZlbnQpCkBAIC00MDk3LDYgKzQxMjEsMTggQEAgdm9pZCBEb2N1bWVu
dDo6cnVuU2Nyb2xsU3RlcHMoKQogICAgICAgICBpZiAoYXV0byogd2luZG93ID0gZG9tV2luZG93
KCkpCiAgICAgICAgICAgICB3aW5kb3ctPnZpc3VhbFZpZXdwb3J0KCkuZGlzcGF0Y2hFdmVudChF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6
Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgfQorCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIC8vIERlYWwgd2l0aCBzY3JvbGxlbmQgZXZlbnQuCisgICAgaWYg
KG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCAmJiAhbV9wZW5kaW5nU2Nyb2xsRW5k
RXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzLmlzRW1wdHkoKSkgeworICAgICAgICBMT0dfV0lUSF9T
VFJFQU0oRXZlbnRzLCBzdHJlYW0gPDwgIkRvY3VtZW50IiA8PCB0aGlzIDw8ICJzZW5kaW5nIHNj
cm9sbGVuZCBldmVudHMgdG8gcGVuZGluZyBzY3JvbGwgZXZlbnQgdGFyZ2V0cyIpOworICAgICAg
ICBhdXRvIGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzID0gV1RGTW92ZShtX3BlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMpOworICAgICAgICBmb3IgKGF1dG8mIHRhcmdldCA6
IGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzKSB7CisgICAgICAgICAgICBhdXRvIGJ1YmJsZXMgPSB0
YXJnZXQtPmlzRG9jdW1lbnROb2RlKCkgPyBFdmVudDo6Q2FuQnViYmxlOjpZZXMgOiBFdmVudDo6
Q2FuQnViYmxlOjpObzsKKyAgICAgICAgICAgIHRhcmdldC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxlbmRFdmVudCwgYnViYmxlcywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIERvY3Vt
ZW50OjphZGRBdWRpb1Byb2R1Y2VyKE1lZGlhUHJvZHVjZXImIGF1ZGlvUHJvZHVjZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IDgzOWFmY2Q1OGIuLjc0NWRhMmRmMjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCkBAIC0xMzYwLDYgKzEzNjAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBydW5SZXNpemVT
dGVwcygpOwogCiAgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVy
Tm9kZSYpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIGFkZFBlbmRp
bmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7CisjZW5kaWYKICAgICB2b2lk
IHNldE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpOwogICAgIHZvaWQgcnVuU2Nyb2xs
U3RlcHMoKTsKIApAQCAtMjA0Miw2ICsyMDQ1LDkgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBQ
ZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5n
U2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q7Cisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5n
U2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3Q7
CisjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgSGFzaFNldDxIVE1MTWVk
aWFFbGVtZW50Kj4gbV9tZWRpYVN0cmVhbVN0YXRlQ2hhbmdlRWxlbWVudHM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKaW5kZXggYzlkYmQ1ZTUzYS4uNzRjNDQ2NTE2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcApAQCAtOTUwLDcgKzk1MCw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oY29uc3QgU2Ny
b2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKICAgICAgICAg
Y2xhbXBUb0ludGVnZXIoc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAqIHJlbmRlcmVyLT5z
dHlsZSgpLmVmZmVjdGl2ZVpvb20oKSksCiAgICAgICAgIGNsYW1wVG9JbnRlZ2VyKHNjcm9sbFRv
T3B0aW9ucy50b3AudmFsdWUoKSAqIHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSkK
ICAgICApOwotICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9P
cHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCB0aGlzKTsKKyAg
ICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09w
dGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0byksIHRoaXMpID8gQW5p
bWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICByZW5kZXJlci0+c2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywg
Y2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIApAQCAtMTI5MywxNiArMTI5MywyMCBAQCB2b2lkIEVs
ZW1lbnQ6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQpCiAgICAgICAgIGlmIChhdXRvKiBmcmFt
ZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewogICAgICAgICAgICAgLy8gRklY
TUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAg
ICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUw
NTkKLSAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xs
QmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAg
ICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVo
YXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3Jv
bGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0
aW9uKHN0YXRpY19jYXN0PGludD4obmV3TGVmdCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICog
ZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSksIGZyYW1lLT52aWV3KCktPnNjcm9sbFkoKSk7Cisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+
c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmlt
YXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICAgICAgICAgIGZy
YW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAg
IGludCBjbGFtcGVkTGVmdCA9IGNsYW1wVG9JbnRlZ2VyKG5ld0xlZnQgKiByZW5kZXJlci0+c3R5
bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBib29sIGFuaW1hdGVkID0gdXNlU21vb3Ro
U2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKTsKKyAgICAgICAgQW5pbWF0ZWRT
Y3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8s
IHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAg
ICAgcmVuZGVyZXItPnNldFNjcm9sbExlZnQoY2xhbXBlZExlZnQsIFNjcm9sbFR5cGU6OlByb2dy
YW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKICAgICAgICAgaWYg
KGF1dG8qIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyZXItPmxheWVyKCkpCiAgICAgICAgICAgICBz
Y3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVkU3RhdGUodHJ1ZSk7CkBA
IC0xMzE3LDE2ICsxMzIxLDIwIEBAIHZvaWQgRWxlbWVudDo6c2V0U2Nyb2xsVG9wKGludCBuZXdU
b3ApCiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZp
ZXcoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+
c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQg
PSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9j
dW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1
c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1l
bnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsK
ICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9uKGZyYW1lLT52aWV3KCktPnNjcm9sbFgoKSwg
c3RhdGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1l
LT5mcmFtZVNjYWxlRmFjdG9yKCkpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olll
cyk7CisjZWxzZQogICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjZW5kaWYKICAg
ICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVy
ID0gcmVuZGVyQm94KCkpIHsKICAgICAgICAgaW50IGNsYW1wZWRUb3AgPSBjbGFtcFRvSW50ZWdl
cihuZXdUb3AgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBi
b29sIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0
aGlzKTsKKyAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxp
bmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFu
aW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgcmVuZGVyZXItPnNldFNjcm9sbFRvcChjbGFtcGVk
VG9wLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBh
bmltYXRlZCk7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IHJlbmRlcmVyLT5s
YXllcigpKQogICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNjcm9sbFNob3VsZENsZWFy
TGF0Y2hlZFN0YXRlKHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNWNlZWU2ZjY4
MS4uZTRkZjRjNGI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xOTEsNiArMTkxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKG9yaWVudGF0aW9uY2hhbmdlKSBcCiAg
ICAgbWFjcm8ob3ZlcmNvbnN0cmFpbmVkKSBcCiAgICAgbWFjcm8ob3ZlcmZsb3djaGFuZ2VkKSBc
CisgICAgbWFjcm8ob3ZlcnNjcm9sbCkgXAogICAgIG1hY3JvKHBhZ2VoaWRlKSBcCiAgICAgbWFj
cm8ocGFnZXNob3cpIFwKICAgICBtYWNybyhwYXN0ZSkgXApAQCAtMjI3LDYgKzIyOCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhyZXN1bHQpIFwKICAgICBtYWNybyhyZXN1bWUp
IFwKICAgICBtYWNybyhzY3JvbGwpIFwKKyAgICBtYWNybyhzY3JvbGxlbmQpIFwKICAgICBtYWNy
byhzZWFyY2gpIFwKICAgICBtYWNybyhzZWN1cml0eXBvbGljeXZpb2xhdGlvbikgXAogICAgIG1h
Y3JvKHNlZWtlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50
SGFuZGxlcnMuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRs
CmluZGV4IDc3MGFhOWMzYTcuLjFmMjc2NTM0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2xv
YmFsRXZlbnRIYW5kbGVycy5pZGwKQEAgLTEzMiw0ICsxMzIsOCBAQAogICAgIFtOb3RFbnVtZXJh
YmxlLCBDb25kaXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb253ZWJraXRtb3VzZWZvcmNlZG93bjsKICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9u
YWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91
c2Vmb3JjZXdpbGxiZWdpbjsKICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9TU9VU0Vf
Rk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91c2Vmb3JjZXVw
OworCisgICAgLy8gRXZlbnQgaGFuZGxlcnMgZnJvbSBPdmVyc2Nyb2xsIEV2ZW50cyBBUEkgKGh0
dHBzOi8vd2ljZy5naXRodWIuaW8vb3ZlcnNjcm9sbC1zY3JvbGxlbmQtZXZlbnRzLykKKyAgICBb
Tm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9T1ZFUlNDUk9MTF9FVkVOVFMsIEVuYWJsZWRCeVNl
dHRpbmc9T3ZlcnNjcm9sbEV2ZW50c10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm92ZXJzY3Jv
bGw7CisgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU9WRVJTQ1JPTExfRVZFTlRTLCBF
bmFibGVkQnlTZXR0aW5nPU92ZXJzY3JvbGxFdmVudHNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25zY3JvbGxlbmQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
bgppbmRleCBkY2Q4Mzc4ZDk1Li4wOTlmZmI4MjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjY3LDYgKzI2Nyw3IEBAIG9ubW91c2V3aGVlbAogb25v
bmxpbmUKIG9ub2ZmbGluZQogb25vcmllbnRhdGlvbmNoYW5nZQorb25vdmVyc2Nyb2xsCiBvbnBh
Z2VoaWRlCiBvbnBhZ2VzaG93CiBvbnBhc3RlCkBAIC0yODcsNiArMjg4LDcgQEAgb25yYXRlY2hh
bmdlCiBvbnJlc2V0CiBvbnJlc2l6ZQogb25zY3JvbGwKK29uc2Nyb2xsZW5kCiBvbnNlYXJjaAog
b25zZWVrZWQKIG9uc2Vla2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCAz
MmVkNGFkMzFiLi5hZTU5YWMxMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApA
QCAtMjg0LDYgKzI4NCw3IEBAIEhUTUxFbGVtZW50OjpFdmVudEhhbmRsZXJOYW1lTWFwIEhUTUxF
bGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFwKCkKICAgICAgICAgJm9ubW91c2VvdmVy
QXR0ci5nZXQoKSwKICAgICAgICAgJm9ubW91c2V1cEF0dHIuZ2V0KCksCiAgICAgICAgICZvbm1v
dXNld2hlZWxBdHRyLmdldCgpLAorICAgICAgICAmb25vdmVyc2Nyb2xsQXR0ci5nZXQoKSwKICAg
ICAgICAgJm9ucGFzdGVBdHRyLmdldCgpLAogICAgICAgICAmb25wYXVzZUF0dHIuZ2V0KCksCiAg
ICAgICAgICZvbnBsYXlBdHRyLmdldCgpLApAQCAtMzAxLDYgKzMwMiw3IEBAIEhUTUxFbGVtZW50
OjpFdmVudEhhbmRsZXJOYW1lTWFwIEhUTUxFbGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1l
TWFwKCkKICAgICAgICAgJm9ucmVzZXRBdHRyLmdldCgpLAogICAgICAgICAmb25yZXNpemVBdHRy
LmdldCgpLAogICAgICAgICAmb25zY3JvbGxBdHRyLmdldCgpLAorICAgICAgICAmb25zY3JvbGxl
bmRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWFyY2hBdHRyLmdldCgpLAogICAgICAgICAmb25z
ZWVrZWRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWVraW5nQXR0ci5nZXQoKSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcAppbmRleCBhN2IyMmE5NjI5Li42MmZkZTZlN2MzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNjc5LDggKzE2NzksMTUgQEAgdm9pZCBET01XaW5kb3c6
OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcg
Y2xhbXBpbmcKIAogICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIGZvciB0aGUgY29tbW9u
IGNhc2Ugb2Ygc2Nyb2xsaW5nIHRvICgwLCAwKSB3aGVuIHRoZSBzY3JvbGxlciBpcyBhbHJlYWR5
IGF0IHRoZSBvcmlnaW4uCiAgICAgLy8gSWYgYW4gYW5pbWF0ZWQgc2Nyb2xsIGlzIGluIHByb2dy
ZXNzLCB0aGlzIG9wdGltaXphdGlvbiBpcyBza2lwcGVkIHRvIGVuc3VyZSB0aGF0IHRoZSBhbmlt
YXRlZCBzY3JvbGwgaXMgcmVhbGx5IHN0b3BwZWQuCi0gICAgaWYgKHZpZXctPmN1cnJlbnRTY3Jv
bGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlv
biAmJiAhc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAmJiAhc2Nyb2xsVG9PcHRpb25zLnRv
cC52YWx1ZSgpICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSA9PSBJbnRQb2ludCgw
LCAwKSkKKyAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Ny
b2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uCisgICAgICAgICYmICFzY3JvbGxUb09w
dGlvbnMubGVmdC52YWx1ZSgpCisgICAgICAgICYmICFzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVl
KCkKKyAgICAgICAgJiYgdmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpID09IEludFBvaW50
KDAsIDApKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICB2aWV3LT5h
ZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47
CisgICAgfQogCiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKCk7CiAKQEAgLTE2ODgsMTIgKzE2OTUsOSBAQCB2b2lkIERPTVdpbmRvdzo6c2Nyb2xs
VG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZwogCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxl
bWVudCgpPwogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA1MDU5Ci0gICAgaWYgKHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVo
YXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0byksIGRvY3VtZW50KCktPmRvY3VtZW50
RWxlbWVudCgpKSkgewotICAgICAgICB2aWV3LT5zY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24o
bGF5b3V0UG9zLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIGNsYW1waW5nKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KKyAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNj
cm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6
QXV0byksIGRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZ
ZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAKLSAgICB2aWV3LT5zZXRDb250ZW50c1Njcm9sbFBv
c2l0aW9uKGxheW91dFBvcywgY2xhbXBpbmcpOworICAgIHZpZXctPnNldENvbnRlbnRzU2Nyb2xs
UG9zaXRpb24obGF5b3V0UG9zLCBjbGFtcGluZywgYW5pbWF0ZWQpOwogfQogCiBib29sIERPTVdp
bmRvdzo6YWxsb3dlZFRvQ2hhbmdlV2luZG93R2VvbWV0cnkoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCmluZGV4IGM2OGY1ZDM4YzYuLmZkZjgzNDNkOGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKQEAgLTIyNzUsNyArMjI3NSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3Jv
bGxFbGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngoKSAtIGNlbnRlcmlu
Z09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0
LnkoKSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9v
bCBhbmltYXRlZCkKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmlt
YXRlZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxF
bmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZy
YW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbiA8PCAiICwgY2xl
YXJpbmcgYW5jaG9yIik7CiAKQEAgLTIyODgsMTAgKzIyODgsMjEgQEAgdm9pZCBGcmFtZVZpZXc6
OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwg
U2Nyb2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CiAgICAgaWYgKHBhZ2Ug
JiYgcGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgc2Nyb2xsQW5pbWF0
b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hlZWxFdmVudFRlc3RNb25pdG9y
KCkpOwotICAgIGlmIChhbmltYXRlZCkKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0
aW9uKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQb3NpdGlvbiksIGN1cnJlbnRTY3Jv
bGxUeXBlKCksIGNsYW1waW5nKTsKKworICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Njcm9sbFBvc2l0
aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNjcm9sbFBvc2l0
aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9s
bDo6WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0
RnJvbVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xh
bXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24o
c2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgcmVxdWVzdFNj
cm9sbEVuZEV2ZW50KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBpZiAo
ZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkgJiYgcmVxdWVzdFNj
cm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKSB7CisgICAgICAgIGlm
IChuZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3JvbGxWaWV3OjpzY3JvbGxQb3NpdGlvbigpKQorICAg
ICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2Ug
aWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3Jv
bGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgfQorI2Vu
ZGlmCiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3JvbGxUeXBlKTsKIH0KQEAgLTM3
MjgsNiArMzczOSwzMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0
aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeQogICAgIHNldEN1cnJlbnRT
Y3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29u
c3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3sK
KyAgICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRp
b24gPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGFkanVzdFNjcm9sbFBv
c2l0aW9uV2l0aGluUmFuZ2UocG9zaXRpb24pIDogcG9zaXRpb247CisgICAgbV9maXJlU2Nyb2xs
RW5kRXZlbnRBdFBvc2l0aW9uID0gY2xhbXBlZFNjcm9sbFBvc2l0aW9uOworfQorCit2b2lkIEZy
YW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbiB8
fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBwb3NpdGlvbikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7Cisg
ICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2
b2lkIEZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAgICBp
ZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICBkb2N1
bWVudC0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpkb2N1bWVudCk7Cit9CisjZW5k
aWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRDb250ZW50KGZs
b2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxh
cml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsQnlQYWdl
IHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAppbmRleCBiYjk1Nzg1Y2M4Li40NzM2NWM0NDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmgKQEAgLTIyOSw3ICsyMjksNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSkgZmluYWw7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVk
U2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKSBmaW5hbDsKICAgICB2b2lkIHJlc3RvcmVTY3JvbGxiYXIo
KTsKICAgICB2b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChTZWxlY3Rpb25SZXZl
YWxNb2RlKTsKICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVl
ZGVkKCk7CkBAIC02NjQsNiArNjY0LDE0IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaW5VcGRhdGVF
bWJlZGRlZE9iamVjdHMoKSBjb25zdCB7IHJldHVybiBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3Rz
OyB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xs
RW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3JvbGxFbmRF
dmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBhZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcp
IGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyNlbmRp
ZgorCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IElu
dFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IElu
dFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgo
Y29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmluYWw7CkBAIC05MDQsNiArOTEyLDEwIEBAIHBy
aXZhdGU6CiAKICAgICBQYWdpbmF0aW9uIG1fcGFnaW5hdGlvbjsKIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3NpdGlvbj4gbV9maXJlU2Nyb2xs
RW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCisKICAgICBlbnVtIGNsYXNzIFZpZXdwb3J0UmVu
ZGVyZXJUeXBlIDogdWludDhfdCB7IE5vbmUsIERvY3VtZW50LCBCb2R5IH07CiAgICAgVmlld3Bv
cnRSZW5kZXJlclR5cGUgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSB7IFZpZXdwb3J0UmVuZGVyZXJU
eXBlOjpOb25lIH07CiAgICAgU2Nyb2xsUGlubmluZ0JlaGF2aW9yIG1fc2Nyb2xsUGlubmluZ0Jl
aGF2aW9yIHsgRG9Ob3RQaW4gfTsKQEAgLTk0OSw2ICs5NjEsMTAgQEAgcHJpdmF0ZToKICAgICAv
LyBUcnVlIGlmIGF1dG9zaXplIGhhcyBiZWVuIHJ1biBzaW5jZSBtX3Nob3VsZEF1dG9TaXplIHdh
cyBzZXQuCiAgICAgYm9vbCBtX2RpZFJ1bkF1dG9zaXplIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aW5VcGRhdGVFbWJlZGRlZE9iamVjdHMgeyBmYWxzZSB9OworCisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgeyBmYWxzZSB9
OworI2VuZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBGcmFtZVZpZXc6OmluY3JlbWVudFZpc3VhbGx5
Tm9uRW1wdHlQaXhlbENvdW50KGNvbnN0IEludFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLnlhbWwKaW5kZXggYTg2NzZkOTdjMy4uOGM1ZWFhMjMzMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MueWFtbApAQCAtOTE5LDYgKzkxOSwxMCBAQCBpc0xvZ2dlZEluQVBJRW5hYmxlZDoKIGVu
dGVyS2V5SGludEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAKK292ZXJzY3JvbGxFdmVudHNF
bmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogT1ZFUlNDUk9MTF9FVkVO
VFMKKwogbGVnYWN5R2V0VXNlck1lZGlhRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKICAgY29u
ZGl0aW9uYWw6IE1FRElBX1NUUkVBTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb24uaAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTY3Jv
bGxBbmltYXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25faAogCisjaW5jbHVkZSAiQ29u
dGFpbmVyTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVW
aXNpYmxlTGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNlcnZpY2VBbmltYXRp
b24oKSB7IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9p
ZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPikgeyB9OworI2VuZGlm
CiAKIHByb3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Nyb2xsYWJsZUFyZWEmIHNjcm9s
bGFibGVBcmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uU21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlv
blNtb290aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCkBAIC0yOCw3ICsy
OCwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdGlvblNt
b290aC5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAj
aW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODAs
MTAgKzgzLDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3JvbGwoY29uc3QgRmxv
YXRQb2ludCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKCkK
IHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1fYW5pbWF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKKwogICAg
IG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIH0K
IAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjpub3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9zY3JvbGxFbmRFdmVudFRhcmdl
dCkgeworICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyhmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBkdXJpbmdTY3Jv
bGxpbmdQYXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3KCkgPyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldygpIDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXIpCisg
ICAgICAgIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRTY3JvbGxFbmRUYXJnZXQobV9z
Y3JvbGxFbmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAgICBtX3Njcm9sbEVuZEV2ZW50
VGFyZ2V0LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqbV9zY3Jv
bGxFbmRFdmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IG51bGxw
dHI7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3JvbGxFbmRUYXJnZXQo
V2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9zY3JvbGxFbmRFdmVudFRh
cmdldCA9IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6
dXBkYXRlVmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpvbnRhbERhdGEudmlzaWJsZUxl
bmd0aCA9IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBAIC00MTAsOCArNDQyLDEy
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIAog
ICAgIGlmIChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0VGltZXIoc3RkOjpt
YXgobWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsKLSAgICBlbHNlCisg
ICAgZWxzZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0
dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCisgICAg
fQogCiAgICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbihGbG9hdFBvaW50KG1faG9y
aXpvbnRhbERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0YS5jdXJyZW50UG9zaXRp
b24pKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21v
b3RoLmgKaW5kZXggODE3M2ZhN2UyMC4uMTg0Y2ZhZDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTMxLDYgKzMxLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQ
b2ludDsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFzcyBTY3JvbGxDbGFtcGluZyA6
IHVpbnQ4X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgogICAgICAgICBCb3VuY2UKICAg
ICB9OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2V0U2Nyb2xs
RW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIG92ZXJyaWRlOworI2VuZGlmCiBwcml2
YXRlOgogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxh
cml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
Y3JvbGwoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJy
aWRlOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIG5vdGlmeVNjcm9s
bEVuZCgpOworI2VuZGlmCiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlk
ZTsKIApAQCAtMTA0LDYgKzExMSw5IEBAIHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1f
c3RhcnRUaW1lOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gbV9zY3JvbGxFbmRFdmVu
dFRhcmdldDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IDBmYzcyOWU5MTIuLmQ4OTMw
MDhhYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAg
LTI4Nyw1ICsyODcsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRkSG9yaXpvbnRhbFNj
cm9sbGJhcihTY3JvbGxiYXIqKQogewogICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xs
LT51cGRhdGVWaXNpYmxlTGVuZ3RocygpOwogfQotCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQordm9pZCBTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29u
dGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xs
LT5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggOWI3
YzA5YjY5MC4uZWVkZTc5OGRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2hlZWxFdmVudFRlc3RNb25pdG9y
LmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcp
IHx8IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5o
IgpAQCAtNDQsNiArNDUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRh
aW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50Owog
Y2xhc3MgU2Nyb2xsQW5pbWF0aW9uOwpAQCAtMTQzLDYgKzE0NSwxMCBAQCBwdWJsaWM6CiAgICAg
RmxvYXRTaXplIHZpZXdwb3J0U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vh
a1B0cjxDb250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
dm9pZCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSk7CiAgICAg
dm9pZCB1cGRhdGVBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JPZmZzZXQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDVjNTJkNWJiZGUuLjU2MjczNDU0N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtNjAsNiArNjAsMTYgQEAgZW51bSBj
bGFzcyBTY3JvbGxCZWhhdmlvclN0YXR1cyA6IHVpbnQ4X3QgewogICAgIEluTm9uTmF0aXZlQW5p
bWF0aW9uLAogfTsKIAorZW51bSBjbGFzcyBBbmltYXRlZFNjcm9sbCA6IHVpbnQ4X3QgeworICAg
IE5vLAorICAgIFllcworfTsKKworZW51bSBjbGFzcyBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgOiB1
aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CisKIGlubGluZSBTY3JvbGxEaXJlY3Rpb24g
bG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIGJvb2wg
aXNWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7CiAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggMmZkMTVmN2IzMC4uNmJm
NjRhYWQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTIwNiwx
MyArMjA2LDE3IEBAIEludFBvaW50IFNjcm9sbFZpZXc6OmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24o
KSBjb25zdAogICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbigpOwogfQogCi12b2lkIFNjcm9sbFZp
ZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBT
Y3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3ZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3Jv
bGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1w
aW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQogICAgICAgICBzZXRBY3R1YWxTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbik7CiAjZW5kaWYKLSAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
Y2xhbXBpbmcpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQ
b3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQ6Olllcyk7CisjZWxzZQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBjbGFtcGlu
ZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIEZsb2F0UmVjdCBTY3JvbGxWaWV3OjpleHBvc2Vk
Q29udGVudFJlY3QoKSBjb25zdApAQCAtNDg2LDYgKzQ5MCwxMCBAQCB2b2lkIFNjcm9sbFZpZXc6
OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBuZXdQb3NpdGlvbikKIAogICAgIG1fc2Ny
b2xsUG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7Cisj
ZW5kaWYKKwogICAgIGlmIChzY3JvbGxiYXJzU3VwcHJlc3NlZCgpKQogICAgICAgICByZXR1cm47
CiAKQEAgLTUxMyw3ICs1MjEsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmNvbXBsZXRlVXBkYXRlc0Fm
dGVyU2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAgdXBkYXRlQ29tcG9z
aXRpbmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wvKiBhbmltYXRlZCovKQordm9pZCBTY3JvbGxWaWV3Ojpz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCAvKiBhbmltYXRlZCovLCBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3Ry
ZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9u
KTsKIApAQCAtNTI1LDE0ICs1MzMsMTMgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbEMKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Njcm9sbFBvc2l0aW9u
ID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNjcm9sbFBvc2l0aW9u
KSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMo
KSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVBbmltYXRpb24pCisgICAgICAg
IHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwogCisgICAgU2Nyb2xsUG9zaXRp
b24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9sbGluZygpICYmIGNsYW1waW5n
ID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGlu
UmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CiAgICAgaWYgKCghZGVsZWdh
dGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxUeXBlOjpVc2Vy
KSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1
czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xsUG9zaXRpb24gPT0gdGhpcy0+c2Nyb2xsUG9z
aXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGN1cnJlbnRTY3JvbGxCZWhhdmlv
clN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFuaW1hdGlvbikK
LSAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7Ci0KICAgICBpZiAo
IXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3JvbGxQb3NpdGlvbiwgY3VycmVudFNj
cm9sbFR5cGUoKSwgY2xhbXBpbmcpKQogICAgICAgICB1cGRhdGVTY3JvbGxiYXJzKG5ld1Njcm9s
bFBvc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IGI2NGFh
M2JhMDYuLjc3YTc3NTYxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAg
LTIzMSw3ICsyMzEsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTY3JvbGwgcG9zaXRpb24gdXNlZCBi
eSB3ZWItZXhwb3NlZCBmZWF0dXJlcyAoaGFzIGxlZ2FjeSBpT1MgYmVoYXZpb3IpLgogICAgIFdF
QkNPUkVfRVhQT1JUIEludFBvaW50IGNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSBjb25zdDsKLSAg
ICB2b2lkIHNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKKyAgICB2b2lkIHNldENvbnRlbnRz
U2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGludCBhY3R1YWxTY3JvbGxYKCkgY29uc3Qg
eyByZXR1cm4gdW5vYnNjdXJlZENvbnRlbnRSZWN0KCkueCgpOyB9CkBAIC0yNjEsNyArMjYxLDcg
QEAgcHVibGljOgogICAgIFNjcm9sbFBvc2l0aW9uIGNhY2hlZFNjcm9sbFBvc2l0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9jYWNoZWRTY3JvbGxQb3NpdGlvbjsgfQogCiAgICAgLy8gRnVuY3Rpb25z
IGZvciBzY3JvbGxpbmcgdGhlIHZpZXcuCi0gICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpO
bywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAK
ICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsgcmV0dXJuIHNldFNjcm9sbFBv
c2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggNWJkYTg1N2JiOS4uMjBmYmU0MjY3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAKKyNp
bmNsdWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTc2
OSw0ICs3NzAsMTEgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6Y29tcHV0ZVNjcm9sbGJhclZhbHVl
QW5kT3ZlcmhhbmcoZmxvYXQgY3VycmVudFBvc2l0aW9uLCBmbG8KICAgICB9CiB9CiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbGFibGVBcmVhOjpzZXRTY3JvbGxF
bmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgc2Nyb2xsQW5p
bWF0b3IoKS5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApp
bmRleCBkMjAzYWViZTVjLi4zMzMxNjc5Yjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIEdyYXBoaWNz
Q29udGV4dDsKIGNsYXNzIExheW91dFBvaW50OwpAQCAtMzQ2LDYgKzM0NywxNiBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9u
TGVmdCgpIGNvbnN0ID0gMDsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2
aXJ0dWFsIHZvaWQgc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRp
b24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dCgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoYm9vbCkgeyB9CisgICAgdmlydHVhbCBTY3JvbGxhYmxlQXJlYSogZmluZEFuY2VzdG9yRHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZvaWQgc2V0
U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pOworI2VuZGlmCisKIHByb3Rl
Y3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxhYmxlQXJlYSgpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZpcnR1YWwgflNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCmluZGV4IDQwYmExYWUyMTcuLmUzYWI3NGJiMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC01ODEsNyArNTgxLDcgQEAgc3RhdGljIHZvaWQg
c2V0dXBXaGVlbEV2ZW50TW9uaXRvcihSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgbGF5ZXIuc2Ny
b2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS53aGVlbEV2ZW50VGVz
dE1vbml0b3IoKSk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdM
ZWZ0LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29s
IGFuaW1hdGVkKQordm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIFNj
cm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Ny
b2xsIGFuaW1hdGVkKQogewogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkp
CiAgICAgICAgIHJldHVybjsKQEAgLTU4OSw3ICs1ODksNyBAQCB2b2lkIFJlbmRlckJveDo6c2V0
U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZwogICAgIGxheWVyKCktPnNjcm9sbFRvWFBvc2l0aW9uKG5ld0xlZnQsIHNjcm9sbFR5cGUs
IGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxUb3Ao
aW50IG5ld1RvcCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1Rv
cCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0
ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5
ZXIoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTk3LDEyICs1OTcsMTYgQEAgdm9pZCBSZW5kZXJC
b3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nIGMKICAgICBsYXllcigpLT5zY3JvbGxUb1lQb3NpdGlvbihuZXdUb3AsIHNjcm9s
bFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3Jv
bGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Ny
b2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wgYW5pbWF0ZWQpCit2b2lkIFJl
bmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9u
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8ICFsYXll
cigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcigqbGF5ZXIo
KSk7Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9Qb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwg
Y2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
bGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5n
LCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKKyAgICBsYXll
cigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFu
aW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckJveDo6YWJzb2x1dGVSZWN0cyhWZWN0
b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggMjc1MjIwYjZiZS4u
ODE0MzQ0Zjc1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtMjQ3LDkg
KzI0Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBzY3JvbGxUb3AoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGludCBzY3JvbGxXaWR0aCgpIGNvbnN0OwogICAgIHZpcnR1YWwgaW50IHNjcm9s
bEhlaWdodCgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Ny
b2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBh
bmltYXRlZCA9IGZhbHNlKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Ny
b2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBh
bmltYXRlZCA9IGZhbHNlKTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Ny
b2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6
Tm8pOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBT
Y3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmlt
YXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CiAKICAgICBMYXlvdXRVbml0IG1hcmdp
blRvcCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWFyZ2luQm94LnRvcCgpOyB9CiAgICAg
TGF5b3V0VW5pdCBtYXJnaW5Cb3R0b20oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX21hcmdp
bkJveC5ib3R0b20oKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
aW5kZXggMjFmNTJiOTdkNy4uZDhjMGIxNTVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC0yNjIxLDI0ICsyNjIxLDQ3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OmFwcGx5UG9zdExheW91dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKQogICAgIG1fcG9zdExheW91
dFNjcm9sbFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OwogfQogCi12b2lkIFJlbmRlckxheWVyOjpz
Y3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRv
WFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBw
b3NpdGlvbih4LCBtX3Njcm9sbFBvc2l0aW9uLnkoKSk7Ci0gICAgc2Nyb2xsVG9Qb3NpdGlvbihw
b3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5
cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vs
c2UKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcs
IGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3Np
dGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKGlu
dCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmlt
YXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbihtX3Nj
cm9sbFBvc2l0aW9uLngoKSwgeSk7Ci0gICAgc2Nyb2xsVG9Qb3NpdGlvbihwb3NpdGlvbiwgc2Ny
b2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5n
LCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKKyAgICBzZXRT
Y3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsK
KyNlbmRpZgogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9s
bFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3Jv
bGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQs
IFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7Ci0gICAgaWYg
KGFuaW1hdGVkKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zm
c2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpOworI2lmICFF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgVU5VU0VEX1BBUkFNKHJlcXVlc3RTY3JvbGxF
bmRFdmVudCk7CisjZW5kaWYKKworICAgIGF1dG8gb2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0RnJvbVBv
c2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQgbmV3U2Nyb2xsT2Zmc2V0ID0gY2xh
bXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChvZmZz
ZXQpIDogb2Zmc2V0OworICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQor
ICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obmV3U2Nyb2xsT2Zmc2V0LCBzY3Jv
bGxUeXBlLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBzY3JvbGxUb09mZnNldChzY3Jv
bGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7Cisg
ICAgICAgIHNjcm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCwgc2Nyb2xsVHlwZSwgY2xhbXBp
bmcpOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChyZW5kZXJlcigp
LnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSAmJiByZXF1ZXN0U2Nyb2xsRW5k
RXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgaWYgKG5ld1Nj
cm9sbE9mZnNldCA9PSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgICAgIGFkZFBlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldCgpOworICAgICAgICBlbHNlIGlmIChhbmltYXRlZCA9PSBBbmltYXRl
ZFNjcm9sbDo6WWVzKQorICAgICAgICAgICAgc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRy
KHJlbmRlcmVyKCkuZWxlbWVudCgpKSk7CisgICAgfQorI2VuZGlmCiB9CiAKIFNjcm9sbE9mZnNl
dCBSZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3Jv
bGxPZmZzZXQpIGNvbnN0CkBAIC0yNjYxLDEzICsyNjg0LDE4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBTY3JvbGxU
eXBlIHNjCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwogCiAg
ICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCkgOiBzY3Jv
bGxPZmZzZXQ7Ci0gICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zm
c2V0KCkpCisgICAgU2Nyb2xsUG9zaXRpb24gY2xhbXBlZFNjcm9sbFBvc2l0aW9uID0gc2Nyb2xs
UG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpOworICAgIGlmIChjbGFtcGVk
U2Nyb2xsT2Zmc2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKSB7CisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgICAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY2xhbXBl
ZFNjcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAg
YXV0byBwcmV2aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50U2Nyb2xsVHlwZSgpOwogICAgIHNldEN1
cnJlbnRTY3JvbGxUeXBlKHNjcm9sbFR5cGUpOwogCi0gICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9z
aXRpb25VcGRhdGUoc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQp
LCBzY3JvbGxUeXBlLCBjbGFtcGluZykpCisgICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25V
cGRhdGUoY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZykpCiAgICAg
ICAgIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjbGFtcGVkU2Nyb2xsT2Zmc2V0LCBj
bGFtcGluZyk7CiAgICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0
dXM6Ok5vdEluQW5pbWF0aW9uKTsKIApAQCAtMjc5MSw2ICsyODE5LDEwIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKICAgICBpZiAo
RWxlbWVudCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpKQogICAgICAgICBlbGVtZW50
LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldCgqZWxlbWVudCk7CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0
aW9uKG1fc2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCisKICAgICBpZiAoc2Nyb2xsc092ZXJmbG93
KCkpCiAgICAgICAgIHZpZXcuZnJhbWVWaWV3KCkuZGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0KCk7CiAK
QEAgLTI4MzYsMTMgKzI4NjgsMTggQEAgYm9vbCBSZW5kZXJMYXllcjo6YWxsb3dzQ3VycmVudFNj
cm9sbCgpIGNvbnN0CiAgICAgcmV0dXJuIGJveC0+aGFzSG9yaXpvbnRhbE92ZXJmbG93KCkgfHwg
Ym94LT5oYXNWZXJ0aWNhbE92ZXJmbG93KCk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9s
bFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lk
ZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9ucywgQXV0b3Nj
cm9sbFN0YXR1cyBhdXRvc2Nyb2xsU3RhdHVzKQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVj
dFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4
ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRpb25zLCBSZXF1ZXN0U2Ny
b2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KQogewogICAgIExPR19XSVRIX1NUUkVB
TShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiTGF5ZXIgIiA8PCB0aGlzIDw8ICIgc2Nyb2xsUmVjdFRv
VmlzaWJsZSAiIDw8IGFic29sdXRlUmVjdCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgYm9vbCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCA9IHJlbmRlcmVyKCkuc2V0dGlu
Z3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpOworI2VuZGlmCisKICAgICBMYXlvdXRSZWN0
IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5k
ZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xv
c2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8p
OworICAgIGJvb2wgYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgPSAhcmVuZGVyZXIoKS5mcmFtZSgp
LmV2ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCk7CiAKICAgICBpZiAoYWxsb3dz
Q3VycmVudFNjcm9sbCgpKSB7CiAgICAgICAgIC8vIERvbid0IHNjcm9sbCB0byByZXZlYWwgYW4g
b3ZlcmZsb3cgbGF5ZXIgdGhhdCBpcyByZXN0cmljdGVkIGJ5IHRoZSAtd2Via2l0LWxpbmUtY2xh
bXAgcHJvcGVydHkuCkBAIC0yODYxLDggKzI4OTgsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5z
aWQKICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9s
bE9mZnNldChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShyb3VuZGVkSW50UmVjdChyZXZlYWxS
ZWN0KS5sb2NhdGlvbigpKSk7CiAgICAgICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNj
cm9sbE9mZnNldCgpIHx8IGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpICE9IFNjcm9sbEJl
aGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbikgewogICAgICAgICAgICAgU2Nyb2xsT2Zmc2V0
IG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwotICAgICAgICAgICAgYm9vbCBhbmlt
YXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9ncmVz
cyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgYm94LT5lbGVtZW50KCkp
OwotICAgICAgICAgICAgc2Nyb2xsVG9Qb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQo
Y2xhbXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFu
aW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgICAgICAgICAgaWYgKGF1dG9zY3JvbGxO
b3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBib3gt
PmVsZW1lbnQoKSkpCisgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6
WWVzOworICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zm
c2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9s
bENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorICAgICAgICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIGFuaW1hdGVk
ID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMgJiYgY2xhbXBlZFNjcm9sbE9mZnNldCAhPSBzY3JvbGxP
ZmZzZXQoKSkKKyAgICAgICAgICAgICAgICBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcodHJ1
ZSk7CisjZW5kaWYKICAgICAgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSA9
IGNsYW1wZWRTY3JvbGxPZmZzZXQgLSBvbGRTY3JvbGxPZmZzZXQ7CiAgICAgICAgICAgICBsb2Nh
bEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CiAgICAgICAgICAgICBu
ZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKEZs
b2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNlVHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7
CkBAIC0yODg4LDkgKzI5MzEsMjEgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAg
ICAgICAgICBzY3JvbGxQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9uLmNvbnN0cmFpbmVkQmV0d2Vl
bihJbnRQb2ludCgpLCBJbnRQb2ludChmcmFtZVZpZXcuY29udGVudHNTaXplKCkpKTsKICAgICAg
ICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBjb250ZW50RG9jdW1lbnQoKS0+c2Ny
b2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAgYm9vbCBhbmlt
YXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9ncmVz
cyAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpICYmIHVzZVNtb290aFNjcm9sbGlu
ZyhvcHRpb25zLmJlaGF2aW9yLCBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpLT5kb2N1
bWVudEVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQg
PSBBbmltYXRlZFNjcm9sbDo6Tm87CisgICAgICAgICAgICAgICAgaWYgKGF1dG9zY3JvbGxOb3RJ
blByb2dyZXNzCisgICAgICAgICAgICAgICAgICAgICYmIG93bmVyRWxlbWVudC0+Y29udGVudERv
Y3VtZW50KCkKKyAgICAgICAgICAgICAgICAgICAgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIG93bmVyRWxlbWVudC0+Y29udGVudERvY3VtZW50KCktPmRvY3VtZW50RWxl
bWVudCgpKSkKKyAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6
WWVzOwogICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQ
b3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKIAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBzY3JvbGxQb3Np
dGlvbiAhPSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAgICAgICAgICAg
ICBmcmFtZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOworICAgICAgICAg
ICAgICAgICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRF
dmVudDo6WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbEVu
ZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAg
ICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3Jv
bGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkg
ewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogZW5jbG9zaW5nTGF5ZXIgPSBvd25lckVs
ZW1lbnQtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkpCiAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0xheWVyLT5lbmNsb3NpbmdTY3JvbGxhYmxlTGF5
ZXIoSW5jbHVkZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpO
byk7CkBAIC0yOTMxLDggKzI5ODYsMTcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRv
VmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAg
ICAgICAgICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbFBvc2l0aW9uID0gcm91bmRlZElu
dFBvaW50KHJldmVhbFJlY3QubG9jYXRpb24oKSkuY29uc3RyYWluZWRCZXR3ZWVuKG1pblNjcm9s
bFBvc2l0aW9uLCBtYXhTY3JvbGxQb3NpdGlvbik7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAg
ICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1
MDU5Ci0gICAgICAgICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0g
QXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0
aW9ucy5iZWhhdmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKTsK
KyAgICAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xs
OjpObzsKKyAgICAgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNl
U21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5k
b2N1bWVudEVsZW1lbnQoKSkpCisgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5pbWF0
ZWRTY3JvbGw6OlllczsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRp
b24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0
ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBpZiAo
b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6Olll
cyAmJiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gIT0gZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldER1cmluZ1Njcm9sbFJlY3RJbnRv
Vmlldyh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3RTY3JvbGxFbmRFdmVu
dCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykKKyAgICAgICAgICAgICAgICAgICAgICAg
IGZyYW1lVmlldy5zZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWVWaWV3LmZyYW1l
KCkuZG9jdW1lbnQoKSkpOworICAgICAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBw
YWdlLCBzbyBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCkBAIC0yOTQ0LDggKzMwMDgsMjYg
QEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0
JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBp
ZiAocGFyZW50TGF5ZXIpCisgICAgaWYgKHBhcmVudExheWVyKSB7CiAgICAgICAgIHBhcmVudExh
eWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKG5ld1JlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZl
bnRzRW5hYmxlZCAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2
ZW50OjpZZXMpIHsKKyAgICAgICAgICAgIENvbnRhaW5lck5vZGUqIHRhcmdldCA9IHJlbmRlcmVy
KCkuZWxlbWVudCgpOworICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5zY3Jv
bGxpbmdFbGVtZW50KCkgPT0gdGFyZ2V0KQorICAgICAgICAgICAgICAgIHRhcmdldCA9ICZyZW5k
ZXJlcigpLmRvY3VtZW50KCk7CisKKyAgICAgICAgICAgIGlmIChkdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcoKSkKKyAgICAgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIo
dGFyZ2V0KSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBkdXJp
bmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldygpOworICAgICAgICAgICAgICAgIGlmIChkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllcikK
KyAgICAgICAgICAgICAgICAgICAgZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXItPnNldFNjcm9s
bEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXQoKnRhcmdldCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRp
ZgorICAgIH0KIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNB
ZnRlclNjcm9sbCgpCkBAIC0zMDcxLDcgKzMxNTMsNyBAQCBMYXlvdXRSZWN0IFJlbmRlckxheWVy
OjpnZXRSZWN0VG9FeHBvc2UoY29uc3QgTGF5b3V0UmVjdCYgdmlzaWJsZVJlY3QsIGNvbnN0IExh
eQogdm9pZCBSZW5kZXJMYXllcjo6YXV0b3Njcm9sbChjb25zdCBJbnRQb2ludCYgcG9zaXRpb25J
bldpbmRvdykKIHsKICAgICBJbnRQb2ludCBjdXJyZW50RG9jdW1lbnRQb3NpdGlvbiA9IHJlbmRl
cmVyKCkudmlldygpLmZyYW1lVmlldygpLndpbmRvd1RvQ29udGVudHMocG9zaXRpb25JbldpbmRv
dyk7Ci0gICAgc2Nyb2xsUmVjdFRvVmlzaWJsZShMYXlvdXRSZWN0KGN1cnJlbnREb2N1bWVudFBv
c2l0aW9uLCBMYXlvdXRTaXplKDEsIDEpKSwgZmFsc2UsIHsgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6
UmV2ZWFsLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQsIFNjcm9sbEFsaWdu
bWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGlu
Zzo6WWVzIH0sIEF1dG9zY3JvbGxTdGF0dXM6OkluUHJvZ3Jlc3MpOworICAgIHNjcm9sbFJlY3RU
b1Zpc2libGUoTGF5b3V0UmVjdChjdXJyZW50RG9jdW1lbnRQb3NpdGlvbiwgTGF5b3V0U2l6ZSgx
LCAxKSksIGZhbHNlLCB7IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgU2Nyb2xsQWxpZ25t
ZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZO
ZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB9KTsKIH0KIAogYm9v
bCBSZW5kZXJMYXllcjo6Y2FuUmVzaXplKCkgY29uc3QKQEAgLTcwMjYsNiArNzEwOCw0OSBAQCB2
b2lkIFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdpb24oKQogI2VuZGlmCiB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFJlbmRlckxheWVyOjpzYXZlU2Nyb2xs
RW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbENs
YW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghcmVuZGVyZXIoKS5zZXR0aW5ncygpLm92ZXJz
Y3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gb2Zmc2V0
ID0gc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQg
Y2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
ID8gY2xhbXBTY3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsKKyAgICBtX2ZpcmVTY3JvbGxF
bmRFdmVudEF0UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9s
bE9mZnNldCk7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCit7CisgICAgaWYgKCFtX2ZpcmVT
Y3JvbGxFbmRFdmVudEF0UG9zaXRpb24gfHwgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9u
LnZhbHVlKCkgIT0gcG9zaXRpb24pCisgICAgICAgIHJldHVybjsKKworICAgIGFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCgpOworCisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0
aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2b2lkIFJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Ny
b2xsRW5kRXZlbnRUYXJnZXQoKQoreworICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVy
ZXIoKS5lbGVtZW50KCkpCisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0KCplbGVtZW50KTsKK30KKworU2Nyb2xsYWJsZUFyZWEqIFJlbmRl
ckxheWVyOjpmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKQoreworICAgIGF1
dG8qIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnRoaXMsIENy
b3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgd2hpbGUgKHBhcmVudExheWVyKSB7CisgICAg
ICAgIGlmIChwYXJlbnRMYXllci0+ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkpCisgICAgICAg
ICAgICByZXR1cm4gcGFyZW50TGF5ZXI7CisgICAgICAgIHBhcmVudExheWVyID0gZW5jbG9zaW5n
Q29udGFpbmluZ0Jsb2NrTGF5ZXIoKnBhcmVudExheWVyLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6
Tm8pOworICAgIH0KKworICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3
KCkuZnJhbWVWaWV3KCk7CisgICAgaWYgKGZyYW1lVmlldy5kdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoKSkKKyAgICAgICAgcmV0dXJuICZmcmFtZVZpZXc7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisjZW5kaWYKKwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mIHRzLCBD
bGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUpCiB7CiAgICAgc3dpdGNoIChjbGlwUmVjdHNUeXBl
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGQxMTM5M2UwN2Qu
LjUwMWNjNmIxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00
NTAsOSArNDUwLDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2Nyb2xsVG9P
ZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlByb2dy
YW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oY29uc3QgU2Ny
b2xsT2Zmc2V0JiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xs
Q2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CiAKLSAgICB2b2lkIHNjcm9sbFRv
WFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOwotICAgIHZvaWQgc2Nyb2xsVG9Z
UG9zaXRpb24oaW50IHksIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSk7Ci0gICAgdm9pZCBzY3JvbGxUb1Bv
c2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcg
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKKyAgICB2
b2lkIHNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9
IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xs
OjpObyk7CisgICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBB
bmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNj
cm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICAvLyBUaGVz
ZSBhcmUgb25seSB1c2VkIGJ5IG1hcnF1ZWUuCiAgICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50
IHgpIHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSks
IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0K
QEAgLTQ2Niw5ICs0NjYsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGF2YWlsYWJsZUNvbnRlbnRT
aXplQ2hhbmdlZChBdmFpbGFibGVTaXplQ2hhbmdlUmVhc29uKSBmaW5hbDsKIAotICAgIGVudW0g
QXV0b3Njcm9sbFN0YXR1cyB7IE5vdEluUHJvZ3Jlc3MsIEluUHJvZ3Jlc3MgfTsKICAgICAvLyAi
YWJzb2x1dGVSZWN0IiBpcyBpbiBzY2FsZWQgZG9jdW1lbnQgY29vcmRpbmF0ZXMuCi0gICAgdm9p
ZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9v
bCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmLCBBdXRvc2Ny
b2xsU3RhdHVzID0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9ncmVzcyk7CisgICAgdm9pZCBz
Y3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBp
bnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmLCBSZXF1ZXN0U2Ny
b2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIGJvb2wgc2Ny
b2xsc092ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNTY3JvbGxhYmxlSG9yaXpvbnRhbE92
ZXJmbG93KCkgY29uc3Q7CkBAIC05MjYsNiArOTI1LDE1IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
aW52YWxpZGF0ZUV2ZW50UmVnaW9uKCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgdm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAg
IHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikg
ZmluYWw7CisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsK
KyAgICBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcg
PSBzY3JvbGxpbmc7IH0KKyAgICBTY3JvbGxhYmxlQXJlYSogZmluZEFuY2VzdG9yRHVyaW5nU2Ny
b2xsUmVjdEludG9WaWV3KCkgZmluYWw7CisjZW5kaWYKKwogcHJpdmF0ZToKIAogICAgIHZvaWQg
c2V0TmV4dFNpYmxpbmcoUmVuZGVyTGF5ZXIqIG5leHQpIHsgbV9uZXh0ID0gbmV4dDsgfQpAQCAt
MTI4Miw2ICsxMjkwLDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xheWVyTGlzdE11dGF0aW9u
QWxsb3dlZCA6IDE7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICBib29sIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IDogMTsKKyNlbmRpZgorCiAjaWYgRU5B
QkxFKENTU19DT01QT1NJVElORykKICAgICB1bnNpZ25lZCBtX2JsZW5kTW9kZSA6IDU7IC8vIEJs
ZW5kTW9kZQogICAgIGJvb2wgbV9oYXNOb3RJc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2Nl
bmRhbnRzIDogMTsKQEAgLTEzNTcsNiArMTM2OSwxMCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFJlbmRlckxheWVyRmlsdGVycz4gbV9maWx0ZXJzOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxSZW5kZXJMYXllckJhY2tpbmc+IG1fYmFja2luZzsKKworI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3NpdGlvbj4gbV9maXJlU2Nyb2xsRW5k
RXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCiAgICAgCiAgICAgUGFpbnRGcmVxdWVuY3lUcmFja2Vy
IG1fcGFpbnRGcmVxdWVuY3lUcmFja2VyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcAppbmRleCA3NzhkZjM4MjNjLi40YWRhZTIyZjM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC03NDMsNyArNzQzLDcgQEAg
aW50IFJlbmRlckxpc3RCb3g6OnNjcm9sbExlZnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQog
Ci12b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9sbExlZnQoaW50LCBTY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZywgYm9vbCkKK3ZvaWQgUmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsTGVmdChpbnQs
IFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkKIHsKIH0KIApAQCAt
NzYwLDcgKzc2MCw3IEBAIHN0YXRpYyB2b2lkIHNldHVwV2hlZWxFdmVudFRlc3RNb25pdG9yKFJl
bmRlckxpc3RCb3gmIHJlbmRlcmVyKQogICAgIHJlbmRlcmVyLnNjcm9sbEFuaW1hdG9yKCkuc2V0
V2hlZWxFdmVudFRlc3RNb25pdG9yKHJlbmRlcmVyLnBhZ2UoKS53aGVlbEV2ZW50VGVzdE1vbml0
b3IoKSk7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3As
IFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBib29sKQordm9pZCBSZW5kZXJMaXN0Qm94Ojpz
ZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1h
dGVkU2Nyb2xsKQogewogICAgIC8vIERldGVybWluZSBhbiBpbmRleCBhbmQgc2Nyb2xsIHRvIGl0
LiAgICAKICAgICBpbnQgaW5kZXggPSBuZXdUb3AgLyBpdGVtSGVpZ2h0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAppbmRleCBmNDg1ODBhNGM3Li5iNGUyNmE5NDE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKQEAgLTEwNiw4ICsx
MDYsOCBAQCBwcml2YXRlOgogICAgIGludCBzY3JvbGxUb3AoKSBjb25zdCBvdmVycmlkZTsKICAg
ICBpbnQgc2Nyb2xsV2lkdGgoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsSGVpZ2h0
KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wpIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xsVG9w
KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wpIG92ZXJyaWRlOworICAgIHZv
aWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBl
LCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpIG92ZXJyaWRlOwogCiAgICAgYm9vbCBu
b2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBI
aXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBh
Y2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZDU2MDI4NzUyNi4uMGE0NjA2NDQz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTQyNyw3
ICs0MjcsMTEgQEAgYm9vbCBSZW5kZXJPYmplY3Q6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3Qg
TGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2kKICAgICBpZiAoIWVuY2xvc2luZ0xh
eWVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgZW5jbG9zaW5nTGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUoYWJzb2x1dGVSZWN0
LCBpbnNpZGVGaXhlZCwgb3B0aW9ucywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vs
c2UKICAgICBlbmNsb3NpbmdMYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZVJlY3Qs
IGluc2lkZUZpeGVkLCBvcHRpb25zKTsKKyNlbmRpZgogICAgIHJldHVybiB0cnVlOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwCmluZGV4IDc0YTgwYjA2ODcuLjE2NjAyMTczMDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUu
Y3BwCkBAIC0zODAsMTMgKzM4MCwxMyBAQCBpbnQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
OjpzY3JvbGxUb3AoKSBjb25zdAogICAgIHJldHVybiBSZW5kZXJCbG9ja0Zsb3c6OnNjcm9sbFRv
cCgpOwogfQogCi12b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVm
dChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wpCit2b2lkIFJl
bmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgU2Ny
b2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQogewogICAgIGlmIChpbm5l
clRleHRFbGVtZW50KCkpCiAgICAgICAgIGlubmVyVGV4dEVsZW1lbnQoKS0+c2V0U2Nyb2xsTGVm
dChuZXdMZWZ0KTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNldFNj
cm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkKK3Zv
aWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwg
U2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQogewogICAgIGlmIChp
bm5lclRleHRFbGVtZW50KCkpCiAgICAgICAgIGlubmVyVGV4dEVsZW1lbnQoKS0+c2V0U2Nyb2xs
VG9wKG5ld1RvcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKaW5kZXggZmQ2MzMwMTllZC4uMjVhMmM5NmQ1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuaApAQCAtNTcsOCArNTcsOCBAQCBwcml2YXRlOgogICAgIGludCBzY3JvbGxUb3Ao
KSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsV2lkdGgoKSBjb25zdCBvdmVycmlkZTsK
ICAgICBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3Jv
bGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wpIG92ZXJyaWRlOwot
ICAgIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJv
b2wpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNj
cm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3Jv
bGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpIG92
ZXJyaWRlOwogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJp
dHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQgPSBudWxscHRy
LCBSZW5kZXJCb3gqIHN0YXJ0Qm94ID0gbnVsbHB0ciwgY29uc3QgSW50UG9pbnQmIHdoZWVsRXZl
bnRBYnNvbHV0ZVBvaW50ID0gSW50UG9pbnQoKSkgZmluYWw7CiAgICAgYm9vbCBsb2dpY2FsU2Ny
b2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0
aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCkgZmluYWw7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggM2Q4OTVmM2MzMC4uYmQ1NjdhZGYzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAy
MC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmll
d2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdh
bmcncyBwYXRjaC4KKworICAgICAgICBBZGQgRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTLgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAg
ICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjAtMDQtMDMgIERhdmlkIEtpbHpl
ciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OntyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQsYnVmZmVyRm9yVHlwZX0gc2hvdWxkIHZhbGlkYXRl
IHRoZWlyIGBzaXplYCBwYXJhbWV0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGVmZmM3MmI2YjEuLmNiYzk5ODYz
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtMjk3LDYgKzI5Nyw4IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFT
ID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9X
X1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NS
T0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNI
OwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7
CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBF
TkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVS
RV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00MTcsNCArNDE5LDQgQEAgRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RV
UkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChF
TkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFM
RV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZT
Q1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVf
U0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5B
QkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9B
UElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0Nf
TE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5B
QkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNI
RV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVf
V0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NS
RUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9P
VkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFC
TEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChF
TkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tF
WUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVO
QUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGY1NDQ4Mzc2YTMu
LmMyYTVjMGM2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApA
QCAtMTU3Myw2ICsxNTczLDE0IEBAIEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRF
bmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJNYXAgSFRNTCBhdHRyaWJ1dGVz
IHdpZHRoL2hlaWdodCB0byB0aGUgZGVmYXVsdCBhc3BlY3QgcmF0aW8gb2YgPGltZz4iCiAgIGNh
dGVnb3J5OiBleHBlcmltZW50YWwKIAorT3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6CisgIHR5cGU6
IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIk92ZXJz
Y3JvbGwgZXZlbnRzIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgdGhlIG9u
c2Nyb2xsZW5kIGFuZCBzY3JvbGxlbmQgZXZlbnRzIgorICBjYXRlZ29yeTogZXhwZXJpbWVudGFs
CisgIGNvbmRpdGlvbjogRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorCiAjIEZvciBpbnRlcm5h
bCBmZWF0dXJlczoKICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xlYW4uCiAjIFlvdSBtdXN0IHBy
b3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uIGZv
ciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCBjY2E1ZmQ3MjRiLi4xOTA0YjhhODM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJz
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4
MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFz
ZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIG92ZXJzY3JvbGxF
dmVudHNFbmFibGVkIFdlYlByZWZlcmVuY2Ugc2V0dGluZy4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtX
ZWJQcmVmZXJlbmNlcyBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQ
cmVmZXJlbmNlcyBzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04gRkFJTEVEOiBtX3ZpZGVvRnVsbHNj
cmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUgc2VlbiB3aXRoIFRlc3RXZWJLaXRB
UEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IGVmZmM3MmI2YjEuLmNiYzk5ODYzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMg
PSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1df
U0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7
CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsK
KwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVO
QUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsK
IAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZF
U1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVS
RV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVO
QUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikg
JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FD
SEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxF
X1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlND
UkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVf
UEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
SEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQ
SV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChF
TkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNU
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19M
T09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVf
SU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFC
TEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQo
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
RVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hF
X1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9X
SElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JF
RU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09W
RVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJM
RV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZ
Qk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4OTUwMi4uODVmMTM1NjVlOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCkBAIC0yMTAsNiArMjEwLDcgQEAKICNkZWZpbmUgV2ViS2l0Q1NTU2hhZG93
UGFydHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZCIK
ICNkZWZpbmUgV2ViS2l0TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVu
YWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
V2ViU1FMRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQiCiAKICNpZiAhVEFSR0VU
X09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hv
dWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMDI3
OTM5NDMwOC4uYzQ3YWExYzAzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC03MTQsNiArNzE0LDkgQEAgcHVibGljOgogICAg
ICAgICBATk8sIFdlYktpdEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVk
UHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgQFlFUywgV2ViS2l0RGVidWdOZWVkc0luQXBwQnJvd3NlclByaXZhY3lR
dWlya3NQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAg
ICAgQE5PLCBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXksCisjZW5k
aWYKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMzY4MCw2
ICszNjgzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAg
ICBbc2VsZiBfc2V0Qm9vbFZhbHVlOndlYlNRTEVuYWJsZWQgZm9yS2V5OldlYktpdFdlYlNRTEVu
YWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClvdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdE92ZXJzY3JvbGxF
dmVudHNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBm
b3JLZXk6V2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwog
QGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYkludGVybmFsKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgKaW5kZXggYTg0NTQ5ZDRhYi4uN2ZmNzMxOWQ4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBA
IC02ODgsNiArNjg4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ7CiBAcHJvcGVydHkg
KG5vbmF0b21pYykgQk9PTCBhc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxl
ZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkOwog
CiAjaWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcXVpY2tM
b29rRG9jdW1lbnRTYXZpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IGQxMTc3N2RiNmUuLmYwNjQ1NTdjMDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMwMTUsNiArMzAxNSw5IEBAIHN0
YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBzZXR0aW5n
cy5zZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NPTVZpZXdT
Y3JvbGxpbmdBUElFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0Q1NTT01WaWV3U21vb3RoU2Ny
b2xsaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxl
ZF0pOwogICAgIHNldHRpbmdzLnNldE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVT
dXBwb3J0KFtwcmVmZXJlbmNlcyBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3Vw
cG9ydF0pOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXR0aW5ncy5zZXRP
dmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChbcHJlZmVyZW5jZXMgb3ZlcnNjcm9sbEV2ZW50c0VuYWJs
ZWRdKTsKKyNlbmRpZgogCiAgICAgc3dpdGNoIChbcHJlZmVyZW5jZXMgc3RvcmFnZUJsb2NraW5n
UG9saWN5XSkgewogICAgIGNhc2UgV2ViQWxsb3dBbGxTdG9yYWdlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCmluZGV4IGZhM2E1NzZlYzUuLmVkMjY2NzNiOGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxj
YXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3Jv
bGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4K
KworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBB
ZGQgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgV2ViUHJlZmVyZW5jZSBzZXR0aW5nLgorCisgICAg
ICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBX
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6
CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6Cisg
ICAgICAgIChXZWJQcmVmZXJlbmNlczo6b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQpOgorICAgICAg
ICAoV2ViUHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKToKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2Vi
Vmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAyMC0wNC0wMyAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBTUEkgdG8g
bWFrZSBXS1VzZXJTY3JpcHRzIHdhaXQgZm9yIGEgbm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aWRsIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmlkbAppbmRleCBkZmZkOTRkZDg2Li42NWNmM2FkOTdmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwKQEAgLTI2NSw0ICsyNjUsNyBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZTggOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNwogewogICAgIEhSRVNVTFQgYWxsb3dU
b3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAg
IEhSRVNVTFQgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5dIEJPT0wgZW5hYmxl
ZCk7CisgICAgSFJFU1VMVCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChbb3V0LCByZXR2YWxdIEJP
T0wqKTsKKyAgICBIUkVTVUxUIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKFtpbl0gQk9PTCBl
bmFibGVkKTsKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAppbmRleCAxN2JjZjliZTE4Li4wNGFlYjZjN2JhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAt
MjI3LDMgKzIyNyw1IEBACiAjZGVmaW5lIFdlYktpdEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhB
bmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0QXNwZWN0UmF0aW9PZkltZ0Zyb21X
aWR0aEFuZEhlaWdodEVuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZl
cmVuY2VLZXkgIldlYktpdFdlYlNRTEVuYWJsZWQiCisKKyNkZWZpbmUgV2ViS2l0T3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNw
cCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBkZDI5
ZTkyMzZjLi4xODRiMmM4YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZXMuY3BwCkBAIC0zNTQsNiArMzU0LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlh
bGl6ZURlZmF1bHRTZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFs
c2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdE92
ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisK
ICAgICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKICNlbmRpZgogfQpAQCAtMjQ3MCw2ICsy
NDcyLDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFdlYlNRTEVuYWJsZWQoQk9PTCBl
bmFibGVkKQogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpv
dmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICgh
ZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xW
YWx1ZUZvcktleShXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXkpOwor
ICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRPdmVyc2Ny
b2xsRXZlbnRzRW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktp
dE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0
dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OmFsbG93VG9wTmF2aWdhdGlv
blRvRGF0YVVSTHMoX091dF8gQk9PTCogYWxsb3dBY2Nlc3MpCiB7CiAgICAgaWYgKCFhbGxvd0Fj
Y2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2Vz
LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGEzMWJh
MDNhODIuLjcwOThlZTExOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5j
ZXMuaApAQCAtMzA3LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQ
cml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5h
dmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09MKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgb3ZlcnNjcm9sbEV2ZW50c0VuYWJs
ZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChCT09MKTsKIAogICAgIC8vIFdlYlByZWZlcmVuY2Vz
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggOWJjZTM2OGFkYi4uMjE1ODcx
MGEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTU2NzAsNiArNTY3MCwx
MSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChJV2ViTm90aWZp
Y2F0aW9uKiBub3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybiBocjsKICAgICBzZXR0aW5ncy5z
ZXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCghIWVuYWJsZWQpOwog
CisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCZlbmFibGVk
KTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdz
LnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCEhZW5hYmxlZCk7CisKICAgICByZXR1cm4gU19P
SzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IGI1OTE5NjUxMTkuLjZmNzFh
NThhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysg
Yi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTE4MSw2ICsxODEsNyBAQCBt
YWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9PRkZTQ1JFRU5fQ0FOVkFTICJUb2dnbGUgT2Zmc2NyZWVuQ2FudmFzIHN1cHBvcnQiIFBSSVZB
VEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PUklFTlRBVElPTl9FVkVO
VFMgIlRvZ2dsZSBPcmllbnRhdGlvbiBFdmVudHMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCAiVG9n
Z2xlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzdXBwb3J0IiBQUklWQVRFIE9GRikKKyAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgIlRvZ2dsZSBvdmVyc2Ny
b2xsIGV2ZW50cyIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCAiVG9nZ2xlIFBheW1lbnQgUmVxdWVzdCBzdXBwb3J0IiBQUklWQVRF
IE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUERGS0lUX1BMVUdJTiAiVG9n
Z2xlIFBERktpdCBwbHVnaW4gc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgIlRvZ2dsZSBQaWN0dXJlLWlu
LVBpY3R1cmUgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU4OWE5NGIzZGMuLmJiZjZmYTkwMzYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMyBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBG
csOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBEZWFsIHdpdGggb3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHA6
CisgICAgICAgIChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMpOgorICAg
ICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMjAtMDQtMDQgIFBlbmcg
TGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjU5MDk1
KTogQVNTRVJUSU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3JlZW5Nb2RlICE9IFZpZGVvRnVsbHNj
cmVlbk1vZGVOb25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJLldlYktpdExlZ2FjeS5BdWRpb1Nl
c3Npb25DYXRlZ29yeUlPUwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9w
dGlvbnMuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCmluZGV4IDI5
MDYwNmEyNTUuLmEzMTIyMTVhZDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RPcHRpb25zLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAK
QEAgLTE1Niw2ICsxNTYsOCBAQCBUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMoY29uc3Qgc3RkOjpz
dHJpbmcmIHBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcmIGFic29sdQogICAgICAgICAgICAg
ZW5hYmxlQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodCA9IHBhcnNlQm9vbGVhblRl
c3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGVsc2UgaWYgKGtleSA9PSAiYWxsb3dUb3BO
YXZpZ2F0aW9uVG9EYXRhVVJMcyIpCiAgICAgICAgICAgICBhbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAgICAgZWxz
ZSBpZiAoa2V5ID09ICJleHBlcmltZW50YWw6T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQiKQorICAg
ICAgICAgICAgZW5hYmxlT3ZlcnNjcm9sbEV2ZW50cyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJW
YWx1ZSh2YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCmluZGV4IGFlNGJhNGFkNWQuLjAxY2YzNDYwYTAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaApAQCAtNTgsNiArNTgsNyBAQCBzdHJ1Y3Qg
VGVzdE9wdGlvbnMgewogICAgIGJvb2wgZW5hYmxlQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFu
ZEhlaWdodCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVXZWJTUUwgeyB0cnVlIH07CiAgICAg
Ym9vbCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIHsgdHJ1ZSB9OworICAgIGJvb2wgZW5h
YmxlT3ZlcnNjcm9sbEV2ZW50cyB7IGZhbHNlIH07CiAgICAgc3RkOjpzdHJpbmcganNjT3B0aW9u
czsKICAgICBzdGQ6OnN0cmluZyBhZGRpdGlvbmFsU3VwcG9ydGVkSW1hZ2VUeXBlczsKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDBiNzQ0NDk1MjEu
LjBlZDMxZmI2MGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KQEAgLTg4Niw2ICs4ODYsNyBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmltZW50YWxGZWF0
dXJlcyhXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgW3ByZWZlcmVuY2VzIHNldENT
U1NoYWRvd1BhcnRzRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRBc3BlY3RSYXRp
b09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2Vz
IHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkOllFU107CiB9CiAKIC8vIENhbGxlZCBiZWZvcmUg
ZWFjaCB0ZXN0LgpAQCAtMTA0NCw2ICsxMDQ1LDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVy
ZW5jZXNGb3JUZXN0T3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICBwcmVm
ZXJlbmNlcy5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCA9IG9wdGlv
bnMubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQ7CiAgICAgcHJlZmVy
ZW5jZXMuYXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQgPSBvcHRpb25z
LmVuYWJsZUFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHQ7CiAgICAgcHJlZmVyZW5j
ZXMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyA9IG9wdGlvbnMuYWxsb3dUb3BOYXZpZ2F0
aW9uVG9EYXRhVVJMczsKKyAgICBwcmVmZXJlbmNlcy5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCA9
IG9wdGlvbnMuZW5hYmxlT3ZlcnNjcm9sbEV2ZW50czsKIH0KIAogLy8gQ2FsbGVkIG9uY2Ugb24g
RHVtcFJlbmRlclRyZWUgc3RhcnR1cC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbQppbmRleCA3NjNhYTJlODMyLi4zNDgxNGMzM2I2IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
ZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0xMzgsNiArMTM4LDcgQEAgbXkgKAogICAgICRvZmZzY3Jl
ZW5DYW52YXNTdXBwb3J0LAogICAgICRvcmllbnRhdGlvbkV2ZW50c1N1cHBvcnQsCiAgICAgJG92
ZXJmbG93U2Nyb2xsaW5nVG91Y2hTdXBwb3J0LAorICAgICRvdmVyc2Nyb2xsRXZlbnRzU3VwcG9y
dCwKICAgICAkcGF5bWVudFJlcXVlc3RTdXBwb3J0LAogICAgICRwZGZraXRQbHVnaW5TdXBwb3J0
LAogICAgICRwaWN0dXJlSW5QaWN0dXJlQVBJU3VwcG9ydCwKQEAgLTQ2NCw2ICs0NjUsOSBAQCBt
eSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gIm92ZXJmbG93LXNjcm9sbGluZy10b3Vj
aCIsIGRlc2MgPT4gIlRvZ2dsZSBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgc3VwcG9ydCIsCiAgICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0giLCB2YWx1ZSA9PiBc
JG92ZXJmbG93U2Nyb2xsaW5nVG91Y2hTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAib3Zl
cnNjcm9sbC1ldmVudHMiLCBkZXNjID0+ICJFbmFibGUgT3ZlcnNjcm9sbCBFdmVudHMgc3VwcG9y
dCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyIsIHZhbHVlID0+
IFwkb3ZlcnNjcm9sbEV2ZW50c1N1cHBvcnQgfSwKKwogICAgIHsgb3B0aW9uID0+ICJwYXltZW50
LXJlcXVlc3QiLCBkZXNjID0+ICJUb2dnbGUgUGF5bWVudCBSZXF1ZXN0IHN1cHBvcnQiLAogICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfUEFZTUVOVF9SRVFVRVNUIiwgdmFsdWUgPT4gXCRwYXltZW50
UmVxdWVzdFN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZWZmYzcyYjZiMS4u
Y2JjOTk4NjNjMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5B
QkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNI
ID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsK
IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVS
RkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJM
RV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFC
TEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0
ICs0MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFC
TEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0la
RV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VS
VkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJE
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFU
RV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVN
T1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVf
TkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
TkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJP
WF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9S
RVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395806</attachid>
            <date>2020-04-08 07:13:36 -0700</date>
            <delta_ts>2020-04-09 05:25:27 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-006-review.diff</filename>
            <type>text/plain</type>
            <size>58803</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNmYxMjRmODVlLi5jNzIxZWViYzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MjAtMDQtMDggIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIwLTA0LTA0ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTA5NSk6IEFTU0VSVElPTiBGQUlMRUQ6IG1f
dmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSBzZWVuIHdpdGgg
VGVzdFdlYktpdEFQSS5XZWJLaXRMZWdhY3kuQXVkaW9TZXNzaW9uQ2F0ZWdvcnlJT1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGViMTY5MzNiOGYuLjkxMjhhYjRkOGEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTY0LDcgKzE2NCwxNSBAQCBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kv
IFsgU2tpcCBdCiBmYXN0L2hhcm5lc3MvdWlzY3JpcHRjb250cm9sbGVyIFsgU2tpcCBdCiAKICMg
T25seSBpT1MgaGFzIGFuIGltcGxlbWVudGF0aW9uIG9mIFVJU2NyaXB0Q29udHJvbGxlcjo6c2Vu
ZEV2ZW50U3RyZWFtKCkuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvc2Nyb2xsaW5nIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRt
bCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWVsZW1lbnQtd2l0aC1vdmVyc2Nyb2xs
LWJlaGF2aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1l
bGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBb
IFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtYWZ0ZXItc25hcC5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJl
ZC10by1lbGVtZW50LXdpdGgtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBdCiAKICMgVGhpcyB0ZXN0IG9ubHkgbWFr
ZXMgc2Vuc2Ugb24gTWFjCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1zdWJ0aXRsZS1yZXNp
emUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmly
ZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxl
bmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjk2NmM5ZjFhYmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNj
cm9sbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdHMgc2Nyb2xsZW5k
IGV2ZW50IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlvbnMuIAorUEFTUyBUZXN0cyBzY3JvbGxl
bmQgZXZlbnQgZm9yIGNoYW5naW5nIHNjcm9sbCBhdHRyaWJ1dGVzLiAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNDNmYjdhY2RkZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9n
cmFtbWF0aWMtc2Nyb2xsLmh0bWwKQEAgLTAsMCArMSwxMzUgQEAKKzwhRE9DVFlQRSBIVE1MPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ9dHJ1
ZSBdIC0tPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2Nyb2xsX3N1
cHBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBodG1sIHsKKyAgICBoZWlnaHQ6IDMwMDBw
eDsKKyAgICB3aWR0aDogMzAwMHB4OworICB9CisKKyAgI3RhcmdldERpdiB7CisgICAgd2lkdGg6
IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgfQor
CisgICNpbm5lckRpdiB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7Cisg
IH0KKzwvc3R5bGU+CisKKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPXJ1blRlc3QoKT4K
KyAgPGRpdiBpZD0idGFyZ2V0RGl2Ij4KKyAgICA8ZGl2IGlkPSJpbm5lckRpdiI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyAgdmFyIGVsZW1lbnRfc2Nyb2xsZW5k
X2Fycml2ZWQgPSBmYWxzZTsKKyAgdmFyIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFs
c2U7CisKKyAgZnVuY3Rpb24gb25FbGVtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgYXNzZXJ0
X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgIGFzc2VydF9mYWxzZShldmVudC5idWJibGVz
KTsKKyAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gdHJ1ZTsKKyAgfQorCisgIGZ1bmN0
aW9uIG9uRG9jdW1lbnRTY3JvbGxFbmQoZXZlbnQpIHsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQu
Y2FuY2VsYWJsZSk7CisgICAgLy8gc2Nyb2xsZW5kIGV2ZW50cyBhcmUgYnViYmxlZCB3aGVuIHRo
ZSB0YXJnZXQgbm9kZSBpcyBkb2N1bWVudC4KKyAgICBhc3NlcnRfdHJ1ZShldmVudC5idWJibGVz
KTsKKyAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgIH0KKworICBmdW5j
dGlvbiBjYWxsU2Nyb2xsRnVuY3Rpb24oW3Njcm9sbFRhcmdldCwgc2Nyb2xsRnVuY3Rpb24sIGFy
Z3NdKSB7CisgICAgc2Nyb2xsVGFyZ2V0W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgfQorCisg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgbGV0IHJvb3RfZWxlbWVudCA9IGRvY3VtZW50LnNj
cm9sbGluZ0VsZW1lbnQ7CisgICAgbGV0IHRhcmdldF9kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0RGl2Iik7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAg
ICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICB0YXJnZXRfZGl2LmFk
ZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRWxlbWVudFNjcm9sbEVuZCk7CisgICAgICBk
b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkRvY3VtZW50U2Nyb2xsRW5k
KTsKKworICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAgICAgIFt0YXJnZXRfZGl2LCAyMDAs
IDIwMCwgW3RhcmdldF9kaXYsICJzY3JvbGxUbyIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVo
YXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBbdGFyZ2V0X2Rp
diwgInNjcm9sbFRvIiwgeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0s
CisgICAgICAgIFtyb290X2VsZW1lbnQsIDIwMCwgMjAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xs
VG8iLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0byIgfV1dLAorICAgICAg
ICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsVG8iLCB7IHRvcDog
MCwgbGVmdDogMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYs
IDIwMCwgMjAwLCBbdGFyZ2V0X2RpdiwgInNjcm9sbEJ5IiwgeyB0b3A6IDIwMCwgbGVmdDogMjAw
LCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYsIDAsIDAsIFt0YXJn
ZXRfZGl2LCAic2Nyb2xsQnkiLCB7IHRvcDogLTIwMCwgbGVmdDogLTIwMCwgYmVoYXZpb3I6ICJz
bW9vdGgiIH1dXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwgMjAwLCAyMDAsIFtyb290X2VsZW1l
bnQsICJzY3JvbGxCeSIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9
XV0sCisgICAgICAgIFtyb290X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1lbnQsICJzY3JvbGxC
eSIsIHsgdG9wOiAtMjAwLCBsZWZ0OiAtMjAwLCBiZWhhdmlvcjogInNtb290aCIgfV1dCisgICAg
ICBdOworCisgICAgICBmb3IgKGkgPSAwOyBpIDwgdGVzdF9jYXNlcy5sZW5ndGg7IGkrKykgewor
ICAgICAgICBsZXQgdCA9IHRlc3RfY2FzZXNbaV07CisgICAgICAgIGxldCB0YXJnZXQgPSB0WzBd
OworICAgICAgICBsZXQgZXhwZWN0ZWRfeCA9IHRbMV07CisgICAgICAgIGxldCBleHBlY3RlZF95
ID0gdFsyXTsKKyAgICAgICAgbGV0IHNjcm9sbF9kYXRhcyA9IHRbM107CisKKyAgICAgICAgY2Fs
bFNjcm9sbEZ1bmN0aW9uKHNjcm9sbF9kYXRhcyk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkg
PT4geyByZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxl
bmRfYXJyaXZlZDsgfSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAi
IGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgIGlmICh0YXJnZXQg
PT0gcm9vdF9lbGVtZW50KQorICAgICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9s
bExlZnQsIGV4cGVjdGVkX3gsIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFd
ICsgIiBzY3JvbGxMZWZ0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9sbFRv
cCwgZXhwZWN0ZWRfeSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAi
IHNjcm9sbFRvcCIpOworCisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxz
ZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgIH0K
KyAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlv
bnMuIik7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAgIGF3YWl0IHdh
aXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisKKyAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWworICAg
ICAgICBbdGFyZ2V0X2RpdiwgInNjcm9sbFRvcCJdLAorICAgICAgICBbdGFyZ2V0X2RpdiwgInNj
cm9sbExlZnQiXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvcCJdLAorICAgICAg
ICBbcm9vdF9lbGVtZW50LCAic2Nyb2xsTGVmdCJdCisgICAgICBdOworICAgICAgZm9yIChpID0g
MDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgbGV0IHQgPSB0ZXN0X2Nh
c2VzW2ldOworICAgICAgICBsZXQgdGFyZ2V0ID0gdFswXTsKKyAgICAgICAgbGV0IGF0dHJpYnV0
ZSA9IHRbMV07CisgICAgICAgIGxldCBwb3NpdGlvbiA9IDIwMDsKKworICAgICAgICB0YXJnZXQu
c3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSAic21vb3RoIjsKKyAgICAgICAgdGFyZ2V0W2F0dHJpYnV0
ZV0gPSBwb3NpdGlvbjsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVt
ZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCB0
YXJnZXQudGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgZGlkIG5vdCByZWNlaXZlIHNjcm9s
bGVuZCBldmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1lbnQpCisgICAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBl
bHNlCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXRbYXR0cmlidXRlXSwgcG9zaXRpb24sIHRhcmdl
dC50YWdOYW1lICsgIi4iICsgYXR0cmlidXRlICsgIiAiKTsKKyAgICAgICAgZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCA9IGZhbHNlOworCisgICAgICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7Cisg
ICAgICAgIHRhcmdldC5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICJhdXRvIjsKKyAgICAgICAgdGFy
Z2V0W2F0dHJpYnV0ZV0gPSAwOworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJu
IGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7
IH0sIHRhcmdldC50YWdOYW1lICsgIi4iICsgYXR0cmlidXRlICsgIiBkaWQgbm90IHJlY2VpdmUg
c2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVudCkK
KyAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldFthdHRyaWJ1dGVdLCAwLCB0YXJnZXQu
dGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgIik7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xs
ZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQg
PSBmYWxzZTsKKyAgICAgIH0KKyAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFu
Z2luZyBzY3JvbGwgYXR0cmlidXRlcy4iKTsKKyAgfQorPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMC4uYmVjNzExZmRlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJ
bnRvVmlldy4gCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbElu
dG9WaWV3LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXNjcm9sbEludG9WaWV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3It
c2Nyb2xsSW50b1ZpZXcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
Li5lZGQzOGMwZjJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKQEAgLTAsMCArMSwxMjQgQEAKKzwhRE9DVFlQ
RSBIVE1MPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxF
dmVudHNFbmFibGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0Vu
YWJsZWQ9dHJ1ZSBdIC0tPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
c2Nyb2xsX3N1cHBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAgIGh0bWwgeworICAgICAg
ICBoZWlnaHQ6IDMwMDBweDsKKyAgICAgICAgd2lkdGg6IDMwMDBweDsKKyAgICB9CisKKyAgICAj
dGFyZ2V0RGl2IHsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDIwMHB4
OworICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIH0KKworICAgICNpbm5lckRpdiB7Cisg
ICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICB9Cis8L3N0
eWxlPgorCis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD1ydW5UZXN0KCk+CisgICAgPGRp
diBpZD0idGFyZ2V0RGl2Ij4KKyAgICAgICAgPGRpdiBpZD0iaW5uZXJEaXYiPgorICAgICAgICA8
L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnRfc2Ny
b2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICB2YXIgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSBmYWxzZTsKKworICAgIGZ1bmN0aW9uIG9uRWxlbWVudFNjcm9sbEVuZChldmVudCkgewor
ICAgICAgICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgICAgIGFzc2VydF9m
YWxzZShldmVudC5idWJibGVzKTsKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25Eb2N1bWVudFNjcm9sbEVuZChldmVudCkg
eworICAgICAgICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgICAgIC8vIHNj
cm9sbGVuZCBldmVudHMgYXJlIGJ1YmJsZWQgd2hlbiB0aGUgdGFyZ2V0IG5vZGUgaXMgZG9jdW1l
bnQuCisgICAgICAgIGFzc2VydF90cnVlKGV2ZW50LmJ1YmJsZXMpOworICAgICAgICBkb2N1bWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gY2FsbFNj
cm9sbEZ1bmN0aW9uKFtzY3JvbGxUYXJnZXQsIHNjcm9sbEZ1bmN0aW9uLCBhcmdzXSkgeworICAg
ICAgICBzY3JvbGxUYXJnZXRbc2Nyb2xsRnVuY3Rpb25dKGFyZ3MpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGxldCByb290X2VsZW1lbnQgPSBkb2N1bWVudC5z
Y3JvbGxpbmdFbGVtZW50OworICAgICAgICBsZXQgdGFyZ2V0X2RpdiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXREaXYiKTsKKyAgICAgICAgbGV0IGlubmVyX2RpdiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpbm5lckRpdiIpOworCisgICAgICAgIC8vIEdldCBleHBlY3RlZCBw
b3NpdGlvbiBmb3Igcm9vdF9lbGVtZW50IHNjcm9sbEludG9WaWV3LgorICAgICAgICByb290X2Vs
ZW1lbnQuc2Nyb2xsVG8oMTAwMDAsIDEwMDAwKTsKKyAgICAgICAgbGV0IG1heF9yb290X3ggPSBy
b290X2VsZW1lbnQuc2Nyb2xsTGVmdDsKKyAgICAgICAgbGV0IG1heF9yb290X3kgPSByb290X2Vs
ZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICByb290X2VsZW1lbnQuc2Nyb2xsVG8oMCwgMCk7CisK
KyAgICAgICAgdGFyZ2V0X2Rpdi5zY3JvbGxUbygxMDAwMCwgMTAwMDApOworICAgICAgICBsZXQg
bWF4X2VsZW1lbnRfeCA9IHRhcmdldF9kaXYuc2Nyb2xsTGVmdDsKKyAgICAgICAgbGV0IG1heF9l
bGVtZW50X3kgPSB0YXJnZXRfZGl2LnNjcm9sbFRvcDsKKyAgICAgICAgdGFyZ2V0X2Rpdi5zY3Jv
bGxUbygwLCAwKTsKKworICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAg
ICAgICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICAgICAgICB0YXJn
ZXRfZGl2LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRWxlbWVudFNjcm9sbEVuZCk7
CisgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkRv
Y3VtZW50U2Nyb2xsRW5kKTsKKworICAgICAgICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAg
ICAgICAgICAgICAgW3RhcmdldF9kaXYsIG1heF9lbGVtZW50X3gsIG1heF9lbGVtZW50X3ksIFtp
bm5lcl9kaXYsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAiZW5kIiwgYmxvY2s6ICJlbmQi
LCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgICAgICAgICBbdGFyZ2V0X2RpdiwgMCwg
MCwgW2lubmVyX2RpdiwgInNjcm9sbEludG9WaWV3IiwgeyBpbmxpbmU6ICJzdGFydCIsIGJsb2Nr
OiAic3RhcnQiLCBiZWhhdmlvcjogInNtb290aCIgfV1dLAorICAgICAgICAgICAgICAgIFtyb290
X2VsZW1lbnQsIG1heF9yb290X3gsIG1heF9yb290X3ksIFtyb290X2VsZW1lbnQsICJzY3JvbGxJ
bnRvVmlldyIsIHsgaW5saW5lOiAiZW5kIiwgYmxvY2s6ICJlbmQiLCBiZWhhdmlvcjogInNtb290
aCIgfV1dLAorICAgICAgICAgICAgICAgIFtyb290X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1l
bnQsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAic3RhcnQiLCBibG9jazogInN0YXJ0Iiwg
YmVoYXZpb3I6ICJzbW9vdGgiIH1dXQorICAgICAgICAgICAgXTsKKworICAgICAgICAgICAgZm9y
IChpID0gMDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICBs
ZXQgdCA9IHRlc3RfY2FzZXNbaV07CisgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07
CisgICAgICAgICAgICAgICAgbGV0IGV4cGVjdGVkX3ggPSB0WzFdOworICAgICAgICAgICAgICAg
IGxldCBleHBlY3RlZF95ID0gdFsyXTsKKyAgICAgICAgICAgICAgICBsZXQgc2Nyb2xsX2RhdGFz
ID0gdFszXTsKKworICAgICAgICAgICAgICAgIGNhbGxTY3JvbGxGdW5jdGlvbihzY3JvbGxfZGF0
YXMpOworICAgICAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgdGFy
Z2V0LnRhZ05hbWUgKyAiLnNjcm9sbEludG9WaWV3ICBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5k
IGV2ZW50LiIpOworICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQor
ICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFs
c2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0LnNjcm9sbExlZnQsIGV4cGVjdGVkX3gsIHRhcmdldC50YWdOYW1lICsgIi5z
Y3JvbGxJbnRvVmlldyBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0YXJnZXQuc2Nyb2xsVG9wLCBleHBlY3RlZF95LCB0YXJnZXQudGFnTmFtZSArICIuc2Nyb2xs
SW50b1ZpZXcgc2Nyb2xsVG9wIik7CisKKyAgICAgICAgICAgICAgICBlbGVtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwgIlRlc3RzIHNjcm9sbGVu
ZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIik7CisKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFz
eW5jICh0KSA9PiB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRhcmdl
dF9kaXYpOworICAgICAgICAgICAgbGV0IG91dF9kaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICAgICAgICAgIG91dF9kaXYuc3R5bGUgPSAid2lkdGg6IDEwMHB4OyBoZWln
aHQ6MTAwcHg7IG92ZXJmbG93OnNjcm9sbDsgc2Nyb2xsLWJlaGF2aW9yOnNtb290aDsiOworICAg
ICAgICAgICAgb3V0X2Rpdi5hcHBlbmRDaGlsZCh0YXJnZXRfZGl2KTsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0X2Rpdik7CisgICAgICAgICAgICBhd2FpdCB3YWl0
Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworCisgICAgICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9h
cnJpdmVkID0gZmFsc2U7CisgICAgICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IGZhbHNlOworICAgICAgICAgICAgaW5uZXJfZGl2LnNjcm9sbEludG9WaWV3KHsgaW5saW5lOiAi
ZW5kIiwgYmxvY2s6ICJlbmQiLCBiZWhhdmlvcjogImF1dG8iIH0pOworICAgICAgICAgICAgYXdh
aXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRv
Y3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IGRpZCBu
b3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHJvb3RfZWxlbWVudC5zY3JvbGxMZWZ0LCAwLCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHJvb3Rf
ZWxlbWVudCBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJvb3RfZWxl
bWVudC5zY3JvbGxUb3AsIDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgcm9vdF9lbGVtZW50IHNj
cm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhvdXRfZGl2LnNjcm9sbExlZnQs
IDEwMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBvdXRfZGl2IHNjcm9sbExlZnQiKTsKKyAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMob3V0X2Rpdi5zY3JvbGxUb3AsIDEwMCwgIk5lc3RlZCBzY3Jv
bGxJbnRvVmlldyBvdXRfZGl2IHNjcm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0YXJnZXRfZGl2LnNjcm9sbExlZnQsIG1heF9lbGVtZW50X3gsICJOZXN0ZWQgc2Nyb2xsSW50
b1ZpZXcgdGFyZ2V0X2RpdiBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHRhcmdldF9kaXYuc2Nyb2xsVG9wLCBtYXhfZWxlbWVudF95LCAiTmVzdGVkIHNjcm9sbEludG9W
aWV3IHRhcmdldF9kaXYgc2Nyb2xsVG9wIik7CisgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2
ZW50IGZvciBuZXN0ZWQgc2Nyb2xsSW50b1ZpZXcuIik7CisgICAgfQorPC9zY3JpcHQ+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVmMmMyNzg4MDMuLjIyZDkxNWUw
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5MiBAQAorMjAyMC0wNC0wOCAgQ2F0aGllIENoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9s
bGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2
ZW50IG9mIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcuIG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFy
Z2V0TGlzdCBpbiBEb2N1bWVudCBzdG9yZXMKKyAgICAgICAgdGhlIHNjcm9sbGVkIHRhcmdldHMg
d2hpY2ggbmVlZCB0byBkaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnRzLiBGcmFtZVZpZXcgYW5kIFJl
bmRlckxheWVyIHByb3ZpZGUgdGhyZWUgd2F5cyB0bworICAgICAgICBhZGQgZWxlbWVudHMgdG8g
dGhlIHNjcm9sbGVuZCBsaXN0LiAgICAgCisgICAgICAgIDEuIEluc3RhbnQgc2Nyb2xsaW5nIGlu
Y2x1ZGluZyB0aGUgc2Nyb2xsaW5nIHBvc2l0aW9uIG5vdCBjaGFuZ2VkIGFuaW1hdGVkIHNjcm9s
bCwgdGhlIGVsZW1lbnQgd291bGQgYWRkIHRvIHRoZSBsaXN0CisgICAgICAgIGFmdGVyIHNjcm9s
bCBwb3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAyLiBBbmltYXRlZCBzY3JvbGxpbmcsIHRoZSBl
bGVtZW50IHdvdWxkIGJlIHNldCBhcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCBvZiBTY3Jv
bGxBbmltYXRpb24gYW5kIGFkZCB0byB0aGUgbGlzdAorICAgICAgICB3aGVuIGFuaW1hdGlvbiBz
dG9wcy4gRm9yIHNjcm9sbFJlY3RJbnRvVmlldywgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHNjcm9s
bGVuZCBldmVudCBmaXJlZCBhZnRlciBhbGwgYW5jZXN0b3IgbGF5ZXJzCisgICAgICAgIGZpbmlz
aGluZyBzY3JvbGxpbmcsIGFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0byBpbmRpY2F0
ZSBpZiBzY3JvbGxSZWN0SW50b1ZpZXcgZmluaXNoZWQuIFdoZW4gU2Nyb2xsQW5pbWF0aW9uCisg
ICAgICAgIHN0b3BzLCBpdCB3aWxsIHRyeSB0byBmaW5kIGEgZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3IGFuY2VzdG9yIGxheWVyIGFuZCBwYXNzIHRoZSBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRv
IGl0cworICAgICAgICBTY3JvbGxBbmltYXRpb24uIElmIG5vIHN1Y2ggbGF5ZXIgZm91bmQsIGFk
ZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAg
My4gVXNlciBhc3luY2hyb25vdXMgc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsIHBvc2l0aW9uIHdvdWxk
bid0IGNoYW5nZSBpbW1lZGlhdGVseS4gU28gc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24KKyAg
ICAgICAgdGhlbiBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9u
IGNoYW5nZWQuIFRoZSBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHdvdWxkbid0IHRyaWdnZXIgdGhp
cyB3YXkuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRp
Yy1zY3JvbGwuaHRtbAorICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXcuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojpjb21tb25UZWFyZG93bik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTogQXBwZW5kIHRoZSB0YXJnZXRz
IHRvIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC4KKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpydW5TY3JvbGxTdGVwcyk6IERpc3BhdGNoIHNjcm9sbGVuZCBldmVudCBmb3Ig
ZWFjaCB0YXJnZXQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZCBtX3BlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldExpc3Qgd2hpY2gga2VlcHMgdGhlIHNjcm9sbGVuZCBldmVudCB0YXJn
ZXRzLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNldFNjcm9sbExlZnQpOiBTZXQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMgZm9yIEZy
YW1lVmlldyBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsVG9w
KTogRGl0dG8uCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjpzY3JvbGxUbyBjb25zdCk6IEFkZCBkb2N1bWVudCB0byB0aGUgc2Nyb2xs
ZW5kIGxpc3QgZm9yIHNjcm9sbGluZyB0byAoMCwgMCkgb3B0aW1pemF0aW9uLgorICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24pOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGlmIGl0IHNj
cm9sbGVkKGluc3RhbnQgc2Nyb2xsIG9yIHNtb290aCBzY3JvbGwKKyAgICAgICAgd2l0aG91dCBj
aGFuZ2luZyB0aGUgcG9zaXRpb24sIG90aGVyd2lzZSBzZXQgZG9jdW1lbnQgYXMgdGhlIHNjcm9s
bEVuZFRhcmdldCBvZiBzY3JvbGxBbmlhbXRpb24uKS4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24pOiBTYXZlIHRoZSBzY3JvbGwgcG9zaXRp
b24gdGhhdCByZXF1aXJlcyB0byBmaXJlIGFuIHNjcm9sbGVuZCBldmVudC4gVGhpcyBpcyBmb3Ig
YXN5bmNocm9ub3VzIHNjcm9sbC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Y2hlY2tT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uKTogQWRkIGRvY3VtZW50IHRvIHRoZSBsaXN0IGlmIHRoZSBz
Y3JvbGwgcG9zaXRpb24gZXF1YWwgdG8gdGhlIHByZXNlcnZlZCBvbmUuCisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6IEFkZCBEb2N1
bWVudCB0byBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1lbnQuCisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDogQWRkIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
IHRvIGluZGljYXRlIEZyYW1lVmlldyBpcyBwZXJmb3JtaW5nIGEgYW5pbWF0ZWQgc2Nyb2xsUmVj
dEludG9WaWV3IHNjcm9sbC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvbjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKTogQ2FsbCBub3RpZnlTY3JvbGxF
bmQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6Om5vdGlmeVNjcm9s
bEVuZCk6IHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBmYWxzZS4gSWYgdGhlcmUncyBtX3Nj
cm9sbEVuZEV2ZW50VGFyZ2V0LCB0cnkgdG8gZmluZCBhbiBhbmNlc3RvciBsYXllcgorICAgICAg
ICBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5kIHNldCB0aGUgdGFyZ2V0IHRvIGl0LiBPdGhl
cndpc2UsIGFkZCB0aGUgdGFyZ2V0IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCk6
IENhbGwgbm90aWZ5U2Nyb2xsRW5kIGlmIG5vdCBjb250aW51ZUFuaW1hdGlvbi4KKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaDogQWRkIG1fc2Nyb2xsRW5kRXZlbnRU
YXJnZXQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNldFNjcm9sbEVuZFRhcmdldCk6IFNldCBtX3Njcm9s
bEVuZEV2ZW50VGFyZ2V0IHRvIFNjcm9sbEFuaW1hdGlvblNtb290aC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6
IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmll
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBv
c2l0aW9uKTogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzLgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsVmlldzo6c2Nyb2xsVG8pOiBDYWxsIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
biBpZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuCisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmll
dy5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJl
YTo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YWJsZUFyZWE6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxhYmxlQXJlYTo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNldER1cmluZ1Njcm9sbFJlY3RJbnRv
Vmlldyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6ZmluZEFuY2VzdG9yRHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
ZXRTY3JvbGxQb3NpdGlvbik6IEFkZCBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBp
dCBzY3JvbGxlZChpbnN0YW50IHNjcm9sbCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhv
dXQgY2hhbmdpbmcgdGhlIHBvc2l0aW9uLCBvdGhlcndpc2Ugc2V0IGVsZW1lbnQgYXMgdGhlIHNj
cm9sbEVuZFRhcmdldCBvZiBzY3JvbGxBbmlhbXRpb24uKS4KKworICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9z
aXRpb24sIGlmIHRoZXJlIGlzIG5vIHNjcm9sbGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzY3JvbGxUbyk6IGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbiBpZiBzY3JvbGwg
cG9zaXRpb24gY2hhbmdlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxS
ZWN0VG9WaXNpYmxlKTogc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpIGlmIGl0J3Mg
cGVyZm9ybWluZyBhIGFuaW1hdGVkIHNjcm9sbGluZy4KKyAgICAgICAgQWZ0ZXIgcGFyZW50TGF5
ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUoKSwgY2hlY2sgaWYgY3VycmVudCBsYXllciBpcyBkdXJp
bmdTY3JvbGxSZWN0SW50b1ZpZXcsIHNldCB0aGUgZWxlbWVudCBhcyBhbmltYXRpb24ncyBzY3Jv
bGxlbmQgVGFyZ2V0LgorICAgICAgICBPdGhlcndpc2UsIGZpbmQgdGhlIGR1cmluZ1Njcm9sbFJl
Y3RJbnRvVmlldyBhbmNlc3RvciBsYXllciBhbmQgcGFzcyB0aGUgZWxlbWVudCB0byBhbmNlc3Rv
ciBsYXllcidzIHNjcm9sbEFuaW1hdGlvbi4KKyAgICAgICAgSWYgbm8gZHVyaW5nU2Nyb2xsUmVj
dEludG9WaWV3IGxheWVyIGZvdW5kLCBhZGQgdGhlIGVsZW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBs
aXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNhdmVTY3JvbGxFbmRFdmVudFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjaGVja1Njcm9sbEVuZEV2
ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Zmlu
ZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KTogRmluZCB0aGUgZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3IGFuY2VzdG9yIGxheWVyLCBhbmQgY2hlY2sgRnJhbWVWaWV3IGF0IHRoZSBl
bmQuIAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpz
Y3JvbGxSZWN0VG9WaXNpYmxlKTogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzLgorCiAy
MDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggM2VmOTQ1OTAwYi4uZTVjNDc4N2VkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCkBAIC03OTksNiArNzk5LDEwIEBAIHZvaWQgRG9jdW1lbnQ6OmNvbW1vblRlYXJkb3du
KCkKIAogICAgIG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRU
YXJnZXRMaXN0ID0gbnVsbHB0cjsKKyNlbmRpZgorCiAgICAgd2hpbGUgKCFtX3RpbWVsaW5lcy5j
b21wdXRlc0VtcHR5KCkpCiAgICAgICAgIG1fdGltZWxpbmVzLmJlZ2luKCktPmRldGFjaEZyb21E
b2N1bWVudCgpOwogICAgIG1fdGltZWxpbmUgPSBudWxscHRyOwpAQCAtNDA3Miw2ICs0MDc2LDI2
IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJO
b2RlJiB0YXJnZXQpCiAgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKIH0KIAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldChDb250YWluZXJOb2RlJiB0YXJnZXQpCit7CisgICAgaWYgKCFzZXR0aW5ncygp
Lm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0KQorICAgICAgICBtX3BlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldExpc3QgPSBtYWtlVW5pcXVlPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dExpc3Q+KCk7CisKKyAgICBhdXRvJiB0YXJnZXRzID0gbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRU
YXJnZXRMaXN0LT50YXJnZXRzOworICAgIGlmICh0YXJnZXRzLmZpbmRNYXRjaGluZyhbJl0gKGF1
dG8mIGVudHJ5KSB7IHJldHVybiBlbnRyeS5wdHIoKSA9PSAmdGFyZ2V0OyB9KSAhPSBub3RGb3Vu
ZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHRhcmdldHMuaXNFbXB0eSgpKQorICAgICAg
ICBzY2hlZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CisKKyAgICB0YXJnZXRzLmFwcGVuZCh0
YXJnZXQpOworfQorI2VuZGlmCisKIHZvaWQgRG9jdW1lbnQ6OnNldE5lZWRzVmlzdWFsVmlld3Bv
cnRTY3JvbGxFdmVudCgpCiB7CiAgICAgaWYgKCFtX25lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxF
dmVudCkKQEAgLTQwOTcsNiArNDEyMSwxOCBAQCB2b2lkIERvY3VtZW50OjpydW5TY3JvbGxTdGVw
cygpCiAgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb21XaW5kb3coKSkKICAgICAgICAgICAg
IHdpbmRvdy0+dmlzdWFsVmlld3BvcnQoKS5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLnNjcm9sbEV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKICAgICB9CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgLy8gRGVhbCB3aXRoIHNjcm9sbGVuZCBldmVudC4KKyAgICBpZiAobV9wZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXRMaXN0ICYmICFtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3Qt
PnRhcmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAgIExPR19XSVRIX1NUUkVBTShFdmVudHMsIHN0
cmVhbSA8PCAiRG9jdW1lbnQiIDw8IHRoaXMgPDwgInNlbmRpbmcgc2Nyb2xsZW5kIGV2ZW50cyB0
byBwZW5kaW5nIHNjcm9sbCBldmVudCB0YXJnZXRzIik7CisgICAgICAgIGF1dG8gY3VycmVudFNj
cm9sbEVuZFRhcmdldHMgPSBXVEZNb3ZlKG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlz
dC0+dGFyZ2V0cyk7CisgICAgICAgIGZvciAoYXV0byYgdGFyZ2V0IDogY3VycmVudFNjcm9sbEVu
ZFRhcmdldHMpIHsKKyAgICAgICAgICAgIGF1dG8gYnViYmxlcyA9IHRhcmdldC0+aXNEb2N1bWVu
dE5vZGUoKSA/IEV2ZW50OjpDYW5CdWJibGU6OlllcyA6IEV2ZW50OjpDYW5CdWJibGU6Ok5vOwor
ICAgICAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLnNjcm9sbGVuZEV2ZW50LCBidWJibGVzLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwor
ICAgICAgICB9CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmFkZEF1ZGlvUHJv
ZHVjZXIoTWVkaWFQcm9kdWNlciYgYXVkaW9Qcm9kdWNlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggODM5YWZjZDU4Yi4uNzQ1ZGEyZGYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzNjAs
NiArMTM2MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJ1blJlc2l6ZVN0ZXBzKCk7CiAKICAgICB2
b2lkIGFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50
VGFyZ2V0KENvbnRhaW5lck5vZGUmKTsKKyNlbmRpZgogICAgIHZvaWQgc2V0TmVlZHNWaXN1YWxW
aWV3cG9ydFNjcm9sbEV2ZW50KCk7CiAgICAgdm9pZCBydW5TY3JvbGxTdGVwcygpOwogCkBAIC0y
MDQyLDYgKzIwNDUsOSBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFBlbmRpbmdTY3JvbGxFdmVu
dFRhcmdldExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dExpc3Q+IG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdDsKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dExpc3Q+IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdDsKKyNlbmRpZgogCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBIYXNoU2V0PEhUTUxNZWRpYUVsZW1lbnQqPiBtX21l
ZGlhU3RyZWFtU3RhdGVDaGFuZ2VFbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBk
OTAyMTM0NjZjLi43NGM0NDY1MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjk1LDcg
KzEyOTUsMTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0KQogICAg
ICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDUwNTkKICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3RoU2Ny
b2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgp
KSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAgICAgICAgICAg
ICBJbnRQb2ludCBwb3NpdGlvbihzdGF0aWNfY2FzdDxpbnQ+KG5ld0xlZnQgKiBmcmFtZS0+cGFn
ZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCBmcmFtZS0+dmlldygp
LT5zY3JvbGxZKCkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAg
IGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNl
CiAgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRpZgogICAgICAgICB9CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzE5LDcgKzEzMjMsMTEgQEAgdm9pZCBFbGVtZW50
OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCkKICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5CiAgICAgICAgICAgICBBbmltYXRl
ZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvcjo6QXV0
bywgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDog
QW5pbWF0ZWRTY3JvbGw6Ok5vOwogICAgICAgICAgICAgSW50UG9pbnQgcG9zaXRpb24oZnJhbWUt
PnZpZXcoKS0+c2Nyb2xsWCgpLCBzdGF0aWNfY2FzdDxpbnQ+KG5ld1RvcCAqIGZyYW1lLT5wYWdl
Wm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkpOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBv
c2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIFJlcXVl
c3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgICAgICAgICBmcmFtZS0+dmlldygp
LT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFu
aW1hdGVkKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMDlhYWI2YjIzZC4uNjJmZGU2ZTdjMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTY3OSw4ICsxNjc5LDE1IEBAIHZvaWQgRE9NV2lu
ZG93OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1w
aW5nIGNsYW1waW5nCiAKICAgICAvLyBUaGlzIGlzIGFuIG9wdGltaXphdGlvbiBmb3IgdGhlIGNv
bW1vbiBjYXNlIG9mIHNjcm9sbGluZyB0byAoMCwgMCkgd2hlbiB0aGUgc2Nyb2xsZXIgaXMgYWxy
ZWFkeSBhdCB0aGUgb3JpZ2luLgogICAgIC8vIElmIGFuIGFuaW1hdGVkIHNjcm9sbCBpcyBpbiBw
cm9ncmVzcywgdGhpcyBvcHRpbWl6YXRpb24gaXMgc2tpcHBlZCB0byBlbnN1cmUgdGhhdCB0aGUg
YW5pbWF0ZWQgc2Nyb2xsIGlzIHJlYWxseSBzdG9wcGVkLgotICAgIGlmICh2aWV3LT5jdXJyZW50
U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5Bbmlt
YXRpb24gJiYgIXNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkgJiYgIXNjcm9sbFRvT3B0aW9u
cy50b3AudmFsdWUoKSAmJiB2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkgPT0gSW50UG9p
bnQoMCwgMCkpCisgICAgaWYgKHZpZXctPmN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09
IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbgorICAgICAgICAmJiAhc2Nyb2xs
VG9PcHRpb25zLmxlZnQudmFsdWUoKQorICAgICAgICAmJiAhc2Nyb2xsVG9PcHRpb25zLnRvcC52
YWx1ZSgpCisgICAgICAgICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSA9PSBJbnRQ
b2ludCgwLCAwKSkgeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgdmll
dy0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisjZW5kaWYKICAgICAgICAgcmV0
dXJuOworICAgIH0KIAogICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNzQ0MWQwYzQw
Mi4uZmRmODM0M2Q4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjI3NSw3ICsy
Mjc1LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbEVsZW1lbnRUb1JlY3QoY29uc3QgRWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBzZXRTY3JvbGxQb3NpdGlvbihJ
bnRQb2ludChib3VuZHMueCgpIC0gY2VudGVyaW5nT2Zmc2V0WCAtIHJlY3QueCgpLCBib3VuZHMu
eSgpIC0gY2VudGVyaW5nT2Zmc2V0WSAtIHJlY3QueSgpKSk7CiB9CiAKLXZvaWQgRnJhbWVWaWV3
OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24s
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQg
RnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xs
UG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRl
ZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZyYW1lVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbiA8PCAiICwgY2xlYXJpbmcgYW5jaG9yIik7CiAK
QEAgLTIyODgsMTAgKzIyODgsMjEgQEAgdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2wKICAgICBQYWdl
KiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+aXNNb25pdG9y
aW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50
VGVzdE1vbml0b3IocGFnZS0+d2hlZWxFdmVudFRlc3RNb25pdG9yKCkpOworCisgICAgU2Nyb2xs
UG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9sbGluZygpICYmIGNs
YW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0aW9u
V2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CiAgICAgaWYgKGFu
aW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0
aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pLCBjdXJy
ZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFu
aW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24pLCBjdXJy
ZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBTY3JvbGxWaWV3
OjpzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcpOworICAgICAgICBT
Y3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihuZXdTY3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcs
IGFuaW1hdGVkLCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpOworCisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIGlmIChmcmFtZSgpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQoKSAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50
OjpZZXMpIHsKKyAgICAgICAgaWYgKG5ld1Njcm9sbFBvc2l0aW9uID09IFNjcm9sbFZpZXc6OnNj
cm9sbFBvc2l0aW9uKCkpCisgICAgICAgICAgICBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJn
ZXQoKTsKKyAgICAgICAgZWxzZSBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcykK
KyAgICAgICAgICAgIHNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZSgpLmRvY3Vt
ZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIAogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKG9sZFNj
cm9sbFR5cGUpOwogfQpAQCAtMzcyOCw2ICszNzM5LDMyIEBAIHZvaWQgRnJhbWVWaWV3OjpzY3Jv
bGxUb09mZnNldFdpdGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9s
bFR5CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNTY3JvbGxUeXBlKTsKIH0KIAor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRnJhbWVWaWV3OjpzYXZlU2Nyb2xs
RW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbENs
YW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3Jv
bGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFNjcm9sbFBvc2l0aW9u
IGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShwb3NpdGlvbikgOiBwb3NpdGlv
bjsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBjbGFtcGVkU2Nyb2xsUG9z
aXRpb247Cit9CisKK3ZvaWQgRnJhbWVWaWV3OjpjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGlmICghbV9maXJlU2Nyb2xs
RW5kRXZlbnRBdFBvc2l0aW9uIHx8IG1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbi52YWx1
ZSgpICE9IHBvc2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBhZGRQZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXQoKTsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBX
VEY6Om51bGxvcHQ7Cit9CisKK3ZvaWQgRnJhbWVWaWV3OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZl
bnRUYXJnZXQoKQoreworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3Vt
ZW50KCkpCisgICAgICAgIGRvY3VtZW50LT5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQo
KmRvY3VtZW50KTsKK30KKyNlbmRpZgorCiBmbG9hdCBGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0
ZXBGb3JGaXhlZENvbnRlbnQoZmxvYXQgc3RlcCwgU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50
YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQogewogICAgIGlmIChncmFudWxh
cml0eSAhPSBTY3JvbGxCeVBhZ2UgfHwgb3JpZW50YXRpb24gPT0gSG9yaXpvbnRhbFNjcm9sbGJh
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDA0YWU1OWE2MTAuLjQ3MzY1YzQ0NWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjI5LDcgKzIyOSw3IEBAIHB1YmxpYzoKICNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRGaXhl
ZFZpc2libGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JikgZmluYWw7CiAjZW5kaWYKLSAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3Jv
bGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9
IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xs
OjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObykg
ZmluYWw7CiAgICAgdm9pZCByZXN0b3JlU2Nyb2xsYmFyKCk7CiAgICAgdm9pZCBzY2hlZHVsZVNj
cm9sbFRvRm9jdXNlZEVsZW1lbnQoU2VsZWN0aW9uUmV2ZWFsTW9kZSk7CiAgICAgdm9pZCBzY3Jv
bGxUb0ZvY3VzZWRFbGVtZW50SW1tZWRpYXRlbHlJZk5lZWRlZCgpOwpAQCAtNjY0LDYgKzY2NCwx
NCBAQCBwdWJsaWM6CiAKICAgICBib29sIGluVXBkYXRlRW1iZWRkZWRPYmplY3RzKCkgY29uc3Qg
eyByZXR1cm4gbV9pblVwZGF0ZUVtYmVkZGVkT2JqZWN0czsgfQogCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
KSBmaW5hbDsKKyAgICB2b2lkIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYpIGZpbmFsOworICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFy
Z2V0KCkgZmluYWw7CisgICAgYm9vbCBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSBmaW5hbCB7
IHJldHVybiBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldzsgfQorICAgIHZvaWQgc2V0RHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3KGJvb2wgc2Nyb2xsaW5nKSBmaW5hbCB7IG1fZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3ID0gc2Nyb2xsaW5nOyB9CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIGJv
b2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29u
c3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgZmluYWw7
CiAgICAgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJl
Y3QpIGZpbmFsOwpAQCAtOTA0LDYgKzkxMiwxMCBAQCBwcml2YXRlOgogCiAgICAgUGFnaW5hdGlv
biBtX3BhZ2luYXRpb247CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgT3B0
aW9uYWw8U2Nyb2xsUG9zaXRpb24+IG1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbjsKKyNl
bmRpZgorCiAgICAgZW51bSBjbGFzcyBWaWV3cG9ydFJlbmRlcmVyVHlwZSA6IHVpbnQ4X3QgeyBO
b25lLCBEb2N1bWVudCwgQm9keSB9OwogICAgIFZpZXdwb3J0UmVuZGVyZXJUeXBlIG1fdmlld3Bv
cnRSZW5kZXJlclR5cGUgeyBWaWV3cG9ydFJlbmRlcmVyVHlwZTo6Tm9uZSB9OwogICAgIFNjcm9s
bFBpbm5pbmdCZWhhdmlvciBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciB7IERvTm90UGluIH07CkBA
IC05NDksNiArOTYxLDEwIEBAIHByaXZhdGU6CiAgICAgLy8gVHJ1ZSBpZiBhdXRvc2l6ZSBoYXMg
YmVlbiBydW4gc2luY2UgbV9zaG91bGRBdXRvU2l6ZSB3YXMgc2V0LgogICAgIGJvb2wgbV9kaWRS
dW5BdXRvc2l6ZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3Rz
IHsgZmFsc2UgfTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBib29sIG1f
ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IHsgZmFsc2UgfTsKKyNlbmRpZgogfTsKIAogaW5saW5l
IHZvaWQgRnJhbWVWaWV3OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChjb25z
dCBJbnRTaXplJiBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24u
aAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxBbmlt
YXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25faAogCisjaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaXNpYmxl
TGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNlcnZpY2VBbmltYXRpb24oKSB7
IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBzZXRT
Y3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPikgeyB9OworI2VuZGlmCiAKIHBy
b3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVB
cmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9u
U21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290
aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCkBAIC0yOCw3ICsyOCwxMCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdGlvblNtb290aC5o
IgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVk
ZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODAsMTAgKzgz
LDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3JvbGwoY29uc3QgRmxvYXRQb2lu
dCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKCkKIHsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNB
Y3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKKwogICAgIG1fYW5p
bWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZp
b3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIH0KIAorI2lm
IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpu
b3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9zY3JvbGxFbmRFdmVudFRhcmdldCkgewor
ICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxz
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQ
YXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkg
PyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygp
IDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXIpCisgICAgICAg
IGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRTY3JvbGxFbmRUYXJnZXQobV9zY3JvbGxF
bmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAgICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0
LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqbV9zY3JvbGxFbmRF
dmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IG51bGxwdHI7Cit9
CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0
cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9
IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRl
VmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpvbnRhbERhdGEudmlzaWJsZUxlbmd0aCA9
IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBAIC00MTAsOCArNDQyLDEyIEBAIHZv
aWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIAogICAgIGlm
IChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0VGltZXIoc3RkOjptYXgobWlu
aW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsKLSAgICBlbHNlCisgICAgZWxz
ZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Ny
b2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCisgICAgfQogCiAg
ICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbihGbG9hdFBvaW50KG1faG9yaXpvbnRh
bERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0YS5jdXJyZW50UG9zaXRpb24pKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNt
b290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgK
aW5kZXggODE3M2ZhN2UyMC4uMTg0Y2ZhZDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTMxLDYgKzMxLDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsK
IGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFzcyBTY3JvbGxDbGFtcGluZyA6IHVpbnQ4
X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgogICAgICAgICBCb3VuY2UKICAgICB9Owog
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFy
Z2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIG92ZXJyaWRlOworI2VuZGlmCiBwcml2YXRlOgog
ICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwg
ZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGwo
Y29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIG5vdGlmeVNjcm9sbEVuZCgp
OworI2VuZGlmCiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsKIApA
QCAtMTA0LDYgKzExMSw5IEBAIHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRU
aW1lOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gbV9zY3JvbGxFbmRFdmVudFRhcmdl
dDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IDBmYzcyOWU5MTIuLmQ4OTMwMDhhYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTI4Nyw1
ICsyODcsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJh
cihTY3JvbGxiYXIqKQogewogICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT51cGRh
dGVWaXNpYmxlTGVuZ3RocygpOwogfQotCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
dm9pZCBTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVy
Tm9kZT4gdGFyZ2V0KQoreworICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT5zZXRT
Y3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggOWI3YzA5YjY5
MC4uZWVkZTc5OGRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5o
CkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2hlZWxFdmVudFRlc3RNb25pdG9yLmgiCiAj
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHx8IEVO
QUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5oIgpAQCAt
NDQsNiArNDUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRhaW5lck5v
ZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50OwogY2xhc3Mg
U2Nyb2xsQW5pbWF0aW9uOwpAQCAtMTQzLDYgKzE0NSwxMCBAQCBwdWJsaWM6CiAgICAgRmxvYXRT
aXplIHZpZXdwb3J0U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxD
b250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBu
b3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSk7CiAgICAgdm9pZCB1
cGRhdGVBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxUeXBlcy5oCmluZGV4IGI5NzVmYjA0MzAuLjU2MjczNDU0N2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtNjUsNiArNjUsMTEgQEAgZW51bSBjbGFzcyBB
bmltYXRlZFNjcm9sbCA6IHVpbnQ4X3QgewogICAgIFllcwogfTsKIAorZW51bSBjbGFzcyBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQgOiB1aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CisKIGlu
bGluZSBTY3JvbGxEaXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVj
dGlvbiBkaXJlY3Rpb24sIGJvb2wgaXNWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7CiAgICAg
c3dpdGNoIChkaXJlY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAK
aW5kZXggZDgxZDI0NDRjMC4uNmJmNjRhYWQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHAKQEAgLTIxMiw3ICsyMTIsMTEgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRDb250
ZW50c1Njcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXAK
ICAgICBpZiAocGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgc2V0QWN0dWFsU2Nyb2xsUG9zaXRp
b24ocG9zaXRpb24pOwogI2VuZGlmCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RT
Y3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRp
b24sIGNsYW1waW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAogRmxvYXRSZWN0IFNjcm9sbFZp
ZXc6OmV4cG9zZWRDb250ZW50UmVjdCgpIGNvbnN0CkBAIC00ODYsNiArNDkwLDEwIEBAIHZvaWQg
U2Nyb2xsVmlldzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIG5ld1Bvc2l0aW9uKQog
CiAgICAgbV9zY3JvbGxQb3NpdGlvbiA9IG5ld1Bvc2l0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihtX3Njcm9sbFBv
c2l0aW9uKTsKKyNlbmRpZgorCiAgICAgaWYgKHNjcm9sbGJhcnNTdXBwcmVzc2VkKCkpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtNTEzLDcgKzUyMSw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6Y29tcGxl
dGVVcGRhdGVzQWZ0ZXJTY3JvbGxUbyhjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSkKICAgICB1
cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5nKCk7CiB9CiAKLXZvaWQgU2Nyb2xs
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0
aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwvKiBhbmltYXRlZCov
KQordm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9s
bCAvKiBhbmltYXRlZCovLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhf
U1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlv
biAiIDw8IHNjcm9sbFBvc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5o
CmluZGV4IDA2MDQyNGM5MjEuLjc3YTc3NTYxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmgKQEAgLTI2MSw3ICsyNjEsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsUG9zaXRpb24g
Y2FjaGVkU2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNjcm9sbFBvc2l0
aW9uOyB9CiAKICAgICAvLyBGdW5jdGlvbnMgZm9yIHNjcm9sbGluZyB0aGUgdmlldy4KLSAgICB2
aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFu
aW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVlc3RTY3JvbGxF
bmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgdm9pZCBzY3JvbGxC
eShjb25zdCBJbnRTaXplJiBzKSB7IHJldHVybiBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3Np
dGlvbigpICsgcyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEu
Y3BwCmluZGV4IDViZGE4NTdiYjkuLjIwZmJlNDI2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJTY3JvbGxhYmxlQXJlYS5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZS5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCkBAIC03NjksNCArNzcwLDExIEBAIHZv
aWQgU2Nyb2xsYWJsZUFyZWE6OmNvbXB1dGVTY3JvbGxiYXJWYWx1ZUFuZE92ZXJoYW5nKGZsb2F0
IGN1cnJlbnRQb3NpdGlvbiwgZmxvCiAgICAgfQogfQogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQordm9pZCBTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8
Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIHNjcm9sbEFuaW1hdG9yKCkuc2V0U2Nyb2xs
RW5kVGFyZ2V0KHRhcmdldCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggZDIwM2FlYmU1Yy4u
MzMzMTY3OWI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBA
IC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVy
Tm9kZTsKIGNsYXNzIEZsb2F0UG9pbnQ7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBM
YXlvdXRQb2ludDsKQEAgLTM0Niw2ICszNDcsMTYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCA9IDA7
CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdmlydHVhbCB2b2lkIHNhdmVT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBp
bmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGNoZWNr
U2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSB7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gZmFsc2U7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGJvb2wpIHsgfQorICAg
IHZpcnR1YWwgU2Nyb2xsYWJsZUFyZWEqIGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldygpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2b2lkIHNldFNjcm9sbEVuZFRhcmdldChX
ZWFrUHRyPENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09S
RV9FWFBPUlQgU2Nyb2xsYWJsZUFyZWEoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5T
Y3JvbGxhYmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRl
eCA4YjI4NjQyNWMwLi5lM2FiNzRiYjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcApAQCAtNjAyLDcgKzYwMiwxMSBAQCB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcgogICAg
IGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAg
ICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9s
bFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOwor
I2Vsc2UKICAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlw
ZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckJveDo6YWJz
b2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYWNj
dW11bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAppbmRleCBiZTIzMTdhNzgyLi5kOGMwYjE1NWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI2MjQsMjEgKzI2MjQsNDQgQEAgdm9pZCBSZW5kZXJM
YXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpCiB2b2lkIFJlbmRl
ckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBT
Y3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAg
U2Nyb2xsUG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3JvbGxQb3NpdGlvbi55KCkpOworI2lmIEVO
QUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
c2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olll
cyk7CisjZWxzZQogICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9s
bFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5n
IGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3NpdGlv
biBwb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAg
ICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmlt
YXRlZCk7CisjZW5kaWYKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVu
ZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlv
biwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0
ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5k
RXZlbnQpCiB7CisjaWYgIUVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBVTlVTRURfUEFS
QU0ocmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKyNlbmRpZgorCisgICAgYXV0byBvZmZzZXQgPSBz
Y3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNldCBuZXdT
Y3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1w
U2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CiAgICAgaWYgKGFuaW1hdGVkID09IEFuaW1h
dGVkU2Nyb2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3Jv
bGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7Cisg
ICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihuZXdTY3JvbGxPZmZzZXQsIHNjcm9s
bFR5cGUsIGNsYW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9s
bE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAg
ICAgICAgc2Nyb2xsVG9PZmZzZXQobmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBlLCBjbGFtcGlu
Zyk7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKHJlbmRlcmVyKCku
c2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYmIHJlcXVlc3RTY3JvbGxFbmRF
dmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICBpZiAobmV3U2Ny
b2xsT2Zmc2V0ID09IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9s
bEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVk
U2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIo
cmVuZGVyZXIoKS5lbGVtZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIH0KIAogU2Nyb2xsT2Zmc2V0
IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9s
bE9mZnNldCkgY29uc3QKQEAgLTI2NjEsMTMgKzI2ODQsMTggQEAgdm9pZCBSZW5kZXJMYXllcjo6
c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIFNjcm9sbFR5
cGUgc2MKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAKICAg
ICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9s
bE9mZnNldDsKLSAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCA9PSB0aGlzLT5zY3JvbGxPZmZz
ZXQoKSkKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQ
b3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CisgICAgaWYgKGNsYW1wZWRT
Y3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpIHsKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjbGFtcGVk
U2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBh
dXRvIHByZXZpb3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxUeXBlKCk7CiAgICAgc2V0Q3Vy
cmVudFNjcm9sbFR5cGUoc2Nyb2xsVHlwZSk7CiAKLSAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3Np
dGlvblVwZGF0ZShzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCks
IHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKKyAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVw
ZGF0ZShjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKICAgICAg
ICAgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNsYW1wZWRTY3JvbGxPZmZzZXQsIGNs
YW1waW5nKTsKICAgICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhhdmlvclN0YXR1
czo6Tm90SW5BbmltYXRpb24pOwogCkBAIC0yNzkxLDYgKzI4MTksMTAgQEAgdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQogICAgIGlmIChF
bGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCiAgICAgICAgIGVsZW1lbnQt
PmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0KCplbGVtZW50KTsKIAorI2lm
IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRp
b24obV9zY3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3JvbGxzT3ZlcmZsb3co
KSkKICAgICAgICAgdmlldy5mcmFtZVZpZXcoKS5kaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKTsKIApA
QCAtMjgzNiwxMCArMjg2OCwxNCBAQCBib29sIFJlbmRlckxheWVyOjphbGxvd3NDdXJyZW50U2Ny
b2xsKCkgY29uc3QKICAgICByZXR1cm4gYm94LT5oYXNIb3Jpem9udGFsT3ZlcmZsb3coKSB8fCBi
b3gtPmhhc1ZlcnRpY2FsT3ZlcmZsb3coKTsKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRl
Rml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRpb25zKQordm9pZCBS
ZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0
ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25z
JiBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KQog
ewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiTGF5ZXIgIiA8PCB0
aGlzIDw8ICIgc2Nyb2xsUmVjdFRvVmlzaWJsZSAiIDw8IGFic29sdXRlUmVjdCk7CiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9vbCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZCA9IHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpOworI2Vu
ZGlmCisKICAgICBMYXlvdXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CiAgICAgRnJhbWVW
aWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICBhdXRv
KiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9z
c0ZyYW1lQm91bmRhcmllczo6Tm8pOwpAQCAtMjg2Niw2ICsyOTAyLDEwIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYg
dXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGJveC0+ZWxlbWVudCgpKSkKICAg
ICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgICAg
ICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9s
bE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgICAg
ICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3Jv
bGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKQorICAgICAg
ICAgICAgICAgIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsKKyNlbmRpZgogICAg
ICAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gY2xhbXBlZFNjcm9sbE9m
ZnNldCAtIG9sZFNjcm9sbE9mZnNldDsKICAgICAgICAgICAgIGxvY2FsRXhwb3NlUmVjdC5tb3Zl
KC1zY3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKICAgICAgICAgICAgIG5ld1JlY3QgPSBMYXlvdXRS
ZWN0KGJveC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KGxvY2FsRXhw
b3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4OTgsNiArMjkz
OCwxNCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91
dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgICAgICBhbmlt
YXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNl
dFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwg
YW5pbWF0ZWQpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAg
ICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9PSBBbmltYXRlZFNj
cm9sbDo6WWVzICYmIHNjcm9sbFBvc2l0aW9uICE9IGZyYW1lVmlldy5zY3JvbGxQb3NpdGlvbigp
KSB7CisgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXREdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpCisgICAgICAgICAgICAgICAgICAgICAg
ICBmcmFtZVZpZXcuc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKGZyYW1lVmlldy5mcmFt
ZSgpLmRvY3VtZW50KCkpKTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICAg
ICAgICAgIGlmIChvcHRpb25zLnNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgPT0gU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIHx8IGZyYW1lVmlldy5zYWZlVG9Qcm9w
YWdhdGVTY3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBl
bmNsb3NpbmdMYXllciA9IG93bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIo
KSkKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVyID0gZW5jbG9zaW5nTGF5ZXIt
PmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9yTm90OjpJbmNsdWRlU2VsZiwg
Q3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI5NDIsNiArMjk5MCwxMyBAQCB2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIGlmIChhdXRvc2Nyb2xsTm90SW5Qcm9n
cmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgcmVuZGVyZXIoKS5k
b2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSkKICAgICAgICAgICAgICAgICAgICAgYW5pbWF0
ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRT
Y3JvbGxQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAg
ICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9PSBBbmltYXRl
ZFNjcm9sbDo6WWVzICYmIGNsYW1wZWRTY3JvbGxQb3NpdGlvbiAhPSBmcmFtZVZpZXcuc2Nyb2xs
UG9zaXRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0RHVyaW5nU2Ny
b2xsUmVjdEludG9WaWV3KHRydWUpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFNj
cm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKQorICAgICAgICAgICAg
ICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFt
ZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2aWV3
IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcgd2UKQEAgLTI5NTMs
OCArMzAwOCwyNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICB9CiAgICAgfQog
ICAgIAotICAgIGlmIChwYXJlbnRMYXllcikKKyAgICBpZiAocGFyZW50TGF5ZXIpIHsKICAgICAg
ICAgcGFyZW50TGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUobmV3UmVjdCwgaW5zaWRlRml4ZWQs
IG9wdGlvbnMpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgaWYgKG92
ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICAgICAgQ29udGFpbmVyTm9kZSogdGFyZ2V0
ID0gcmVuZGVyZXIoKS5lbGVtZW50KCk7CisgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5kb2N1
bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0YXJnZXQpCisgICAgICAgICAgICAgICAgdGFy
Z2V0ID0gJnJlbmRlcmVyKCkuZG9jdW1lbnQoKTsKKworICAgICAgICAgICAgaWYgKGR1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldygpKQorICAgICAgICAgICAgICAgIHNldFNjcm9sbEVuZFRhcmdldCht
YWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAg
IGF1dG8qIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyID0gZmluZEFuY2VzdG9yRHVyaW5nU2Ny
b2xsUmVjdEludG9WaWV3KCk7CisgICAgICAgICAgICAgICAgaWYgKGR1cmluZ1Njcm9sbGluZ1Bh
cmVudExheWVyKQorICAgICAgICAgICAgICAgICAgICBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXll
ci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKHRhcmdldCkpOworICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmFkZFBl
bmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqdGFyZ2V0KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorI2VuZGlmCisgICAgfQogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVDb21wb3Np
dGluZ0xheWVyc0FmdGVyU2Nyb2xsKCkKQEAgLTcwMzUsNiArNzEwOCw0OSBAQCB2b2lkIFJlbmRl
ckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdpb24oKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQ
b3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nKQoreworICAgIGlmICghcmVuZGVyZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gb2Zmc2V0ID0gc2Nyb2xs
T2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNj
cm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBT
Y3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0
UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7
Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25z
dCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCit7CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxFbmRF
dmVudEF0UG9zaXRpb24gfHwgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkg
IT0gcG9zaXRpb24pCisgICAgICAgIHJldHVybjsKKworICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldCgpOworCisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RG
OjpudWxsb3B0OworfQorCit2b2lkIFJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZl
bnRUYXJnZXQoKQoreworICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVt
ZW50KCkpCisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEVuZEV2
ZW50VGFyZ2V0KCplbGVtZW50KTsKK30KKworU2Nyb2xsYWJsZUFyZWEqIFJlbmRlckxheWVyOjpm
aW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKQoreworICAgIGF1dG8qIHBhcmVu
dExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnRoaXMsIENyb3NzRnJhbWVC
b3VuZGFyaWVzOjpObyk7CisgICAgd2hpbGUgKHBhcmVudExheWVyKSB7CisgICAgICAgIGlmIChw
YXJlbnRMYXllci0+ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkpCisgICAgICAgICAgICByZXR1
cm4gcGFyZW50TGF5ZXI7CisgICAgICAgIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmlu
Z0Jsb2NrTGF5ZXIoKnBhcmVudExheWVyLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAg
IH0KKworICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVW
aWV3KCk7CisgICAgaWYgKGZyYW1lVmlldy5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAg
ICAgICAgcmV0dXJuICZmcmFtZVZpZXc7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisjZW5kaWYK
KwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mIHRzLCBDbGlwUmVjdHNU
eXBlIGNsaXBSZWN0c1R5cGUpCiB7CiAgICAgc3dpdGNoIChjbGlwUmVjdHNUeXBlKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGQ3MDhkMjZlZDEuLjUwMWNjNmIx
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NTIsNyArNDUy
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRT
Y3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOwogICAgIHZvaWQgc2Nyb2xsVG9ZUG9zaXRpb24o
aW50IHksIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKLSAgICB2b2lkIHNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRl
ZFNjcm9sbDo6Tm8pOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9z
aXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICAvLyBUaGVzZSBhcmUg
b25seSB1c2VkIGJ5IG1hcnF1ZWUuCiAgICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsg
c2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9s
bFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KQEAgLTQ2
Nyw3ICs0NjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhdmFpbGFibGVDb250ZW50U2l6ZUNoYW5n
ZWQoQXZhaWxhYmxlU2l6ZUNoYW5nZVJlYXNvbikgZmluYWw7CiAKICAgICAvLyAiYWJzb2x1dGVS
ZWN0IiBpcyBpbiBzY2FsZWQgZG9jdW1lbnQgY29vcmRpbmF0ZXMuCi0gICAgdm9pZCBzY3JvbGxS
ZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVG
aXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmKTsKKyAgICB2b2lkIHNjcm9s
bFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lk
ZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIFJlcXVlc3RTY3JvbGxF
bmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgYm9vbCBzY3JvbGxz
T3ZlcmZsb3coKSBjb25zdDsKICAgICBib29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZs
b3coKSBjb25zdDsKQEAgLTkyNSw2ICs5MjUsMTUgQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnZh
bGlkYXRlRXZlbnRSZWdpb24oKTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgZmluYWw7CisgICAgdm9p
ZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSBmaW5h
bDsKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpIGZpbmFsOworICAg
IGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWwgeyByZXR1cm4gbV9kdXJpbmdT
Y3JvbGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyhib29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyA9IHNj
cm9sbGluZzsgfQorICAgIFNjcm9sbGFibGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcoKSBmaW5hbDsKKyNlbmRpZgorCiBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRO
ZXh0U2libGluZyhSZW5kZXJMYXllciogbmV4dCkgeyBtX25leHQgPSBuZXh0OyB9CkBAIC0xMjgx
LDYgKzEyOTAsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbGF5ZXJMaXN0TXV0YXRpb25BbGxv
d2VkIDogMTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJv
b2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgOiAxOworI2VuZGlmCisKICNpZiBFTkFCTEUo
Q1NTX0NPTVBPU0lUSU5HKQogICAgIHVuc2lnbmVkIG1fYmxlbmRNb2RlIDogNTsgLy8gQmxlbmRN
b2RlCiAgICAgYm9vbCBtX2hhc05vdElzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFu
dHMgOiAxOwpAQCAtMTM1Niw2ICsxMzY5LDEwIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UmVuZGVyTGF5ZXJGaWx0ZXJzPiBtX2ZpbHRlcnM7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PFJlbmRlckxheWVyQmFja2luZz4gbV9iYWNraW5nOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxFbmRFdmVu
dEF0UG9zaXRpb247CisjZW5kaWYKICAgICAKICAgICBQYWludEZyZXF1ZW5jeVRyYWNrZXIgbV9w
YWludEZyZXF1ZW5jeVRyYWNrZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAppbmRleCBkNTYwMjg3NTI2Li4wYTQ2MDY0NDMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDI3LDcgKzQyNywxMSBAQCBib29sIFJl
bmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0
ZVJlY3QsIGJvb2wgaW5zaQogICAgIGlmICghZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBlbmNsb3NpbmdM
YXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRp
b25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIGVuY2xvc2luZ0xh
eWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29sdXRlUmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlv
bnMpOworI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395939</attachid>
            <date>2020-04-09 05:25:27 -0700</date>
            <delta_ts>2020-04-09 06:14:54 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-007-all.diff</filename>
            <type>text/plain</type>
            <size>146243</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzNDlkYzA3ZGI0Li5hZGEz
NGVmMzZkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wNC0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTkz
OTAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMzZmMTI0Zjg1ZS4uOTEzNjQ1ZmEwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIwLTA0LTA4ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2ZW50IG9mIHByb2dyYW1tYXRpYyBzY3Jv
bGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
OTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9z
Y3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICBUZXN0IGZhaWxzIG9uIGlPUyBiZWNhdXNlIHRoZSBGcmFt
ZVZpZXcgc2Nyb2xsIHBvc2l0aW9uIGlzIG5vIGNsYW1wZWQsIHNlZSBidWc6IDE3OTczNS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6IFRlc3QgZmFpbHMgb24g
bWFjLXdrMSBiZWNhdXNlIHRoZSBGcmFtZVZpZXcgc21vb3RoIHNjcm9sbGluZyBpcyBub3QgZnVu
Y3Rpb25hbC4gU2VlIGJ1ZzogMTkxMzU3LgorICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IEVu
YWJsZSB0aGUgdGVzdCBmb3IgcHJvZ3JhbW1hdGljIHNjcm9sbGluZyBzY3JvbGxlbmQgZXZlbnQu
CisKIDIwMjAtMDQtMDQgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjU5MDk1KTogQVNTRVJUSU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3Jl
ZW5Nb2RlICE9IFZpZGVvRnVsbHNjcmVlbk1vZGVOb25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJ
LldlYktpdExlZ2FjeS5BdWRpb1Nlc3Npb25DYXRlZ29yeUlPUwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZWIxNjkzM2I4Zi4uOTEyOGFiNGQ4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNjQsNyAr
MTY0LDE1IEBAIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS8gWyBTa2lwIF0KIGZh
c3QvaGFybmVzcy91aXNjcmlwdGNvbnRyb2xsZXIgWyBTa2lwIF0KIAogIyBPbmx5IGlPUyBoYXMg
YW4gaW1wbGVtZW50YXRpb24gb2YgVUlTY3JpcHRDb250cm9sbGVyOjpzZW5kRXZlbnRTdHJlYW0o
KS4KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcg
WyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3Jv
bGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tpcCBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJz
Y3JvbGwtZXZlbnQtZmlyZWQtdG8tZWxlbWVudC13aXRoLW92ZXJzY3JvbGwtYmVoYXZpb3IuaHRt
bCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLXNjcm9sbGVkLWVsZW1lbnQuaHRtbCBb
IFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC1hZnRlci1zbmFwLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVk
LXRvLWRvY3VtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLXRvLWVsZW1lbnQt
d2l0aC1vdmVyc2Nyb2xsLWJlaGF2aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVk
LXRvLXNjcm9sbGVkLWVsZW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8t
d2luZG93Lmh0bWwgWyBTa2lwIF0KIAogIyBUaGlzIHRlc3Qgb25seSBtYWtlcyBzZW5zZSBvbiBN
YWMKIGZhc3QvYXR0YWNobWVudC9hdHRhY2htZW50LXN1YnRpdGxlLXJlc2l6ZS5odG1sIFsgU2tp
cCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3Jh
bW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJl
ZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMC4uOTY2YzlmMWFiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNh
bGxpbmcgc2Nyb2xsIGZ1bmN0aW9ucy4gCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Ig
Y2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0ZXMuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9s
bGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi40M2ZiN2FjZGRmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3Jv
bGwuaHRtbApAQCAtMCwwICsxLDEzNSBAQAorPCFET0NUWVBFIEhUTUw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBleHBlcmltZW50YWw6T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ9dHJ1ZSBleHBl
cmltZW50YWw6Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rk
cml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci1h
Y3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIt
dmVuZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JvbGxfc3VwcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CisgIGh0bWwgeworICAgIGhlaWdodDogMzAwMHB4OworICAgIHdpZHRo
OiAzMDAwcHg7CisgIH0KKworICAjdGFyZ2V0RGl2IHsKKyAgICB3aWR0aDogMjAwcHg7CisgICAg
aGVpZ2h0OiAyMDBweDsKKyAgICBvdmVyZmxvdzogc2Nyb2xsOworICB9CisKKyAgI2lubmVyRGl2
IHsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0MDBweDsKKyAgfQorPC9zdHlsZT4K
KworPGJvZHkgc3R5bGU9Im1hcmdpbjowIiBvbmxvYWQ9cnVuVGVzdCgpPgorICA8ZGl2IGlkPSJ0
YXJnZXREaXYiPgorICAgIDxkaXYgaWQ9ImlubmVyRGl2Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+
Cis8L2JvZHk+Cis8c2NyaXB0PgorICB2YXIgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZh
bHNlOworICB2YXIgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKworICBmdW5j
dGlvbiBvbkVsZW1lbnRTY3JvbGxFbmQoZXZlbnQpIHsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQu
Y2FuY2VsYWJsZSk7CisgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmJ1YmJsZXMpOworICAgIGVsZW1l
bnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICB9CisKKyAgZnVuY3Rpb24gb25Eb2N1bWVu
dFNjcm9sbEVuZChldmVudCkgeworICAgIGFzc2VydF9mYWxzZShldmVudC5jYW5jZWxhYmxlKTsK
KyAgICAvLyBzY3JvbGxlbmQgZXZlbnRzIGFyZSBidWJibGVkIHdoZW4gdGhlIHRhcmdldCBub2Rl
IGlzIGRvY3VtZW50LgorICAgIGFzc2VydF90cnVlKGV2ZW50LmJ1YmJsZXMpOworICAgIGRvY3Vt
ZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gdHJ1ZTsKKyAgfQorCisgIGZ1bmN0aW9uIGNhbGxTY3Jv
bGxGdW5jdGlvbihbc2Nyb2xsVGFyZ2V0LCBzY3JvbGxGdW5jdGlvbiwgYXJnc10pIHsKKyAgICBz
Y3JvbGxUYXJnZXRbc2Nyb2xsRnVuY3Rpb25dKGFyZ3MpOworICB9CisKKyAgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICBsZXQgcm9vdF9lbGVtZW50ID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVu
dDsKKyAgICBsZXQgdGFyZ2V0X2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXRE
aXYiKTsKKworICAgIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgICAgYXdhaXQgd2Fp
dEZvckNvbXBvc2l0b3JDb21taXQoKTsKKyAgICAgIHRhcmdldF9kaXYuYWRkRXZlbnRMaXN0ZW5l
cigic2Nyb2xsZW5kIiwgb25FbGVtZW50U2Nyb2xsRW5kKTsKKyAgICAgIGRvY3VtZW50LmFkZEV2
ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRG9jdW1lbnRTY3JvbGxFbmQpOworCisgICAgICBs
ZXQgdGVzdF9jYXNlcyA9IFsKKyAgICAgICAgW3RhcmdldF9kaXYsIDIwMCwgMjAwLCBbdGFyZ2V0
X2RpdiwgInNjcm9sbFRvIiwgeyB0b3A6IDIwMCwgbGVmdDogMjAwLCBiZWhhdmlvcjogImF1dG8i
IH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYsIDAsIDAsIFt0YXJnZXRfZGl2LCAic2Nyb2xsVG8i
LCB7IHRvcDogMCwgbGVmdDogMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgW3Jv
b3RfZWxlbWVudCwgMjAwLCAyMDAsIFtyb290X2VsZW1lbnQsICJzY3JvbGxUbyIsIHsgdG9wOiAy
MDAsIGxlZnQ6IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgIFtyb290X2VsZW1l
bnQsIDAsIDAsIFtyb290X2VsZW1lbnQsICJzY3JvbGxUbyIsIHsgdG9wOiAwLCBsZWZ0OiAwLCBi
ZWhhdmlvcjogInNtb290aCIgfV1dLAorICAgICAgICBbdGFyZ2V0X2RpdiwgMjAwLCAyMDAsIFt0
YXJnZXRfZGl2LCAic2Nyb2xsQnkiLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAi
YXV0byIgfV1dLAorICAgICAgICBbdGFyZ2V0X2RpdiwgMCwgMCwgW3RhcmdldF9kaXYsICJzY3Jv
bGxCeSIsIHsgdG9wOiAtMjAwLCBsZWZ0OiAtMjAwLCBiZWhhdmlvcjogInNtb290aCIgfV1dLAor
ICAgICAgICBbcm9vdF9lbGVtZW50LCAyMDAsIDIwMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbEJ5
IiwgeyB0b3A6IDIwMCwgbGVmdDogMjAwLCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAg
W3Jvb3RfZWxlbWVudCwgMCwgMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbEJ5IiwgeyB0b3A6IC0y
MDAsIGxlZnQ6IC0yMDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0KKyAgICAgIF07CisKKyAgICAg
IGZvciAoaSA9IDA7IGkgPCB0ZXN0X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGxldCB0
ID0gdGVzdF9jYXNlc1tpXTsKKyAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07CisgICAgICAgIGxl
dCBleHBlY3RlZF94ID0gdFsxXTsKKyAgICAgICAgbGV0IGV4cGVjdGVkX3kgPSB0WzJdOworICAg
ICAgICBsZXQgc2Nyb2xsX2RhdGFzID0gdFszXTsKKworICAgICAgICBjYWxsU2Nyb2xsRnVuY3Rp
b24oc2Nyb2xsX2RhdGFzKTsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBl
bGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9
LCB0YXJnZXQudGFnTmFtZSArICIuIiArIHNjcm9sbF9kYXRhc1sxXSArICIgZGlkIG5vdCByZWNl
aXZlIHNjcm9sbGVuZCBldmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1l
bnQpCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQuc2Nyb2xsTGVmdCwgZXhwZWN0
ZWRfeCwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAiIHNjcm9sbExl
ZnQiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQuc2Nyb2xsVG9wLCBleHBlY3RlZF95
LCB0YXJnZXQudGFnTmFtZSArICIuIiArIHNjcm9sbF9kYXRhc1sxXSArICIgc2Nyb2xsVG9wIik7
CisKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgICBk
b2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgfQorICAgIH0sICJUZXN0
cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNhbGxpbmcgc2Nyb2xsIGZ1bmN0aW9ucy4iKTsKKworICAg
IHByb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgICAgYXdhaXQgd2FpdEZvckNvbXBvc2l0
b3JDb21taXQoKTsKKworICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAgICAgIFt0YXJnZXRf
ZGl2LCAic2Nyb2xsVG9wIl0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAic2Nyb2xsTGVmdCJdLAor
ICAgICAgICBbcm9vdF9lbGVtZW50LCAic2Nyb2xsVG9wIl0sCisgICAgICAgIFtyb290X2VsZW1l
bnQsICJzY3JvbGxMZWZ0Il0KKyAgICAgIF07CisgICAgICBmb3IgKGkgPSAwOyBpIDwgdGVzdF9j
YXNlcy5sZW5ndGg7IGkrKykgeworICAgICAgICBsZXQgdCA9IHRlc3RfY2FzZXNbaV07CisgICAg
ICAgIGxldCB0YXJnZXQgPSB0WzBdOworICAgICAgICBsZXQgYXR0cmlidXRlID0gdFsxXTsKKyAg
ICAgICAgbGV0IHBvc2l0aW9uID0gMjAwOworCisgICAgICAgIHRhcmdldC5zdHlsZS5zY3JvbGxC
ZWhhdmlvciA9ICJzbW9vdGgiOworICAgICAgICB0YXJnZXRbYXR0cmlidXRlXSA9IHBvc2l0aW9u
OworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGVsZW1lbnRfc2Nyb2xsZW5k
X2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7IH0sIHRhcmdldC50YWdOYW1l
ICsgIi4iICsgYXR0cmlidXRlICsgIiBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIp
OworICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVudCkKKyAgICAgICAgICBhc3NlcnRf
ZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICBhc3NlcnRfZmFsc2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKHRhcmdldFthdHRyaWJ1dGVdLCBwb3NpdGlvbiwgdGFyZ2V0LnRhZ05hbWUgKyAi
LiIgKyBhdHRyaWJ1dGUgKyAiICIpOworICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVk
ID0gZmFsc2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisK
KyAgICAgICAgYXdhaXQgd2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKyAgICAgICAgdGFyZ2V0
LnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImF1dG8iOworICAgICAgICB0YXJnZXRbYXR0cmlidXRl
XSA9IDA7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgdGFyZ2V0LnRh
Z05hbWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiIGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZl
bnQuIik7CisgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQorICAgICAgICAgIGFz
c2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAg
IGFzc2VydF9lcXVhbHModGFyZ2V0W2F0dHJpYnV0ZV0sIDAsIHRhcmdldC50YWdOYW1lICsgIi4i
ICsgYXR0cmlidXRlICsgIiAiKTsKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IGZhbHNlOworICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAg
ICAgfQorICAgIH0sICJUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNoYW5naW5nIHNjcm9sbCBh
dHRyaWJ1dGVzLiIpOworICB9Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50
b1ZpZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNj
cm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwLi5iZWM3MTFmZGUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQt
ZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKKworUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3LiAKK1BB
U1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBuZXN0ZWQgc2Nyb2xsSW50b1ZpZXcuIAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1Zp
ZXcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmll
dy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmVkZDM4YzBmMmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Ny
b2xsSW50b1ZpZXcuaHRtbApAQCAtMCwwICsxLDEyNCBAQAorPCFET0NUWVBFIEhUTUw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ9
dHJ1ZSBleHBlcmltZW50YWw6Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0g
LS0+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGRyaXZlci1hY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JvbGxfc3VwcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAgaHRtbCB7CisgICAgICAgIGhlaWdodDogMzAw
MHB4OworICAgICAgICB3aWR0aDogMzAwMHB4OworICAgIH0KKworICAgICN0YXJnZXREaXYgewor
ICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgIG92
ZXJmbG93OiBzY3JvbGw7CisgICAgfQorCisgICAgI2lubmVyRGl2IHsKKyAgICAgICAgd2lkdGg6
IDQwMHB4OworICAgICAgICBoZWlnaHQ6IDQwMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxib2R5
IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPXJ1blRlc3QoKT4KKyAgICA8ZGl2IGlkPSJ0YXJnZXRE
aXYiPgorICAgICAgICA8ZGl2IGlkPSJpbm5lckRpdiI+CisgICAgICAgIDwvZGl2PgorICAgIDwv
ZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyAgICB2YXIgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCA9IGZhbHNlOworICAgIHZhciBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNlOwor
CisgICAgZnVuY3Rpb24gb25FbGVtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgICAgIGFzc2Vy
dF9mYWxzZShldmVudC5jYW5jZWxhYmxlKTsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmJ1
YmJsZXMpOworICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gdHJ1ZTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBvbkRvY3VtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgICAgIGFz
c2VydF9mYWxzZShldmVudC5jYW5jZWxhYmxlKTsKKyAgICAgICAgLy8gc2Nyb2xsZW5kIGV2ZW50
cyBhcmUgYnViYmxlZCB3aGVuIHRoZSB0YXJnZXQgbm9kZSBpcyBkb2N1bWVudC4KKyAgICAgICAg
YXNzZXJ0X3RydWUoZXZlbnQuYnViYmxlcyk7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjYWxsU2Nyb2xsRnVuY3Rpb24o
W3Njcm9sbFRhcmdldCwgc2Nyb2xsRnVuY3Rpb24sIGFyZ3NdKSB7CisgICAgICAgIHNjcm9sbFRh
cmdldFtzY3JvbGxGdW5jdGlvbl0oYXJncyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgbGV0IHJvb3RfZWxlbWVudCA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1l
bnQ7CisgICAgICAgIGxldCB0YXJnZXRfZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldERpdiIpOworICAgICAgICBsZXQgaW5uZXJfZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImlubmVyRGl2Iik7CisKKyAgICAgICAgLy8gR2V0IGV4cGVjdGVkIHBvc2l0aW9uIGZvciBy
b290X2VsZW1lbnQgc2Nyb2xsSW50b1ZpZXcuCisgICAgICAgIHJvb3RfZWxlbWVudC5zY3JvbGxU
bygxMDAwMCwgMTAwMDApOworICAgICAgICBsZXQgbWF4X3Jvb3RfeCA9IHJvb3RfZWxlbWVudC5z
Y3JvbGxMZWZ0OworICAgICAgICBsZXQgbWF4X3Jvb3RfeSA9IHJvb3RfZWxlbWVudC5zY3JvbGxU
b3A7CisgICAgICAgIHJvb3RfZWxlbWVudC5zY3JvbGxUbygwLCAwKTsKKworICAgICAgICB0YXJn
ZXRfZGl2LnNjcm9sbFRvKDEwMDAwLCAxMDAwMCk7CisgICAgICAgIGxldCBtYXhfZWxlbWVudF94
ID0gdGFyZ2V0X2Rpdi5zY3JvbGxMZWZ0OworICAgICAgICBsZXQgbWF4X2VsZW1lbnRfeSA9IHRh
cmdldF9kaXYuc2Nyb2xsVG9wOworICAgICAgICB0YXJnZXRfZGl2LnNjcm9sbFRvKDAsIDApOwor
CisgICAgICAgIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgICAgICAgICAgYXdhaXQg
d2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKyAgICAgICAgICAgIHRhcmdldF9kaXYuYWRkRXZl
bnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwgb25FbGVtZW50U2Nyb2xsRW5kKTsKKyAgICAgICAgICAg
IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRG9jdW1lbnRTY3JvbGxF
bmQpOworCisgICAgICAgICAgICBsZXQgdGVzdF9jYXNlcyA9IFsKKyAgICAgICAgICAgICAgICBb
dGFyZ2V0X2RpdiwgbWF4X2VsZW1lbnRfeCwgbWF4X2VsZW1lbnRfeSwgW2lubmVyX2RpdiwgInNj
cm9sbEludG9WaWV3IiwgeyBpbmxpbmU6ICJlbmQiLCBibG9jazogImVuZCIsIGJlaGF2aW9yOiAi
YXV0byIgfV1dLAorICAgICAgICAgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBbaW5uZXJfZGl2
LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGluZTogInN0YXJ0IiwgYmxvY2s6ICJzdGFydCIsIGJl
aGF2aW9yOiAic21vb3RoIiB9XV0sCisgICAgICAgICAgICAgICAgW3Jvb3RfZWxlbWVudCwgbWF4
X3Jvb3RfeCwgbWF4X3Jvb3RfeSwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbEludG9WaWV3IiwgeyBp
bmxpbmU6ICJlbmQiLCBibG9jazogImVuZCIsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0sCisgICAg
ICAgICAgICAgICAgW3Jvb3RfZWxlbWVudCwgMCwgMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbElu
dG9WaWV3IiwgeyBpbmxpbmU6ICJzdGFydCIsIGJsb2NrOiAic3RhcnQiLCBiZWhhdmlvcjogInNt
b290aCIgfV1dCisgICAgICAgICAgICBdOworCisgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwg
dGVzdF9jYXNlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgICAgIGxldCB0ID0gdGVzdF9j
YXNlc1tpXTsKKyAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdFswXTsKKyAgICAgICAgICAg
ICAgICBsZXQgZXhwZWN0ZWRfeCA9IHRbMV07CisgICAgICAgICAgICAgICAgbGV0IGV4cGVjdGVk
X3kgPSB0WzJdOworICAgICAgICAgICAgICAgIGxldCBzY3JvbGxfZGF0YXMgPSB0WzNdOworCisg
ICAgICAgICAgICAgICAgY2FsbFNjcm9sbEZ1bmN0aW9uKHNjcm9sbF9kYXRhcyk7CisgICAgICAg
ICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVtZW50X3Njcm9sbGVuZF9h
cnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCB0YXJnZXQudGFnTmFtZSAr
ICIuc2Nyb2xsSW50b1ZpZXcgIGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7Cisg
ICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1lbnQpCisgICAgICAgICAgICAg
ICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9z
Y3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQu
c2Nyb2xsTGVmdCwgZXhwZWN0ZWRfeCwgdGFyZ2V0LnRhZ05hbWUgKyAiLnNjcm9sbEludG9WaWV3
IHNjcm9sbExlZnQiKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5zY3Jv
bGxUb3AsIGV4cGVjdGVkX3ksIHRhcmdldC50YWdOYW1lICsgIi5zY3JvbGxJbnRvVmlldyBzY3Jv
bGxUb3AiKTsKKworICAgICAgICAgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNl
OworICAgICAgICAgICAgfQorICAgICAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBz
Y3JvbGxJbnRvVmlldy4iKTsKKworICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsK
KyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGFyZ2V0X2Rpdik7CisgICAg
ICAgICAgICBsZXQgb3V0X2RpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAg
ICAgICAgICAgb3V0X2Rpdi5zdHlsZSA9ICJ3aWR0aDogMTAwcHg7IGhlaWdodDoxMDBweDsgb3Zl
cmZsb3c6c2Nyb2xsOyBzY3JvbGwtYmVoYXZpb3I6c21vb3RoOyI7CisgICAgICAgICAgICBvdXRf
ZGl2LmFwcGVuZENoaWxkKHRhcmdldF9kaXYpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChvdXRfZGl2KTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9y
Q29tbWl0KCk7CisKKyAgICAgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxz
ZTsKKyAgICAgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAg
ICAgICAgICBpbm5lcl9kaXYuc2Nyb2xsSW50b1ZpZXcoeyBpbmxpbmU6ICJlbmQiLCBibG9jazog
ImVuZCIsIGJlaGF2aW9yOiAiYXV0byIgfSk7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgp
ID0+IHsgcmV0dXJuIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xs
ZW5kX2Fycml2ZWQ7IH0sICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgZGlkIG5vdCByZWNlaXZlIHNj
cm9sbGVuZCBldmVudC4iKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocm9vdF9lbGVtZW50
LnNjcm9sbExlZnQsIDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgcm9vdF9lbGVtZW50IHNjcm9s
bExlZnQiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocm9vdF9lbGVtZW50LnNjcm9sbFRv
cCwgMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyByb290X2VsZW1lbnQgc2Nyb2xsVG9wIik7Cisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG91dF9kaXYuc2Nyb2xsTGVmdCwgMTAwLCAiTmVzdGVk
IHNjcm9sbEludG9WaWV3IG91dF9kaXYgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhvdXRfZGl2LnNjcm9sbFRvcCwgMTAwLCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IG91
dF9kaXYgc2Nyb2xsVG9wIik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldF9kaXYu
c2Nyb2xsTGVmdCwgbWF4X2VsZW1lbnRfeCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyB0YXJnZXRf
ZGl2IHNjcm9sbExlZnQiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0X2Rpdi5z
Y3JvbGxUb3AsIG1heF9lbGVtZW50X3ksICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgdGFyZ2V0X2Rp
diBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9zY3JvbGxl
bmRfYXJyaXZlZCk7CisgICAgICAgIH0sICJUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3Rl
ZCBzY3JvbGxJbnRvVmlldy4iKTsKKyAgICB9Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZl
bnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Ny
b2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjRhYmFhNmEyMzEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmly
ZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworRkFJ
TCBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3LiBhc3NlcnRfZXF1YWxz
OiBIVE1MLnNjcm9sbEludG9WaWV3IHNjcm9sbExlZnQgZXhwZWN0ZWQgMTAwMDAgYnV0IGdvdCAy
MjAwCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbEludG9WaWV3
LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IGEwYmExZWMxOTEuLjY2MGViZTRjODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc1Myw2ICs3NTMsOCBAQCB3ZWJraXQub3JnL2Iv
MTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Ny
b2xsLWJlaGF2aQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1tYWluLWZyYW1lLXdpbmRvdy5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9yLXN1YmZyYW1lLXJvb3QuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1zdWJmcmFtZS13aW5kb3cuaHRt
bCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJv
Z3JhbW1hdGljLXNjcm9sbC5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5k
LWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5v
cmcvYi8xODk5MDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfdGltaW5nLndvcmtlci5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCmluZGV4IDg4ZmQzMmUzNjguLmVmMzg2ZGEwYjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhp
ZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBl
dmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisg
ICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAyMC0wNC0wMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qgc2hv
dWxkIGdyYWNlZnVsbHkgdGhyb3cgT09NIGVycm9yIGlmIGlucHV0ICsgZXJyb3IgbWVzc2FnZSBp
cyB0b28gbGFyZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlZmZjNzJiNmIxLi5jYmM5
OTg2M2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5B
QkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNI
ID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsK
IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVS
RkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJM
RV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFC
TEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0
ICs0MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFC
TEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0la
RV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VS
VkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJE
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFU
RV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVN
T1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVf
TkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
TkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJP
WF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9S
RVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNiMmI1NWQ1ZjYuLjIyZDkxNWUwMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNjEgQEAKKzIwMjAtMDQtMDggIENhdGhpZSBDaGVuICA8
Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxl
bmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVu
dCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLiBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdl
dExpc3QgaW4gRG9jdW1lbnQgc3RvcmVzCisgICAgICAgIHRoZSBzY3JvbGxlZCB0YXJnZXRzIHdo
aWNoIG5lZWQgdG8gZGlzcGF0Y2ggc2Nyb2xsZW5kIGV2ZW50cy4gRnJhbWVWaWV3IGFuZCBSZW5k
ZXJMYXllciBwcm92aWRlIHRocmVlIHdheXMgdG8KKyAgICAgICAgYWRkIGVsZW1lbnRzIHRvIHRo
ZSBzY3JvbGxlbmQgbGlzdC4gICAgIAorICAgICAgICAxLiBJbnN0YW50IHNjcm9sbGluZyBpbmNs
dWRpbmcgdGhlIHNjcm9sbGluZyBwb3NpdGlvbiBub3QgY2hhbmdlZCBhbmltYXRlZCBzY3JvbGws
IHRoZSBlbGVtZW50IHdvdWxkIGFkZCB0byB0aGUgbGlzdAorICAgICAgICBhZnRlciBzY3JvbGwg
cG9zaXRpb24gY2hhbmdlZC4KKyAgICAgICAgMi4gQW5pbWF0ZWQgc2Nyb2xsaW5nLCB0aGUgZWxl
bWVudCB3b3VsZCBiZSBzZXQgYXMgdGhlIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgb2YgU2Nyb2xs
QW5pbWF0aW9uIGFuZCBhZGQgdG8gdGhlIGxpc3QKKyAgICAgICAgd2hlbiBhbmltYXRpb24gc3Rv
cHMuIEZvciBzY3JvbGxSZWN0SW50b1ZpZXcsIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSBzY3JvbGxl
bmQgZXZlbnQgZmlyZWQgYWZ0ZXIgYWxsIGFuY2VzdG9yIGxheWVycworICAgICAgICBmaW5pc2hp
bmcgc2Nyb2xsaW5nLCBhZGQgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5kaWNhdGUg
aWYgc2Nyb2xsUmVjdEludG9WaWV3IGZpbmlzaGVkLiBXaGVuIFNjcm9sbEFuaW1hdGlvbgorICAg
ICAgICBzdG9wcywgaXQgd2lsbCB0cnkgdG8gZmluZCBhIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyBhbmNlc3RvciBsYXllciBhbmQgcGFzcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byBp
dHMKKyAgICAgICAgU2Nyb2xsQW5pbWF0aW9uLiBJZiBubyBzdWNoIGxheWVyIGZvdW5kLCBhZGQg
bV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIDMu
IFVzZXIgYXN5bmNocm9ub3VzIHNjcm9sbGluZywgdGhlIHNjcm9sbCBwb3NpdGlvbiB3b3VsZG4n
dCBjaGFuZ2UgaW1tZWRpYXRlbHkuIFNvIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uCisgICAg
ICAgIHRoZW4gY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uIGlmIHNjcm9sbCBwb3NpdGlvbiBj
aGFuZ2VkLiBUaGUgcHJvZ3JhbW1hdGljIHNjcm9sbGluZyB3b3VsZG4ndCB0cmlnZ2VyIHRoaXMg
d2F5LgorCisgICAgICAgIFRlc3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMt
c2Nyb2xsLmh0bWwKKyAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbElu
dG9WaWV3Lmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFyZ2V0cyB0
byBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQgZm9yIGVh
Y2ggdGFyZ2V0LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5nU2Nyb2xs
RW5kRXZlbnRUYXJnZXRMaXN0IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQgdGFyZ2V0
cy4KKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
OjpzZXRTY3JvbGxMZWZ0KTogU2V0IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzIGZvciBGcmFt
ZVZpZXcgZWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6
IERpdHRvLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVdpbmRvdzo6c2Nyb2xsVG8gY29uc3QpOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVu
ZCBsaXN0IGZvciBzY3JvbGxpbmcgdG8gKDAsIDApIG9wdGltaXphdGlvbi4KKyAgICAgICAgKiBw
YWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9s
bFBvc2l0aW9uKTogQWRkIGRvY3VtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3Jv
bGxlZChpbnN0YW50IHNjcm9sbCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhvdXQgY2hh
bmdpbmcgdGhlIHBvc2l0aW9uLCBvdGhlcndpc2Ugc2V0IGRvY3VtZW50IGFzIHRoZSBzY3JvbGxF
bmRUYXJnZXQgb2Ygc2Nyb2xsQW5pYW10aW9uLikuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKTogU2F2ZSB0aGUgc2Nyb2xsIHBvc2l0aW9u
IHRoYXQgcmVxdWlyZXMgdG8gZmlyZSBhbiBzY3JvbGxlbmQgZXZlbnQuIFRoaXMgaXMgZm9yIGFz
eW5jaHJvbm91cyBzY3JvbGwuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNoZWNrU2Ny
b2xsRW5kRXZlbnRQb3NpdGlvbik6IEFkZCBkb2N1bWVudCB0byB0aGUgbGlzdCBpZiB0aGUgc2Ny
b2xsIHBvc2l0aW9uIGVxdWFsIHRvIHRoZSBwcmVzZXJ2ZWQgb25lLgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQpOiBBZGQgRG9jdW1l
bnQgdG8gbV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0IGluIERvY3VtZW50LgorICAg
ICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6IEFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0
byBpbmRpY2F0ZSBGcmFtZVZpZXcgaXMgcGVyZm9ybWluZyBhIGFuaW1hdGVkIHNjcm9sbFJlY3RJ
bnRvVmlldyBzY3JvbGwuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRpb246OnNldFNjcm9sbEVuZFRhcmdldCk6Cisg
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6c3RvcCk6IENhbGwgbm90aWZ5U2Nyb2xsRW5k
LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxF
bmQpOiBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgZmFsc2UuIElmIHRoZXJlJ3MgbV9zY3Jv
bGxFbmRFdmVudFRhcmdldCwgdHJ5IHRvIGZpbmQgYW4gYW5jZXN0b3IgbGF5ZXIKKyAgICAgICAg
ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGFuZCBzZXQgdGhlIHRhcmdldCB0byBpdC4gT3RoZXJ3
aXNlLCBhZGQgdGhlIHRhcmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOiBD
YWxsIG5vdGlmeVNjcm9sbEVuZCBpZiBub3QgY29udGludWVBbmltYXRpb24uCisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6IEFkZCBtX3Njcm9sbEVuZEV2ZW50VGFy
Z2V0LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzZXRTY3JvbGxFbmRUYXJnZXQpOiBTZXQgbV9zY3JvbGxF
bmRFdmVudFRhcmdldCB0byBTY3JvbGxBbmltYXRpb25TbW9vdGguCisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOiBB
ZGQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3JvbGxQb3Np
dGlvbik6IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbFZpZXc6OnNjcm9sbFRvKTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24g
aWYgdGhlIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OnNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFi
bGVBcmVhOjpjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYWJsZUFyZWE6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzZXREdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmZpbmRBbmNlc3RvckR1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzY3JvbGxUb1lQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0
U2Nyb2xsUG9zaXRpb24pOiBBZGQgZWxlbWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgaWYgaXQg
c2Nyb2xsZWQoaW5zdGFudCBzY3JvbGwgb3Igc21vb3RoIHNjcm9sbAorICAgICAgICB3aXRob3V0
IGNoYW5naW5nIHRoZSBwb3NpdGlvbiwgb3RoZXJ3aXNlIHNldCBlbGVtZW50IGFzIHRoZSBzY3Jv
bGxFbmRUYXJnZXQgb2Ygc2Nyb2xsQW5pYW10aW9uLikuCisKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpzY3JvbGxUb09mZnNldCk6IENhbGwgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0
aW9uLCBpZiB0aGVyZSBpcyBubyBzY3JvbGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsVG8pOiBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBv
c2l0aW9uIGNoYW5nZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVj
dFRvVmlzaWJsZSk6IHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKSBpZiBpdCdzIHBl
cmZvcm1pbmcgYSBhbmltYXRlZCBzY3JvbGxpbmcuCisgICAgICAgIEFmdGVyIHBhcmVudExheWVy
LT5zY3JvbGxSZWN0VG9WaXNpYmxlKCksIGNoZWNrIGlmIGN1cnJlbnQgbGF5ZXIgaXMgZHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3LCBzZXQgdGhlIGVsZW1lbnQgYXMgYW5pbWF0aW9uJ3Mgc2Nyb2xs
ZW5kIFRhcmdldC4KKyAgICAgICAgT3RoZXJ3aXNlLCBmaW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcgYW5jZXN0b3IgbGF5ZXIgYW5kIHBhc3MgdGhlIGVsZW1lbnQgdG8gYW5jZXN0b3Ig
bGF5ZXIncyBzY3JvbGxBbmltYXRpb24uCisgICAgICAgIElmIG5vIGR1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldyBsYXllciBmb3VuZCwgYWRkIHRoZSBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlz
dC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVu
dFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Ny
b2xsRW5kRXZlbnRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpbmRB
bmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyk6IEZpbmQgdGhlIGR1cmluZ1Njcm9sbFJl
Y3RJbnRvVmlldyBhbmNlc3RvciBsYXllciwgYW5kIGNoZWNrIEZyYW1lVmlldyBhdCB0aGUgZW5k
LiAKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Ny
b2xsUmVjdFRvVmlzaWJsZSk6IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKworMjAy
MC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmll
d2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdh
bmcncyBwYXRjaC4KKworICAgICAgICBQYXJzZSBvbm92ZXJzY3JvbGwvc2Nyb2xsZW5kIGF0dHJp
YnV0ZSBhbmQgb3ZlcnNjcm9sbC9vdmVyc2Nyb2xsIGV2ZW50IG5hbWUuCisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFt
ZU1hcCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCisyMDIwLTA0LTA3ICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBGaXggdXAgY29kZSBz
dHlsZSBmb3Igc2Nyb2xsIGFuaW1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjEwMTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgMS4gVXNlIEFuaW1hdGVkU2Nyb2xsIGluc3RlYWQgb2YgYm9vbCB0
byBpbmRpY2F0ZSBhbmltYXRlZCBvciBub3QuCisgICAgICAgIDIuIFJlbW92ZSBwYXJhbWV0ZXIg
U2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMsIHRoZSBhdXRvc2Nyb2xsIHN0YXR1cyBpcyBhdmFp
bGFibGUgZnJvbSBFdmVudEhhbmRsZXIuCisgICAgICAgIDMuIEluIG9yZGVyIHRvIGtlZXAgY29u
c2lzdGVudCwgdXNlIFJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbiBpbnN0ZWFkIG9mIFJl
bmRlckxheWVyOjpzY3JvbGxUb1Bvc2l0aW9uLgorICAgICAgICA0LiBBZGQgQW5pbWF0ZWRTY3Jv
bGwgcGFyYW1ldGVyIHRvIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24sIHRo
ZW4gdGhlIHNjcm9sbCBhbmltYXRpb24KKyAgICAgICAgY2FuIGJlIGRlYWx0IGluIEZyYW1lVmll
dzo6c2V0U2Nyb2xsUG9zaXRpb24uCisgICAgICAgIDUuIEluIFNjcm9sbFZpZXc6OnNldFNjcm9s
bFBvc2l0aW9uLCB0aGUgc2Nyb2xsIGFuaW1hdGlvbiBzaG91bGQgYmUgY2FuY2xlZCBiZWZvcmUg
cmV0dXJuLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOiBVc2UgQW5pbWF0ZWRTY3JvbGwg
aW5zdGVhZCBvZiBib29sLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2Nyb2xsVG8pOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsTGVmdCk6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50OjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8gY29uc3QpOiBObyBuZWVk
IHRvIGNhbGwgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uIGhlcmUuCisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRTY3JvbGxQ
b3NpdGlvbik6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxUeXBlcy5oOiBBZGQgQW5pbWF0ZWRTY3JvbGwuCisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50
c1Njcm9sbFBvc2l0aW9uKTogQWRkIHBhcmFtZXRlciBBbmltYXRlZFNjcm9sbC4KKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQ2FuY2VsIHRoZSBzY3Jv
bGwgYW5pbWF0aW9uIGJlZm9yZSByZXR1cm4uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmll
dy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6c2V0U2Nyb2xsVG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xs
UG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OnNjcm9sbFRvWFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3Jv
bGxUb1lQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xs
UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zp
c2libGUpOiBSZW1vdmUgQXV0b3Njcm9sbFN0YXR1cy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjphdXRvc2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3Jv
bGxUb1Bvc2l0aW9uKTogRGVsZXRlZC4gVXNlIHNldFNjcm9sbFBvc2l0aW9uIGluc3RlYWQuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6c2V0U2Ny
b2xsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3Ap
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNldFNjcm9sbExlZnQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3ApOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDoKKwogMjAyMC0wNC0w
NCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNTkwOTUpOiBBU1NFUlRJT04gRkFJTEVEOiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlk
ZW9GdWxsc2NyZWVuTW9kZU5vbmUgc2VlbiB3aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5
LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGVmZmM3MmI2YjEuLmNiYzk5
ODYzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9D
QU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxP
V19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdf
VE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7
CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9Q
SUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05f
TUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
UElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJT
KSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hF
X1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChF
TkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9Q
T0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1Qp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVO
QUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9I
QU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNF
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykg
JChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVf
V0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRI
TikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
NCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJ
Q1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykg
JChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VS
VkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JL
X0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9T
VEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9P
RkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5B
QkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggNThlMjQzMzFkZS4uZTFkNGRlZWZmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8
Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Ny
b2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcu
CisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAg
QWRkIEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDIwLTA0LTAzICBEYXZpZCBLaWx6ZXIgIDxk
ZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgW1hjb2RlXSBSZXBsYWNlIEFTQU5fT1RIRVJf
Q0ZMQUdTIGFuZCBBU0FOX09USEVSX0NQTFVTUExVU0ZMQUdTIHdpdGggJChpbmhlcml0ZWQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggZWZmYzcyYjZiMS4uY2JjOTk4NjNjMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtMjk3LDYgKzI5Nyw4IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwog
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVf
UElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElf
JChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00MTcsNCArNDE5LDQgQEAgRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVO
QUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5f
UElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVf
SU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQ
RUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElM
RV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5f
Q0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1F
TlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
QU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVB
QkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNF
U19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElP
TlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dF
QkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJH
TDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RB
VElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NT
U19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJ
Q1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lO
U1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVf
UkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NB
TlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NS
T0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0la
RV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VS
VkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJE
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBj
NjIwNWM1ZjZlLi4zMzYwYmM1OGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zMDUsNiArMzA1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKG1hdGNoaW5nRWxlbWVudEluRmxhdFRyZWUpIFwKICAgICBtYWNy
byhtZWRpYVN0cmVhbVRyYWNrQ29uc3RyYWludHMpIFwKICAgICBtYWNybyhvcGVuRGF0YWJhc2Up
IFwKKyAgICBtYWNybyhvbm92ZXJzY3JvbGwpIFwKKyAgICBtYWNybyhvbnNjcm9sbGVuZCkgXAog
ICAgIG1hY3JvKG9udG91Y2hjYW5jZWwpIFwKICAgICBtYWNybyhvbnRvdWNoZW5kKSBcCiAgICAg
bWFjcm8ob250b3VjaG1vdmUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDNlZjk0NTkw
MGIuLmU1YzQ3ODdlZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzk5LDYgKzc5OSwx
MCBAQCB2b2lkIERvY3VtZW50Ojpjb21tb25UZWFyZG93bigpCiAKICAgICBtX3BlbmRpbmdTY3Jv
bGxFdmVudFRhcmdldExpc3QgPSBudWxscHRyOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorICAgIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7Cisj
ZW5kaWYKKwogICAgIHdoaWxlICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAg
ICBtX3RpbWVsaW5lcy5iZWdpbigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKICAgICBtX3RpbWVs
aW5lID0gbnVsbHB0cjsKQEAgLTQwNzIsNiArNDA3NiwyNiBAQCB2b2lkIERvY3VtZW50OjphZGRQ
ZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQogICAgIHRhcmdl
dHMuYXBwZW5kKHRhcmdldCk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2
b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9k
ZSYgdGFyZ2V0KQoreworICAgIGlmICghc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50
VGFyZ2V0TGlzdCkKKyAgICAgICAgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ID0g
bWFrZVVuaXF1ZTxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PigpOworCisgICAgYXV0byYg
dGFyZ2V0cyA9IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0czsKKyAg
ICBpZiAodGFyZ2V0cy5maW5kTWF0Y2hpbmcoWyZdIChhdXRvJiBlbnRyeSkgeyByZXR1cm4gZW50
cnkucHRyKCkgPT0gJnRhcmdldDsgfSkgIT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICh0YXJnZXRzLmlzRW1wdHkoKSkKKyAgICAgICAgc2NoZWR1bGVUaW1lZFJlbmRlcmlu
Z1VwZGF0ZSgpOworCisgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKK30KKyNlbmRpZgorCiB2
b2lkIERvY3VtZW50OjpzZXROZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQoKQogewogICAg
IGlmICghbV9uZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQpCkBAIC00MDk3LDYgKzQxMjEs
MTggQEAgdm9pZCBEb2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMoKQogICAgICAgICBpZiAoYXV0byog
d2luZG93ID0gZG9tV2luZG93KCkpCiAgICAgICAgICAgICB3aW5kb3ctPnZpc3VhbFZpZXdwb3J0
KCkuZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxFdmVudCwg
RXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgfQor
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIC8vIERlYWwgd2l0aCBzY3JvbGxl
bmQgZXZlbnQuCisgICAgaWYgKG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCAmJiAh
bV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzLmlzRW1wdHkoKSkgewor
ICAgICAgICBMT0dfV0lUSF9TVFJFQU0oRXZlbnRzLCBzdHJlYW0gPDwgIkRvY3VtZW50IiA8PCB0
aGlzIDw8ICJzZW5kaW5nIHNjcm9sbGVuZCBldmVudHMgdG8gcGVuZGluZyBzY3JvbGwgZXZlbnQg
dGFyZ2V0cyIpOworICAgICAgICBhdXRvIGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzID0gV1RGTW92
ZShtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMpOworICAgICAgICBm
b3IgKGF1dG8mIHRhcmdldCA6IGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzKSB7CisgICAgICAgICAg
ICBhdXRvIGJ1YmJsZXMgPSB0YXJnZXQtPmlzRG9jdW1lbnROb2RlKCkgPyBFdmVudDo6Q2FuQnVi
YmxlOjpZZXMgOiBFdmVudDo6Q2FuQnViYmxlOjpObzsKKyAgICAgICAgICAgIHRhcmdldC0+ZGlz
cGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxlbmRFdmVudCwgYnVi
YmxlcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRp
ZgogfQogCiB2b2lkIERvY3VtZW50OjphZGRBdWRpb1Byb2R1Y2VyKE1lZGlhUHJvZHVjZXImIGF1
ZGlvUHJvZHVjZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDgzOWFmY2Q1OGIuLjc0NWRhMmRm
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzYwLDYgKzEzNjAsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBydW5SZXNpemVTdGVwcygpOwogCiAgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRXZl
bnRUYXJnZXQoQ29udGFpbmVyTm9kZSYpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7
CisjZW5kaWYKICAgICB2b2lkIHNldE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpOwog
ICAgIHZvaWQgcnVuU2Nyb2xsU3RlcHMoKTsKIApAQCAtMjA0Miw2ICsyMDQ1LDkgQEAgcHJpdmF0
ZToKIAogICAgIHN0cnVjdCBQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0OwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxF
dmVudFRhcmdldExpc3Q7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHN0ZDo6
dW5pcXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldExpc3Q7CisjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAg
ICAgSGFzaFNldDxIVE1MTWVkaWFFbGVtZW50Kj4gbV9tZWRpYVN0cmVhbVN0YXRlQ2hhbmdlRWxl
bWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYzlkYmQ1ZTUzYS4uNzRjNDQ2NTE2NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtOTUwLDcgKzk1MCw3IEBAIHZvaWQgRWxlbWVudDo6
c2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBj
bGFtcGluZykKICAgICAgICAgY2xhbXBUb0ludGVnZXIoc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFs
dWUoKSAqIHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSksCiAgICAgICAgIGNsYW1w
VG9JbnRlZ2VyKHNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSAqIHJlbmRlcmVyLT5zdHlsZSgp
LmVmZmVjdGl2ZVpvb20oKSkKICAgICApOwotICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhT
Y3JvbGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6
OkF1dG8pLCB0aGlzKTsKKyAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNj
cm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6
QXV0byksIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsK
ICAgICByZW5kZXJlci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFR5
cGU6OlByb2dyYW1tYXRpYywgY2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIApAQCAtMTI5MywxNiAr
MTI5MywyMCBAQCB2b2lkIEVsZW1lbnQ6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQpCiAgICAg
ICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewog
ICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5n
RWxlbWVudCgpPwogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9v
dGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVt
ZW50KCkpOworICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhT
Y3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50
KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAg
ICAgIEludFBvaW50IHBvc2l0aW9uKHN0YXRpY19jYXN0PGludD4obmV3TGVmdCAqIGZyYW1lLT5w
YWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSksIGZyYW1lLT52aWV3
KCktPnNjcm9sbFkoKSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAg
ICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vs
c2UKICAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9u
LCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2VuZGlmCiAgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHJlbmRl
ckJveCgpKSB7CiAgICAgICAgIGludCBjbGFtcGVkTGVmdCA9IGNsYW1wVG9JbnRlZ2VyKG5ld0xl
ZnQgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBib29sIGFu
aW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKTsK
KyAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Ny
b2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVk
U2Nyb2xsOjpObzsKICAgICAgICAgcmVuZGVyZXItPnNldFNjcm9sbExlZnQoY2xhbXBlZExlZnQs
IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1h
dGVkKTsKICAgICAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyZXItPmxheWVy
KCkpCiAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRj
aGVkU3RhdGUodHJ1ZSk7CkBAIC0xMzE3LDE2ICsxMzIxLDIwIEBAIHZvaWQgRWxlbWVudDo6c2V0
U2Nyb2xsVG9wKGludCBuZXdUb3ApCiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50
RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3
ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgLy8gU2Vl
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAg
ICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1
dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAgQW5pbWF0ZWRT
Y3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8s
IGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFu
aW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9uKGZyYW1lLT52
aWV3KCktPnNjcm9sbFgoKSwgc3RhdGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFtZS0+cGFnZVpv
b21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpKTsKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+
c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmlt
YXRlZCk7CisjZW5kaWYKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAg
aWYgKGF1dG8qIHJlbmRlcmVyID0gcmVuZGVyQm94KCkpIHsKICAgICAgICAgaW50IGNsYW1wZWRU
b3AgPSBjbGFtcFRvSW50ZWdlcihuZXdUb3AgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVa
b29tKCkpOwotICAgICAgICBib29sIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9s
bEJlaGF2aW9yOjpBdXRvLCB0aGlzKTsKKyAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQg
PSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0
ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgcmVuZGVyZXItPnNl
dFNjcm9sbFRvcChjbGFtcGVkVG9wLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxl
QXJlYSA9IHJlbmRlcmVyLT5sYXllcigpKQogICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNl
dFNjcm9sbFNob3VsZENsZWFyTGF0Y2hlZFN0YXRlKHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmgKaW5kZXggNWNlZWU2ZjY4MS4uZTRkZjRjNGI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CkBAIC0xOTEsNiArMTkxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKG9yaWVu
dGF0aW9uY2hhbmdlKSBcCiAgICAgbWFjcm8ob3ZlcmNvbnN0cmFpbmVkKSBcCiAgICAgbWFjcm8o
b3ZlcmZsb3djaGFuZ2VkKSBcCisgICAgbWFjcm8ob3ZlcnNjcm9sbCkgXAogICAgIG1hY3JvKHBh
Z2VoaWRlKSBcCiAgICAgbWFjcm8ocGFnZXNob3cpIFwKICAgICBtYWNybyhwYXN0ZSkgXApAQCAt
MjI3LDYgKzIyOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhyZXN1bHQpIFwK
ICAgICBtYWNybyhyZXN1bWUpIFwKICAgICBtYWNybyhzY3JvbGwpIFwKKyAgICBtYWNybyhzY3Jv
bGxlbmQpIFwKICAgICBtYWNybyhzZWFyY2gpIFwKICAgICBtYWNybyhzZWN1cml0eXBvbGljeXZp
b2xhdGlvbikgXAogICAgIG1hY3JvKHNlZWtlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0dsb2Jh
bEV2ZW50SGFuZGxlcnMuaWRsCmluZGV4IDc3MGFhOWMzYTcuLjFmMjc2NTM0ZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGwKQEAgLTEzMiw0ICsxMzIsOCBA
QAogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNdIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRtb3VzZWZvcmNlZG93bjsKICAgICBbTm90RW51
bWVyYWJsZSwgQ29uZGl0aW9uYWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ud2Via2l0bW91c2Vmb3JjZXdpbGxiZWdpbjsKICAgICBbTm90RW51bWVyYWJsZSwg
Q29uZGl0aW9uYWw9TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
d2Via2l0bW91c2Vmb3JjZXVwOworCisgICAgLy8gRXZlbnQgaGFuZGxlcnMgZnJvbSBPdmVyc2Ny
b2xsIEV2ZW50cyBBUEkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vb3ZlcnNjcm9sbC1zY3JvbGxl
bmQtZXZlbnRzLykKKyAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9T1ZFUlNDUk9MTF9F
VkVOVFMsIEVuYWJsZWRCeVNldHRpbmc9T3ZlcnNjcm9sbEV2ZW50c10gYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbm92ZXJzY3JvbGw7CisgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU9W
RVJTQ1JPTExfRVZFTlRTLCBFbmFibGVkQnlTZXR0aW5nPU92ZXJzY3JvbGxFdmVudHNdIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb25zY3JvbGxlbmQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCBkY2Q4Mzc4ZDk1Li4wOTlmZmI4MjI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjY3LDYgKzI2Nyw3IEBA
IG9ubW91c2V3aGVlbAogb25vbmxpbmUKIG9ub2ZmbGluZQogb25vcmllbnRhdGlvbmNoYW5nZQor
b25vdmVyc2Nyb2xsCiBvbnBhZ2VoaWRlCiBvbnBhZ2VzaG93CiBvbnBhc3RlCkBAIC0yODcsNiAr
Mjg4LDcgQEAgb25yYXRlY2hhbmdlCiBvbnJlc2V0CiBvbnJlc2l6ZQogb25zY3JvbGwKK29uc2Ny
b2xsZW5kCiBvbnNlYXJjaAogb25zZWVrZWQKIG9uc2Vla2luZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcAppbmRleCAzMmVkNGFkMzFiLi5hZTU5YWMxMmY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmNwcApAQCAtMjg0LDYgKzI4NCw3IEBAIEhUTUxFbGVtZW50OjpFdmVudEhh
bmRsZXJOYW1lTWFwIEhUTUxFbGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFwKCkKICAg
ICAgICAgJm9ubW91c2VvdmVyQXR0ci5nZXQoKSwKICAgICAgICAgJm9ubW91c2V1cEF0dHIuZ2V0
KCksCiAgICAgICAgICZvbm1vdXNld2hlZWxBdHRyLmdldCgpLAorICAgICAgICAmb25vdmVyc2Ny
b2xsQXR0ci5nZXQoKSwKICAgICAgICAgJm9ucGFzdGVBdHRyLmdldCgpLAogICAgICAgICAmb25w
YXVzZUF0dHIuZ2V0KCksCiAgICAgICAgICZvbnBsYXlBdHRyLmdldCgpLApAQCAtMzAxLDYgKzMw
Miw3IEBAIEhUTUxFbGVtZW50OjpFdmVudEhhbmRsZXJOYW1lTWFwIEhUTUxFbGVtZW50OjpjcmVh
dGVFdmVudEhhbmRsZXJOYW1lTWFwKCkKICAgICAgICAgJm9ucmVzZXRBdHRyLmdldCgpLAogICAg
ICAgICAmb25yZXNpemVBdHRyLmdldCgpLAogICAgICAgICAmb25zY3JvbGxBdHRyLmdldCgpLAor
ICAgICAgICAmb25zY3JvbGxlbmRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWFyY2hBdHRyLmdl
dCgpLAogICAgICAgICAmb25zZWVrZWRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWVraW5nQXR0
ci5nZXQoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBhN2IyMmE5NjI5Li42MmZk
ZTZlN2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNjc5LDggKzE2NzksMTUg
QEAgdm9pZCBET01XaW5kb3c6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9u
cywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcKIAogICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pemF0
aW9uIGZvciB0aGUgY29tbW9uIGNhc2Ugb2Ygc2Nyb2xsaW5nIHRvICgwLCAwKSB3aGVuIHRoZSBz
Y3JvbGxlciBpcyBhbHJlYWR5IGF0IHRoZSBvcmlnaW4uCiAgICAgLy8gSWYgYW4gYW5pbWF0ZWQg
c2Nyb2xsIGlzIGluIHByb2dyZXNzLCB0aGlzIG9wdGltaXphdGlvbiBpcyBza2lwcGVkIHRvIGVu
c3VyZSB0aGF0IHRoZSBhbmltYXRlZCBzY3JvbGwgaXMgcmVhbGx5IHN0b3BwZWQuCi0gICAgaWYg
KHZpZXctPmN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3Rh
dHVzOjpOb3RJbkFuaW1hdGlvbiAmJiAhc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAmJiAh
c2Nyb2xsVG9PcHRpb25zLnRvcC52YWx1ZSgpICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRp
b24oKSA9PSBJbnRQb2ludCgwLCAwKSkKKyAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2
aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uCisgICAg
ICAgICYmICFzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpCisgICAgICAgICYmICFzY3JvbGxU
b09wdGlvbnMudG9wLnZhbHVlKCkKKyAgICAgICAgJiYgdmlldy0+Y29udGVudHNTY3JvbGxQb3Np
dGlvbigpID09IEludFBvaW50KDAsIDApKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgICAgICB2aWV3LT5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyNlbmRp
ZgogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKQEAgLTE2ODgsMTIgKzE2OTUsOSBAQCB2b2lk
IERPTVdpbmRvdzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcGluZwogCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1l
bnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgaWYgKHVzZVNtb290aFNjcm9sbGluZyhz
Y3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0byksIGRv
Y3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSkgewotICAgICAgICB2aWV3LT5zY3JvbGxUb09m
ZnNldFdpdGhBbmltYXRpb24obGF5b3V0UG9zLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIGNs
YW1waW5nKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBBbmltYXRlZFNjcm9sbCBhbmlt
YXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVP
cihTY3JvbGxCZWhhdmlvcjo6QXV0byksIGRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSA/
IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAKLSAgICB2aWV3LT5z
ZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKGxheW91dFBvcywgY2xhbXBpbmcpOworICAgIHZpZXct
PnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24obGF5b3V0UG9zLCBjbGFtcGluZywgYW5pbWF0ZWQp
OwogfQogCiBib29sIERPTVdpbmRvdzo6YWxsb3dlZFRvQ2hhbmdlV2luZG93R2VvbWV0cnkoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGM2OGY1ZDM4YzYuLmZkZjgzNDNk
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIyNzUsNyArMjI3NSw3IEBAIHZv
aWQgRnJhbWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQs
IGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91
bmRzLngoKSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRl
cmluZ09mZnNldFkgLSByZWN0LnkoKSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFt
cGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQ
b3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1w
aW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2
ZW50IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xs
aW5nLCBzdHJlYW0gPDwgIkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24gIiA8PCBzY3JvbGxQ
b3NpdGlvbiA8PCAiICwgY2xlYXJpbmcgYW5jaG9yIik7CiAKQEAgLTIyODgsMTAgKzIyODgsMjEg
QEAgdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdl
KCk7CiAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAg
ICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hl
ZWxFdmVudFRlc3RNb25pdG9yKCkpOwotICAgIGlmIChhbmltYXRlZCkKLSAgICAgICAgc2Nyb2xs
VG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQb3Np
dGlvbiksIGN1cnJlbnRTY3JvbGxUeXBlKCksIGNsYW1waW5nKTsKKworICAgIFNjcm9sbFBvc2l0
aW9uIG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGlu
ZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhp
blJhbmdlKHNjcm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChhbmltYXRl
ZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmlt
YXRpb24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKSwgY3VycmVu
dFNjcm9sbFR5cGUoKSwgY2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6
c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Ny
b2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBh
bmltYXRlZCwgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xM
X0VWRU5UUykKKyAgICBpZiAoZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkKCkgJiYgcmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6
WWVzKSB7CisgICAgICAgIGlmIChuZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3JvbGxWaWV3OjpzY3Jv
bGxQb3NpdGlvbigpKQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0
KCk7CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisg
ICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWUoKS5kb2N1bWVu
dCgpKSk7CisgICAgfQorI2VuZGlmCiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3Jv
bGxUeXBlKTsKIH0KQEAgLTM3MjgsNiArMzczOSwzMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xs
VG9PZmZzZXRXaXRoQW5pbWF0aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxU
eQogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbEVu
ZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFt
cGluZyBjbGFtcGluZykKK3sKKyAgICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xs
RXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBTY3JvbGxQb3NpdGlvbiBj
bGFtcGVkU2Nyb2xsUG9zaXRpb24gPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCA/IGFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2UocG9zaXRpb24pIDogcG9zaXRpb247
CisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gY2xhbXBlZFNjcm9sbFBvc2l0
aW9uOworfQorCit2b2lkIEZyYW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVu
ZEV2ZW50QXRQb3NpdGlvbiB8fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUo
KSAhPSBwb3NpdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVu
ZEV2ZW50VGFyZ2V0KCk7CisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RG
OjpudWxsb3B0OworfQorCit2b2lkIEZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50
VGFyZ2V0KCkKK3sKKyAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVu
dCgpKQorICAgICAgICBkb2N1bWVudC0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpk
b2N1bWVudCk7Cit9CisjZW5kaWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVw
Rm9yRml4ZWRDb250ZW50KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0
aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJp
dHkgIT0gU2Nyb2xsQnlQYWdlIHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBiYjk1Nzg1Y2M4Li40NzM2NWM0NDViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTIyOSw3ICsyMjksNyBAQCBwdWJsaWM6CiAjaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRW
aXNpYmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQg
PSBmYWxzZSkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Ny
b2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKSBmaW5hbDsKICAgICB2b2lk
IHJlc3RvcmVTY3JvbGxiYXIoKTsKICAgICB2b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxl
bWVudChTZWxlY3Rpb25SZXZlYWxNb2RlKTsKICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1l
bnRJbW1lZGlhdGVseUlmTmVlZGVkKCk7CkBAIC02NjQsNiArNjY0LDE0IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaW5VcGRhdGVFbWJlZGRlZE9iamVjdHMoKSBjb25zdCB7IHJldHVybiBtX2luVXBk
YXRlRW1iZWRkZWRPYmplY3RzOyB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgdm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIHZv
aWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmlu
YWw7CisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAg
ICBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBz
Y3JvbGxpbmc7IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3JvbGxDb250ZW50
c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0
VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2b2lkIHNjcm9s
bENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmluYWw7CkBAIC05
MDQsNiArOTEyLDEwIEBAIHByaXZhdGU6CiAKICAgICBQYWdpbmF0aW9uIG1fcGFnaW5hdGlvbjsK
IAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3Np
dGlvbj4gbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCisKICAgICBlbnVt
IGNsYXNzIFZpZXdwb3J0UmVuZGVyZXJUeXBlIDogdWludDhfdCB7IE5vbmUsIERvY3VtZW50LCBC
b2R5IH07CiAgICAgVmlld3BvcnRSZW5kZXJlclR5cGUgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSB7
IFZpZXdwb3J0UmVuZGVyZXJUeXBlOjpOb25lIH07CiAgICAgU2Nyb2xsUGlubmluZ0JlaGF2aW9y
IG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yIHsgRG9Ob3RQaW4gfTsKQEAgLTk0OSw2ICs5NjEsMTAg
QEAgcHJpdmF0ZToKICAgICAvLyBUcnVlIGlmIGF1dG9zaXplIGhhcyBiZWVuIHJ1biBzaW5jZSBt
X3Nob3VsZEF1dG9TaXplIHdhcyBzZXQuCiAgICAgYm9vbCBtX2RpZFJ1bkF1dG9zaXplIHsgZmFs
c2UgfTsKICAgICBib29sIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHMgeyBmYWxzZSB9OworCisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcgeyBmYWxzZSB9OworI2VuZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBGcmFtZVZpZXc6
OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KGNvbnN0IEludFNpemUmIHNpemUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKaW5kZXggYTg2NzZkOTdjMy4uOGM1ZWFhMjMzMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbApAQCAtOTE5LDYgKzkxOSwxMCBAQCBpc0xvZ2dl
ZEluQVBJRW5hYmxlZDoKIGVudGVyS2V5SGludEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAK
K292ZXJzY3JvbGxFdmVudHNFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25h
bDogT1ZFUlNDUk9MTF9FVkVOVFMKKwogbGVnYWN5R2V0VXNlck1lZGlhRW5hYmxlZDoKICAgaW5p
dGlhbDogZmFsc2UKICAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYs
NyBAQAogI2lmbmRlZiBTY3JvbGxBbmltYXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25f
aAogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2
b2lkIHNlcnZpY2VBbmltYXRpb24oKSB7IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJO
b2RlPikgeyB9OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Ny
b2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21v
b3RoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9v
dGguY3BwCkBAIC0yOCw3ICsyOCwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlNjcm9sbEFuaW1hdGlvblNtb290aC5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgor
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUg
IlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtODAsMTAgKzgzLDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjpzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0
aW9uU21vb3RoOjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
aWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5k
KCk7CisjZW5kaWYKKwogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xs
YWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5v
dEluQW5pbWF0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQg
U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9z
Y3JvbGxFbmRFdmVudFRhcmdldCkgeworICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgPyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xs
aW5nUGFyZW50TGF5ZXIpCisgICAgICAgIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRT
Y3JvbGxFbmRUYXJnZXQobV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAg
ICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldCgqbV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVB
cmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRF
dmVudFRhcmdldCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpz
ZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAg
bV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9s
bEFuaW1hdGlvblNtb290aDo6dXBkYXRlVmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpv
bnRhbERhdGEudmlzaWJsZUxlbmd0aCA9IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7
CkBAIC00MTAsOCArNDQyLDEyIEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRp
b25UaW1lckZpcmVkKCkKIAogICAgIGlmIChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3Rh
cnROZXh0VGltZXIoc3RkOjptYXgobWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJh
bWUpKTsKLSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0
U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9u
KTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVu
ZCgpOworI2VuZGlmCisgICAgfQogCiAgICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlv
bihGbG9hdFBvaW50KG1faG9yaXpvbnRhbERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2Fs
RGF0YS5jdXJyZW50UG9zaXRpb24pKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKaW5kZXggODE3M2ZhN2UyMC4uMTg0Y2ZhZDFkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAg
LTMxLDYgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJO
b2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFz
cyBTY3JvbGxDbGFtcGluZyA6IHVpbnQ4X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgog
ICAgICAgICBCb3VuY2UKICAgICB9OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIG92ZXJy
aWRlOworI2VuZGlmCiBwcml2YXRlOgogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0
aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogICAg
IHZvaWQgc3RvcCgpIG92ZXJyaWRlOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICB2b2lkIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCiAgICAgdm9pZCB1cGRhdGVWaXNpYmxl
TGVuZ3RocygpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmKSBvdmVycmlkZTsKIApAQCAtMTA0LDYgKzExMSw5IEBAIHByaXZhdGU6CiAKICAg
ICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIFdlYWtQdHI8Q29udGFpbmVyTm9k
ZT4gbV9zY3JvbGxFbmRFdmVudFRhcmdldDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4
IDBmYzcyOWU5MTIuLmQ4OTMwMDhhYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvci5jcHAKQEAgLTI4Nyw1ICsyODcsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6
ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqKQogewogICAgIG1fYW5pbWF0aW9u
UHJvZ3JhbW1hdGljU2Nyb2xsLT51cGRhdGVWaXNpYmxlTGVuZ3RocygpOwogfQotCisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5k
VGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIG1fYW5pbWF0aW9u
UHJvZ3JhbW1hdGljU2Nyb2xsLT5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRp
ZgogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yLmgKaW5kZXggOWI3YzA5YjY5MC4uZWVkZTc5OGRiNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2hl
ZWxFdmVudFRlc3RNb25pdG9yLmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZiBFTkFC
TEUoUlVCQkVSX0JBTkRJTkcpIHx8IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAi
U2Nyb2xsQ29udHJvbGxlci5oIgpAQCAtNDQsNiArNDUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgUGxh
dGZvcm1Ub3VjaEV2ZW50OwogY2xhc3MgU2Nyb2xsQW5pbWF0aW9uOwpAQCAtMTQzLDYgKzE0NSwx
MCBAQCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIHZpZXdwb3J0U2l6ZSgpIGNvbnN0IG92ZXJyaWRl
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRT
Y3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxvYXRT
aXplJiBkZWx0YSk7CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JPZmZz
ZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDVjNTJkNWJiZGUu
LjU2MjczNDU0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5
cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtNjAs
NiArNjAsMTYgQEAgZW51bSBjbGFzcyBTY3JvbGxCZWhhdmlvclN0YXR1cyA6IHVpbnQ4X3Qgewog
ICAgIEluTm9uTmF0aXZlQW5pbWF0aW9uLAogfTsKIAorZW51bSBjbGFzcyBBbmltYXRlZFNjcm9s
bCA6IHVpbnQ4X3QgeworICAgIE5vLAorICAgIFllcworfTsKKworZW51bSBjbGFzcyBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQgOiB1aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CisKIGlubGlu
ZSBTY3JvbGxEaXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVjdGlv
biBkaXJlY3Rpb24sIGJvb2wgaXNWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7CiAgICAgc3dp
dGNoIChkaXJlY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5k
ZXggMmZkMTVmN2IzMC4uNmJmNjRhYWQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5jcHAKQEAgLTIwNiwxMyArMjA2LDE3IEBAIEludFBvaW50IFNjcm9sbFZpZXc6OmNvbnRl
bnRzU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbigpOwog
fQogCi12b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50
UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3ZvaWQgU2Nyb2xsVmll
dzo6c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQogICAgICAgICBz
ZXRBY3R1YWxTY3JvbGxQb3NpdGlvbihwb3NpdGlvbik7CiAjZW5kaWYKLSAgICBzZXRTY3JvbGxQ
b3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCBS
ZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQorICAgIHNldFNjcm9sbFBvc2l0aW9u
KHBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIEZsb2F0UmVjdCBT
Y3JvbGxWaWV3OjpleHBvc2VkQ29udGVudFJlY3QoKSBjb25zdApAQCAtNDg2LDYgKzQ5MCwxMCBA
QCB2b2lkIFNjcm9sbFZpZXc6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBuZXdQb3Np
dGlvbikKIAogICAgIG1fc2Nyb2xsUG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9z
Y3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3JvbGxiYXJzU3VwcHJlc3NlZCgp
KQogICAgICAgICByZXR1cm47CiAKQEAgLTUxMyw3ICs1MjEsNyBAQCB2b2lkIFNjcm9sbFZpZXc6
OmNvbXBsZXRlVXBkYXRlc0FmdGVyU2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEp
CiAgICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lk
IFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3Jv
bGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wvKiBhbmltYXRlZCovKQor
dm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYg
c2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCAv
KiBhbmltYXRlZCovLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhfU1RS
RUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAi
IDw8IHNjcm9sbFBvc2l0aW9uKTsKIApAQCAtNTI1LDE0ICs1MzMsMTMgQEAgdm9pZCBTY3JvbGxW
aWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRp
b24sIFNjcm9sbEMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFNjcm9sbFBvc2l0aW9u
IG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJh
bmdlKHNjcm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChjdXJyZW50U2Ny
b2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVB
bmltYXRpb24pCisgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwog
CisgICAgU2Nyb2xsUG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9s
bGluZygpICYmIGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNj
cm9sbFBvc2l0aW9uV2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247
CiAgICAgaWYgKCghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9sbFR5cGUoKSA9
PSBTY3JvbGxUeXBlOjpVc2VyKSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBT
Y3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xsUG9zaXRpb24g
PT0gdGhpcy0+c2Nyb2xsUG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGN1
cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5v
bk5hdGl2ZUFuaW1hdGlvbikKLSAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRp
b25zKCk7Ci0KICAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3JvbGxQ
b3NpdGlvbiwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBpbmcpKQogICAgICAgICB1cGRhdGVT
Y3JvbGxiYXJzKG5ld1Njcm9sbFBvc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5oCmluZGV4IGI2NGFhM2JhMDYuLjc3YTc3NTYxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxWaWV3LmgKQEAgLTIzMSw3ICsyMzEsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTY3Jv
bGwgcG9zaXRpb24gdXNlZCBieSB3ZWItZXhwb3NlZCBmZWF0dXJlcyAoaGFzIGxlZ2FjeSBpT1Mg
YmVoYXZpb3IpLgogICAgIFdFQkNPUkVfRVhQT1JUIEludFBvaW50IGNvbnRlbnRzU2Nyb2xsUG9z
aXRpb24oKSBjb25zdDsKLSAgICB2b2lkIHNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3Qg
SW50UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKKyAg
ICB2b2lkIHNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1h
dGVkU2Nyb2xsOjpObyk7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGludCBhY3R1
YWxTY3JvbGxYKCkgY29uc3QgeyByZXR1cm4gdW5vYnNjdXJlZENvbnRlbnRSZWN0KCkueCgpOyB9
CkBAIC0yNjEsNyArMjYxLDcgQEAgcHVibGljOgogICAgIFNjcm9sbFBvc2l0aW9uIGNhY2hlZFNj
cm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3JvbGxQb3NpdGlvbjsgfQog
CiAgICAgLy8gRnVuY3Rpb25zIGZvciBzY3JvbGxpbmcgdGhlIHZpZXcuCi0gICAgdmlydHVhbCB2
b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBp
bmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBT
Y3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9
IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9s
bEVuZEV2ZW50OjpObyk7CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsg
cmV0dXJuIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggNWJkYTg1N2JiOS4u
MjBmYmU0MjY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9s
bGFibGVBcmVhLmgiCiAKKyNpbmNsdWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiRmxv
YXRQb2ludC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzTGF5ZXIuaCIKQEAgLTc2OSw0ICs3NzAsMTEgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6Y29t
cHV0ZVNjcm9sbGJhclZhbHVlQW5kT3ZlcmhhbmcoZmxvYXQgY3VycmVudFBvc2l0aW9uLCBmbG8K
ICAgICB9CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbGFi
bGVBcmVhOjpzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQp
Cit7CisgICAgc2Nyb2xsQW5pbWF0b3IoKS5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30K
KyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuaAppbmRleCBkMjAzYWViZTVjLi4zMzMxNjc5Yjc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2lu
dDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIExheW91dFBvaW50OwpAQCAtMzQ2LDYg
KzM0NywxNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0ID0gMDsKIAorI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICB2aXJ0dWFsIHZvaWQgc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpD
bGFtcGVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBkdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcoKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXREdXJp
bmdTY3JvbGxSZWN0SW50b1ZpZXcoYm9vbCkgeyB9CisgICAgdmlydHVhbCBTY3JvbGxhYmxlQXJl
YSogZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gbnVsbHB0
cjsgfQorICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4p
OworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxhYmxlQXJl
YSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgflNjcm9sbGFibGVBcmVhKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDQwYmExYWUyMTcuLmUzYWI3NGJi
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC01ODEsNyArNTgx
LDcgQEAgc3RhdGljIHZvaWQgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcihSZW5kZXJMYXllciYgbGF5
ZXIpCiAgICAgbGF5ZXIuc2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3Io
cGFnZS53aGVlbEV2ZW50VGVzdE1vbml0b3IoKSk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRT
Y3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1w
aW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbExl
ZnQoaW50IG5ld0xlZnQsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewogICAgIGlmICghaGFzT3ZlcmZsb3dD
bGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTU4OSw3ICs1ODksNyBAQCB2
b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSBzY3Jv
bGxUeXBlLCBTY3JvbGxDbGFtcGluZwogICAgIGxheWVyKCktPnNjcm9sbFRvWFBvc2l0aW9uKG5l
d0xlZnQsIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKLXZvaWQgUmVuZGVy
Qm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRT
Y3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgaWYgKCFoYXNPdmVy
Zmxvd0NsaXAoKSB8fCAhbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTk3LDEyICs1OTcs
MTYgQEAgdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBl
IHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGMKICAgICBsYXllcigpLT5zY3JvbGxUb1lQb3Np
dGlvbihuZXdUb3AsIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CiB9CiAKLXZvaWQg
UmVuZGVyQm94OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRp
b24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wg
YW5pbWF0ZWQpCit2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xs
UG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5n
IGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBpZiAoIWhhc092ZXJm
bG93Q2xpcCgpIHx8ICFsYXllcigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2
ZW50TW9uaXRvcigqbGF5ZXIoKSk7Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9Qb3NpdGlvbihwb3Np
dGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNj
cm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMp
OworI2Vsc2UKKyAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xs
VHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckJveDo6
YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYg
YWNjdW11bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgK
aW5kZXggMjc1MjIwYjZiZS4uODE0MzQ0Zjc1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guaApAQCAtMjQ3LDkgKzI0Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBzY3Jv
bGxUb3AoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBzY3JvbGxXaWR0aCgpIGNvbnN0OwogICAg
IHZpcnR1YWwgaW50IHNjcm9sbEhlaWdodCgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBzZXRT
Y3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKLSAgICB2b2lkIHNldFNjcm9sbFBv
c2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcg
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3Jv
bGw6Ok5vKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwg
PSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CiAKICAg
ICBMYXlvdXRVbml0IG1hcmdpblRvcCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWFyZ2lu
Qm94LnRvcCgpOyB9CiAgICAgTGF5b3V0VW5pdCBtYXJnaW5Cb3R0b20oKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBtX21hcmdpbkJveC5ib3R0b20oKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKaW5kZXggMjFmNTJiOTdkNy4uZDhjMGIxNTVlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNjIxLDI0ICsyNjIxLDQ3IEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OmFwcGx5UG9zdExheW91dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQo
KQogICAgIG1fcG9zdExheW91dFNjcm9sbFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OwogfQogCi12
b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBzY3Jv
bGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAg
ICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbih4LCBtX3Njcm9sbFBvc2l0aW9uLnkoKSk7Ci0gICAg
c2Nyb2xsVG9Qb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVk
KTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpZZXMpOworI2Vsc2UKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Ny
b2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCi12b2lkIFJlbmRlckxh
eWVyOjpzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1w
aW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3Np
dGlvbiBwb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7Ci0gICAgc2Nyb2xsVG9Qb3Np
dGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNj
cm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMp
OworI2Vsc2UKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xh
bXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxU
b1Bvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3Jv
bGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBhbmltYXRlZCkKK3ZvaWQgUmVu
ZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlv
biwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0
ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5k
RXZlbnQpCiB7Ci0gICAgaWYgKGFuaW1hdGVkKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhB
bmltYXRpb24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlwZSwg
Y2xhbXBpbmcpOworI2lmICFFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgVU5VU0VEX1BB
UkFNKHJlcXVlc3RTY3JvbGxFbmRFdmVudCk7CisjZW5kaWYKKworICAgIGF1dG8gb2Zmc2V0ID0g
c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQgbmV3
U2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFt
cFNjcm9sbE9mZnNldChvZmZzZXQpIDogb2Zmc2V0OworICAgIGlmIChhbmltYXRlZCA9PSBBbmlt
YXRlZFNjcm9sbDo6WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obmV3
U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBz
Y3JvbGxUb09mZnNldChzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxU
eXBlLCBjbGFtcGluZyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCwg
c2Nyb2xsVHlwZSwgY2xhbXBpbmcpOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgIGlmIChyZW5kZXJlcigpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSAm
JiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsK
KyAgICAgICAgaWYgKG5ld1Njcm9sbE9mZnNldCA9PSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAg
ICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworICAgICAgICBlbHNlIGlmIChh
bmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICAgICAgc2V0U2Nyb2xsRW5k
VGFyZ2V0KG1ha2VXZWFrUHRyKHJlbmRlcmVyKCkuZWxlbWVudCgpKSk7CisgICAgfQorI2VuZGlm
CiB9CiAKIFNjcm9sbE9mZnNldCBSZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQoY29uc3Qg
U2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQpIGNvbnN0CkBAIC0yNjYxLDEzICsyNjg0LDE4IEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Ny
b2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNjCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2Vs
QW5pbWF0aW9ucygpOwogCiAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBj
bGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KHNj
cm9sbE9mZnNldCkgOiBzY3JvbGxPZmZzZXQ7Ci0gICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQg
PT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCisgICAgU2Nyb2xsUG9zaXRpb24gY2xhbXBlZFNjcm9s
bFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQp
OworICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKSB7
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICBjaGVja1Njcm9sbEVuZEV2
ZW50UG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICByZXR1
cm47CisgICAgfQogCiAgICAgYXV0byBwcmV2aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50U2Nyb2xs
VHlwZSgpOwogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHNjcm9sbFR5cGUpOwogCi0gICAgaWYg
KCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNs
YW1wZWRTY3JvbGxPZmZzZXQpLCBzY3JvbGxUeXBlLCBjbGFtcGluZykpCisgICAgaWYgKCFyZXF1
ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBzY3JvbGxUeXBl
LCBjbGFtcGluZykpCiAgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjbGFt
cGVkU2Nyb2xsT2Zmc2V0LCBjbGFtcGluZyk7CiAgICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMo
U2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIApAQCAtMjc5MSw2ICsyODE5
LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBw
b3NpdGlvbikKICAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgp
KQogICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dCgqZWxlbWVudCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgY2hlY2tT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCisKICAgICBp
ZiAoc2Nyb2xsc092ZXJmbG93KCkpCiAgICAgICAgIHZpZXcuZnJhbWVWaWV3KCkuZGlkQ2hhbmdl
U2Nyb2xsT2Zmc2V0KCk7CiAKQEAgLTI4MzYsMTMgKzI4NjgsMTggQEAgYm9vbCBSZW5kZXJMYXll
cjo6YWxsb3dzQ3VycmVudFNjcm9sbCgpIGNvbnN0CiAgICAgcmV0dXJuIGJveC0+aGFzSG9yaXpv
bnRhbE92ZXJmbG93KCkgfHwgYm94LT5oYXNWZXJ0aWNhbE92ZXJmbG93KCk7CiB9CiAKLXZvaWQg
UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1
dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9u
cyYgb3B0aW9ucywgQXV0b3Njcm9sbFN0YXR1cyBhdXRvc2Nyb2xsU3RhdHVzKQordm9pZCBSZW5k
ZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJl
Y3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBv
cHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KQogewog
ICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiTGF5ZXIgIiA8PCB0aGlz
IDw8ICIgc2Nyb2xsUmVjdFRvVmlzaWJsZSAiIDw8IGFic29sdXRlUmVjdCk7CiAKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9vbCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCA9
IHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpOworI2VuZGlm
CisKICAgICBMYXlvdXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CiAgICAgRnJhbWVWaWV3
JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICBhdXRvKiBw
YXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9zc0Zy
YW1lQm91bmRhcmllczo6Tm8pOworICAgIGJvb2wgYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgPSAh
cmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCk7
CiAKICAgICBpZiAoYWxsb3dzQ3VycmVudFNjcm9sbCgpKSB7CiAgICAgICAgIC8vIERvbid0IHNj
cm9sbCB0byByZXZlYWwgYW4gb3ZlcmZsb3cgbGF5ZXIgdGhhdCBpcyByZXN0cmljdGVkIGJ5IHRo
ZSAtd2Via2l0LWxpbmUtY2xhbXAgcHJvcGVydHkuCkBAIC0yODYxLDggKzI4OTgsMTQgQEAgdm9p
ZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNv
bHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxP
ZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShyb3Vu
ZGVkSW50UmVjdChyZXZlYWxSZWN0KS5sb2NhdGlvbigpKSk7CiAgICAgICAgIGlmIChjbGFtcGVk
U2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpIHx8IGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0
YXR1cygpICE9IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbikgewogICAgICAg
ICAgICAgU2Nyb2xsT2Zmc2V0IG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwotICAg
ICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0
YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlv
ciwgYm94LT5lbGVtZW50KCkpOwotICAgICAgICAgICAgc2Nyb2xsVG9Qb3NpdGlvbihzY3JvbGxQ
b3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dy
YW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAg
IEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgICAgICAg
ICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRp
b25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSkpCisgICAgICAgICAgICAgICAgYW5pbWF0ZWQg
PSBBbmltYXRlZFNjcm9sbDo6WWVzOworICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb24oc2Ny
b2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBTY3JvbGxUeXBlOjpQ
cm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNF
bmFibGVkICYmIGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMgJiYgY2xhbXBlZFNjcm9s
bE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgICAgICAgICBzZXREdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisjZW5kaWYKICAgICAgICAgICAgIEludFNpemUgc2Nyb2xs
T2Zmc2V0RGlmZmVyZW5jZSA9IGNsYW1wZWRTY3JvbGxPZmZzZXQgLSBvbGRTY3JvbGxPZmZzZXQ7
CiAgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5j
ZSk7CiAgICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2FsVG9BYnNvbHV0
ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNlVHJhbnNmb3Jt
cykuYm91bmRpbmdCb3goKSk7CkBAIC0yODg4LDkgKzI5MzEsMjEgQEAgdm9pZCBSZW5kZXJMYXll
cjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaWQKICAgICAgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9u
LmNvbnN0cmFpbmVkQmV0d2VlbihJbnRQb2ludCgpLCBJbnRQb2ludChmcmFtZVZpZXcuY29udGVu
dHNTaXplKCkpKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBjb250
ZW50RG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAg
ICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0
YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpICYm
IHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBvd25lckVsZW1lbnQtPmNvbnRl
bnREb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgQW5pbWF0
ZWRTY3JvbGwgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6Tm87CisgICAgICAgICAgICAgICAg
aWYgKGF1dG9zY3JvbGxOb3RJblByb2dyZXNzCisgICAgICAgICAgICAgICAgICAgICYmIG93bmVy
RWxlbWVudC0+Y29udGVudERvY3VtZW50KCkKKyAgICAgICAgICAgICAgICAgICAgJiYgdXNlU21v
b3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIG93bmVyRWxlbWVudC0+Y29udGVudERvY3Vt
ZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSkKKyAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQg
PSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3Jv
bGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1h
dGVkKTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBp
ZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6
OlllcyAmJiBzY3JvbGxQb3NpdGlvbiAhPSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgewor
ICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
KHRydWUpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09
IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJh
bWVWaWV3LnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5k
b2N1bWVudCgpKSk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAgICAg
ICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFs
bG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRl
U2Nyb2xsVG9QYXJlbnQoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogZW5jbG9z
aW5nTGF5ZXIgPSBvd25lckVsZW1lbnQtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkpCiAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0xheWVyLT5lbmNs
b3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENyb3Nz
RnJhbWVCb3VuZGFyaWVzOjpObyk7CkBAIC0yOTMxLDggKzI5ODYsMTcgQEAgdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3Qs
IGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbFBv
c2l0aW9uID0gcm91bmRlZEludFBvaW50KHJldmVhbFJlY3QubG9jYXRpb24oKSkuY29uc3RyYWlu
ZWRCZXR3ZWVuKG1pblNjcm9sbFBvc2l0aW9uLCBtYXhTY3JvbGxQb3NpdGlvbik7CiAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxl
bWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAgYm9vbCBhbmltYXRlZCA9IGF1
dG9zY3JvbGxTdGF0dXMgPT0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9ncmVzcyAmJiB1c2VT
bW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRv
Y3VtZW50RWxlbWVudCgpKTsKKyAgICAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRl
ZCA9IEFuaW1hdGVkU2Nyb2xsOjpObzsKKyAgICAgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5v
dEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIHJlbmRl
cmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkpCisgICAgICAgICAgICAgICAgICAg
IGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgICAgICAgICBmcmFtZVZp
ZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICAgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0g
QW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gIT0gZnJhbWVWaWV3
LnNjcm9sbFBvc2l0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldER1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJl
cXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQ
dHIoZnJhbWVWaWV3LmZyYW1lKCkuZG9jdW1lbnQoKSkpOworICAgICAgICAgICAgICAgIH0KKyNl
bmRpZgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1v
c3QgdmlldyBvZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCkBA
IC0yOTQ0LDggKzMwMDgsMjYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJs
ZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgfQog
ICAgIH0KICAgICAKLSAgICBpZiAocGFyZW50TGF5ZXIpCisgICAgaWYgKHBhcmVudExheWVyKSB7
CiAgICAgICAgIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKG5ld1JlY3QsIGluc2lk
ZUZpeGVkLCBvcHRpb25zKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAg
IGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0g
UmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgICAgIENvbnRhaW5lck5vZGUq
IHRhcmdldCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpOworICAgICAgICAgICAgaWYgKHJlbmRlcmVy
KCkuZG9jdW1lbnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0gdGFyZ2V0KQorICAgICAgICAgICAg
ICAgIHRhcmdldCA9ICZyZW5kZXJlcigpLmRvY3VtZW50KCk7CisKKyAgICAgICAgICAgIGlmIChk
dXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgICAgICAgICBzZXRTY3JvbGxFbmRU
YXJnZXQobWFrZVdlYWtQdHIodGFyZ2V0KSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IGZpbmRBbmNlc3RvckR1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpOworICAgICAgICAgICAgICAgIGlmIChkdXJpbmdTY3Jv
bGxpbmdQYXJlbnRMYXllcikKKyAgICAgICAgICAgICAgICAgICAgZHVyaW5nU2Nyb2xsaW5nUGFy
ZW50TGF5ZXItPnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCkuZG9jdW1lbnQo
KS5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKnRhcmdldCk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRl
Q29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbCgpCkBAIC0zMDcxLDcgKzMxNTMsNyBAQCBMYXlv
dXRSZWN0IFJlbmRlckxheWVyOjpnZXRSZWN0VG9FeHBvc2UoY29uc3QgTGF5b3V0UmVjdCYgdmlz
aWJsZVJlY3QsIGNvbnN0IExheQogdm9pZCBSZW5kZXJMYXllcjo6YXV0b3Njcm9sbChjb25zdCBJ
bnRQb2ludCYgcG9zaXRpb25JbldpbmRvdykKIHsKICAgICBJbnRQb2ludCBjdXJyZW50RG9jdW1l
bnRQb3NpdGlvbiA9IHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpLndpbmRvd1RvQ29udGVu
dHMocG9zaXRpb25JbldpbmRvdyk7Ci0gICAgc2Nyb2xsUmVjdFRvVmlzaWJsZShMYXlvdXRSZWN0
KGN1cnJlbnREb2N1bWVudFBvc2l0aW9uLCBMYXlvdXRTaXplKDEsIDEpKSwgZmFsc2UsIHsgU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZO
ZWVkZWQsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZzo6WWVzIH0sIEF1dG9zY3JvbGxTdGF0dXM6OkluUHJvZ3Jlc3Mp
OworICAgIHNjcm9sbFJlY3RUb1Zpc2libGUoTGF5b3V0UmVjdChjdXJyZW50RG9jdW1lbnRQb3Np
dGlvbiwgTGF5b3V0U2l6ZSgxLCAxKSksIGZhbHNlLCB7IFNlbGVjdGlvblJldmVhbE1vZGU6OlJl
dmVhbCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTY3JvbGxBbGlnbm1l
bnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6
OlllcyB9KTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6Y2FuUmVzaXplKCkgY29uc3QKQEAgLTcw
MjYsNiArNzEwOCw0OSBAQCB2b2lkIFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdpb24o
KQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFJlbmRl
ckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYg
cG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghcmVuZGVyZXIo
KS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGF1dG8gb2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKTsK
KyAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9s
bENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsK
KyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21P
ZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmNoZWNr
U2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCit7
CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gfHwgbV9maXJlU2Nyb2xs
RW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRpb24pCisgICAgICAgIHJldHVybjsK
KworICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworCisgICAgbV9maXJlU2Ny
b2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2b2lkIFJlbmRlckxh
eWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKQoreworICAgIGlmIChFbGVtZW50
KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCisgICAgICAgIGVsZW1lbnQtPmRvY3Vt
ZW50KCkuYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCplbGVtZW50KTsKK30KKworU2Ny
b2xsYWJsZUFyZWEqIFJlbmRlckxheWVyOjpmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcoKQoreworICAgIGF1dG8qIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Js
b2NrTGF5ZXIoKnRoaXMsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgd2hpbGUgKHBh
cmVudExheWVyKSB7CisgICAgICAgIGlmIChwYXJlbnRMYXllci0+ZHVyaW5nU2Nyb2xsUmVjdElu
dG9WaWV3KCkpCisgICAgICAgICAgICByZXR1cm4gcGFyZW50TGF5ZXI7CisgICAgICAgIHBhcmVu
dExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnBhcmVudExheWVyLCBDcm9z
c0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIH0KKworICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3
ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CisgICAgaWYgKGZyYW1lVmlldy5kdXJp
bmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgcmV0dXJuICZmcmFtZVZpZXc7CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CisjZW5kaWYKKwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6
OlRleHRTdHJlYW0mIHRzLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUpCiB7CiAgICAgc3dp
dGNoIChjbGlwUmVjdHNUeXBlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CmluZGV4IGQxMTM5M2UwN2QuLjUwMWNjNmIxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCkBAIC00NTAsOSArNDUwLDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiwgU2Nyb2xsVHlwZSA9
IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxUb09mZnNldFdpdGhB
bmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlBy
b2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CiAK
LSAgICB2b2lkIHNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOwot
ICAgIHZvaWQgc2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1w
aW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSk7Ci0g
ICAgdm9pZCBzY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRl
ZCA9IGZhbHNlKTsKKyAgICB2b2lkIHNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBl
LCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9s
bCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQg
eSwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwg
QW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZvaWQgc2V0U2Nyb2xs
UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Ny
b2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpO
byk7CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2VkIGJ5IG1hcnF1ZWUuCiAgICAgdm9pZCBz
Y3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNj
cm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBp
bmc6OlVuY2xhbXBlZCk7IH0KQEAgLTQ2Niw5ICs0NjYsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGF2YWlsYWJsZUNvbnRlbnRTaXplQ2hhbmdlZChBdmFpbGFibGVTaXplQ2hhbmdlUmVhc29uKSBm
aW5hbDsKIAotICAgIGVudW0gQXV0b3Njcm9sbFN0YXR1cyB7IE5vdEluUHJvZ3Jlc3MsIEluUHJv
Z3Jlc3MgfTsKICAgICAvLyAiYWJzb2x1dGVSZWN0IiBpcyBpbiBzY2FsZWQgZG9jdW1lbnQgY29v
cmRpbmF0ZXMuCi0gICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3Qm
IGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJs
ZU9wdGlvbnMmLCBBdXRvc2Nyb2xsU3RhdHVzID0gQXV0b3Njcm9sbFN0YXR1czo6Tm90SW5Qcm9n
cmVzcyk7CisgICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFi
c29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9w
dGlvbnMmLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5v
KTsKIAogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNTY3Jv
bGxhYmxlSG9yaXpvbnRhbE92ZXJmbG93KCkgY29uc3Q7CkBAIC05MjYsNiArOTI1LDE1IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgaW52YWxpZGF0ZUV2ZW50UmVnaW9uKCk7CiAKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNs
YW1wZWQpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZl
bnRUYXJnZXQoKSBmaW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIGZp
bmFsIHsgcmV0dXJuIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBzZXRE
dXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJpbmdT
Y3JvbGxSZWN0SW50b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyAgICBTY3JvbGxhYmxlQXJlYSogZmlu
ZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWw7CisjZW5kaWYKKwogcHJp
dmF0ZToKIAogICAgIHZvaWQgc2V0TmV4dFNpYmxpbmcoUmVuZGVyTGF5ZXIqIG5leHQpIHsgbV9u
ZXh0ID0gbmV4dDsgfQpAQCAtMTI4Miw2ICsxMjkwLDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2xheWVyTGlzdE11dGF0aW9uQWxsb3dlZCA6IDE7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICBib29sIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IDogMTsK
KyNlbmRpZgorCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICB1bnNpZ25lZCBtX2Js
ZW5kTW9kZSA6IDU7IC8vIEJsZW5kTW9kZQogICAgIGJvb2wgbV9oYXNOb3RJc29sYXRlZENvbXBv
c2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzIDogMTsKQEAgLTEzNTcsNiArMTM2OSwxMCBAQCBwcml2
YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxheWVyRmlsdGVycz4gbV9maWx0ZXJz
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJMYXllckJhY2tpbmc+IG1fYmFja2luZzsKKwor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3NpdGlv
bj4gbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCiAgICAgCiAgICAgUGFp
bnRGcmVxdWVuY3lUcmFja2VyIG1fcGFpbnRGcmVxdWVuY3lUcmFja2VyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCA3NzhkZjM4MjNjLi40YWRh
ZTIyZjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBA
IC03NDMsNyArNzQzLDcgQEAgaW50IFJlbmRlckxpc3RCb3g6OnNjcm9sbExlZnQoKSBjb25zdAog
ICAgIHJldHVybiAwOwogfQogCi12b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9sbExlZnQoaW50
LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkKK3ZvaWQgUmVuZGVyTGlzdEJveDo6
c2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNj
cm9sbCkKIHsKIH0KIApAQCAtNzYwLDcgKzc2MCw3IEBAIHN0YXRpYyB2b2lkIHNldHVwV2hlZWxF
dmVudFRlc3RNb25pdG9yKFJlbmRlckxpc3RCb3gmIHJlbmRlcmVyKQogICAgIHJlbmRlcmVyLnNj
cm9sbEFuaW1hdG9yKCkuc2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKHJlbmRlcmVyLnBhZ2UoKS53
aGVlbEV2ZW50VGVzdE1vbml0b3IoKSk7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEJveDo6c2V0U2Ny
b2xsVG9wKGludCBuZXdUb3AsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBib29sKQordm9p
ZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQogewogICAgIC8vIERldGVybWluZSBhbiBpbmRl
eCBhbmQgc2Nyb2xsIHRvIGl0LiAgICAKICAgICBpbnQgaW5kZXggPSBuZXdUb3AgLyBpdGVtSGVp
Z2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAppbmRleCBmNDg1
ODBhNGM3Li5iNGUyNmE5NDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
Qm94LmgKQEAgLTEwNiw4ICsxMDYsOCBAQCBwcml2YXRlOgogICAgIGludCBzY3JvbGxUb3AoKSBj
b25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsV2lkdGgoKSBjb25zdCBvdmVycmlkZTsKICAg
ICBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxM
ZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wpIG92ZXJyaWRlOwotICAg
IHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wp
IG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxU
b3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpIG92ZXJy
aWRlOwogCiAgICAgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRl
c3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNv
bnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJp
ZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZDU2
MDI4NzUyNi4uMGE0NjA2NDQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTQyNyw3ICs0MjcsMTEgQEAgYm9vbCBSZW5kZXJPYmplY3Q6OnNjcm9sbFJl
Y3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2kKICAg
ICBpZiAoIWVuY2xvc2luZ0xheWVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgZW5jbG9zaW5nTGF5ZXItPnNjcm9sbFJlY3RUb1Zp
c2libGUoYWJzb2x1dGVSZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucywgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBlbmNsb3NpbmdMYXllci0+c2Nyb2xsUmVjdFRvVmlz
aWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsKKyNlbmRpZgogICAgIHJl
dHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IDc0YTgwYjA2ODcuLjE2NjAyMTcz
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBAIC0zODAsMTMgKzM4MCwxMyBAQCBpbnQgUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lOjpzY3JvbGxUb3AoKSBjb25zdAogICAgIHJldHVybiBSZW5kZXJC
bG9ja0Zsb3c6OnNjcm9sbFRvcCgpOwogfQogCi12b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZTo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBp
bmcsIGJvb2wpCit2b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVm
dChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xs
KQogewogICAgIGlmIChpbm5lclRleHRFbGVtZW50KCkpCiAgICAgICAgIGlubmVyVGV4dEVsZW1l
bnQoKS0+c2V0U2Nyb2xsTGVmdChuZXdMZWZ0KTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlLCBTY3JvbGxD
bGFtcGluZywgYm9vbCkKK3ZvaWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3Jv
bGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Ny
b2xsKQogewogICAgIGlmIChpbm5lclRleHRFbGVtZW50KCkpCiAgICAgICAgIGlubmVyVGV4dEVs
ZW1lbnQoKS0+c2V0U2Nyb2xsVG9wKG5ld1RvcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKaW5kZXggZmQ2MzMwMTll
ZC4uMjVhMmM5NmQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaApAQCAtNTcsOCArNTcsOCBAQCBwcml2YXRlOgog
ICAgIGludCBzY3JvbGxUb3AoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsV2lkdGgo
KSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7
Ci0gICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcs
IGJvb2wpIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwg
U2Nyb2xsQ2xhbXBpbmcsIGJvb2wpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChp
bnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7
CisgICAgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywg
QW5pbWF0ZWRTY3JvbGwpIG92ZXJyaWRlOwogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlv
biwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3Rv
cEVsZW1lbnQgPSBudWxscHRyLCBSZW5kZXJCb3gqIHN0YXJ0Qm94ID0gbnVsbHB0ciwgY29uc3Qg
SW50UG9pbnQmIHdoZWVsRXZlbnRBYnNvbHV0ZVBvaW50ID0gSW50UG9pbnQoKSkgZmluYWw7CiAg
ICAgYm9vbCBsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCkg
ZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggM2Q4OTVmM2MzMC4uYmQ1NjdhZGYzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxp
YS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNl
ZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgRU5BQkxFX09WRVJT
Q1JPTExfRVZFTlRTLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjAt
MDQtMDMgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXM6OntyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQsYnVmZmVyRm9yVHlw
ZX0gc2hvdWxkIHZhbGlkYXRlIHRoZWlyIGBzaXplYCBwYXJhbWV0ZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGVm
ZmM3MmI2YjEuLmNiYzk5ODYzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjk3LDYgKzI5Nyw4IEBAIEVOQUJM
RV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCA9
ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNIKSk7CiBF
TkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBFTkFCTEVf
T1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQoRU5BQkxF
X1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00MTcsNCAr
NDE5LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFU
RV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVN
T1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVf
TkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
TkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVf
T0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZF
Ul9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNF
X1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9V
U0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dF
QkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VC
WFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9B
UFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9J
TlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NV
UFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVf
RElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVS
U0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9S
WV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05F
VFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hf
RVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVT
T1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVS
X1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CmluZGV4IGY1NDQ4Mzc2YTMuLmMyYTVjMGM2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbApAQCAtMTU3Myw2ICsxNTczLDE0IEBAIEFzcGVjdFJhdGlvT2ZJbWdG
cm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJN
YXAgSFRNTCBhdHRyaWJ1dGVzIHdpZHRoL2hlaWdodCB0byB0aGUgZGVmYXVsdCBhc3BlY3QgcmF0
aW8gb2YgPGltZz4iCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAorT3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJl
YWRhYmxlTmFtZTogIk92ZXJzY3JvbGwgZXZlbnRzIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgdGhlIG9uc2Nyb2xsZW5kIGFuZCBzY3JvbGxlbmQgZXZlbnRzIgorICBjYXRl
Z29yeTogZXhwZXJpbWVudGFsCisgIGNvbmRpdGlvbjogRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorCiAjIEZvciBpbnRlcm5hbCBmZWF0dXJlczoKICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xl
YW4uCiAjIFlvdSBtdXN0IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uIGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBjY2E1ZmQ3MjRiLi4xOTA0YjhhODM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVu
ICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVy
c2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdh
bmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAg
ICAgQWRkIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkIFdlYlByZWZlcmVuY2Ugc2V0dGluZy4KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6
ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZF0p
OgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZDpd
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04gRkFJ
TEVEOiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUgc2Vl
biB3aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9T
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGVmZmM3MmI2YjEuLmNiYzk5ODYzYzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0yOTcsNiArMjk3LDggQEAgRU5BQkxF
X09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0g
JChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVO
QUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxP
V19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9P
VkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVf
UElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQxNyw0ICs0
MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19T
VVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRF
X0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRF
UlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01f
UFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1P
UllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9O
RVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9P
QlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVS
X1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VT
RVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
RFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJY
UikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQ
UExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lO
VEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQ
UE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVB
VFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9E
SVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJT
RUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZ
X1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVU
V09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdf
VE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9F
WFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNP
VVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9W
QVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVO
VF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
VE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZ
UFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4OTUwMi4uODVm
MTM1NjVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMTAsNiArMjEwLDcgQEAKICNkZWZp
bmUgV2ViS2l0Q1NTU2hhZG93UGFydHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU1No
YWRvd1BhcnRzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJ
bnRlZ3JhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGF5b3V0Rm9ybWF0dGluZ0Nv
bnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYlNRTEVuYWJsZWRQcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0T3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJs
ZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBi
ZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNh
dXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KaW5kZXggMDI3OTM5NDMwOC4uYzQ3YWExYzAzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC03MTQsNiArNzE0
LDkgQEAgcHVibGljOgogICAgICAgICBATk8sIFdlYktpdEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lk
dGhBbmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRXZWJT
UUxFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQFlFUywgV2ViS2l0RGVidWdOZWVkc0lu
QXBwQnJvd3NlclByaXZhY3lRdWlya3NQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICAgICAgQE5PLCBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCisjZW5kaWYKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQpAQCAtMzY4MCw2ICszNjgzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOndlYlNRTEVuYWJsZWQgZm9y
S2V5OldlYktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClvdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5
OldlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZv
aWQpc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9z
ZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVm
ZXJlbmNlS2V5XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMg
KFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYTg0NTQ5ZDRhYi4uN2ZmNzMxOWQ4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oCkBAIC02ODgsNiArNjg4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lUX0RF
UFIKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZDsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0Vu
YWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhc3BlY3RSYXRpb09mSW1nRnJvbVdp
ZHRoQW5kSGVpZ2h0RW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG92ZXJzY3Jv
bGxFdmVudHNFbmFibGVkOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChub25h
dG9taWMpIEJPT0wgcXVpY2tMb29rRG9jdW1lbnRTYXZpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGQxMTc3N2RiNmUuLmYwNjQ1NTdj
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMw
MTUsNiArMzAxNSw5IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1
aXJrKCkKICAgICBzZXR0aW5ncy5zZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFtwcmVm
ZXJlbmNlcyBDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0
Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgQ1NTT01WaWV3U21v
b3RoU2Nyb2xsaW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldE1lZGlhQ29udGVudFR5cGVz
UmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KFtwcmVmZXJlbmNlcyBtZWRpYUNvbnRlbnRUeXBlc1Jl
cXVpcmluZ0hhcmR3YXJlU3VwcG9ydF0pOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICBzZXR0aW5ncy5zZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChbcHJlZmVyZW5jZXMgb3Zl
cnNjcm9sbEV2ZW50c0VuYWJsZWRdKTsKKyNlbmRpZgogCiAgICAgc3dpdGNoIChbcHJlZmVyZW5j
ZXMgc3RvcmFnZUJsb2NraW5nUG9saWN5XSkgewogICAgIGNhc2UgV2ViQWxsb3dBbGxTdG9yYWdl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGZhM2E1NzZlYzUuLmVkMjY2NzNiOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMC0wMy0w
OSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5
IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBw
YXRjaC4KKworICAgICAgICBBZGQgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgV2ViUHJlZmVyZW5j
ZSBzZXR0aW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBX
ZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURl
ZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6b3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVudHNF
bmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcu
Y3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAy
MC0wNC0wMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEFkZCBTUEkgdG8gbWFrZSBXS1VzZXJTY3JpcHRzIHdhaXQgZm9yIGEgbm90aWZpY2F0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNl
cy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAppbmRleCBkZmZkOTRkZDg2Li42NWNmM2FkOTdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFj
ZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTI2NSw0ICsyNjUsNyBAQCBpbnRlcmZh
Y2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTggOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNwogewog
ICAgIEhSRVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbb3V0LCByZXR2YWxdIEJP
T0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJM
cyhbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldE92ZXJzY3JvbGxFdmVudHNF
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCAxN2JjZjliZTE4Li4wNGFl
YjZjN2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaApAQCAtMjI3LDMgKzIyNyw1IEBACiAjZGVmaW5lIFdlYktpdEFzcGVjdFJh
dGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0QXNw
ZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0
V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFdlYlNRTEVuYWJsZWQiCisKKyNkZWZp
bmUgV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRPdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VzLmNwcAppbmRleCBkZDI5ZTkyMzZjLi4xODRiMmM4YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0zNTQsNiArMzU0LDggQEAgdm9pZCBXZWJQ
cmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VL
ZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtD
RkJvb2xlYW5GYWxzZSk7CisKICAgICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKICNlbmRp
ZgogfQpAQCAtMjQ3MCw2ICsyNDcyLDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFdl
YlNRTEVuYWJsZWQoQk9PTCBlbmFibGVkKQogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxU
IFdlYlByZWZlcmVuY2VzOjpvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKiBlbmFi
bGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAg
ICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZl
cmVuY2VzOjpzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAg
c2V0Qm9vbFZhbHVlKFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSwg
ZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6
OmFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCogYWxsb3dBY2Nlc3MpCiB7
CiAgICAgaWYgKCFhbGxvd0FjY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJl
bmNlcy5oCmluZGV4IGEzMWJhMDNhODIuLjcwOThlZTExOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuaApAQCAtMzA3LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAgICAv
LyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9E
YXRhVVJMcyhCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgb3Zl
cnNjcm9sbEV2ZW50c0VuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChCT09MKTsKIAogICAg
IC8vIFdlYlByZWZlcmVuY2VzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXgg
OWJjZTM2OGFkYi4uMjE1ODcxMGEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAK
QEAgLTU2NzAsNiArNTY3MCwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2Vz
Q2hhbmdlZChJV2ViTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybiBo
cjsKICAgICBzZXR0aW5ncy5zZXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5h
YmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPm92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJu
IGhyOworICAgIHNldHRpbmdzLnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCEhZW5hYmxlZCk7
CisKICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4
IGI1OTE5NjUxMTkuLjZmNzFhNThhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAg
LTE4MSw2ICsxODEsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTICJUb2dnbGUgT2Zmc2NyZWVuQ2Fu
dmFzIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9PUklFTlRBVElPTl9FVkVOVFMgIlRvZ2dsZSBPcmllbnRhdGlvbiBFdmVudHMgc3VwcG9ydCIg
UFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSCAiVG9nZ2xlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzdXBwb3J0IiBQUklW
QVRFIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfT1ZFUlNDUk9MTF9FVkVO
VFMgIlRvZ2dsZSBvdmVyc2Nyb2xsIGV2ZW50cyIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCAiVG9nZ2xlIFBheW1lbnQgUmVxdWVz
dCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
UERGS0lUX1BMVUdJTiAiVG9nZ2xlIFBERktpdCBwbHVnaW4gc3VwcG9ydCIgUFJJVkFURSBPRkYp
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkg
IlRvZ2dsZSBQaWN0dXJlLWluLVBpY3R1cmUgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU4OWE5NGIz
ZGMuLmJiZjZmYTkwMzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRo
aWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwg
ZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKwor
ICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBEZWFs
IHdpdGggb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9UZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVu
dGFsRmVhdHVyZXMpOgorICAgICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisK
IDIwMjAtMDQtMDQgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OIChyMjU5MDk1KTogQVNTRVJUSU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3JlZW5N
b2RlICE9IFZpZGVvRnVsbHNjcmVlbk1vZGVOb25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJLldl
YktpdExlZ2FjeS5BdWRpb1Nlc3Npb25DYXRlZ29yeUlPUwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9w
dGlvbnMuY3BwCmluZGV4IDI5MDYwNmEyNTUuLmEzMTIyMTVhZDMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0T3B0aW9ucy5jcHAKQEAgLTE1Niw2ICsxNTYsOCBAQCBUZXN0T3B0aW9uczo6VGVzdE9w
dGlvbnMoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcmIGFi
c29sdQogICAgICAgICAgICAgZW5hYmxlQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdo
dCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGVsc2UgaWYg
KGtleSA9PSAiYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyIpCiAgICAgICAgICAgICBhbGxv
d1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZh
bHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJleHBlcmltZW50YWw6T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQiKQorICAgICAgICAgICAgZW5hYmxlT3ZlcnNjcm9sbEV2ZW50cyA9IHBhcnNl
Qm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJF
bmQgKyAxOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCmluZGV4IGFlNGJh
NGFkNWQuLjAxY2YzNDYwYTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaApAQCAtNTgs
NiArNTgsNyBAQCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgIGJvb2wgZW5hYmxlQXNwZWN0UmF0
aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVXZWJT
UUwgeyB0cnVlIH07CiAgICAgYm9vbCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIHsgdHJ1
ZSB9OworICAgIGJvb2wgZW5hYmxlT3ZlcnNjcm9sbEV2ZW50cyB7IGZhbHNlIH07CiAgICAgc3Rk
OjpzdHJpbmcganNjT3B0aW9uczsKICAgICBzdGQ6OnN0cmluZyBhZGRpdGlvbmFsU3VwcG9ydGVk
SW1hZ2VUeXBlczsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
CmluZGV4IDBiNzQ0NDk1MjEuLjBlZDMxZmI2MGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg4Niw2ICs4ODYsNyBAQCBzdGF0aWMgdm9pZCBlbmFi
bGVFeHBlcmltZW50YWxGZWF0dXJlcyhXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAg
W3ByZWZlcmVuY2VzIHNldENTU1NoYWRvd1BhcnRzRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJl
bmNlcyBzZXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDpZRVNdOwog
ICAgIFtwcmVmZXJlbmNlcyBzZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkOllFU107
CisgICAgW3ByZWZlcmVuY2VzIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkOllFU107CiB9CiAK
IC8vIENhbGxlZCBiZWZvcmUgZWFjaCB0ZXN0LgpAQCAtMTA0NCw2ICsxMDQ1LDcgQEAgc3RhdGlj
IHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYg
b3B0aW9ucykKICAgICBwcmVmZXJlbmNlcy5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0
aW9uRW5hYmxlZCA9IG9wdGlvbnMubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVu
YWJsZWQ7CiAgICAgcHJlZmVyZW5jZXMuYXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdo
dEVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZUFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWln
aHQ7CiAgICAgcHJlZmVyZW5jZXMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyA9IG9wdGlv
bnMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMczsKKyAgICBwcmVmZXJlbmNlcy5vdmVyc2Ny
b2xsRXZlbnRzRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlT3ZlcnNjcm9sbEV2ZW50czsKIH0KIAog
Ly8gQ2FsbGVkIG9uY2Ugb24gRHVtcFJlbmRlclRyZWUgc3RhcnR1cC4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCA3NjNhYTJlODMyLi4zNDgxNGMzM2I2IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0xMzgsNiArMTM4LDcgQEAg
bXkgKAogICAgICRvZmZzY3JlZW5DYW52YXNTdXBwb3J0LAogICAgICRvcmllbnRhdGlvbkV2ZW50
c1N1cHBvcnQsCiAgICAgJG92ZXJmbG93U2Nyb2xsaW5nVG91Y2hTdXBwb3J0LAorICAgICRvdmVy
c2Nyb2xsRXZlbnRzU3VwcG9ydCwKICAgICAkcGF5bWVudFJlcXVlc3RTdXBwb3J0LAogICAgICRw
ZGZraXRQbHVnaW5TdXBwb3J0LAogICAgICRwaWN0dXJlSW5QaWN0dXJlQVBJU3VwcG9ydCwKQEAg
LTQ2NCw2ICs0NjUsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gIm92ZXJm
bG93LXNjcm9sbGluZy10b3VjaCIsIGRlc2MgPT4gIlRvZ2dsZSBhY2NlbGVyYXRlZCBzY3JvbGxp
bmcgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdf
VE9VQ0giLCB2YWx1ZSA9PiBcJG92ZXJmbG93U2Nyb2xsaW5nVG91Y2hTdXBwb3J0IH0sCiAKKyAg
ICB7IG9wdGlvbiA9PiAib3ZlcnNjcm9sbC1ldmVudHMiLCBkZXNjID0+ICJFbmFibGUgT3ZlcnNj
cm9sbCBFdmVudHMgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9PVkVSU0NST0xM
X0VWRU5UUyIsIHZhbHVlID0+IFwkb3ZlcnNjcm9sbEV2ZW50c1N1cHBvcnQgfSwKKwogICAgIHsg
b3B0aW9uID0+ICJwYXltZW50LXJlcXVlc3QiLCBkZXNjID0+ICJUb2dnbGUgUGF5bWVudCBSZXF1
ZXN0IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfUEFZTUVOVF9SRVFVRVNUIiwg
dmFsdWUgPT4gXCRwYXltZW50UmVxdWVzdFN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggZWZmYzcyYjZiMS4uY2JjOTk4NjNjMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0y
OTcsNiArMjk3LDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQo
V0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0
b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NS
T0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJ
Q1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JN
X05BTUUpKTsKQEAgLTQxNyw0ICs0MTksNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBF
TkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9D
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVM
RU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5B
QkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5T
SU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0Up
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVf
V0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNI
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdf
QVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VT
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVN
RVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJM
RV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAk
KEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVD
VCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9V
U0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395940</attachid>
            <date>2020-04-09 05:25:54 -0700</date>
            <delta_ts>2020-04-09 06:14:54 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-007-review.diff</filename>
            <type>text/plain</type>
            <size>60987</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNmYxMjRmODVlLi45MTM2NDVmYTBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjAtMDQtMDggIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgIFRlc3QgZmFpbHMgb24gaU9TIGJlY2F1c2UgdGhlIEZyYW1lVmll
dyBzY3JvbGwgcG9zaXRpb24gaXMgbm8gY2xhbXBlZCwgc2VlIGJ1ZzogMTc5NzM1LgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczogVGVzdCBmYWlscyBvbiBtYWMt
d2sxIGJlY2F1c2UgdGhlIEZyYW1lVmlldyBzbW9vdGggc2Nyb2xsaW5nIGlzIG5vdCBmdW5jdGlv
bmFsLiBTZWUgYnVnOiAxOTEzNTcuCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogRW5hYmxl
IHRoZSB0ZXN0IGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHNjcm9sbGVuZCBldmVudC4KKwog
MjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04gRkFJTEVEOiBtX3ZpZGVvRnVsbHNjcmVlbk1v
ZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUgc2VlbiB3aXRoIFRlc3RXZWJLaXRBUEkuV2Vi
S2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBl
YjE2OTMzYjhmLi45MTI4YWI0ZDhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE2NCw3ICsxNjQs
MTUgQEAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5LyBbIFNraXAgXQogZmFzdC9o
YXJuZXNzL3Vpc2NyaXB0Y29udHJvbGxlciBbIFNraXAgXQogCiAjIE9ubHkgaU9TIGhhcyBhbiBp
bXBsZW1lbnRhdGlvbiBvZiBVSVNjcmlwdENvbnRyb2xsZXI6OnNlbmRFdmVudFN0cmVhbSgpLgot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZyBbIFNr
aXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGlu
Zy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWRvY3VtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9s
bC1ldmVudC1maXJlZC10by1lbGVtZW50LXdpdGgtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sIFsg
U2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xs
aW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tc2Nyb2xsZWQtZWxlbWVudC5odG1sIFsgU2tp
cCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5n
L292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8td2luZG93Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLWFmdGVyLXNuYXAuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8t
ZG9jdW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8tZWxlbWVudC13aXRo
LW92ZXJzY3JvbGwtYmVoYXZpb3IuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8t
c2Nyb2xsZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC10by13aW5k
b3cuaHRtbCBbIFNraXAgXQogCiAjIFRoaXMgdGVzdCBvbmx5IG1ha2VzIHNlbnNlIG9uIE1hYwog
ZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtc3VidGl0bGUtcmVzaXplLmh0bWwgWyBTa2lwIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0
aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZv
ci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwLi45NjZjOWYxYWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2FsbGlu
ZyBzY3JvbGwgZnVuY3Rpb25zLiAKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFu
Z2luZyBzY3JvbGwgYXR0cmlidXRlcy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5k
LWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9s
bGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjQzZmI3YWNkZGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
c2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5o
dG1sCkBAIC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUgSFRNTD48IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZD10cnVlIGV4cGVyaW1l
bnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIG5h
bWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZl
ci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlv
bnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5k
b3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcm9sbF9zdXBwb3J0LmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0OiAzMDAwcHg7CisgICAgd2lkdGg6IDMw
MDBweDsKKyAgfQorCisgICN0YXJnZXREaXYgeworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWln
aHQ6IDIwMHB4OworICAgIG92ZXJmbG93OiBzY3JvbGw7CisgIH0KKworICAjaW5uZXJEaXYgewor
ICAgIHdpZHRoOiA0MDBweDsKKyAgICBoZWlnaHQ6IDQwMHB4OworICB9Cis8L3N0eWxlPgorCis8
Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD1ydW5UZXN0KCk+CisgIDxkaXYgaWQ9InRhcmdl
dERpdiI+CisgICAgPGRpdiBpZD0iaW5uZXJEaXYiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwv
Ym9keT4KKzxzY3JpcHQ+CisgIHZhciBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7
CisgIHZhciBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNlOworCisgIGZ1bmN0aW9u
IG9uRWxlbWVudFNjcm9sbEVuZChldmVudCkgeworICAgIGFzc2VydF9mYWxzZShldmVudC5jYW5j
ZWxhYmxlKTsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQuYnViYmxlcyk7CisgICAgZWxlbWVudF9z
Y3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgIH0KKworICBmdW5jdGlvbiBvbkRvY3VtZW50U2Ny
b2xsRW5kKGV2ZW50KSB7CisgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAg
IC8vIHNjcm9sbGVuZCBldmVudHMgYXJlIGJ1YmJsZWQgd2hlbiB0aGUgdGFyZ2V0IG5vZGUgaXMg
ZG9jdW1lbnQuCisgICAgYXNzZXJ0X3RydWUoZXZlbnQuYnViYmxlcyk7CisgICAgZG9jdW1lbnRf
c2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICB9CisKKyAgZnVuY3Rpb24gY2FsbFNjcm9sbEZ1
bmN0aW9uKFtzY3JvbGxUYXJnZXQsIHNjcm9sbEZ1bmN0aW9uLCBhcmdzXSkgeworICAgIHNjcm9s
bFRhcmdldFtzY3JvbGxGdW5jdGlvbl0oYXJncyk7CisgIH0KKworICBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgIGxldCByb290X2VsZW1lbnQgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50Owor
ICAgIGxldCB0YXJnZXRfZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldERpdiIp
OworCisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgICBhd2FpdCB3YWl0Rm9y
Q29tcG9zaXRvckNvbW1pdCgpOworICAgICAgdGFyZ2V0X2Rpdi5hZGRFdmVudExpc3RlbmVyKCJz
Y3JvbGxlbmQiLCBvbkVsZW1lbnRTY3JvbGxFbmQpOworICAgICAgZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigic2Nyb2xsZW5kIiwgb25Eb2N1bWVudFNjcm9sbEVuZCk7CisKKyAgICAgIGxldCB0
ZXN0X2Nhc2VzID0gWworICAgICAgICBbdGFyZ2V0X2RpdiwgMjAwLCAyMDAsIFt0YXJnZXRfZGl2
LCAic2Nyb2xsVG8iLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0byIgfV1d
LAorICAgICAgICBbdGFyZ2V0X2RpdiwgMCwgMCwgW3RhcmdldF9kaXYsICJzY3JvbGxUbyIsIHsg
dG9wOiAwLCBsZWZ0OiAwLCBiZWhhdmlvcjogInNtb290aCIgfV1dLAorICAgICAgICBbcm9vdF9l
bGVtZW50LCAyMDAsIDIwMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvIiwgeyB0b3A6IDIwMCwg
bGVmdDogMjAwLCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwg
MCwgMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvIiwgeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2
aW9yOiAic21vb3RoIiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAyMDAsIDIwMCwgW3Rhcmdl
dF9kaXYsICJzY3JvbGxCeSIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVoYXZpb3I6ICJhdXRv
IiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBbdGFyZ2V0X2RpdiwgInNjcm9sbEJ5
IiwgeyB0b3A6IC0yMDAsIGxlZnQ6IC0yMDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0sCisgICAg
ICAgIFtyb290X2VsZW1lbnQsIDIwMCwgMjAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsQnkiLCB7
IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0byIgfV1dLAorICAgICAgICBbcm9v
dF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsQnkiLCB7IHRvcDogLTIwMCwg
bGVmdDogLTIwMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXQorICAgICAgXTsKKworICAgICAgZm9y
IChpID0gMDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgbGV0IHQgPSB0
ZXN0X2Nhc2VzW2ldOworICAgICAgICBsZXQgdGFyZ2V0ID0gdFswXTsKKyAgICAgICAgbGV0IGV4
cGVjdGVkX3ggPSB0WzFdOworICAgICAgICBsZXQgZXhwZWN0ZWRfeSA9IHRbMl07CisgICAgICAg
IGxldCBzY3JvbGxfZGF0YXMgPSB0WzNdOworCisgICAgICAgIGNhbGxTY3JvbGxGdW5jdGlvbihz
Y3JvbGxfZGF0YXMpOworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGVsZW1l
bnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7IH0sIHRh
cmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFdICsgIiBkaWQgbm90IHJlY2VpdmUg
c2Nyb2xsZW5kIGV2ZW50LiIpOworICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVudCkK
KyAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5zY3JvbGxMZWZ0LCBleHBlY3RlZF94
LCB0YXJnZXQudGFnTmFtZSArICIuIiArIHNjcm9sbF9kYXRhc1sxXSArICIgc2Nyb2xsTGVmdCIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5zY3JvbGxUb3AsIGV4cGVjdGVkX3ksIHRh
cmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFdICsgIiBzY3JvbGxUb3AiKTsKKwor
ICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICAgIGRvY3Vt
ZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICB9CisgICAgfSwgIlRlc3RzIHNj
cm9sbGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVuY3Rpb25zLiIpOworCisgICAgcHJv
bWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNv
bW1pdCgpOworCisgICAgICBsZXQgdGVzdF9jYXNlcyA9IFsKKyAgICAgICAgW3RhcmdldF9kaXYs
ICJzY3JvbGxUb3AiXSwKKyAgICAgICAgW3RhcmdldF9kaXYsICJzY3JvbGxMZWZ0Il0sCisgICAg
ICAgIFtyb290X2VsZW1lbnQsICJzY3JvbGxUb3AiXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwg
InNjcm9sbExlZnQiXQorICAgICAgXTsKKyAgICAgIGZvciAoaSA9IDA7IGkgPCB0ZXN0X2Nhc2Vz
Lmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGxldCB0ID0gdGVzdF9jYXNlc1tpXTsKKyAgICAgICAg
bGV0IHRhcmdldCA9IHRbMF07CisgICAgICAgIGxldCBhdHRyaWJ1dGUgPSB0WzFdOworICAgICAg
ICBsZXQgcG9zaXRpb24gPSAyMDA7CisKKyAgICAgICAgdGFyZ2V0LnN0eWxlLnNjcm9sbEJlaGF2
aW9yID0gInNtb290aCI7CisgICAgICAgIHRhcmdldFthdHRyaWJ1dGVdID0gcG9zaXRpb247Cisg
ICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJy
aXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgdGFyZ2V0LnRhZ05hbWUgKyAi
LiIgKyBhdHRyaWJ1dGUgKyAiIGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7Cisg
ICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQorICAgICAgICAgIGFzc2VydF9mYWxz
ZShlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGFz
c2VydF9mYWxzZShkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0W2F0dHJpYnV0ZV0sIHBvc2l0aW9uLCB0YXJnZXQudGFnTmFtZSArICIuIiAr
IGF0dHJpYnV0ZSArICIgIik7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBm
YWxzZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKworICAg
ICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworICAgICAgICB0YXJnZXQuc3R5
bGUuc2Nyb2xsQmVoYXZpb3IgPSAiYXV0byI7CisgICAgICAgIHRhcmdldFthdHRyaWJ1dGVdID0g
MDsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVtZW50X3Njcm9sbGVu
ZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCB0YXJnZXQudGFnTmFt
ZSArICIuIiArIGF0dHJpYnV0ZSArICIgZGlkIG5vdCByZWNlaXZlIHNjcm9sbGVuZCBldmVudC4i
KTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1lbnQpCisgICAgICAgICAgYXNzZXJ0
X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyh0YXJnZXRbYXR0cmlidXRlXSwgMCwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBh
dHRyaWJ1dGUgKyAiICIpOworICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFs
c2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisgICAgICB9
CisgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2hhbmdpbmcgc2Nyb2xsIGF0dHJp
YnV0ZXMuIik7CisgIH0KKzwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmll
dy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAuLmJlYzcxMWZkZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAor
CitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIAorUEFTUyBU
ZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3RlZCBzY3JvbGxJbnRvVmlldy4gCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZWRkMzhjMGYyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJ
bnRvVmlldy5odG1sCkBAIC0wLDAgKzEsMTI0IEBACis8IURPQ1RZUEUgSFRNTD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZD10cnVl
IGV4cGVyaW1lbnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4K
KzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJp
dmVyLWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcm9sbF9zdXBwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBodG1sIHsKKyAgICAgICAgaGVpZ2h0OiAzMDAwcHg7
CisgICAgICAgIHdpZHRoOiAzMDAwcHg7CisgICAgfQorCisgICAgI3RhcmdldERpdiB7CisgICAg
ICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgb3ZlcmZs
b3c6IHNjcm9sbDsKKyAgICB9CisKKyAgICAjaW5uZXJEaXYgeworICAgICAgICB3aWR0aDogNDAw
cHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgfQorPC9zdHlsZT4KKworPGJvZHkgc3R5
bGU9Im1hcmdpbjowIiBvbmxvYWQ9cnVuVGVzdCgpPgorICAgIDxkaXYgaWQ9InRhcmdldERpdiI+
CisgICAgICAgIDxkaXYgaWQ9ImlubmVyRGl2Ij4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+
Cis8L2JvZHk+Cis8c2NyaXB0PgorICAgIHZhciBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0g
ZmFsc2U7CisgICAgdmFyIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisKKyAg
ICBmdW5jdGlvbiBvbkVsZW1lbnRTY3JvbGxFbmQoZXZlbnQpIHsKKyAgICAgICAgYXNzZXJ0X2Zh
bHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgICAgICBhc3NlcnRfZmFsc2UoZXZlbnQuYnViYmxl
cyk7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIG9uRG9jdW1lbnRTY3JvbGxFbmQoZXZlbnQpIHsKKyAgICAgICAgYXNzZXJ0
X2ZhbHNlKGV2ZW50LmNhbmNlbGFibGUpOworICAgICAgICAvLyBzY3JvbGxlbmQgZXZlbnRzIGFy
ZSBidWJibGVkIHdoZW4gdGhlIHRhcmdldCBub2RlIGlzIGRvY3VtZW50LgorICAgICAgICBhc3Nl
cnRfdHJ1ZShldmVudC5idWJibGVzKTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNhbGxTY3JvbGxGdW5jdGlvbihbc2Ny
b2xsVGFyZ2V0LCBzY3JvbGxGdW5jdGlvbiwgYXJnc10pIHsKKyAgICAgICAgc2Nyb2xsVGFyZ2V0
W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICBsZXQgcm9vdF9lbGVtZW50ID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudDsK
KyAgICAgICAgbGV0IHRhcmdldF9kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
RGl2Iik7CisgICAgICAgIGxldCBpbm5lcl9kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aW5uZXJEaXYiKTsKKworICAgICAgICAvLyBHZXQgZXhwZWN0ZWQgcG9zaXRpb24gZm9yIHJvb3Rf
ZWxlbWVudCBzY3JvbGxJbnRvVmlldy4KKyAgICAgICAgcm9vdF9lbGVtZW50LnNjcm9sbFRvKDEw
MDAwLCAxMDAwMCk7CisgICAgICAgIGxldCBtYXhfcm9vdF94ID0gcm9vdF9lbGVtZW50LnNjcm9s
bExlZnQ7CisgICAgICAgIGxldCBtYXhfcm9vdF95ID0gcm9vdF9lbGVtZW50LnNjcm9sbFRvcDsK
KyAgICAgICAgcm9vdF9lbGVtZW50LnNjcm9sbFRvKDAsIDApOworCisgICAgICAgIHRhcmdldF9k
aXYuc2Nyb2xsVG8oMTAwMDAsIDEwMDAwKTsKKyAgICAgICAgbGV0IG1heF9lbGVtZW50X3ggPSB0
YXJnZXRfZGl2LnNjcm9sbExlZnQ7CisgICAgICAgIGxldCBtYXhfZWxlbWVudF95ID0gdGFyZ2V0
X2Rpdi5zY3JvbGxUb3A7CisgICAgICAgIHRhcmdldF9kaXYuc2Nyb2xsVG8oMCwgMCk7CisKKyAg
ICAgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgICAgICAgICBhd2FpdCB3YWl0
Rm9yQ29tcG9zaXRvckNvbW1pdCgpOworICAgICAgICAgICAgdGFyZ2V0X2Rpdi5hZGRFdmVudExp
c3RlbmVyKCJzY3JvbGxlbmQiLCBvbkVsZW1lbnRTY3JvbGxFbmQpOworICAgICAgICAgICAgZG9j
dW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwgb25Eb2N1bWVudFNjcm9sbEVuZCk7
CisKKyAgICAgICAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWworICAgICAgICAgICAgICAgIFt0YXJn
ZXRfZGl2LCBtYXhfZWxlbWVudF94LCBtYXhfZWxlbWVudF95LCBbaW5uZXJfZGl2LCAic2Nyb2xs
SW50b1ZpZXciLCB7IGlubGluZTogImVuZCIsIGJsb2NrOiAiZW5kIiwgYmVoYXZpb3I6ICJhdXRv
IiB9XV0sCisgICAgICAgICAgICAgICAgW3RhcmdldF9kaXYsIDAsIDAsIFtpbm5lcl9kaXYsICJz
Y3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAic3RhcnQiLCBibG9jazogInN0YXJ0IiwgYmVoYXZp
b3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgICAgICAgICBbcm9vdF9lbGVtZW50LCBtYXhfcm9v
dF94LCBtYXhfcm9vdF95LCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGlu
ZTogImVuZCIsIGJsb2NrOiAiZW5kIiwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAg
ICAgICAgICBbcm9vdF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsSW50b1Zp
ZXciLCB7IGlubGluZTogInN0YXJ0IiwgYmxvY2s6ICJzdGFydCIsIGJlaGF2aW9yOiAic21vb3Ro
IiB9XV0KKyAgICAgICAgICAgIF07CisKKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB0ZXN0
X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgbGV0IHQgPSB0ZXN0X2Nhc2Vz
W2ldOworICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0WzBdOworICAgICAgICAgICAgICAg
IGxldCBleHBlY3RlZF94ID0gdFsxXTsKKyAgICAgICAgICAgICAgICBsZXQgZXhwZWN0ZWRfeSA9
IHRbMl07CisgICAgICAgICAgICAgICAgbGV0IHNjcm9sbF9kYXRhcyA9IHRbM107CisKKyAgICAg
ICAgICAgICAgICBjYWxsU2Nyb2xsRnVuY3Rpb24oc2Nyb2xsX2RhdGFzKTsKKyAgICAgICAgICAg
ICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7IH0sIHRhcmdldC50YWdOYW1lICsgIi5z
Y3JvbGxJbnRvVmlldyAgZGlkIG5vdCByZWNlaXZlIHNjcm9sbGVuZCBldmVudC4iKTsKKyAgICAg
ICAgICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVudCkKKyAgICAgICAgICAgICAgICAg
ICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9s
bGVuZF9hcnJpdmVkKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5zY3Jv
bGxMZWZ0LCBleHBlY3RlZF94LCB0YXJnZXQudGFnTmFtZSArICIuc2Nyb2xsSW50b1ZpZXcgc2Ny
b2xsTGVmdCIpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9sbFRv
cCwgZXhwZWN0ZWRfeSwgdGFyZ2V0LnRhZ05hbWUgKyAiLnNjcm9sbEludG9WaWV3IHNjcm9sbFRv
cCIpOworCisgICAgICAgICAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNl
OworICAgICAgICAgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0sICJUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIHNjcm9s
bEludG9WaWV3LiIpOworCisgICAgICAgIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0YXJnZXRfZGl2KTsKKyAgICAgICAg
ICAgIGxldCBvdXRfZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAg
ICAgICBvdXRfZGl2LnN0eWxlID0gIndpZHRoOiAxMDBweDsgaGVpZ2h0OjEwMHB4OyBvdmVyZmxv
dzpzY3JvbGw7IHNjcm9sbC1iZWhhdmlvcjpzbW9vdGg7IjsKKyAgICAgICAgICAgIG91dF9kaXYu
YXBwZW5kQ2hpbGQodGFyZ2V0X2Rpdik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKG91dF9kaXYpOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvckNvbXBvc2l0b3JDb21t
aXQoKTsKKworICAgICAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNlOwor
ICAgICAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgIGlubmVyX2Rpdi5zY3JvbGxJbnRvVmlldyh7IGlubGluZTogImVuZCIsIGJsb2NrOiAiZW5k
IiwgYmVoYXZpb3I6ICJhdXRvIiB9KTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4g
eyByZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRf
YXJyaXZlZDsgfSwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBkaWQgbm90IHJlY2VpdmUgc2Nyb2xs
ZW5kIGV2ZW50LiIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyb290X2VsZW1lbnQuc2Ny
b2xsTGVmdCwgMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyByb290X2VsZW1lbnQgc2Nyb2xsTGVm
dCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyb290X2VsZW1lbnQuc2Nyb2xsVG9wLCAw
LCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHJvb3RfZWxlbWVudCBzY3JvbGxUb3AiKTsKKyAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMob3V0X2Rpdi5zY3JvbGxMZWZ0LCAxMDAsICJOZXN0ZWQgc2Ny
b2xsSW50b1ZpZXcgb3V0X2RpdiBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKG91dF9kaXYuc2Nyb2xsVG9wLCAxMDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgb3V0X2Rp
diBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0X2Rpdi5zY3Jv
bGxMZWZ0LCBtYXhfZWxlbWVudF94LCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHRhcmdldF9kaXYg
c2Nyb2xsTGVmdCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXRfZGl2LnNjcm9s
bFRvcCwgbWF4X2VsZW1lbnRfeSwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyB0YXJnZXRfZGl2IHNj
cm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9h
cnJpdmVkKTsKKyAgICAgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNj
cm9sbEludG9WaWV3LiIpOworICAgIH0KKzwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1m
aXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNGFiYWE2YTIzMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1m
b3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIFRl
c3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIGFzc2VydF9lcXVhbHM6IEhU
TUwuc2Nyb2xsSW50b1ZpZXcgc2Nyb2xsTGVmdCBleHBlY3RlZCAxMDAwMCBidXQgZ290IDIyMDAK
K1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBuZXN0ZWQgc2Nyb2xsSW50b1ZpZXcuIAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
YTBiYTFlYzE5MS4uNjYwZWJlNGM4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzUzLDYgKzc1Myw4IEBAIHdlYmtpdC5vcmcvYi8xOTEz
NTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGwt
YmVoYXZpCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9yLW1haW4tZnJhbWUtd2luZG93Lmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGwtYmVoYXZpb3Itc3ViZnJhbWUtcm9vdC5odG1sIFsg
U2tpcCBdCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9yLXN1YmZyYW1lLXdpbmRvdy5odG1sIFsg
U2tpcCBdCit3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFt
bWF0aWMtc2Nyb2xsLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xOTEzNTcgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZl
bnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9i
LzE4OTkwOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV90aW1pbmcud29ya2VyLmh0bWwgWyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVm
MmMyNzg4MDMuLjIyZDkxNWUwMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5MiBAQAorMjAyMC0w
NC0wOCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3Igc2Nyb2xsZW5kIGV2ZW50IG9mIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcuIG1fcGVuZGlu
Z1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdCBpbiBEb2N1bWVudCBzdG9yZXMKKyAgICAgICAgdGhl
IHNjcm9sbGVkIHRhcmdldHMgd2hpY2ggbmVlZCB0byBkaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnRz
LiBGcmFtZVZpZXcgYW5kIFJlbmRlckxheWVyIHByb3ZpZGUgdGhyZWUgd2F5cyB0bworICAgICAg
ICBhZGQgZWxlbWVudHMgdG8gdGhlIHNjcm9sbGVuZCBsaXN0LiAgICAgCisgICAgICAgIDEuIElu
c3RhbnQgc2Nyb2xsaW5nIGluY2x1ZGluZyB0aGUgc2Nyb2xsaW5nIHBvc2l0aW9uIG5vdCBjaGFu
Z2VkIGFuaW1hdGVkIHNjcm9sbCwgdGhlIGVsZW1lbnQgd291bGQgYWRkIHRvIHRoZSBsaXN0Cisg
ICAgICAgIGFmdGVyIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAyLiBBbmltYXRl
ZCBzY3JvbGxpbmcsIHRoZSBlbGVtZW50IHdvdWxkIGJlIHNldCBhcyB0aGUgbV9zY3JvbGxFbmRF
dmVudFRhcmdldCBvZiBTY3JvbGxBbmltYXRpb24gYW5kIGFkZCB0byB0aGUgbGlzdAorICAgICAg
ICB3aGVuIGFuaW1hdGlvbiBzdG9wcy4gRm9yIHNjcm9sbFJlY3RJbnRvVmlldywgaW4gb3JkZXIg
dG8gbWFrZSBzdXJlIHNjcm9sbGVuZCBldmVudCBmaXJlZCBhZnRlciBhbGwgYW5jZXN0b3IgbGF5
ZXJzCisgICAgICAgIGZpbmlzaGluZyBzY3JvbGxpbmcsIGFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldyB0byBpbmRpY2F0ZSBpZiBzY3JvbGxSZWN0SW50b1ZpZXcgZmluaXNoZWQuIFdoZW4g
U2Nyb2xsQW5pbWF0aW9uCisgICAgICAgIHN0b3BzLCBpdCB3aWxsIHRyeSB0byBmaW5kIGEgZHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3IGFuY2VzdG9yIGxheWVyIGFuZCBwYXNzIHRoZSBtX3Njcm9s
bEVuZEV2ZW50VGFyZ2V0IHRvIGl0cworICAgICAgICBTY3JvbGxBbmltYXRpb24uIElmIG5vIHN1
Y2ggbGF5ZXIgZm91bmQsIGFkZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRvIHRoZSBzY3JvbGxl
bmQgbGlzdC4KKyAgICAgICAgMy4gVXNlciBhc3luY2hyb25vdXMgc2Nyb2xsaW5nLCB0aGUgc2Ny
b2xsIHBvc2l0aW9uIHdvdWxkbid0IGNoYW5nZSBpbW1lZGlhdGVseS4gU28gc2F2ZVNjcm9sbEVu
ZEV2ZW50UG9zaXRpb24KKyAgICAgICAgdGhlbiBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24g
aWYgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuIFRoZSBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHdv
dWxkbid0IHRyaWdnZXIgdGhpcyB3YXkuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmly
ZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbAorICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXcuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpjb21tb25UZWFyZG93bik6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTog
QXBwZW5kIHRoZSB0YXJnZXRzIHRvIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC4K
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpydW5TY3JvbGxTdGVwcyk6IERpc3BhdGNoIHNj
cm9sbGVuZCBldmVudCBmb3IgZWFjaCB0YXJnZXQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6
IEFkZCBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3Qgd2hpY2gga2VlcHMgdGhlIHNj
cm9sbGVuZCBldmVudCB0YXJnZXRzLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbExlZnQpOiBTZXQgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpZZXMgZm9yIEZyYW1lVmlldyBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudDo6c2V0U2Nyb2xsVG9wKTogRGl0dG8uCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzY3JvbGxUbyBjb25zdCk6IEFkZCBkb2N1
bWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgZm9yIHNjcm9sbGluZyB0byAoMCwgMCkgb3B0aW1p
emF0aW9uLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9s
bGVuZCBsaXN0IGlmIGl0IHNjcm9sbGVkKGluc3RhbnQgc2Nyb2xsIG9yIHNtb290aCBzY3JvbGwK
KyAgICAgICAgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zaXRpb24sIG90aGVyd2lzZSBzZXQgZG9j
dW1lbnQgYXMgdGhlIHNjcm9sbEVuZFRhcmdldCBvZiBzY3JvbGxBbmlhbXRpb24uKS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24pOiBTYXZl
IHRoZSBzY3JvbGwgcG9zaXRpb24gdGhhdCByZXF1aXJlcyB0byBmaXJlIGFuIHNjcm9sbGVuZCBl
dmVudC4gVGhpcyBpcyBmb3IgYXN5bmNocm9ub3VzIHNjcm9sbC4KKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKTogQWRkIGRvY3VtZW50IHRv
IHRoZSBsaXN0IGlmIHRoZSBzY3JvbGwgcG9zaXRpb24gZXF1YWwgdG8gdGhlIHByZXNlcnZlZCBv
bmUuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldCk6IEFkZCBEb2N1bWVudCB0byBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExp
c3QgaW4gRG9jdW1lbnQuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDogQWRkIG1fZHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3IHRvIGluZGljYXRlIEZyYW1lVmlldyBpcyBwZXJmb3JtaW5nIGEg
YW5pbWF0ZWQgc2Nyb2xsUmVjdEludG9WaWV3IHNjcm9sbC4KKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxBbmltYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvbjo6c2V0
U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9v
dGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKTog
Q2FsbCBub3RpZnlTY3JvbGxFbmQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRpb25T
bW9vdGg6Om5vdGlmeVNjcm9sbEVuZCk6IHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBmYWxz
ZS4gSWYgdGhlcmUncyBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LCB0cnkgdG8gZmluZCBhbiBhbmNl
c3RvciBsYXllcgorICAgICAgICBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5kIHNldCB0aGUg
dGFyZ2V0IHRvIGl0LiBPdGhlcndpc2UsIGFkZCB0aGUgdGFyZ2V0IHRvIHRoZSBzY3JvbGxlbmQg
bGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6c2V0U2Nyb2xs
RW5kVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5p
bWF0aW9uVGltZXJGaXJlZCk6IENhbGwgbm90aWZ5U2Nyb2xsRW5kIGlmIG5vdCBjb250aW51ZUFu
aW1hdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaDogQWRk
IG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNldFNjcm9sbEVuZFRh
cmdldCk6IFNldCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRvIFNjcm9sbEFuaW1hdGlvblNtb290
aC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAgICAgICAqIHBsYXRm
b3JtL1Njcm9sbFR5cGVzLmg6IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQuCisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpz
ZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKTogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVz
LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2Nyb2xsVG8pOiBDYWxsIGNoZWNrU2Ny
b2xsRW5kRXZlbnRQb3NpdGlvbiBpZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsVmlldy5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVh
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzZXRTY3JvbGxFbmRUYXJn
ZXQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxhYmxlQXJlYTo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2
ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpkdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNldER1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJl
YTo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Ny
b2xsUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbik6IEFkZCBlbGVtZW50IHRvIHRoZSBz
Y3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChpbnN0YW50IHNjcm9sbCBvciBzbW9vdGggc2Ny
b2xsCisgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc2l0aW9uLCBvdGhlcndpc2Ugc2V0
IGVsZW1lbnQgYXMgdGhlIHNjcm9sbEVuZFRhcmdldCBvZiBzY3JvbGxBbmlhbXRpb24uKS4KKwor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KTogQ2FsbCBjaGVj
a1Njcm9sbEVuZEV2ZW50UG9zaXRpb24sIGlmIHRoZXJlIGlzIG5vIHNjcm9sbGluZy4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUbyk6IGNoZWNrU2Nyb2xsRW5kRXZlbnRQ
b3NpdGlvbiBpZiBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKTogc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3KHRydWUpIGlmIGl0J3MgcGVyZm9ybWluZyBhIGFuaW1hdGVkIHNjcm9sbGluZy4KKyAgICAg
ICAgQWZ0ZXIgcGFyZW50TGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUoKSwgY2hlY2sgaWYgY3Vy
cmVudCBsYXllciBpcyBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcsIHNldCB0aGUgZWxlbWVudCBh
cyBhbmltYXRpb24ncyBzY3JvbGxlbmQgVGFyZ2V0LgorICAgICAgICBPdGhlcndpc2UsIGZpbmQg
dGhlIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3RvciBsYXllciBhbmQgcGFzcyB0aGUg
ZWxlbWVudCB0byBhbmNlc3RvciBsYXllcidzIHNjcm9sbEFuaW1hdGlvbi4KKyAgICAgICAgSWYg
bm8gZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGxheWVyIGZvdW5kLCBhZGQgdGhlIGVsZW1lbnQg
dG8gdGhlIHNjcm9sbGVuZCBsaXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNh
dmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KTogRmlu
ZCB0aGUgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGFuY2VzdG9yIGxheWVyLCBhbmQgY2hlY2sg
RnJhbWVWaWV3IGF0IHRoZSBlbmQuIAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0OjpzY3JvbGxSZWN0VG9WaXNpYmxlKTogQWRkIFJlcXVlc3RTY3JvbGxF
bmRFdmVudDo6WWVzLgorCiAyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdh
bGlhLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFy
c2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggM2VmOTQ1OTAwYi4uZTVjNDc4N2VkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC03OTksNiArNzk5LDEwIEBAIHZvaWQgRG9jdW1l
bnQ6OmNvbW1vblRlYXJkb3duKCkKIAogICAgIG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlz
dCA9IG51bGxwdHI7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbV9wZW5k
aW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ID0gbnVsbHB0cjsKKyNlbmRpZgorCiAgICAgd2hp
bGUgKCFtX3RpbWVsaW5lcy5jb21wdXRlc0VtcHR5KCkpCiAgICAgICAgIG1fdGltZWxpbmVzLmJl
Z2luKCktPmRldGFjaEZyb21Eb2N1bWVudCgpOwogICAgIG1fdGltZWxpbmUgPSBudWxscHRyOwpA
QCAtNDA3Miw2ICs0MDc2LDI2IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxFdmVu
dFRhcmdldChDb250YWluZXJOb2RlJiB0YXJnZXQpCiAgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0
KTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRG9jdW1lbnQ6OmFk
ZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJOb2RlJiB0YXJnZXQpCit7Cisg
ICAgaWYgKCFzZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmICghbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0KQorICAg
ICAgICBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QgPSBtYWtlVW5pcXVlPFBlbmRp
bmdTY3JvbGxFdmVudFRhcmdldExpc3Q+KCk7CisKKyAgICBhdXRvJiB0YXJnZXRzID0gbV9wZW5k
aW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzOworICAgIGlmICh0YXJnZXRzLmZp
bmRNYXRjaGluZyhbJl0gKGF1dG8mIGVudHJ5KSB7IHJldHVybiBlbnRyeS5wdHIoKSA9PSAmdGFy
Z2V0OyB9KSAhPSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHRhcmdldHMu
aXNFbXB0eSgpKQorICAgICAgICBzY2hlZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CisKKyAg
ICB0YXJnZXRzLmFwcGVuZCh0YXJnZXQpOworfQorI2VuZGlmCisKIHZvaWQgRG9jdW1lbnQ6OnNl
dE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpCiB7CiAgICAgaWYgKCFtX25lZWRzVmlz
dWFsVmlld3BvcnRTY3JvbGxFdmVudCkKQEAgLTQwOTcsNiArNDEyMSwxOCBAQCB2b2lkIERvY3Vt
ZW50OjpydW5TY3JvbGxTdGVwcygpCiAgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb21XaW5k
b3coKSkKICAgICAgICAgICAgIHdpbmRvdy0+dmlzdWFsVmlld3BvcnQoKS5kaXNwYXRjaEV2ZW50
KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbEV2ZW50LCBFdmVudDo6Q2FuQnViYmxl
OjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKICAgICB9CisKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgLy8gRGVhbCB3aXRoIHNjcm9sbGVuZCBldmVudC4KKyAgICBp
ZiAobV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ICYmICFtX3BlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAgIExPR19XSVRI
X1NUUkVBTShFdmVudHMsIHN0cmVhbSA8PCAiRG9jdW1lbnQiIDw8IHRoaXMgPDwgInNlbmRpbmcg
c2Nyb2xsZW5kIGV2ZW50cyB0byBwZW5kaW5nIHNjcm9sbCBldmVudCB0YXJnZXRzIik7CisgICAg
ICAgIGF1dG8gY3VycmVudFNjcm9sbEVuZFRhcmdldHMgPSBXVEZNb3ZlKG1fcGVuZGluZ1Njcm9s
bEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0cyk7CisgICAgICAgIGZvciAoYXV0byYgdGFyZ2V0
IDogY3VycmVudFNjcm9sbEVuZFRhcmdldHMpIHsKKyAgICAgICAgICAgIGF1dG8gYnViYmxlcyA9
IHRhcmdldC0+aXNEb2N1bWVudE5vZGUoKSA/IEV2ZW50OjpDYW5CdWJibGU6OlllcyA6IEV2ZW50
OjpDYW5CdWJibGU6Ok5vOworICAgICAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbGVuZEV2ZW50LCBidWJibGVzLCBFdmVudDo6SXND
YW5jZWxhYmxlOjpObykpOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgRG9j
dW1lbnQ6OmFkZEF1ZGlvUHJvZHVjZXIoTWVkaWFQcm9kdWNlciYgYXVkaW9Qcm9kdWNlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKaW5kZXggODM5YWZjZDU4Yi4uNzQ1ZGEyZGYyOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKQEAgLTEzNjAsNiArMTM2MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJ1blJlc2l6
ZVN0ZXBzKCk7CiAKICAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWlu
ZXJOb2RlJik7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgYWRkUGVu
ZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmKTsKKyNlbmRpZgogICAgIHZv
aWQgc2V0TmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2ZW50KCk7CiAgICAgdm9pZCBydW5TY3Jv
bGxTdGVwcygpOwogCkBAIC0yMDQyLDYgKzIwNDUsOSBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0
IFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRp
bmdTY3JvbGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdDsK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRp
bmdTY3JvbGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlz
dDsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBIYXNoU2V0PEhUTUxN
ZWRpYUVsZW1lbnQqPiBtX21lZGlhU3RyZWFtU3RhdGVDaGFuZ2VFbGVtZW50czsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcAppbmRleCBkOTAyMTM0NjZjLi43NGM0NDY1MTY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCkBAIC0xMjk1LDcgKzEyOTUsMTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxMZWZ0
KGludCBuZXdMZWZ0KQogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1h
dGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgp
LmRvY3VtZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9s
bDo6Tm87CiAgICAgICAgICAgICBJbnRQb2ludCBwb3NpdGlvbihzdGF0aWNfY2FzdDxpbnQ+KG5l
d0xlZnQgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9y
KCkpLCBmcmFtZS0+dmlldygpLT5zY3JvbGxZKCkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKKyAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0
aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRF
dmVudDo6WWVzKTsKKyNlbHNlCiAgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQ
b3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNl
bmRpZgogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzE5LDcgKzEzMjMs
MTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCkKICAgICAgICAgICAg
IC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5CiAg
ICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhT
Y3JvbGxCZWhhdmlvcjo6QXV0bywgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmlt
YXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOwogICAgICAgICAgICAgSW50UG9p
bnQgcG9zaXRpb24oZnJhbWUtPnZpZXcoKS0+c2Nyb2xsWCgpLCBzdGF0aWNfY2FzdDxpbnQ+KG5l
d1RvcCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3Io
KSkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgIGZyYW1lLT52
aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgICAg
ICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgICAgIHJl
dHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMDlhYWI2YjIzZC4u
NjJmZGU2ZTdjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTY3OSw4ICsxNjc5
LDE1IEBAIHZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9w
dGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nCiAKICAgICAvLyBUaGlzIGlzIGFuIG9wdGlt
aXphdGlvbiBmb3IgdGhlIGNvbW1vbiBjYXNlIG9mIHNjcm9sbGluZyB0byAoMCwgMCkgd2hlbiB0
aGUgc2Nyb2xsZXIgaXMgYWxyZWFkeSBhdCB0aGUgb3JpZ2luLgogICAgIC8vIElmIGFuIGFuaW1h
dGVkIHNjcm9sbCBpcyBpbiBwcm9ncmVzcywgdGhpcyBvcHRpbWl6YXRpb24gaXMgc2tpcHBlZCB0
byBlbnN1cmUgdGhhdCB0aGUgYW5pbWF0ZWQgc2Nyb2xsIGlzIHJlYWxseSBzdG9wcGVkLgotICAg
IGlmICh2aWV3LT5jdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlv
clN0YXR1czo6Tm90SW5BbmltYXRpb24gJiYgIXNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkg
JiYgIXNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSAmJiB2aWV3LT5jb250ZW50c1Njcm9sbFBv
c2l0aW9uKCkgPT0gSW50UG9pbnQoMCwgMCkpCisgICAgaWYgKHZpZXctPmN1cnJlbnRTY3JvbGxC
ZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbgor
ICAgICAgICAmJiAhc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKQorICAgICAgICAmJiAhc2Ny
b2xsVG9PcHRpb25zLnRvcC52YWx1ZSgpCisgICAgICAgICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xs
UG9zaXRpb24oKSA9PSBJbnRQb2ludCgwLCAwKSkgeworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKKyAgICAgICAgdmlldy0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7Cisj
ZW5kaWYKICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGRvY3VtZW50KCktPnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggNzQ0MWQwYzQwMi4uZmRmODM0M2Q4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcApAQCAtMjI3NSw3ICsyMjc1LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbEVsZW1lbnRU
b1JlY3QoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBz
ZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludChib3VuZHMueCgpIC0gY2VudGVyaW5nT2Zmc2V0WCAt
IHJlY3QueCgpLCBib3VuZHMueSgpIC0gY2VudGVyaW5nT2Zmc2V0WSAtIHJlY3QueSgpKSk7CiB9
CiAKLXZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9s
bCBhbmltYXRlZCkKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmlt
YXRlZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxF
bmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZy
YW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbiA8PCAiICwgY2xl
YXJpbmcgYW5jaG9yIik7CiAKQEAgLTIyODgsMTAgKzIyODgsMjEgQEAgdm9pZCBGcmFtZVZpZXc6
OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwg
U2Nyb2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CiAgICAgaWYgKHBhZ2Ug
JiYgcGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgc2Nyb2xsQW5pbWF0
b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hlZWxFdmVudFRlc3RNb25pdG9y
KCkpOworCisgICAgU2Nyb2xsUG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRl
c1Njcm9sbGluZygpICYmIGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFk
anVzdFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9z
aXRpb247CiAgICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAg
IHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oc2Ny
b2xsUG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CisgICAgICAgIHNj
cm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24obmV3U2Ny
b2xsUG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CiAgICAgZWxzZQot
ICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgY2xh
bXBpbmcpOworICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihuZXdTY3JvbGxQ
b3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpOworCisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChmcmFtZSgpLnNldHRpbmdzKCku
b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVx
dWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgaWYgKG5ld1Njcm9sbFBvc2l0aW9u
ID09IFNjcm9sbFZpZXc6OnNjcm9sbFBvc2l0aW9uKCkpCisgICAgICAgICAgICBhZGRQZW5kaW5n
U2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyAgICAgICAgZWxzZSBpZiAoYW5pbWF0ZWQgPT0gQW5p
bWF0ZWRTY3JvbGw6OlllcykKKyAgICAgICAgICAgIHNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vh
a1B0cihmcmFtZSgpLmRvY3VtZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIAogICAgIHNldEN1cnJl
bnRTY3JvbGxUeXBlKG9sZFNjcm9sbFR5cGUpOwogfQpAQCAtMzcyOCw2ICszNzM5LDMyIEBAIHZv
aWQgRnJhbWVWaWV3OjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zm
c2V0JiBvZmZzZXQsIFNjcm9sbFR5CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNT
Y3JvbGxUeXBlKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRnJh
bWVWaWV3OjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYg
cG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghZnJhbWUoKS5z
ZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFNjcm9sbFBvc2l0aW9uIGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IGNsYW1waW5nID09IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShw
b3NpdGlvbikgOiBwb3NpdGlvbjsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24g
PSBjbGFtcGVkU2Nyb2xsUG9zaXRpb247Cit9CisKK3ZvaWQgRnJhbWVWaWV3OjpjaGVja1Njcm9s
bEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAg
IGlmICghbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uIHx8IG1fZmlyZVNjcm9sbEVuZEV2
ZW50QXRQb3NpdGlvbi52YWx1ZSgpICE9IHBvc2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAg
ICBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyAgICBtX2ZpcmVTY3JvbGxFbmRF
dmVudEF0UG9zaXRpb24gPSBXVEY6Om51bGxvcHQ7Cit9CisKK3ZvaWQgRnJhbWVWaWV3OjphZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKQoreworICAgIGlmIChEb2N1bWVudCogZG9jdW1l
bnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50LT5hZGRQZW5kaW5nU2Ny
b2xsRW5kRXZlbnRUYXJnZXQoKmRvY3VtZW50KTsKK30KKyNlbmRpZgorCiBmbG9hdCBGcmFtZVZp
ZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhlZENvbnRlbnQoZmxvYXQgc3RlcCwgU2Nyb2xsYmFy
T3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQog
ewogICAgIGlmIChncmFudWxhcml0eSAhPSBTY3JvbGxCeVBhZ2UgfHwgb3JpZW50YXRpb24gPT0g
SG9yaXpvbnRhbFNjcm9sbGJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDA0YWU1OWE2
MTAuLjQ3MzY1YzQ0NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjI5LDcgKzIyOSw3
IEBAIHB1YmxpYzoKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRGaXhlZFZpc2libGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JikgZmlu
YWw7CiAjZW5kaWYKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pIGZpbmFsOworICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
LCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9s
bCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNj
cm9sbEVuZEV2ZW50OjpObykgZmluYWw7CiAgICAgdm9pZCByZXN0b3JlU2Nyb2xsYmFyKCk7CiAg
ICAgdm9pZCBzY2hlZHVsZVNjcm9sbFRvRm9jdXNlZEVsZW1lbnQoU2VsZWN0aW9uUmV2ZWFsTW9k
ZSk7CiAgICAgdm9pZCBzY3JvbGxUb0ZvY3VzZWRFbGVtZW50SW1tZWRpYXRlbHlJZk5lZWRlZCgp
OwpAQCAtNjY0LDYgKzY2NCwxNCBAQCBwdWJsaWM6CiAKICAgICBib29sIGluVXBkYXRlRW1iZWRk
ZWRPYmplY3RzKCkgY29uc3QgeyByZXR1cm4gbV9pblVwZGF0ZUVtYmVkZGVkT2JqZWN0czsgfQog
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2F2ZVNjcm9sbEVuZEV2
ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9s
bENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKKyAgICB2b2lkIGNoZWNrU2Nyb2xsRW5kRXZlbnRQ
b3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIGZpbmFsOworICAgIHZvaWQgYWRkUGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkgZmluYWw7CisgICAgYm9vbCBkdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcoKSBmaW5hbCB7IHJldHVybiBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldzsgfQor
ICAgIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGJvb2wgc2Nyb2xsaW5nKSBmaW5h
bCB7IG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3ID0gc2Nyb2xsaW5nOyB9CisjZW5kaWYKKwog
cHJvdGVjdGVkOgogICAgIGJvb2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXpl
JiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0
JiBjbGlwUmVjdCkgZmluYWw7CiAgICAgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0
IEludFJlY3QmIHVwZGF0ZVJlY3QpIGZpbmFsOwpAQCAtOTA0LDYgKzkxMiwxMCBAQCBwcml2YXRl
OgogCiAgICAgUGFnaW5hdGlvbiBtX3BhZ2luYXRpb247CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgT3B0aW9uYWw8U2Nyb2xsUG9zaXRpb24+IG1fZmlyZVNjcm9sbEVuZEV2
ZW50QXRQb3NpdGlvbjsKKyNlbmRpZgorCiAgICAgZW51bSBjbGFzcyBWaWV3cG9ydFJlbmRlcmVy
VHlwZSA6IHVpbnQ4X3QgeyBOb25lLCBEb2N1bWVudCwgQm9keSB9OwogICAgIFZpZXdwb3J0UmVu
ZGVyZXJUeXBlIG1fdmlld3BvcnRSZW5kZXJlclR5cGUgeyBWaWV3cG9ydFJlbmRlcmVyVHlwZTo6
Tm9uZSB9OwogICAgIFNjcm9sbFBpbm5pbmdCZWhhdmlvciBtX3Njcm9sbFBpbm5pbmdCZWhhdmlv
ciB7IERvTm90UGluIH07CkBAIC05NDksNiArOTYxLDEwIEBAIHByaXZhdGU6CiAgICAgLy8gVHJ1
ZSBpZiBhdXRvc2l6ZSBoYXMgYmVlbiBydW4gc2luY2UgbV9zaG91bGRBdXRvU2l6ZSB3YXMgc2V0
LgogICAgIGJvb2wgbV9kaWRSdW5BdXRvc2l6ZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2luVXBk
YXRlRW1iZWRkZWRPYmplY3RzIHsgZmFsc2UgfTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKKyAgICBib29sIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IHsgZmFsc2UgfTsKKyNl
bmRpZgogfTsKIAogaW5saW5lIHZvaWQgRnJhbWVWaWV3OjppbmNyZW1lbnRWaXN1YWxseU5vbkVt
cHR5UGl4ZWxDb3VudChjb25zdCBJbnRTaXplJiBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRpb24uaAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAog
I2lmbmRlZiBTY3JvbGxBbmltYXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25faAogCisj
aW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vy
cmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNl
cnZpY2VBbmltYXRpb24oKSB7IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPikg
eyB9OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Nyb2xsYWJs
ZUFyZWEmIHNjcm9sbGFibGVBcmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdGlvblNtb290aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3Bw
CkBAIC0yOCw3ICsyOCwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9s
bEFuaW1hdGlvblNtb290aC5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlJlbmRl
ckxheWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtODAsMTAgKzgzLDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3Jv
bGwoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1f
YW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7Cisj
ZW5kaWYKKwogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xsYWJsZUFy
ZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5p
bWF0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xs
QW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9zY3JvbGxF
bmRFdmVudFRhcmdldCkgeworICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRv
KiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5nU2Ny
b2xsUmVjdEludG9WaWV3KCkgPyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldygpIDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFy
ZW50TGF5ZXIpCisgICAgICAgIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRTY3JvbGxF
bmRUYXJnZXQobV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAgICBtX3Nj
cm9sbEVuZEV2ZW50VGFyZ2V0LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRh
cmdldCgqbV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVBcmVhLnNl
dER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRFdmVudFRh
cmdldCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3Jv
bGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9zY3Jv
bGxFbmRFdmVudFRhcmdldCA9IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9sbEFuaW1h
dGlvblNtb290aDo6dXBkYXRlVmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpvbnRhbERh
dGEudmlzaWJsZUxlbmd0aCA9IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBAIC00
MTAsOCArNDQyLDEyIEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1l
ckZpcmVkKCkKIAogICAgIGlmIChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0
VGltZXIoc3RkOjptYXgobWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsK
LSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOwor
I2VuZGlmCisgICAgfQogCiAgICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbihGbG9h
dFBvaW50KG1faG9yaXpvbnRhbERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0YS5j
dXJyZW50UG9zaXRpb24pKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0aW9uU21vb3RoLmgKaW5kZXggODE3M2ZhN2UyMC4uMTg0Y2ZhZDFkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTMxLDYg
KzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwog
Y2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFzcyBTY3Jv
bGxDbGFtcGluZyA6IHVpbnQ4X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgogICAgICAg
ICBCb3VuY2UKICAgICB9OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZv
aWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIG92ZXJyaWRlOwor
I2VuZGlmCiBwcml2YXRlOgogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBT
Y3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQg
c3RvcCgpIG92ZXJyaWRlOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lk
IG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3Ro
cygpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9p
bnQmKSBvdmVycmlkZTsKIApAQCAtMTA0LDYgKzExMSw5IEBAIHByaXZhdGU6CiAKICAgICBNb25v
dG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gbV9z
Y3JvbGxFbmRFdmVudFRhcmdldDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IDBmYzcy
OWU5MTIuLmQ4OTMwMDhhYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHAKQEAgLTI4Nyw1ICsyODcsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRk
SG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqKQogewogICAgIG1fYW5pbWF0aW9uUHJvZ3Jh
bW1hdGljU2Nyb2xsLT51cGRhdGVWaXNpYmxlTGVuZ3RocygpOwogfQotCisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0
KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIG1fYW5pbWF0aW9uUHJvZ3Jh
bW1hdGljU2Nyb2xsLT5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmgKaW5kZXggOWI3YzA5YjY5MC4uZWVkZTc5OGRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2hlZWxFdmVu
dFRlc3RNb25pdG9yLmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZiBFTkFCTEUoUlVC
QkVSX0JBTkRJTkcpIHx8IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xs
Q29udHJvbGxlci5oIgpAQCAtNDQsNiArNDUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgUGxhdGZvcm1U
b3VjaEV2ZW50OwogY2xhc3MgU2Nyb2xsQW5pbWF0aW9uOwpAQCAtMTQzLDYgKzE0NSwxMCBAQCBw
dWJsaWM6CiAgICAgRmxvYXRTaXplIHZpZXdwb3J0U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxF
bmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxvYXRTaXplJiBk
ZWx0YSk7CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JPZmZzZXQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IGI5NzVmYjA0MzAuLjU2Mjcz
NDU0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtNjUsNiArNjUs
MTEgQEAgZW51bSBjbGFzcyBBbmltYXRlZFNjcm9sbCA6IHVpbnQ4X3QgewogICAgIFllcwogfTsK
IAorZW51bSBjbGFzcyBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgOiB1aW50OF90IHsKKyAgICBObywK
KyAgICBZZXMKK307CisKIGlubGluZSBTY3JvbGxEaXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwo
U2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIGJvb2wgaXNWZXJ0aWNhbCwgYm9vbCBp
c0ZsaXBwZWQpCiB7CiAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggZDgxZDI0NDRjMC4uNmJmNjRhYWQ1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTIxMiw3ICsyMTIsMTEgQEAgdm9pZCBT
Y3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3Np
dGlvbiwgU2Nyb2xsQ2xhbXAKICAgICBpZiAocGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgc2V0
QWN0dWFsU2Nyb2xsUG9zaXRpb24ocG9zaXRpb24pOwogI2VuZGlmCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBjbGFtcGluZywg
YW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgc2V0U2Ny
b2xsUG9zaXRpb24ocG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAog
RmxvYXRSZWN0IFNjcm9sbFZpZXc6OmV4cG9zZWRDb250ZW50UmVjdCgpIGNvbnN0CkBAIC00ODYs
NiArNDkwLDEwIEBAIHZvaWQgU2Nyb2xsVmlldzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRp
b24mIG5ld1Bvc2l0aW9uKQogCiAgICAgbV9zY3JvbGxQb3NpdGlvbiA9IG5ld1Bvc2l0aW9uOwog
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQ
b3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uKTsKKyNlbmRpZgorCiAgICAgaWYgKHNjcm9sbGJhcnNT
dXBwcmVzc2VkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTEzLDcgKzUyMSw3IEBAIHZvaWQg
U2Nyb2xsVmlldzo6Y29tcGxldGVVcGRhdGVzQWZ0ZXJTY3JvbGxUbyhjb25zdCBJbnRTaXplJiBz
Y3JvbGxEZWx0YSkKICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5nKCk7
CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9z
aXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRT
Y3JvbGwvKiBhbmltYXRlZCovKQordm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1w
aW5nLCBBbmltYXRlZFNjcm9sbCAvKiBhbmltYXRlZCovLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQp
CiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3
OjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IDA2MDQyNGM5MjEuLjc3YTc3NTYxYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAgLTI2MSw3ICsyNjEsNyBAQCBwdWJsaWM6CiAg
ICAgU2Nyb2xsUG9zaXRpb24gY2FjaGVkU2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBt
X2NhY2hlZFNjcm9sbFBvc2l0aW9uOyB9CiAKICAgICAvLyBGdW5jdGlvbnMgZm9yIHNjcm9sbGlu
ZyB0aGUgdmlldy4KLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBB
bmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdmlydHVhbCB2b2lkIHNl
dFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6
Tm8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwog
CiAgICAgdm9pZCBzY3JvbGxCeShjb25zdCBJbnRTaXplJiBzKSB7IHJldHVybiBzZXRTY3JvbGxQ
b3NpdGlvbihzY3JvbGxQb3NpdGlvbigpICsgcyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDViZGE4NTdiYjkuLjIwZmJlNDI2NzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTMyLDYgKzMyLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JvbGxhYmxlQXJlYS5oIgogCisj
aW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCkBAIC03
NjksNCArNzcwLDExIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OmNvbXB1dGVTY3JvbGxiYXJWYWx1
ZUFuZE92ZXJoYW5nKGZsb2F0IGN1cnJlbnRQb3NpdGlvbiwgZmxvCiAgICAgfQogfQogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xs
RW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIHNjcm9sbEFu
aW1hdG9yKCkuc2V0U2Nyb2xsRW5kVGFyZ2V0KHRhcmdldCk7Cit9CisjZW5kaWYKKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgK
aW5kZXggZDIwM2FlYmU1Yy4uMzMzMTY3OWI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxhYmxlQXJlYS5oCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEZsb2F0UG9pbnQ7CiBjbGFzcyBHcmFwaGlj
c0NvbnRleHQ7CiBjbGFzcyBMYXlvdXRQb2ludDsKQEAgLTM0Niw2ICszNDcsMTYgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJP
bkxlZnQoKSBjb25zdCA9IDA7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
dmlydHVhbCB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgeyB9CisgICAg
dmlydHVhbCB2b2lkIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJn
ZXQoKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3KGJvb2wpIHsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYWJsZUFyZWEqIGZpbmRBbmNlc3RvckR1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2b2lkIHNl
dFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBwcm90
ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsYWJsZUFyZWEoKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIH5TY3JvbGxhYmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAppbmRleCA4YjI4NjQyNWMwLi5lM2FiNzRiYjE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNjAyLDcgKzYwMiwxMSBAQCB2b2lkIFJlbmRl
ckJveDo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBT
Y3JvbGxUeXBlIHNjcgogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAg
ICAgICAgIHJldHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRp
b24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9s
bEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihw
b3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2
b2lkIFJlbmRlckJveDo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25z
dCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBiZTIzMTdhNzgyLi5kOGMwYjE1NWU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI2MjQsMjEgKzI2MjQs
NDQgQEAgdm9pZCBSZW5kZXJMYXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5l
ZWRlZCgpCiB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xs
VHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwg
YW5pbWF0ZWQpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3JvbGxQb3Np
dGlvbi55KCkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQ
b3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0
aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQg
UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5
cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsK
ICAgICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7Cisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0
aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVu
dDo6WWVzKTsKKyNlbHNlCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5
cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6
c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxU
eXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBh
bmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVu
dCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CisjaWYgIUVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKyNlbmRpZgorCisg
ICAgYXV0byBvZmZzZXQgPSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAg
IFNjcm9sbE9mZnNldCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CiAgICAgaWYg
KGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0
V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxU
eXBlLCBjbGFtcGluZyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihuZXdT
Y3JvbGxPZmZzZXQsIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIHNj
cm9sbFRvT2Zmc2V0KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5
cGUsIGNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG9PZmZzZXQobmV3U2Nyb2xsT2Zmc2V0LCBz
Y3JvbGxUeXBlLCBjbGFtcGluZyk7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgaWYgKHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYm
IHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcykgewor
ICAgICAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ID09IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAg
ICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2UgaWYgKGFu
aW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3JvbGxFbmRU
YXJnZXQobWFrZVdlYWtQdHIocmVuZGVyZXIoKS5lbGVtZW50KCkpKTsKKyAgICB9CisjZW5kaWYK
IH0KIAogU2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBT
Y3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCkgY29uc3QKQEAgLTI2NjEsMTMgKzI2ODQsMTggQEAg
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3Jv
bGxPZmZzZXQsIFNjcm9sbFR5cGUgc2MKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxB
bmltYXRpb25zKCk7CiAKICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNs
YW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Ny
b2xsT2Zmc2V0KSA6IHNjcm9sbE9mZnNldDsKLSAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCA9
PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xs
UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7
CisgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpIHsK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGNoZWNrU2Nyb2xsRW5kRXZl
bnRQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKICAgICBhdXRvIHByZXZpb3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxU
eXBlKCk7CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUoc2Nyb2xsVHlwZSk7CiAKLSAgICBpZiAo
IXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xh
bXBlZFNjcm9sbE9mZnNldCksIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKKyAgICBpZiAoIXJlcXVl
c3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNjcm9sbFR5cGUs
IGNsYW1waW5nKSkKICAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNsYW1w
ZWRTY3JvbGxPZmZzZXQsIGNsYW1waW5nKTsKICAgICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhT
Y3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwogCkBAIC0yNzkxLDYgKzI4MTks
MTAgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBv
c2l0aW9uKQogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkp
CiAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0
KCplbGVtZW50KTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Nj
cm9sbEVuZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlm
IChzY3JvbGxzT3ZlcmZsb3coKSkKICAgICAgICAgdmlldy5mcmFtZVZpZXcoKS5kaWRDaGFuZ2VT
Y3JvbGxPZmZzZXQoKTsKIApAQCAtMjgzNiwxMCArMjg2OCwxNCBAQCBib29sIFJlbmRlckxheWVy
OjphbGxvd3NDdXJyZW50U2Nyb2xsKCkgY29uc3QKICAgICByZXR1cm4gYm94LT5oYXNIb3Jpem9u
dGFsT3ZlcmZsb3coKSB8fCBib3gtPmhhc1ZlcnRpY2FsT3ZlcmZsb3coKTsKIH0KIAotdm9pZCBS
ZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0
ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25z
JiBvcHRpb25zKQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBM
YXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJl
Y3RUb1Zpc2libGVPcHRpb25zJiBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVxdWVz
dFNjcm9sbEVuZEV2ZW50KQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVh
bSA8PCAiTGF5ZXIgIiA8PCB0aGlzIDw8ICIgc2Nyb2xsUmVjdFRvVmlzaWJsZSAiIDw8IGFic29s
dXRlUmVjdCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9vbCBvdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZCA9IHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZl
bnRzRW5hYmxlZCgpOworI2VuZGlmCisKICAgICBMYXlvdXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0
ZVJlY3Q7CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFt
ZVZpZXcoKTsKICAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9j
a0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOwpAQCAtMjg2Niw2ICsyOTAy
LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0
UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAoYXV0b3Njcm9s
bE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGJv
eC0+ZWxlbWVudCgpKSkKICAgICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xs
OjpZZXM7CiAgICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21P
ZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCisgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0
ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9s
bE9mZnNldCgpKQorICAgICAgICAgICAgICAgIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0
cnVlKTsKKyNlbmRpZgogICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNl
ID0gY2xhbXBlZFNjcm9sbE9mZnNldCAtIG9sZFNjcm9sbE9mZnNldDsKICAgICAgICAgICAgIGxv
Y2FsRXhwb3NlUmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKICAgICAgICAgICAg
IG5ld1JlY3QgPSBMYXlvdXRSZWN0KGJveC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQo
RmxvYXRSZWN0KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGluZ0JveCgp
KTsKQEAgLTI4OTgsNiArMjkzOCwxNCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9W
aXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAg
ICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgICAg
ICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmlt
YXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIHNjcm9sbFBvc2l0aW9uICE9IGZyYW1lVmll
dy5zY3JvbGxQb3NpdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRE
dXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChy
ZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpCisgICAg
ICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFr
UHRyKGZyYW1lVmlldy5mcmFtZSgpLmRvY3VtZW50KCkpKTsKKyAgICAgICAgICAgICAgICB9Cisj
ZW5kaWYKKwogICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3VsZEFsbG93Q3Jvc3NPcmln
aW5TY3JvbGxpbmcgPT0gU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIHx8IGZy
YW1lVmlldy5zYWZlVG9Qcm9wYWdhdGVTY3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmIChhdXRvKiBlbmNsb3NpbmdMYXllciA9IG93bmVyRWxlbWVudC0+cmVuZGVyZXIo
KS0+ZW5jbG9zaW5nTGF5ZXIoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVy
ID0gZW5jbG9zaW5nTGF5ZXItPmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9y
Tm90OjpJbmNsdWRlU2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI5NDIsNiAr
Mjk5MCwxMyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExh
eW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIGlmIChh
dXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhh
dmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSkKICAgICAgICAg
ICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAg
ICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBh
bmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIGNsYW1wZWRTY3JvbGxQb3NpdGlvbiAh
PSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICBmcmFt
ZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOworICAgICAgICAgICAgICAg
ICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6
WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdl
dChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgICAgICAg
ICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMg
dGhlIG91dGVybW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlz
IHZpZXcgd2UKQEAgLTI5NTMsOCArMzAwOCwyNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxS
ZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAog
ICAgICAgICB9CiAgICAgfQogICAgIAotICAgIGlmIChwYXJlbnRMYXllcikKKyAgICBpZiAocGFy
ZW50TGF5ZXIpIHsKICAgICAgICAgcGFyZW50TGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUobmV3
UmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlvbnMpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIHJlcXVlc3RTY3JvbGxF
bmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICAgICAgQ29u
dGFpbmVyTm9kZSogdGFyZ2V0ID0gcmVuZGVyZXIoKS5lbGVtZW50KCk7CisgICAgICAgICAgICBp
ZiAocmVuZGVyZXIoKS5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0YXJnZXQpCisg
ICAgICAgICAgICAgICAgdGFyZ2V0ID0gJnJlbmRlcmVyKCkuZG9jdW1lbnQoKTsKKworICAgICAg
ICAgICAgaWYgKGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAgICAgICAgICAgICAgIHNl
dFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgICAgIGF1dG8qIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyID0gZmlu
ZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCk7CisgICAgICAgICAgICAgICAgaWYg
KGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyKQorICAgICAgICAgICAgICAgICAgICBkdXJpbmdT
Y3JvbGxpbmdQYXJlbnRMYXllci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKHRhcmdl
dCkpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIo
KS5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqdGFyZ2V0KTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisgICAgfQogfQogCiB2b2lkIFJlbmRlckxh
eWVyOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsKCkKQEAgLTcwMzUsNiArNzEw
OCw0OSBAQCB2b2lkIFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdpb24oKQogI2VuZGlm
CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFJlbmRlckxheWVyOjpz
YXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24s
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworICAgIGlmICghcmVuZGVyZXIoKS5zZXR0aW5n
cygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1
dG8gb2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3Jv
bGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsKKyAgICBtX2Zp
cmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xh
bXBlZFNjcm9sbE9mZnNldCk7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmNoZWNrU2Nyb2xsRW5k
RXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCit7CisgICAgaWYg
KCFtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gfHwgbV9maXJlU2Nyb2xsRW5kRXZlbnRB
dFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRpb24pCisgICAgICAgIHJldHVybjsKKworICAgIGFk
ZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworCisgICAgbV9maXJlU2Nyb2xsRW5kRXZl
bnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2b2lkIFJlbmRlckxheWVyOjphZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKQoreworICAgIGlmIChFbGVtZW50KiBlbGVtZW50
ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRk
UGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCplbGVtZW50KTsKK30KKworU2Nyb2xsYWJsZUFy
ZWEqIFJlbmRlckxheWVyOjpmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKQor
eworICAgIGF1dG8qIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIo
KnRoaXMsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgd2hpbGUgKHBhcmVudExheWVy
KSB7CisgICAgICAgIGlmIChwYXJlbnRMYXllci0+ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkp
CisgICAgICAgICAgICByZXR1cm4gcGFyZW50TGF5ZXI7CisgICAgICAgIHBhcmVudExheWVyID0g
ZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnBhcmVudExheWVyLCBDcm9zc0ZyYW1lQm91
bmRhcmllczo6Tm8pOworICAgIH0KKworICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVy
ZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CisgICAgaWYgKGZyYW1lVmlldy5kdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgcmV0dXJuICZmcmFtZVZpZXc7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisjZW5kaWYKKwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJl
YW0mIHRzLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUpCiB7CiAgICAgc3dpdGNoIChjbGlw
UmVjdHNUeXBlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGQ3
MDhkMjZlZDEuLjUwMWNjNmIxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5oCkBAIC00NTIsNyArNDUyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3Np
dGlvbihpbnQgeCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOwogICAgIHZvaWQg
c2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5v
KTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Ny
b2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0
ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpO
bywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAK
ICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2VkIGJ5IG1hcnF1ZWUuCiAgICAgdm9pZCBzY3JvbGxU
b1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9m
ZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVu
Y2xhbXBlZCk7IH0KQEAgLTQ2Nyw3ICs0NjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhdmFpbGFi
bGVDb250ZW50U2l6ZUNoYW5nZWQoQXZhaWxhYmxlU2l6ZUNoYW5nZVJlYXNvbikgZmluYWw7CiAK
ICAgICAvLyAiYWJzb2x1dGVSZWN0IiBpcyBpbiBzY2FsZWQgZG9jdW1lbnQgY29vcmRpbmF0ZXMu
Ci0gICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMm
KTsKKyAgICB2b2lkIHNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1
dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9u
cyYsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwog
CiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3coKSBjb25zdDsKICAgICBib29sIGhhc1Njcm9sbGFi
bGVIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25zdDsKQEAgLTkyNSw2ICs5MjUsMTUgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBpbnZhbGlkYXRlRXZlbnRSZWdpb24oKTsKIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCkgZmluYWw7CisgICAgdm9pZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRh
cmdldCgpIGZpbmFsOworICAgIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWwg
eyByZXR1cm4gbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyhib29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldyA9IHNjcm9sbGluZzsgfQorICAgIFNjcm9sbGFibGVBcmVhKiBmaW5kQW5j
ZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSBmaW5hbDsKKyNlbmRpZgorCiBwcml2YXRl
OgogCiAgICAgdm9pZCBzZXROZXh0U2libGluZyhSZW5kZXJMYXllciogbmV4dCkgeyBtX25leHQg
PSBuZXh0OyB9CkBAIC0xMjgxLDYgKzEyOTAsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbGF5
ZXJMaXN0TXV0YXRpb25BbGxvd2VkIDogMTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgOiAxOworI2Vu
ZGlmCisKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIHVuc2lnbmVkIG1fYmxlbmRN
b2RlIDogNTsgLy8gQmxlbmRNb2RlCiAgICAgYm9vbCBtX2hhc05vdElzb2xhdGVkQ29tcG9zaXRl
ZEJsZW5kaW5nRGVzY2VuZGFudHMgOiAxOwpAQCAtMTM1Niw2ICsxMzY5LDEwIEBAIHByaXZhdGU6
CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyTGF5ZXJGaWx0ZXJzPiBtX2ZpbHRlcnM7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxheWVyQmFja2luZz4gbV9iYWNraW5nOworCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBt
X2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb247CisjZW5kaWYKICAgICAKICAgICBQYWludEZy
ZXF1ZW5jeVRyYWNrZXIgbV9wYWludEZyZXF1ZW5jeVRyYWNrZXI7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBkNTYwMjg3NTI2Li4wYTQ2MDY0NDMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDI3LDcg
KzQyNywxMSBAQCBib29sIFJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBM
YXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaQogICAgIGlmICghZW5jbG9zaW5nTGF5
ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBlbmNsb3NpbmdMYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZVJlY3Qs
IGluc2lkZUZpeGVkLCBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxz
ZQogICAgIGVuY2xvc2luZ0xheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29sdXRlUmVjdCwg
aW5zaWRlRml4ZWQsIG9wdGlvbnMpOworI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395943</attachid>
            <date>2020-04-09 06:14:54 -0700</date>
            <delta_ts>2020-04-10 00:24:12 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-008-all.diff</filename>
            <type>text/plain</type>
            <size>146017</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwODg4NjhlZTEyLi4zNzMx
OTQ5ODZlIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wNC0wOCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mu
a2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9JTlRMIGRlZmluZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDc5MDA3NmE3MmUuLmI2ZGZlMDMwMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0wNC0wOCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xs
aW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgVGVzdCBmYWlscyBvbiBpT1MgYmVjYXVzZSB0aGUgRnJhbWVWaWV3
IHNjcm9sbCBwb3NpdGlvbiBpcyBubyBjbGFtcGVkLCBzZWUgYnVnOiAxNzk3MzUuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOiBUZXN0IGZhaWxzIG9uIG1hYy13
azEgYmVjYXVzZSB0aGUgRnJhbWVWaWV3IHNtb290aCBzY3JvbGxpbmcgaXMgbm90IGZ1bmN0aW9u
YWwuIFNlZSBidWc6IDE5MTM1Ny4KKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBFbmFibGUg
dGhlIHRlc3QgZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgc2Nyb2xsZW5kIGV2ZW50LgorCiAy
MDIwLTA0LTA5ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW1dQRV0gR2FyZGVuaW5nLCB1cGRhdGUgVGVzdEV4cGVjdGF0aW9ucwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggOTE1MDUxZmMzMi4uMDJiMWRkZTdhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0x
NjUsNyArMTY1LDE1IEBAIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS8gWyBTa2lw
IF0KIGZhc3QvaGFybmVzcy91aXNjcmlwdGNvbnRyb2xsZXIgWyBTa2lwIF0KIAogIyBPbmx5IGlP
UyBoYXMgYW4gaW1wbGVtZW50YXRpb24gb2YgVUlTY3JpcHRDb250cm9sbGVyOjpzZW5kRXZlbnRT
dHJlYW0oKS4KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3Jv
bGxpbmcgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tp
cCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5n
L292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tZWxlbWVudC13aXRoLW92ZXJzY3JvbGwtYmVoYXZp
b3IuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLXNjcm9sbGVkLWVsZW1lbnQu
aHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC1hZnRlci1zbmFwLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLXRvLWRvY3VtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLXRvLWVs
ZW1lbnQtd2l0aC1vdmVyc2Nyb2xsLWJlaGF2aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLXRvLXNjcm9sbGVkLWVsZW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmly
ZWQtdG8td2luZG93Lmh0bWwgWyBTa2lwIF0KIAogIyBUaGlzIHRlc3Qgb25seSBtYWtlcyBzZW5z
ZSBvbiBNYWMKIGZhc3QvYXR0YWNobWVudC9hdHRhY2htZW50LXN1YnRpdGxlLXJlc2l6ZS5odG1s
IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3It
cHJvZ3JhbW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uOTY2YzlmMWFiYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9z
Y3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQg
Zm9yIGNhbGxpbmcgc2Nyb2xsIGZ1bmN0aW9ucy4gCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVu
dCBmb3IgY2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0ZXMuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5n
L3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi40M2ZiN2FjZGRmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRp
Yy1zY3JvbGwuaHRtbApAQCAtMCwwICsxLDEzNSBAQAorPCFET0NUWVBFIEhUTUw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ9dHJ1
ZSBleHBlcmltZW50YWw6Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+
Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRy
aXZlci1hY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JvbGxfc3VwcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIGh0bWwgeworICAgIGhlaWdodDogMzAwMHB4OworICAg
IHdpZHRoOiAzMDAwcHg7CisgIH0KKworICAjdGFyZ2V0RGl2IHsKKyAgICB3aWR0aDogMjAwcHg7
CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBvdmVyZmxvdzogc2Nyb2xsOworICB9CisKKyAgI2lu
bmVyRGl2IHsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0MDBweDsKKyAgfQorPC9z
dHlsZT4KKworPGJvZHkgc3R5bGU9Im1hcmdpbjowIiBvbmxvYWQ9cnVuVGVzdCgpPgorICA8ZGl2
IGlkPSJ0YXJnZXREaXYiPgorICAgIDxkaXYgaWQ9ImlubmVyRGl2Ij4KKyAgICA8L2Rpdj4KKyAg
PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorICB2YXIgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZl
ZCA9IGZhbHNlOworICB2YXIgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKwor
ICBmdW5jdGlvbiBvbkVsZW1lbnRTY3JvbGxFbmQoZXZlbnQpIHsKKyAgICBhc3NlcnRfZmFsc2Uo
ZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmJ1YmJsZXMpOworICAg
IGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSB0cnVlOworICB9CisKKyAgZnVuY3Rpb24gb25E
b2N1bWVudFNjcm9sbEVuZChldmVudCkgeworICAgIGFzc2VydF9mYWxzZShldmVudC5jYW5jZWxh
YmxlKTsKKyAgICAvLyBzY3JvbGxlbmQgZXZlbnRzIGFyZSBidWJibGVkIHdoZW4gdGhlIHRhcmdl
dCBub2RlIGlzIGRvY3VtZW50LgorICAgIGFzc2VydF90cnVlKGV2ZW50LmJ1YmJsZXMpOworICAg
IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gdHJ1ZTsKKyAgfQorCisgIGZ1bmN0aW9uIGNh
bGxTY3JvbGxGdW5jdGlvbihbc2Nyb2xsVGFyZ2V0LCBzY3JvbGxGdW5jdGlvbiwgYXJnc10pIHsK
KyAgICBzY3JvbGxUYXJnZXRbc2Nyb2xsRnVuY3Rpb25dKGFyZ3MpOworICB9CisKKyAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICBsZXQgcm9vdF9lbGVtZW50ID0gZG9jdW1lbnQuc2Nyb2xsaW5n
RWxlbWVudDsKKyAgICBsZXQgdGFyZ2V0X2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXREaXYiKTsKKworICAgIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgICAgYXdh
aXQgd2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKyAgICAgIHRhcmdldF9kaXYuYWRkRXZlbnRM
aXN0ZW5lcigic2Nyb2xsZW5kIiwgb25FbGVtZW50U2Nyb2xsRW5kKTsKKyAgICAgIGRvY3VtZW50
LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRG9jdW1lbnRTY3JvbGxFbmQpOworCisg
ICAgICBsZXQgdGVzdF9jYXNlcyA9IFsKKyAgICAgICAgW3RhcmdldF9kaXYsIDIwMCwgMjAwLCBb
dGFyZ2V0X2RpdiwgInNjcm9sbFRvIiwgeyB0b3A6IDIwMCwgbGVmdDogMjAwLCBiZWhhdmlvcjog
ImF1dG8iIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYsIDAsIDAsIFt0YXJnZXRfZGl2LCAic2Ny
b2xsVG8iLCB7IHRvcDogMCwgbGVmdDogMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAg
ICAgW3Jvb3RfZWxlbWVudCwgMjAwLCAyMDAsIFtyb290X2VsZW1lbnQsICJzY3JvbGxUbyIsIHsg
dG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisgICAgICAgIFtyb290
X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1lbnQsICJzY3JvbGxUbyIsIHsgdG9wOiAwLCBsZWZ0
OiAwLCBiZWhhdmlvcjogInNtb290aCIgfV1dLAorICAgICAgICBbdGFyZ2V0X2RpdiwgMjAwLCAy
MDAsIFt0YXJnZXRfZGl2LCAic2Nyb2xsQnkiLCB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2
aW9yOiAiYXV0byIgfV1dLAorICAgICAgICBbdGFyZ2V0X2RpdiwgMCwgMCwgW3RhcmdldF9kaXYs
ICJzY3JvbGxCeSIsIHsgdG9wOiAtMjAwLCBsZWZ0OiAtMjAwLCBiZWhhdmlvcjogInNtb290aCIg
fV1dLAorICAgICAgICBbcm9vdF9lbGVtZW50LCAyMDAsIDIwMCwgW3Jvb3RfZWxlbWVudCwgInNj
cm9sbEJ5IiwgeyB0b3A6IDIwMCwgbGVmdDogMjAwLCBiZWhhdmlvcjogImF1dG8iIH1dXSwKKyAg
ICAgICAgW3Jvb3RfZWxlbWVudCwgMCwgMCwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbEJ5IiwgeyB0
b3A6IC0yMDAsIGxlZnQ6IC0yMDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0KKyAgICAgIF07CisK
KyAgICAgIGZvciAoaSA9IDA7IGkgPCB0ZXN0X2Nhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAg
IGxldCB0ID0gdGVzdF9jYXNlc1tpXTsKKyAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07CisgICAg
ICAgIGxldCBleHBlY3RlZF94ID0gdFsxXTsKKyAgICAgICAgbGV0IGV4cGVjdGVkX3kgPSB0WzJd
OworICAgICAgICBsZXQgc2Nyb2xsX2RhdGFzID0gdFszXTsKKworICAgICAgICBjYWxsU2Nyb2xs
RnVuY3Rpb24oc2Nyb2xsX2RhdGFzKTsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJl
dHVybiBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJp
dmVkOyB9LCB0YXJnZXQudGFnTmFtZSArICIuIiArIHNjcm9sbF9kYXRhc1sxXSArICIgZGlkIG5v
dCByZWNlaXZlIHNjcm9sbGVuZCBldmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290
X2VsZW1lbnQpCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQpOworICAgICAgICBlbHNlCisgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9s
bGVuZF9hcnJpdmVkKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQuc2Nyb2xsTGVmdCwg
ZXhwZWN0ZWRfeCwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAiIHNj
cm9sbExlZnQiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQuc2Nyb2xsVG9wLCBleHBl
Y3RlZF95LCB0YXJnZXQudGFnTmFtZSArICIuIiArIHNjcm9sbF9kYXRhc1sxXSArICIgc2Nyb2xs
VG9wIik7CisKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAg
ICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNlOworICAgICAgfQorICAgIH0s
ICJUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNhbGxpbmcgc2Nyb2xsIGZ1bmN0aW9ucy4iKTsK
KworICAgIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgICAgYXdhaXQgd2FpdEZvckNv
bXBvc2l0b3JDb21taXQoKTsKKworICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAgICAgIFt0
YXJnZXRfZGl2LCAic2Nyb2xsVG9wIl0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAic2Nyb2xsTGVm
dCJdLAorICAgICAgICBbcm9vdF9lbGVtZW50LCAic2Nyb2xsVG9wIl0sCisgICAgICAgIFtyb290
X2VsZW1lbnQsICJzY3JvbGxMZWZ0Il0KKyAgICAgIF07CisgICAgICBmb3IgKGkgPSAwOyBpIDwg
dGVzdF9jYXNlcy5sZW5ndGg7IGkrKykgeworICAgICAgICBsZXQgdCA9IHRlc3RfY2FzZXNbaV07
CisgICAgICAgIGxldCB0YXJnZXQgPSB0WzBdOworICAgICAgICBsZXQgYXR0cmlidXRlID0gdFsx
XTsKKyAgICAgICAgbGV0IHBvc2l0aW9uID0gMjAwOworCisgICAgICAgIHRhcmdldC5zdHlsZS5z
Y3JvbGxCZWhhdmlvciA9ICJzbW9vdGgiOworICAgICAgICB0YXJnZXRbYXR0cmlidXRlXSA9IHBv
c2l0aW9uOworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGVsZW1lbnRfc2Ny
b2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7IH0sIHRhcmdldC50
YWdOYW1lICsgIi4iICsgYXR0cmlidXRlICsgIiBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2
ZW50LiIpOworICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVudCkKKyAgICAgICAgICBh
c3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKHRhcmdldFthdHRyaWJ1dGVdLCBwb3NpdGlvbiwgdGFyZ2V0LnRhZ05h
bWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiICIpOworICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9h
cnJpdmVkID0gZmFsc2U7CisgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFs
c2U7CisKKyAgICAgICAgYXdhaXQgd2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKyAgICAgICAg
dGFyZ2V0LnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImF1dG8iOworICAgICAgICB0YXJnZXRbYXR0
cmlidXRlXSA9IDA7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVu
dF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgdGFy
Z2V0LnRhZ05hbWUgKyAiLiIgKyBhdHRyaWJ1dGUgKyAiIGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxl
bmQgZXZlbnQuIik7CisgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQorICAgICAg
ICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0W2F0dHJpYnV0ZV0sIDAsIHRhcmdldC50YWdOYW1l
ICsgIi4iICsgYXR0cmlidXRlICsgIiAiKTsKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJy
aXZlZCA9IGZhbHNlOworICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNl
OworICAgICAgfQorICAgIH0sICJUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNoYW5naW5nIHNj
cm9sbCBhdHRyaWJ1dGVzLiIpOworICB9Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Ny
b2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwLi5iZWM3MTFmZGUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3Jv
bGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDQgQEAKKworUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3
LiAKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBuZXN0ZWQgc2Nyb2xsSW50b1ZpZXcu
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJ
bnRvVmlldy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmVkZDM4
YzBmMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1m
b3Itc2Nyb2xsSW50b1ZpZXcuaHRtbApAQCAtMCwwICsxLDEyNCBAQAorPCFET0NUWVBFIEhUTUw+
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6T3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQ9dHJ1ZSBleHBlcmltZW50YWw6Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZD10
cnVlIF0gLS0+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JvbGxf
c3VwcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAgaHRtbCB7CisgICAgICAgIGhlaWdo
dDogMzAwMHB4OworICAgICAgICB3aWR0aDogMzAwMHB4OworICAgIH0KKworICAgICN0YXJnZXRE
aXYgeworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAg
ICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgfQorCisgICAgI2lubmVyRGl2IHsKKyAgICAgICAg
d2lkdGg6IDQwMHB4OworICAgICAgICBoZWlnaHQ6IDQwMHB4OworICAgIH0KKzwvc3R5bGU+CisK
Kzxib2R5IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPXJ1blRlc3QoKT4KKyAgICA8ZGl2IGlkPSJ0
YXJnZXREaXYiPgorICAgICAgICA8ZGl2IGlkPSJpbm5lckRpdiI+CisgICAgICAgIDwvZGl2Pgor
ICAgIDwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyAgICB2YXIgZWxlbWVudF9zY3JvbGxlbmRf
YXJyaXZlZCA9IGZhbHNlOworICAgIHZhciBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZh
bHNlOworCisgICAgZnVuY3Rpb24gb25FbGVtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgICAg
IGFzc2VydF9mYWxzZShldmVudC5jYW5jZWxhYmxlKTsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGV2
ZW50LmJ1YmJsZXMpOworICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gdHJ1ZTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBvbkRvY3VtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAg
ICAgIGFzc2VydF9mYWxzZShldmVudC5jYW5jZWxhYmxlKTsKKyAgICAgICAgLy8gc2Nyb2xsZW5k
IGV2ZW50cyBhcmUgYnViYmxlZCB3aGVuIHRoZSB0YXJnZXQgbm9kZSBpcyBkb2N1bWVudC4KKyAg
ICAgICAgYXNzZXJ0X3RydWUoZXZlbnQuYnViYmxlcyk7CisgICAgICAgIGRvY3VtZW50X3Njcm9s
bGVuZF9hcnJpdmVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjYWxsU2Nyb2xsRnVu
Y3Rpb24oW3Njcm9sbFRhcmdldCwgc2Nyb2xsRnVuY3Rpb24sIGFyZ3NdKSB7CisgICAgICAgIHNj
cm9sbFRhcmdldFtzY3JvbGxGdW5jdGlvbl0oYXJncyk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgbGV0IHJvb3RfZWxlbWVudCA9IGRvY3VtZW50LnNjcm9sbGlu
Z0VsZW1lbnQ7CisgICAgICAgIGxldCB0YXJnZXRfZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldERpdiIpOworICAgICAgICBsZXQgaW5uZXJfZGl2ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImlubmVyRGl2Iik7CisKKyAgICAgICAgLy8gR2V0IGV4cGVjdGVkIHBvc2l0aW9u
IGZvciByb290X2VsZW1lbnQgc2Nyb2xsSW50b1ZpZXcuCisgICAgICAgIHJvb3RfZWxlbWVudC5z
Y3JvbGxUbygxMDAwMCwgMTAwMDApOworICAgICAgICBsZXQgbWF4X3Jvb3RfeCA9IHJvb3RfZWxl
bWVudC5zY3JvbGxMZWZ0OworICAgICAgICBsZXQgbWF4X3Jvb3RfeSA9IHJvb3RfZWxlbWVudC5z
Y3JvbGxUb3A7CisgICAgICAgIHJvb3RfZWxlbWVudC5zY3JvbGxUbygwLCAwKTsKKworICAgICAg
ICB0YXJnZXRfZGl2LnNjcm9sbFRvKDEwMDAwLCAxMDAwMCk7CisgICAgICAgIGxldCBtYXhfZWxl
bWVudF94ID0gdGFyZ2V0X2Rpdi5zY3JvbGxMZWZ0OworICAgICAgICBsZXQgbWF4X2VsZW1lbnRf
eSA9IHRhcmdldF9kaXYuc2Nyb2xsVG9wOworICAgICAgICB0YXJnZXRfZGl2LnNjcm9sbFRvKDAs
IDApOworCisgICAgICAgIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgICAgICAgICAg
YXdhaXQgd2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKyAgICAgICAgICAgIHRhcmdldF9kaXYu
YWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIiwgb25FbGVtZW50U2Nyb2xsRW5kKTsKKyAgICAg
ICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRG9jdW1lbnRT
Y3JvbGxFbmQpOworCisgICAgICAgICAgICBsZXQgdGVzdF9jYXNlcyA9IFsKKyAgICAgICAgICAg
ICAgICBbdGFyZ2V0X2RpdiwgbWF4X2VsZW1lbnRfeCwgbWF4X2VsZW1lbnRfeSwgW2lubmVyX2Rp
diwgInNjcm9sbEludG9WaWV3IiwgeyBpbmxpbmU6ICJlbmQiLCBibG9jazogImVuZCIsIGJlaGF2
aW9yOiAiYXV0byIgfV1dLAorICAgICAgICAgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBbaW5u
ZXJfZGl2LCAic2Nyb2xsSW50b1ZpZXciLCB7IGlubGluZTogInN0YXJ0IiwgYmxvY2s6ICJzdGFy
dCIsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0sCisgICAgICAgICAgICAgICAgW3Jvb3RfZWxlbWVu
dCwgbWF4X3Jvb3RfeCwgbWF4X3Jvb3RfeSwgW3Jvb3RfZWxlbWVudCwgInNjcm9sbEludG9WaWV3
IiwgeyBpbmxpbmU6ICJlbmQiLCBibG9jazogImVuZCIsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0s
CisgICAgICAgICAgICAgICAgW3Jvb3RfZWxlbWVudCwgMCwgMCwgW3Jvb3RfZWxlbWVudCwgInNj
cm9sbEludG9WaWV3IiwgeyBpbmxpbmU6ICJzdGFydCIsIGJsb2NrOiAic3RhcnQiLCBiZWhhdmlv
cjogInNtb290aCIgfV1dCisgICAgICAgICAgICBdOworCisgICAgICAgICAgICBmb3IgKGkgPSAw
OyBpIDwgdGVzdF9jYXNlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgICAgIGxldCB0ID0g
dGVzdF9jYXNlc1tpXTsKKyAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdFswXTsKKyAgICAg
ICAgICAgICAgICBsZXQgZXhwZWN0ZWRfeCA9IHRbMV07CisgICAgICAgICAgICAgICAgbGV0IGV4
cGVjdGVkX3kgPSB0WzJdOworICAgICAgICAgICAgICAgIGxldCBzY3JvbGxfZGF0YXMgPSB0WzNd
OworCisgICAgICAgICAgICAgICAgY2FsbFNjcm9sbEZ1bmN0aW9uKHNjcm9sbF9kYXRhcyk7Cisg
ICAgICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVtZW50X3Njcm9s
bGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCB0YXJnZXQudGFn
TmFtZSArICIuc2Nyb2xsSW50b1ZpZXcgIGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQu
Iik7CisgICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1lbnQpCisgICAgICAg
ICAgICAgICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1
bWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh0
YXJnZXQuc2Nyb2xsTGVmdCwgZXhwZWN0ZWRfeCwgdGFyZ2V0LnRhZ05hbWUgKyAiLnNjcm9sbElu
dG9WaWV3IHNjcm9sbExlZnQiKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdl
dC5zY3JvbGxUb3AsIGV4cGVjdGVkX3ksIHRhcmdldC50YWdOYW1lICsgIi5zY3JvbGxJbnRvVmll
dyBzY3JvbGxUb3AiKTsKKworICAgICAgICAgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9
IGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50
IGZvciBzY3JvbGxJbnRvVmlldy4iKTsKKworICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQp
ID0+IHsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGFyZ2V0X2Rpdik7
CisgICAgICAgICAgICBsZXQgb3V0X2RpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICAgICAgICAgICAgb3V0X2Rpdi5zdHlsZSA9ICJ3aWR0aDogMTAwcHg7IGhlaWdodDoxMDBw
eDsgb3ZlcmZsb3c6c2Nyb2xsOyBzY3JvbGwtYmVoYXZpb3I6c21vb3RoOyI7CisgICAgICAgICAg
ICBvdXRfZGl2LmFwcGVuZENoaWxkKHRhcmdldF9kaXYpOworICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChvdXRfZGl2KTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3JDb21w
b3NpdG9yQ29tbWl0KCk7CisKKyAgICAgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQg
PSBmYWxzZTsKKyAgICAgICAgICAgIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7
CisgICAgICAgICAgICBpbm5lcl9kaXYuc2Nyb2xsSW50b1ZpZXcoeyBpbmxpbmU6ICJlbmQiLCBi
bG9jazogImVuZCIsIGJlaGF2aW9yOiAiYXV0byIgfSk7CisgICAgICAgICAgICBhd2FpdCB3YWl0
Rm9yKCgpID0+IHsgcmV0dXJuIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRf
c2Nyb2xsZW5kX2Fycml2ZWQ7IH0sICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgZGlkIG5vdCByZWNl
aXZlIHNjcm9sbGVuZCBldmVudC4iKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocm9vdF9l
bGVtZW50LnNjcm9sbExlZnQsIDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgcm9vdF9lbGVtZW50
IHNjcm9sbExlZnQiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocm9vdF9lbGVtZW50LnNj
cm9sbFRvcCwgMCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyByb290X2VsZW1lbnQgc2Nyb2xsVG9w
Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG91dF9kaXYuc2Nyb2xsTGVmdCwgMTAwLCAi
TmVzdGVkIHNjcm9sbEludG9WaWV3IG91dF9kaXYgc2Nyb2xsTGVmdCIpOworICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhvdXRfZGl2LnNjcm9sbFRvcCwgMTAwLCAiTmVzdGVkIHNjcm9sbEludG9W
aWV3IG91dF9kaXYgc2Nyb2xsVG9wIik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdl
dF9kaXYuc2Nyb2xsTGVmdCwgbWF4X2VsZW1lbnRfeCwgIk5lc3RlZCBzY3JvbGxJbnRvVmlldyB0
YXJnZXRfZGl2IHNjcm9sbExlZnQiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0
X2Rpdi5zY3JvbGxUb3AsIG1heF9lbGVtZW50X3ksICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgdGFy
Z2V0X2RpdiBzY3JvbGxUb3AiKTsKKyAgICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9z
Y3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgIH0sICJUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9y
IG5lc3RlZCBzY3JvbGxJbnRvVmlldy4iKTsKKyAgICB9Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxl
bmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjRhYmFhNmEy
MzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZl
bnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
KworRkFJTCBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3LiBhc3NlcnRf
ZXF1YWxzOiBIVE1MLnNjcm9sbEludG9WaWV3IHNjcm9sbExlZnQgZXhwZWN0ZWQgMTAwMDAgYnV0
IGdvdCAyMjAwCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbElu
dG9WaWV3LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDBlMDc0NzlmN2YuLjg1NTE3NzhmODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc1NSw2ICs3NTUsOCBAQCB3ZWJraXQu
b3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZp
ZXcvc2Nyb2xsLWJlaGF2aQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1tYWluLWZyYW1lLXdp
bmRvdy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9yLXN1YmZyYW1lLXJv
b3QuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1zdWJmcmFtZS13aW5k
b3cuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1m
b3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTkxMzU3
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sIFsgU2tpcCBdCiAKIHdl
YmtpdC5vcmcvYi8xODk5MDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nLndvcmtlci5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCmluZGV4IGY1ODJiY2I4MzguLjU2MDVlNDQ5MjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAg
PGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNj
cm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5n
LgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAg
IEFkZCBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAyMC0wNC0wOSAgTWFyayBMYW0gIDxtYXJr
LmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGEgbW9yZSBlZmZpY2llbnQgdGFn
Q0Z1bmN0aW9uKCkgdG9vbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBhNzRiNGE2NjZm
Li42OWE0ZGJkMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0zMDEsNiArMzAxLDgg
QEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9V
Q0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJM
RV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9
IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0g
JChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAg
LTQyMSw0ICs0MjMsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
ICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1Mp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lO
X1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxF
X0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9T
UEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJ
TEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVO
X0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJF
QUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
R0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1Ap
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJM
RV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lO
VEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
TU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxF
X05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xM
SU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9S
RVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRC
T1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVf
UkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VM
RU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykg
JChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJ
VkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmY2UxOGM5NDM0Li5mMjEyODlkOTNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYxIEBACisyMDIwLTA0LTA4ICBDYXRoaWUgQ2hlbiAg
PGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xs
ZW5kIGV2ZW50IG9mIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZl
bnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGluZy4gbV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJn
ZXRMaXN0IGluIERvY3VtZW50IHN0b3JlcworICAgICAgICB0aGUgc2Nyb2xsZWQgdGFyZ2V0cyB3
aGljaCBuZWVkIHRvIGRpc3BhdGNoIHNjcm9sbGVuZCBldmVudHMuIEZyYW1lVmlldyBhbmQgUmVu
ZGVyTGF5ZXIgcHJvdmlkZSB0aHJlZSB3YXlzIHRvCisgICAgICAgIGFkZCBlbGVtZW50cyB0byB0
aGUgc2Nyb2xsZW5kIGxpc3QuICAgICAKKyAgICAgICAgMS4gSW5zdGFudCBzY3JvbGxpbmcgaW5j
bHVkaW5nIHRoZSBzY3JvbGxpbmcgcG9zaXRpb24gbm90IGNoYW5nZWQgYW5pbWF0ZWQgc2Nyb2xs
LCB0aGUgZWxlbWVudCB3b3VsZCBhZGQgdG8gdGhlIGxpc3QKKyAgICAgICAgYWZ0ZXIgc2Nyb2xs
IHBvc2l0aW9uIGNoYW5nZWQuCisgICAgICAgIDIuIEFuaW1hdGVkIHNjcm9sbGluZywgdGhlIGVs
ZW1lbnQgd291bGQgYmUgc2V0IGFzIHRoZSBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IG9mIFNjcm9s
bEFuaW1hdGlvbiBhbmQgYWRkIHRvIHRoZSBsaXN0CisgICAgICAgIHdoZW4gYW5pbWF0aW9uIHN0
b3BzLiBGb3Igc2Nyb2xsUmVjdEludG9WaWV3LCBpbiBvcmRlciB0byBtYWtlIHN1cmUgc2Nyb2xs
ZW5kIGV2ZW50IGZpcmVkIGFmdGVyIGFsbCBhbmNlc3RvciBsYXllcnMKKyAgICAgICAgZmluaXNo
aW5nIHNjcm9sbGluZywgYWRkIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IHRvIGluZGljYXRl
IGlmIHNjcm9sbFJlY3RJbnRvVmlldyBmaW5pc2hlZC4gV2hlbiBTY3JvbGxBbmltYXRpb24KKyAg
ICAgICAgc3RvcHMsIGl0IHdpbGwgdHJ5IHRvIGZpbmQgYSBkdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcgYW5jZXN0b3IgbGF5ZXIgYW5kIHBhc3MgdGhlIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgdG8g
aXRzCisgICAgICAgIFNjcm9sbEFuaW1hdGlvbi4gSWYgbm8gc3VjaCBsYXllciBmb3VuZCwgYWRk
IG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0LgorICAgICAgICAz
LiBVc2VyIGFzeW5jaHJvbm91cyBzY3JvbGxpbmcsIHRoZSBzY3JvbGwgcG9zaXRpb24gd291bGRu
J3QgY2hhbmdlIGltbWVkaWF0ZWx5LiBTbyBzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbgorICAg
ICAgICB0aGVuIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbiBpZiBzY3JvbGwgcG9zaXRpb24g
Y2hhbmdlZC4gVGhlIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgd291bGRuJ3QgdHJpZ2dlciB0aGlz
IHdheS4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGlj
LXNjcm9sbC5odG1sCisgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJ
bnRvVmlldy5odG1sCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmNvbW1vblRlYXJkb3duKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQpOiBBcHBlbmQgdGhlIHRhcmdldHMg
dG8gbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnJ1blNjcm9sbFN0ZXBzKTogRGlzcGF0Y2ggc2Nyb2xsZW5kIGV2ZW50IGZvciBl
YWNoIHRhcmdldC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDogQWRkIG1fcGVuZGluZ1Njcm9s
bEVuZEV2ZW50VGFyZ2V0TGlzdCB3aGljaCBrZWVwcyB0aGUgc2Nyb2xsZW5kIGV2ZW50IHRhcmdl
dHMuCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6c2V0U2Nyb2xsTGVmdCk6IFNldCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcyBmb3IgRnJh
bWVWaWV3IGVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTY3JvbGxUb3Ap
OiBEaXR0by4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01XaW5kb3c6OnNjcm9sbFRvIGNvbnN0KTogQWRkIGRvY3VtZW50IHRvIHRoZSBzY3JvbGxl
bmQgbGlzdCBmb3Igc2Nyb2xsaW5nIHRvICgwLCAwKSBvcHRpbWl6YXRpb24uCisgICAgICAgICog
cGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbik6IEFkZCBkb2N1bWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgaWYgaXQgc2Ny
b2xsZWQoaW5zdGFudCBzY3JvbGwgb3Igc21vb3RoIHNjcm9sbAorICAgICAgICB3aXRob3V0IGNo
YW5naW5nIHRoZSBwb3NpdGlvbiwgb3RoZXJ3aXNlIHNldCBkb2N1bWVudCBhcyB0aGUgc2Nyb2xs
RW5kVGFyZ2V0IG9mIHNjcm9sbEFuaWFtdGlvbi4pLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6IFNhdmUgdGhlIHNjcm9sbCBwb3NpdGlv
biB0aGF0IHJlcXVpcmVzIHRvIGZpcmUgYW4gc2Nyb2xsZW5kIGV2ZW50LiBUaGlzIGlzIGZvciBh
c3luY2hyb25vdXMgc2Nyb2xsLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjaGVja1Nj
cm9sbEVuZEV2ZW50UG9zaXRpb24pOiBBZGQgZG9jdW1lbnQgdG8gdGhlIGxpc3QgaWYgdGhlIHNj
cm9sbCBwb3NpdGlvbiBlcXVhbCB0byB0aGUgcHJlc2VydmVkIG9uZS4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTogQWRkIERvY3Vt
ZW50IHRvIG1fcGVuZGluZ1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdCBpbiBEb2N1bWVudC4KKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOiBBZGQgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcg
dG8gaW5kaWNhdGUgRnJhbWVWaWV3IGlzIHBlcmZvcm1pbmcgYSBhbmltYXRlZCBzY3JvbGxSZWN0
SW50b1ZpZXcgc2Nyb2xsLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvbi5oOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0b3ApOiBDYWxsIG5vdGlmeVNjcm9sbEVu
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6bm90aWZ5U2Nyb2xs
RW5kKTogc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGZhbHNlLiBJZiB0aGVyZSdzIG1fc2Ny
b2xsRW5kRXZlbnRUYXJnZXQsIHRyeSB0byBmaW5kIGFuIGFuY2VzdG9yIGxheWVyCisgICAgICAg
IGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmQgc2V0IHRoZSB0YXJnZXQgdG8gaXQuIE90aGVy
d2lzZSwgYWRkIHRoZSB0YXJnZXQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0LgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKTog
Q2FsbCBub3RpZnlTY3JvbGxFbmQgaWYgbm90IGNvbnRpbnVlQW5pbWF0aW9uLgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oOiBBZGQgbV9zY3JvbGxFbmRFdmVudFRh
cmdldC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KTogU2V0IG1fc2Nyb2xs
RW5kRXZlbnRUYXJnZXQgdG8gU2Nyb2xsQW5pbWF0aW9uU21vb3RoLgorICAgICAgICAqIHBsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDog
QWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9z
aXRpb24pOiBBZGQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMuCisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxWaWV3OjpzY3JvbGxUbyk6IENhbGwgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9u
IGlmIHRoZSBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3
Lmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVh
OjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxh
YmxlQXJlYTo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGFibGVBcmVhOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2V0RHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpmaW5kQW5jZXN0b3JEdXJp
bmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6c2Nyb2xsVG9ZUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNl
dFNjcm9sbFBvc2l0aW9uKTogQWRkIGVsZW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGlmIGl0
IHNjcm9sbGVkKGluc3RhbnQgc2Nyb2xsIG9yIHNtb290aCBzY3JvbGwKKyAgICAgICAgd2l0aG91
dCBjaGFuZ2luZyB0aGUgcG9zaXRpb24sIG90aGVyd2lzZSBzZXQgZWxlbWVudCBhcyB0aGUgc2Ny
b2xsRW5kVGFyZ2V0IG9mIHNjcm9sbEFuaWFtdGlvbi4pLgorCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQpOiBDYWxsIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbiwgaWYgdGhlcmUgaXMgbm8gc2Nyb2xsaW5nLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OnNjcm9sbFRvKTogY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uIGlmIHNjcm9sbCBw
b3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJl
Y3RUb1Zpc2libGUpOiBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcodHJ1ZSkgaWYgaXQncyBw
ZXJmb3JtaW5nIGEgYW5pbWF0ZWQgc2Nyb2xsaW5nLgorICAgICAgICBBZnRlciBwYXJlbnRMYXll
ci0+c2Nyb2xsUmVjdFRvVmlzaWJsZSgpLCBjaGVjayBpZiBjdXJyZW50IGxheWVyIGlzIGR1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldywgc2V0IHRoZSBlbGVtZW50IGFzIGFuaW1hdGlvbidzIHNjcm9s
bGVuZCBUYXJnZXQuCisgICAgICAgIE90aGVyd2lzZSwgZmluZCB0aGUgZHVyaW5nU2Nyb2xsUmVj
dEludG9WaWV3IGFuY2VzdG9yIGxheWVyIGFuZCBwYXNzIHRoZSBlbGVtZW50IHRvIGFuY2VzdG9y
IGxheWVyJ3Mgc2Nyb2xsQW5pbWF0aW9uLgorICAgICAgICBJZiBubyBkdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcgbGF5ZXIgZm91bmQsIGFkZCB0aGUgZWxlbWVudCB0byB0aGUgc2Nyb2xsZW5kIGxp
c3QuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9z
aXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNoZWNrU2Nyb2xsRW5kRXZl
bnRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6YWRkUGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpmaW5k
QW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOiBGaW5kIHRoZSBkdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcgYW5jZXN0b3IgbGF5ZXIsIGFuZCBjaGVjayBGcmFtZVZpZXcgYXQgdGhlIGVu
ZC4gCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNj
cm9sbFJlY3RUb1Zpc2libGUpOiBBZGQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMuCisKKzIw
MjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBX
YW5nJ3MgcGF0Y2guCisKKyAgICAgICAgUGFyc2Ugb25vdmVyc2Nyb2xsL3Njcm9sbGVuZCBhdHRy
aWJ1dGUgYW5kIG92ZXJzY3JvbGwvb3ZlcnNjcm9sbCBldmVudCBuYW1lLgorCisgICAgICAgICog
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGRvbS9FdmVudE5h
bWVzLmg6CisgICAgICAgICogZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OmNyZWF0ZUV2ZW50SGFuZGxlck5h
bWVNYXApOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MueWFtbDoKKworMjAyMC0wNC0wNyAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IHVwIGNvZGUg
c3R5bGUgZm9yIHNjcm9sbCBhbmltYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMDE3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIDEuIFVzZSBBbmltYXRlZFNjcm9sbCBpbnN0ZWFkIG9mIGJvb2wg
dG8gaW5kaWNhdGUgYW5pbWF0ZWQgb3Igbm90LgorICAgICAgICAyLiBSZW1vdmUgcGFyYW1ldGVy
IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zLCB0aGUgYXV0b3Njcm9sbCBzdGF0dXMgaXMgYXZh
aWxhYmxlIGZyb20gRXZlbnRIYW5kbGVyLgorICAgICAgICAzLiBJbiBvcmRlciB0byBrZWVwIGNv
bnNpc3RlbnQsIHVzZSBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24gaW5zdGVhZCBvZiBS
ZW5kZXJMYXllcjo6c2Nyb2xsVG9Qb3NpdGlvbi4KKyAgICAgICAgNC4gQWRkIEFuaW1hdGVkU2Ny
b2xsIHBhcmFtZXRlciB0byBTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uLCB0
aGVuIHRoZSBzY3JvbGwgYW5pbWF0aW9uCisgICAgICAgIGNhbiBiZSBkZWFsdCBpbiBGcmFtZVZp
ZXc6OnNldFNjcm9sbFBvc2l0aW9uLgorICAgICAgICA1LiBJbiBTY3JvbGxWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbiwgdGhlIHNjcm9sbCBhbmltYXRpb24gc2hvdWxkIGJlIGNhbmNsZWQgYmVmb3Jl
IHJldHVybi4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDogVXNlIEFuaW1hdGVkU2Nyb2xs
IGluc3RlYWQgb2YgYm9vbC4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNjcm9sbFRvKToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbExlZnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsVG9wKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbFRvIGNvbnN0KTogTm8gbmVl
ZCB0byBjYWxsIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbiBoZXJlLgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24pOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsVHlwZXMuaDogQWRkIEFuaW1hdGVkU2Nyb2xsLgorICAgICAgICAqIHBsYXRmb3Jt
L1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0Q29udGVu
dHNTY3JvbGxQb3NpdGlvbik6IEFkZCBwYXJhbWV0ZXIgQW5pbWF0ZWRTY3JvbGwuCisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6IENhbmNlbCB0aGUgc2Ny
b2xsIGFuaW1hdGlvbiBiZWZvcmUgcmV0dXJuLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZp
ZXcuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3g6OnNldFNjcm9sbFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9s
bFBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzY3JvbGxUb1hQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Ny
b2xsVG9ZUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNldFNjcm9s
bFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9W
aXNpYmxlKTogUmVtb3ZlIEF1dG9zY3JvbGxTdGF0dXMuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6YXV0b3Njcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Ny
b2xsVG9Qb3NpdGlvbik6IERlbGV0ZWQuIFVzZSBzZXRTY3JvbGxQb3NpdGlvbiBpbnN0ZWFkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNldFNj
cm9sbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsVG9w
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxMZWZ0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsVG9wKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6CisKIDIwMjAtMDQt
MDkgIERlbGFuIEF6YWJhbmkgIDxkYXphYmFuaUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92
ZSB1bm5lY2Vzc2FyeSBleHBsaWNpdCBwYXJzaW5nIGZvciBtb0BtYXhzaXplIHZhbHVlICJpbmZp
bml0eSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggYTc0YjRhNjY2Zi4uNjlhNGRiZDA2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTMwMSw2ICszMDEsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyA9IDsKIEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF9j
b2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSDsKIAorRU5BQkxFX09W
RVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTOworCiBFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAogRU5BQkxFX1BJQ1RVUkVf
SU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJXyQoV0tfUExB
VEZPUk1fTkFNRSkpOwpAQCAtNDIxLDQgKzQyMyw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNM
VCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VESVRBQkxFX1JFR0lP
TikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQ
QVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNU
SU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RP
Q09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NB
TVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09S
S19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9V
Q0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJW
RVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xP
QURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVD
T05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktF
UikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZF
Ul9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFD
VElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQo
RU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VESVRBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VT
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVN
RVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJM
RV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAk
KEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVD
VCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9V
U0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5k
ZXggOGJmMWVmNDA5Ny4uOTdkYzUyYzAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorCiAyMDIwLTA0LTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBUcmFjayBlZGl0YWJsZSBlbGVtZW50cyBvbiBzY3JlZW4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCBhNzRiNGE2NjZmLi42OWE0ZGJkMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0zMDEs
NiArMzAxLDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1df
U0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tf
Q09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3Vj
aCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xM
X0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RV
UkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05B
TUUpKTsKQEAgLTQyMSw0ICs0MjMsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
ID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFC
TEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktf
TU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJMRV9SRUdJT04pICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9Q
SUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMp
ICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNF
UlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09S
S19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVf
U1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
T0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hB
TkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0Vf
SU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9X
RUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhO
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FRElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RP
Ul9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04p
ICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVf
UEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
SEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQ
SV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChF
TkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBjNjIwNWM1ZjZlLi4zMzYwYmM1OGNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oCkBAIC0zMDUsNiArMzA1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKG1h
dGNoaW5nRWxlbWVudEluRmxhdFRyZWUpIFwKICAgICBtYWNybyhtZWRpYVN0cmVhbVRyYWNrQ29u
c3RyYWludHMpIFwKICAgICBtYWNybyhvcGVuRGF0YWJhc2UpIFwKKyAgICBtYWNybyhvbm92ZXJz
Y3JvbGwpIFwKKyAgICBtYWNybyhvbnNjcm9sbGVuZCkgXAogICAgIG1hY3JvKG9udG91Y2hjYW5j
ZWwpIFwKICAgICBtYWNybyhvbnRvdWNoZW5kKSBcCiAgICAgbWFjcm8ob250b3VjaG1vdmUpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGM0MDg4Y2ZlMjQuLmRlZTA0YzhmNzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzk5LDYgKzc5OSwxMCBAQCB2b2lkIERvY3VtZW50Ojpj
b21tb25UZWFyZG93bigpCiAKICAgICBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3QgPSBu
dWxscHRyOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIG1fcGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CisjZW5kaWYKKwogICAgIHdoaWxlICgh
bV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBtX3RpbWVsaW5lcy5iZWdpbigp
LT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKICAgICBtX3RpbWVsaW5lID0gbnVsbHB0cjsKQEAgLTQw
NzIsNiArNDA3NiwyNiBAQCB2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJn
ZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQogICAgIHRhcmdldHMuYXBwZW5kKHRhcmdldCk7CiB9
CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIERvY3VtZW50OjphZGRQZW5k
aW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQoreworICAgIGlm
ICghc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoIW1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCkKKyAgICAgICAg
bV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ID0gbWFrZVVuaXF1ZTxQZW5kaW5nU2Ny
b2xsRXZlbnRUYXJnZXRMaXN0PigpOworCisgICAgYXV0byYgdGFyZ2V0cyA9IG1fcGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0czsKKyAgICBpZiAodGFyZ2V0cy5maW5kTWF0
Y2hpbmcoWyZdIChhdXRvJiBlbnRyeSkgeyByZXR1cm4gZW50cnkucHRyKCkgPT0gJnRhcmdldDsg
fSkgIT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICh0YXJnZXRzLmlzRW1w
dHkoKSkKKyAgICAgICAgc2NoZWR1bGVUaW1lZFJlbmRlcmluZ1VwZGF0ZSgpOworCisgICAgdGFy
Z2V0cy5hcHBlbmQodGFyZ2V0KTsKK30KKyNlbmRpZgorCiB2b2lkIERvY3VtZW50OjpzZXROZWVk
c1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQoKQogewogICAgIGlmICghbV9uZWVkc1Zpc3VhbFZp
ZXdwb3J0U2Nyb2xsRXZlbnQpCkBAIC00MDk3LDYgKzQxMjEsMTggQEAgdm9pZCBEb2N1bWVudDo6
cnVuU2Nyb2xsU3RlcHMoKQogICAgICAgICBpZiAoYXV0byogd2luZG93ID0gZG9tV2luZG93KCkp
CiAgICAgICAgICAgICB3aW5kb3ctPnZpc3VhbFZpZXdwb3J0KCkuZGlzcGF0Y2hFdmVudChFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8s
IEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgfQorCisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIC8vIERlYWwgd2l0aCBzY3JvbGxlbmQgZXZlbnQuCisgICAgaWYgKG1f
cGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCAmJiAhbV9wZW5kaW5nU2Nyb2xsRW5kRXZl
bnRUYXJnZXRMaXN0LT50YXJnZXRzLmlzRW1wdHkoKSkgeworICAgICAgICBMT0dfV0lUSF9TVFJF
QU0oRXZlbnRzLCBzdHJlYW0gPDwgIkRvY3VtZW50IiA8PCB0aGlzIDw8ICJzZW5kaW5nIHNjcm9s
bGVuZCBldmVudHMgdG8gcGVuZGluZyBzY3JvbGwgZXZlbnQgdGFyZ2V0cyIpOworICAgICAgICBh
dXRvIGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzID0gV1RGTW92ZShtX3BlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldExpc3QtPnRhcmdldHMpOworICAgICAgICBmb3IgKGF1dG8mIHRhcmdldCA6IGN1
cnJlbnRTY3JvbGxFbmRUYXJnZXRzKSB7CisgICAgICAgICAgICBhdXRvIGJ1YmJsZXMgPSB0YXJn
ZXQtPmlzRG9jdW1lbnROb2RlKCkgPyBFdmVudDo6Q2FuQnViYmxlOjpZZXMgOiBFdmVudDo6Q2Fu
QnViYmxlOjpObzsKKyAgICAgICAgICAgIHRhcmdldC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxlbmRFdmVudCwgYnViYmxlcywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8pKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50
OjphZGRBdWRpb1Byb2R1Y2VyKE1lZGlhUHJvZHVjZXImIGF1ZGlvUHJvZHVjZXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCmluZGV4IDM0ZmQwMGUxNWIuLjVkNzkyMDc5ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCkBAIC0xMzY1LDYgKzEzNjUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBydW5SZXNpemVTdGVw
cygpOwogCiAgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9k
ZSYpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIGFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7CisjZW5kaWYKICAgICB2b2lkIHNl
dE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpOwogICAgIHZvaWQgcnVuU2Nyb2xsU3Rl
cHMoKTsKIApAQCAtMjA1MSw2ICsyMDU0LDkgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBQZW5k
aW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nU2Ny
b2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q7CisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nU2Ny
b2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3Q7Cisj
ZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgSGFzaFNldDxIVE1MTWVkaWFF
bGVtZW50Kj4gbV9tZWRpYVN0cmVhbVN0YXRlQ2hhbmdlRWxlbWVudHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKaW5kZXggMjc4ZDk4N2QwOC4uMWFlMzk4MGY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cApAQCAtOTUwLDcgKzk1MCw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xs
VG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKICAgICAgICAgY2xh
bXBUb0ludGVnZXIoc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAqIHJlbmRlcmVyLT5zdHls
ZSgpLmVmZmVjdGl2ZVpvb20oKSksCiAgICAgICAgIGNsYW1wVG9JbnRlZ2VyKHNjcm9sbFRvT3B0
aW9ucy50b3AudmFsdWUoKSAqIHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSkKICAg
ICApOwotICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9PcHRp
b25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCB0aGlzKTsKKyAgICBB
bmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09wdGlv
bnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0byksIHRoaXMpID8gQW5pbWF0
ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICByZW5kZXJlci0+c2V0U2Ny
b2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgY2xh
bXBpbmcsIGFuaW1hdGVkKTsKIH0KIApAQCAtMTI5MywxNiArMTI5MywyMCBAQCB2b2lkIEVsZW1l
bnQ6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQpCiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9
IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6
IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgICAgICAg
ICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkK
LSAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVo
YXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAg
QW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZp
b3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6
OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9u
KHN0YXRpY19jYXN0PGludD4obmV3TGVmdCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJh
bWUtPmZyYW1lU2NhbGVGYWN0b3IoKSksIGZyYW1lLT52aWV3KCktPnNjcm9sbFkoKSk7CisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0
U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRl
ZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICAgICAgICAgIGZyYW1l
LT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCwgYW5pbWF0ZWQpOworI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAgIGlu
dCBjbGFtcGVkTGVmdCA9IGNsYW1wVG9JbnRlZ2VyKG5ld0xlZnQgKiByZW5kZXJlci0+c3R5bGUo
KS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBib29sIGFuaW1hdGVkID0gdXNlU21vb3RoU2Ny
b2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKTsKKyAgICAgICAgQW5pbWF0ZWRTY3Jv
bGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRo
aXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAg
cmVuZGVyZXItPnNldFNjcm9sbExlZnQoY2xhbXBlZExlZnQsIFNjcm9sbFR5cGU6OlByb2dyYW1t
YXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKICAgICAgICAgaWYgKGF1
dG8qIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyZXItPmxheWVyKCkpCiAgICAgICAgICAgICBzY3Jv
bGxhYmxlQXJlYS0+c2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVkU3RhdGUodHJ1ZSk7CkBAIC0x
MzE3LDE2ICsxMzIxLDIwIEBAIHZvaWQgRWxlbWVudDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3Ap
CiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXco
KSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Ny
b2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgIGJvb2wgYW5pbWF0ZWQgPSB1
c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1l
bnRFbGVtZW50KCkpOworICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VT
bW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRF
bGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAg
ICAgICAgICAgIEludFBvaW50IHBvc2l0aW9uKGZyYW1lLT52aWV3KCktPnNjcm9sbFgoKSwgc3Rh
dGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5m
cmFtZVNjYWxlRmFjdG9yKCkpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
ICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7
CisjZWxzZQogICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9z
aXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjZW5kaWYKICAgICAg
ICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0g
cmVuZGVyQm94KCkpIHsKICAgICAgICAgaW50IGNsYW1wZWRUb3AgPSBjbGFtcFRvSW50ZWdlcihu
ZXdUb3AgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBib29s
IGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlz
KTsKKyAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmco
U2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1h
dGVkU2Nyb2xsOjpObzsKICAgICAgICAgcmVuZGVyZXItPnNldFNjcm9sbFRvcChjbGFtcGVkVG9w
LCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmlt
YXRlZCk7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IHJlbmRlcmVyLT5sYXll
cigpKQogICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNjcm9sbFNob3VsZENsZWFyTGF0
Y2hlZFN0YXRlKHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNWNlZWU2ZjY4MS4u
ZTRkZjRjNGI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xOTEsNiArMTkxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKG9yaWVudGF0aW9uY2hhbmdlKSBcCiAgICAg
bWFjcm8ob3ZlcmNvbnN0cmFpbmVkKSBcCiAgICAgbWFjcm8ob3ZlcmZsb3djaGFuZ2VkKSBcCisg
ICAgbWFjcm8ob3ZlcnNjcm9sbCkgXAogICAgIG1hY3JvKHBhZ2VoaWRlKSBcCiAgICAgbWFjcm8o
cGFnZXNob3cpIFwKICAgICBtYWNybyhwYXN0ZSkgXApAQCAtMjI3LDYgKzIyOCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhyZXN1bHQpIFwKICAgICBtYWNybyhyZXN1bWUpIFwK
ICAgICBtYWNybyhzY3JvbGwpIFwKKyAgICBtYWNybyhzY3JvbGxlbmQpIFwKICAgICBtYWNybyhz
ZWFyY2gpIFwKICAgICBtYWNybyhzZWN1cml0eXBvbGljeXZpb2xhdGlvbikgXAogICAgIG1hY3Jv
KHNlZWtlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50SGFu
ZGxlcnMuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRsCmlu
ZGV4IDc3MGFhOWMzYTcuLjFmMjc2NTM0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2xvYmFs
RXZlbnRIYW5kbGVycy5pZGwKQEAgLTEzMiw0ICsxMzIsOCBAQAogICAgIFtOb3RFbnVtZXJhYmxl
LCBDb25kaXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b253ZWJraXRtb3VzZWZvcmNlZG93bjsKICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9
TU9VU0VfRk9SQ0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91c2Vm
b3JjZXdpbGxiZWdpbjsKICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9TU9VU0VfRk9S
Q0VfRVZFTlRTXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0bW91c2Vmb3JjZXVwOwor
CisgICAgLy8gRXZlbnQgaGFuZGxlcnMgZnJvbSBPdmVyc2Nyb2xsIEV2ZW50cyBBUEkgKGh0dHBz
Oi8vd2ljZy5naXRodWIuaW8vb3ZlcnNjcm9sbC1zY3JvbGxlbmQtZXZlbnRzLykKKyAgICBbTm90
RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9T1ZFUlNDUk9MTF9FVkVOVFMsIEVuYWJsZWRCeVNldHRp
bmc9T3ZlcnNjcm9sbEV2ZW50c10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm92ZXJzY3JvbGw7
CisgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU9WRVJTQ1JPTExfRVZFTlRTLCBFbmFi
bGVkQnlTZXR0aW5nPU92ZXJzY3JvbGxFdmVudHNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25z
Y3JvbGxlbmQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCBkY2Q4Mzc4ZDk1Li4wOTlmZmI4MjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjY3LDYgKzI2Nyw3IEBAIG9ubW91c2V3aGVlbAogb25vbmxp
bmUKIG9ub2ZmbGluZQogb25vcmllbnRhdGlvbmNoYW5nZQorb25vdmVyc2Nyb2xsCiBvbnBhZ2Vo
aWRlCiBvbnBhZ2VzaG93CiBvbnBhc3RlCkBAIC0yODcsNiArMjg4LDcgQEAgb25yYXRlY2hhbmdl
CiBvbnJlc2V0CiBvbnJlc2l6ZQogb25zY3JvbGwKK29uc2Nyb2xsZW5kCiBvbnNlYXJjaAogb25z
ZWVrZWQKIG9uc2Vla2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCA0NTc3
MmQxM2RkLi5kNmVlZTQzYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApAQCAt
Mjg0LDYgKzI4NCw3IEBAIEhUTUxFbGVtZW50OjpFdmVudEhhbmRsZXJOYW1lTWFwIEhUTUxFbGVt
ZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFwKCkKICAgICAgICAgJm9ubW91c2VvdmVyQXR0
ci5nZXQoKSwKICAgICAgICAgJm9ubW91c2V1cEF0dHIuZ2V0KCksCiAgICAgICAgICZvbm1vdXNl
d2hlZWxBdHRyLmdldCgpLAorICAgICAgICAmb25vdmVyc2Nyb2xsQXR0ci5nZXQoKSwKICAgICAg
ICAgJm9ucGFzdGVBdHRyLmdldCgpLAogICAgICAgICAmb25wYXVzZUF0dHIuZ2V0KCksCiAgICAg
ICAgICZvbnBsYXlBdHRyLmdldCgpLApAQCAtMzAxLDYgKzMwMiw3IEBAIEhUTUxFbGVtZW50OjpF
dmVudEhhbmRsZXJOYW1lTWFwIEhUTUxFbGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFw
KCkKICAgICAgICAgJm9ucmVzZXRBdHRyLmdldCgpLAogICAgICAgICAmb25yZXNpemVBdHRyLmdl
dCgpLAogICAgICAgICAmb25zY3JvbGxBdHRyLmdldCgpLAorICAgICAgICAmb25zY3JvbGxlbmRB
dHRyLmdldCgpLAogICAgICAgICAmb25zZWFyY2hBdHRyLmdldCgpLAogICAgICAgICAmb25zZWVr
ZWRBdHRyLmdldCgpLAogICAgICAgICAmb25zZWVraW5nQXR0ci5nZXQoKSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAppbmRleCBhN2IyMmE5NjI5Li42MmZkZTZlN2MzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCkBAIC0xNjc5LDggKzE2NzksMTUgQEAgdm9pZCBET01XaW5kb3c6OnNj
cm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcKIAogICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIGZvciB0aGUgY29tbW9uIGNh
c2Ugb2Ygc2Nyb2xsaW5nIHRvICgwLCAwKSB3aGVuIHRoZSBzY3JvbGxlciBpcyBhbHJlYWR5IGF0
IHRoZSBvcmlnaW4uCiAgICAgLy8gSWYgYW4gYW5pbWF0ZWQgc2Nyb2xsIGlzIGluIHByb2dyZXNz
LCB0aGlzIG9wdGltaXphdGlvbiBpcyBza2lwcGVkIHRvIGVuc3VyZSB0aGF0IHRoZSBhbmltYXRl
ZCBzY3JvbGwgaXMgcmVhbGx5IHN0b3BwZWQuCi0gICAgaWYgKHZpZXctPmN1cnJlbnRTY3JvbGxC
ZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbiAm
JiAhc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAmJiAhc2Nyb2xsVG9PcHRpb25zLnRvcC52
YWx1ZSgpICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSA9PSBJbnRQb2ludCgwLCAw
KSkKKyAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xs
QmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uCisgICAgICAgICYmICFzY3JvbGxUb09wdGlv
bnMubGVmdC52YWx1ZSgpCisgICAgICAgICYmICFzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkK
KyAgICAgICAgJiYgdmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpID09IEludFBvaW50KDAs
IDApKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICB2aWV3LT5hZGRQ
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47Cisg
ICAgfQogCiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7CiAKQEAgLTE2ODgsMTIgKzE2OTUsOSBAQCB2b2lkIERPTVdpbmRvdzo6c2Nyb2xsVG8o
Y29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZwog
CiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVu
dCgpPwogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDU5Ci0gICAgaWYgKHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZp
b3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0byksIGRvY3VtZW50KCktPmRvY3VtZW50RWxl
bWVudCgpKSkgewotICAgICAgICB2aWV3LT5zY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obGF5
b3V0UG9zLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIGNsYW1waW5nKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KKyAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9s
bGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhhdmlvcjo6QXV0
byksIGRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMg
OiBBbmltYXRlZFNjcm9sbDo6Tm87CiAKLSAgICB2aWV3LT5zZXRDb250ZW50c1Njcm9sbFBvc2l0
aW9uKGxheW91dFBvcywgY2xhbXBpbmcpOworICAgIHZpZXctPnNldENvbnRlbnRzU2Nyb2xsUG9z
aXRpb24obGF5b3V0UG9zLCBjbGFtcGluZywgYW5pbWF0ZWQpOwogfQogCiBib29sIERPTVdpbmRv
dzo6YWxsb3dlZFRvQ2hhbmdlV2luZG93R2VvbWV0cnkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCmluZGV4IDYyMDEyNGQ2YmEuLjE0MWI4MmM5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTIyODIsNyArMjI4Miw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxF
bGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJlY3Qp
CiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngoKSAtIGNlbnRlcmluZ09m
ZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0Lnko
KSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xs
UG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgYm9vbCBh
bmltYXRlZCkKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxFbmRF
dmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZyYW1l
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbiA8PCAiICwgY2xlYXJp
bmcgYW5jaG9yIik7CiAKQEAgLTIyOTUsMTAgKzIyOTUsMjEgQEAgdm9pZCBGcmFtZVZpZXc6OnNl
dFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Ny
b2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgc2Nyb2xsQW5pbWF0b3Io
KS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hlZWxFdmVudFRlc3RNb25pdG9yKCkp
OwotICAgIGlmIChhbmltYXRlZCkKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9u
KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQb3NpdGlvbiksIGN1cnJlbnRTY3JvbGxU
eXBlKCksIGNsYW1waW5nKTsKKworICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Njcm9sbFBvc2l0aW9u
ID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNjcm9sbFBvc2l0aW9u
KSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6
WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0RnJv
bVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBp
bmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oc2Ny
b2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24obmV3U2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgcmVxdWVzdFNjcm9s
bEVuZEV2ZW50KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBpZiAoZnJh
bWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkgJiYgcmVxdWVzdFNjcm9s
bEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKSB7CisgICAgICAgIGlmIChu
ZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3JvbGxWaWV3OjpzY3JvbGxQb3NpdGlvbigpKQorICAgICAg
ICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2UgaWYg
KGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3JvbGxF
bmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgfQorI2VuZGlm
CiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3JvbGxUeXBlKTsKIH0KQEAgLTM3MzUs
NiArMzc0NiwzMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9u
KGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeQogICAgIHNldEN1cnJlbnRTY3Jv
bGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3sKKyAg
ICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24g
PSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGFkanVzdFNjcm9sbFBvc2l0
aW9uV2l0aGluUmFuZ2UocG9zaXRpb24pIDogcG9zaXRpb247CisgICAgbV9maXJlU2Nyb2xsRW5k
RXZlbnRBdFBvc2l0aW9uID0gY2xhbXBlZFNjcm9sbFBvc2l0aW9uOworfQorCit2b2lkIEZyYW1l
Vmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBw
b3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbiB8fCBt
X2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBwb3NpdGlvbikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAg
bV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQorCit2b2lk
IEZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAgICBpZiAo
RG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICBkb2N1bWVu
dC0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpkb2N1bWVudCk7Cit9CisjZW5kaWYK
KwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRDb250ZW50KGZsb2F0
IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0
eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsQnlQYWdlIHx8
IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aAppbmRleCA4OTg0NTM1ZTc1Li5iZTI5YTg1M2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgK
QEAgLTIzMCw3ICsyMzAsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3QoY29u
c3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRT
Y3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSkgZmluYWw7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Ny
b2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQ6Ok5vKSBmaW5hbDsKICAgICB2b2lkIHJlc3RvcmVTY3JvbGxiYXIoKTsK
ICAgICB2b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChTZWxlY3Rpb25SZXZlYWxN
b2RlKTsKICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVlZGVk
KCk7CkBAIC02NjcsNiArNjY3LDE0IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBkZWJ1Z0Rlc2Ny
aXB0aW9uKCkgY29uc3QgZmluYWw7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgdm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIHZv
aWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmlu
YWw7CisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAg
ICBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBz
Y3JvbGxpbmc7IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3JvbGxDb250ZW50
c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0
VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2b2lkIHNjcm9s
bENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmluYWw7CkBAIC05
MDcsNiArOTE1LDEwIEBAIHByaXZhdGU6CiAKICAgICBQYWdpbmF0aW9uIG1fcGFnaW5hdGlvbjsK
IAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxTY3JvbGxQb3Np
dGlvbj4gbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCisKICAgICBlbnVt
IGNsYXNzIFZpZXdwb3J0UmVuZGVyZXJUeXBlIDogdWludDhfdCB7IE5vbmUsIERvY3VtZW50LCBC
b2R5IH07CiAgICAgVmlld3BvcnRSZW5kZXJlclR5cGUgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSB7
IFZpZXdwb3J0UmVuZGVyZXJUeXBlOjpOb25lIH07CiAgICAgU2Nyb2xsUGlubmluZ0JlaGF2aW9y
IG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yIHsgRG9Ob3RQaW4gfTsKQEAgLTk1Miw2ICs5NjQsMTAg
QEAgcHJpdmF0ZToKICAgICAvLyBUcnVlIGlmIGF1dG9zaXplIGhhcyBiZWVuIHJ1biBzaW5jZSBt
X3Nob3VsZEF1dG9TaXplIHdhcyBzZXQuCiAgICAgYm9vbCBtX2RpZFJ1bkF1dG9zaXplIHsgZmFs
c2UgfTsKICAgICBib29sIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHMgeyBmYWxzZSB9OworCisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcgeyBmYWxzZSB9OworI2VuZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBGcmFtZVZpZXc6
OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KGNvbnN0IEludFNpemUmIHNpemUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKaW5kZXggYTg2NzZkOTdjMy4uOGM1ZWFhMjMzMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbApAQCAtOTE5LDYgKzkxOSwxMCBAQCBpc0xvZ2dl
ZEluQVBJRW5hYmxlZDoKIGVudGVyS2V5SGludEVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAK
K292ZXJzY3JvbGxFdmVudHNFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25h
bDogT1ZFUlNDUk9MTF9FVkVOVFMKKwogbGVnYWN5R2V0VXNlck1lZGlhRW5hYmxlZDoKICAgaW5p
dGlhbDogZmFsc2UKICAgY29uZGl0aW9uYWw6IE1FRElBX1NUUkVBTQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAppbmRleCA1MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaApAQCAtMjYsNiArMjYs
NyBAQAogI2lmbmRlZiBTY3JvbGxBbmltYXRpb25faAogI2RlZmluZSBTY3JvbGxBbmltYXRpb25f
aAogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSB7IH07CiAgICAgdmlydHVhbCB2
b2lkIHNlcnZpY2VBbmltYXRpb24oKSB7IH07CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJO
b2RlPikgeyB9OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBTY3JvbGxBbmltYXRpb24oU2Ny
b2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKaW5kZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21v
b3RoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9v
dGguY3BwCkBAIC0yOCw3ICsyOCwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlNjcm9sbEFuaW1hdGlvblNtb290aC5oIgogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgor
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUg
IlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtODAsMTAgKzgzLDM5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjpzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0
aW9uU21vb3RoOjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
aWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5k
KCk7CisjZW5kaWYKKwogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xs
YWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5v
dEluQW5pbWF0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQg
U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQoKQoreworICAgIGlmICghbV9z
Y3JvbGxFbmRFdmVudFRhcmdldCkgeworICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgPyBtX3Njcm9sbGFibGVBcmVhLmZpbmRBbmNlc3RvckR1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIDogbnVsbHB0cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xs
aW5nUGFyZW50TGF5ZXIpCisgICAgICAgIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyLT5zZXRT
Y3JvbGxFbmRUYXJnZXQobV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisgICAgZWxzZQorICAgICAg
ICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldCgqbV9zY3JvbGxFbmRFdmVudFRhcmdldCk7CisKKyAgICBtX3Njcm9sbGFibGVB
cmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgbV9zY3JvbGxFbmRF
dmVudFRhcmdldCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpz
ZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQpCit7CisgICAg
bV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IHRhcmdldDsKK30KKyNlbmRpZgorCiB2b2lkIFNjcm9s
bEFuaW1hdGlvblNtb290aDo6dXBkYXRlVmlzaWJsZUxlbmd0aHMoKQogewogICAgIG1faG9yaXpv
bnRhbERhdGEudmlzaWJsZUxlbmd0aCA9IG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7
CkBAIC00MTAsOCArNDQyLDEyIEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRp
b25UaW1lckZpcmVkKCkKIAogICAgIGlmIChjb250aW51ZUFuaW1hdGlvbikKICAgICAgICAgc3Rh
cnROZXh0VGltZXIoc3RkOjptYXgobWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJh
bWUpKTsKLSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0
U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9u
KTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIG5vdGlmeVNjcm9sbEVu
ZCgpOworI2VuZGlmCisgICAgfQogCiAgICAgbV9ub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlv
bihGbG9hdFBvaW50KG1faG9yaXpvbnRhbERhdGEuY3VycmVudFBvc2l0aW9uLCBtX3ZlcnRpY2Fs
RGF0YS5jdXJyZW50UG9zaXRpb24pKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKaW5kZXggODE3M2ZhN2UyMC4uMTg0Y2ZhZDFkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAg
LTMxLDYgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWluZXJO
b2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogZW51bSBjbGFz
cyBTY3JvbGxDbGFtcGluZyA6IHVpbnQ4X3Q7CkBAIC00OCwxMCArNDksMTYgQEAgcHVibGljOgog
ICAgICAgICBCb3VuY2UKICAgICB9OwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIG92ZXJy
aWRlOworI2VuZGlmCiBwcml2YXRlOgogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0
aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogICAg
IHZvaWQgc3RvcCgpIG92ZXJyaWRlOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICB2b2lkIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCiAgICAgdm9pZCB1cGRhdGVWaXNpYmxl
TGVuZ3RocygpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmKSBvdmVycmlkZTsKIApAQCAtMTA0LDYgKzExMSw5IEBAIHByaXZhdGU6CiAKICAg
ICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIFdlYWtQdHI8Q29udGFpbmVyTm9k
ZT4gbV9zY3JvbGxFbmRFdmVudFRhcmdldDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4
IDBmYzcyOWU5MTIuLmQ4OTMwMDhhYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvci5jcHAKQEAgLTI4Nyw1ICsyODcsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6
ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqKQogewogICAgIG1fYW5pbWF0aW9u
UHJvZ3JhbW1hdGljU2Nyb2xsLT51cGRhdGVWaXNpYmxlTGVuZ3RocygpOwogfQotCisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5k
VGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIG1fYW5pbWF0aW9u
UHJvZ3JhbW1hdGljU2Nyb2xsLT5zZXRTY3JvbGxFbmRUYXJnZXQodGFyZ2V0KTsKK30KKyNlbmRp
ZgogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yLmgKaW5kZXggOWI3YzA5YjY5MC4uZWVkZTc5OGRiNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2hl
ZWxFdmVudFRlc3RNb25pdG9yLmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZiBFTkFC
TEUoUlVCQkVSX0JBTkRJTkcpIHx8IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAi
U2Nyb2xsQ29udHJvbGxlci5oIgpAQCAtNDQsNiArNDUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgUGxh
dGZvcm1Ub3VjaEV2ZW50OwogY2xhc3MgU2Nyb2xsQW5pbWF0aW9uOwpAQCAtMTQzLDYgKzE0NSwx
MCBAQCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIHZpZXdwb3J0U2l6ZSgpIGNvbnN0IG92ZXJyaWRl
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRT
Y3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxvYXRT
aXplJiBkZWx0YSk7CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JPZmZz
ZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDVjNTJkNWJiZGUu
LjU2MjczNDU0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5
cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtNjAs
NiArNjAsMTYgQEAgZW51bSBjbGFzcyBTY3JvbGxCZWhhdmlvclN0YXR1cyA6IHVpbnQ4X3Qgewog
ICAgIEluTm9uTmF0aXZlQW5pbWF0aW9uLAogfTsKIAorZW51bSBjbGFzcyBBbmltYXRlZFNjcm9s
bCA6IHVpbnQ4X3QgeworICAgIE5vLAorICAgIFllcworfTsKKworZW51bSBjbGFzcyBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQgOiB1aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CisKIGlubGlu
ZSBTY3JvbGxEaXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVjdGlv
biBkaXJlY3Rpb24sIGJvb2wgaXNWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7CiAgICAgc3dp
dGNoIChkaXJlY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5k
ZXggMzYxZjA1Mzg5My4uMWFiMjBhYmM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5jcHAKQEAgLTIwNywxMyArMjA3LDE3IEBAIEludFBvaW50IFNjcm9sbFZpZXc6OmNvbnRl
bnRzU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbigpOwog
fQogCi12b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50
UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3ZvaWQgU2Nyb2xsVmll
dzo6c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQogICAgICAgICBz
ZXRBY3R1YWxTY3JvbGxQb3NpdGlvbihwb3NpdGlvbik7CiAjZW5kaWYKLSAgICBzZXRTY3JvbGxQ
b3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCBS
ZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQorICAgIHNldFNjcm9sbFBvc2l0aW9u
KHBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIEZsb2F0UmVjdCBT
Y3JvbGxWaWV3OjpleHBvc2VkQ29udGVudFJlY3QoKSBjb25zdApAQCAtNDg3LDYgKzQ5MSwxMCBA
QCB2b2lkIFNjcm9sbFZpZXc6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBuZXdQb3Np
dGlvbikKIAogICAgIG1fc2Nyb2xsUG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9z
Y3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3JvbGxiYXJzU3VwcHJlc3NlZCgp
KQogICAgICAgICByZXR1cm47CiAKQEAgLTUxNCw3ICs1MjIsNyBAQCB2b2lkIFNjcm9sbFZpZXc6
OmNvbXBsZXRlVXBkYXRlc0FmdGVyU2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEp
CiAgICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lk
IFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3Jv
bGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wvKiBhbmltYXRlZCovKQor
dm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYg
c2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCAv
KiBhbmltYXRlZCovLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhfU1RS
RUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAi
IDw8IHNjcm9sbFBvc2l0aW9uKTsKIApAQCAtNTI2LDE0ICs1MzQsMTMgQEAgdm9pZCBTY3JvbGxW
aWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRp
b24sIFNjcm9sbEMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFNjcm9sbFBvc2l0aW9u
IG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJh
bmdlKHNjcm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIGlmIChjdXJyZW50U2Ny
b2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVB
bmltYXRpb24pCisgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwog
CisgICAgU2Nyb2xsUG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9s
bGluZygpICYmIGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNj
cm9sbFBvc2l0aW9uV2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247
CiAgICAgaWYgKCghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9sbFR5cGUoKSA9
PSBTY3JvbGxUeXBlOjpVc2VyKSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBT
Y3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xsUG9zaXRpb24g
PT0gdGhpcy0+c2Nyb2xsUG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGN1
cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5v
bk5hdGl2ZUFuaW1hdGlvbikKLSAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRp
b25zKCk7Ci0KICAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3JvbGxQ
b3NpdGlvbiwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBpbmcpKQogICAgICAgICB1cGRhdGVT
Y3JvbGxiYXJzKG5ld1Njcm9sbFBvc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5oCmluZGV4IDhmNWRmOGViOTIuLmUzYzFkN2QxMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxWaWV3LmgKQEAgLTIzMiw3ICsyMzIsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTY3Jv
bGwgcG9zaXRpb24gdXNlZCBieSB3ZWItZXhwb3NlZCBmZWF0dXJlcyAoaGFzIGxlZ2FjeSBpT1Mg
YmVoYXZpb3IpLgogICAgIFdFQkNPUkVfRVhQT1JUIEludFBvaW50IGNvbnRlbnRzU2Nyb2xsUG9z
aXRpb24oKSBjb25zdDsKLSAgICB2b2lkIHNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3Qg
SW50UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKKyAg
ICB2b2lkIHNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1h
dGVkU2Nyb2xsOjpObyk7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGludCBhY3R1
YWxTY3JvbGxYKCkgY29uc3QgeyByZXR1cm4gdW5vYnNjdXJlZENvbnRlbnRSZWN0KCkueCgpOyB9
CkBAIC0yNjIsNyArMjYyLDcgQEAgcHVibGljOgogICAgIFNjcm9sbFBvc2l0aW9uIGNhY2hlZFNj
cm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3JvbGxQb3NpdGlvbjsgfQog
CiAgICAgLy8gRnVuY3Rpb25zIGZvciBzY3JvbGxpbmcgdGhlIHZpZXcuCi0gICAgdmlydHVhbCB2
b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBp
bmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBT
Y3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9
IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9s
bEVuZEV2ZW50OjpObyk7CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsg
cmV0dXJuIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggY2RhZDM2MDFkMy4u
ODlkNGQ5OWU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9s
bGFibGVBcmVhLmgiCiAKKyNpbmNsdWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiRmxv
YXRQb2ludC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzTGF5ZXIuaCIKQEAgLTc3NSw0ICs3NzYsMTEgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChU
ZXh0U3RyZWFtJiB0cywgY29uc3QgU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogICAg
IHJldHVybiB0czsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Ny
b2xsYWJsZUFyZWE6OnNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+IHRh
cmdldCkKK3sKKyAgICBzY3JvbGxBbmltYXRvcigpLnNldFNjcm9sbEVuZFRhcmdldCh0YXJnZXQp
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDQ1ZmFjMDI5YmQuLjNiOWE3Nzc5ZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMzcsNiArMzcsNyBAQCBj
bGFzcyBUZXh0U3RyZWFtOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRhaW5l
ck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3Mg
TGF5b3V0UG9pbnQ7CkBAIC0zNTIsNiArMzUzLDE2IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0
dWFsIFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QgPSAwOwogCisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYWRkUGVu
ZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkgeyB9CisgICAgdmlydHVhbCBib29sIGR1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldygpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2b2lkIHNl
dER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sKSB7IH0KKyAgICB2aXJ0dWFsIFNjcm9sbGFi
bGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSB7IHJldHVybiBu
dWxscHRyOyB9CisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJO
b2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbGFi
bGVBcmVhKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+U2Nyb2xsYWJsZUFyZWEoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNGYzNzhkNzM1Zi4uZjgx
ZGY2ZTYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTU4MSw3
ICs1ODEsNyBAQCBzdGF0aWMgdm9pZCBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKFJlbmRlckxheWVy
JiBsYXllcikKICAgICBsYXllci5zY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9u
aXRvcihwYWdlLndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6
OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcsIGJvb2wgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckJveDo6c2V0U2Ny
b2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgaWYgKCFoYXNPdmVy
Zmxvd0NsaXAoKSB8fCAhbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTg5LDcgKzU4OSw3
IEBAIHZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBTY3JvbGxUeXBl
IHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nCiAgICAgbGF5ZXIoKS0+c2Nyb2xsVG9YUG9zaXRp
b24obmV3TGVmdCwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIAotdm9pZCBS
ZW5kZXJCb3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJCb3g6
OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENs
YW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBpZiAoIWhh
c092ZXJmbG93Q2xpcCgpIHx8ICFsYXllcigpKQogICAgICAgICByZXR1cm47CkBAIC01OTcsMTIg
KzU5NywxNiBAQCB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIFNjcm9s
bFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgYwogICAgIGxheWVyKCktPnNjcm9sbFRv
WVBvc2l0aW9uKG5ld1RvcCwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKIH0KIAot
dm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBw
b3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywg
Ym9vbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewogICAgIGlmICghaGFz
T3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1cFdo
ZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigpLT5zY3JvbGxUb1Bvc2l0aW9u
KHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlv
biwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6
Olllcyk7CisjZWxzZQorICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBz
Y3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVy
Qm94OjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBv
aW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaAppbmRleCAyNzUyMjBiNmJlLi44MTQzNDRmNzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCkBAIC0yNDcsOSArMjQ3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50
IHNjcm9sbFRvcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgaW50IHNjcm9sbFdpZHRoKCkgY29uc3Q7
CiAgICAgdmlydHVhbCBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lk
IHNldFNjcm9sbExlZnQoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOwotICAgIHZpcnR1YWwgdm9p
ZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOwotICAgIHZvaWQgc2V0U2Ny
b2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOwor
ICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRl
ZFNjcm9sbDo6Tm8pOworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNj
cm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsK
IAogICAgIExheW91dFVuaXQgbWFyZ2luVG9wKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9t
YXJnaW5Cb3gudG9wKCk7IH0KICAgICBMYXlvdXRVbml0IG1hcmdpbkJvdHRvbSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fbWFyZ2luQm94LmJvdHRvbSgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBmMjMzMzFmNzE4Li4wYmFhZDlhOWI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI1OTAsMjQgKzI1OTAs
NDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5l
ZWRlZCgpCiAgICAgbV9wb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb24gPSBXVEY6Om51bGxvcHQ7CiB9
CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBl
IHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9p
ZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUgc2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQog
ewogICAgIFNjcm9sbFBvc2l0aW9uIHBvc2l0aW9uKHgsIG1fc2Nyb2xsUG9zaXRpb24ueSgpKTsK
LSAgICBzY3JvbGxUb1Bvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5p
bWF0ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Ny
b2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9u
LCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKLXZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9pZCBSZW5kZXJMYXll
cjo6c2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewogICAgIFNjcm9s
bFBvc2l0aW9uIHBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24ueCgpLCB5KTsKLSAgICBzY3JvbGxU
b1Bvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2lm
IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlv
biwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6
Olllcyk7CisjZWxzZQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBl
LCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFRvUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBl
IHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBib29sIGFuaW1hdGVkKQordm9p
ZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBv
c2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBB
bmltYXRlZFNjcm9sbCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3Jv
bGxFbmRFdmVudCkKIHsKLSAgICBpZiAoYW5pbWF0ZWQpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0
V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxU
eXBlLCBjbGFtcGluZyk7CisjaWYgIUVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBVTlVT
RURfUEFSQU0ocmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKyNlbmRpZgorCisgICAgYXV0byBvZmZz
ZXQgPSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNl
dCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/
IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CisgICAgaWYgKGFuaW1hdGVkID09
IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlv
bihuZXdTY3JvbGxPZmZzZXQsIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKICAgICBlbHNlCi0gICAg
ICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNj
cm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG9PZmZzZXQobmV3U2Nyb2xsT2Zm
c2V0LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgaWYgKHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZCgpICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olll
cykgeworICAgICAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ID09IHNjcm9sbE9mZnNldCgpKQorICAg
ICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2Ug
aWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3Jv
bGxFbmRUYXJnZXQobWFrZVdlYWtQdHIocmVuZGVyZXIoKS5lbGVtZW50KCkpKTsKKyAgICB9Cisj
ZW5kaWYKIH0KIAogU2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChj
b25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCkgY29uc3QKQEAgLTI2MzAsMTMgKzI2NTMs
MTggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0
JiBzY3JvbGxPZmZzZXQsIFNjcm9sbFR5cGUgc2MKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5j
YW5jZWxBbmltYXRpb25zKCk7CiAKICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNl
dCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZz
ZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9sbE9mZnNldDsKLSAgICBpZiAoY2xhbXBlZFNjcm9sbE9m
ZnNldCA9PSB0aGlzLT5zY3JvbGxPZmZzZXQoKSkKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVk
U2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9m
ZnNldCk7CisgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0
KCkpIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGNoZWNrU2Nyb2xs
RW5kRXZlbnRQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCiAgICAgICAg
IHJldHVybjsKKyAgICB9CiAKICAgICBhdXRvIHByZXZpb3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRT
Y3JvbGxUeXBlKCk7CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUoc2Nyb2xsVHlwZSk7CiAKLSAg
ICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShzY3JvbGxQb3NpdGlvbkZyb21PZmZz
ZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKKyAgICBpZiAo
IXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNjcm9s
bFR5cGUsIGNsYW1waW5nKSkKICAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9u
KGNsYW1wZWRTY3JvbGxPZmZzZXQsIGNsYW1waW5nKTsKICAgICBzZXRTY3JvbGxCZWhhdmlvclN0
YXR1cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwogCkBAIC0yNzYwLDYg
KzI3ODgsMTAgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRp
b24mIHBvc2l0aW9uKQogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVt
ZW50KCkpCiAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEV2ZW50
VGFyZ2V0KCplbGVtZW50KTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBj
aGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwog
ICAgIGlmIChzY3JvbGxzT3ZlcmZsb3coKSkKICAgICAgICAgdmlldy5mcmFtZVZpZXcoKS5kaWRD
aGFuZ2VTY3JvbGxPZmZzZXQoKTsKIApAQCAtMjgwNSwxMyArMjgzNywxOCBAQCBib29sIFJlbmRl
ckxheWVyOjphbGxvd3NDdXJyZW50U2Nyb2xsKCkgY29uc3QKICAgICByZXR1cm4gYm94LT5oYXNI
b3Jpem9udGFsT3ZlcmZsb3coKSB8fCBib3gtPmhhc1ZlcnRpY2FsT3ZlcmZsb3coKTsKIH0KIAot
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBh
YnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVP
cHRpb25zJiBvcHRpb25zLCBBdXRvc2Nyb2xsU3RhdHVzIGF1dG9zY3JvbGxTdGF0dXMpCit2b2lk
IFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29s
dXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlv
bnMmIG9wdGlvbnMsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQp
CiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJMYXllciAiIDw8
IHRoaXMgPDwgIiBzY3JvbGxSZWN0VG9WaXNpYmxlICIgPDwgYWJzb2x1dGVSZWN0KTsKIAorI2lm
IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBib29sIG92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkID0gcmVuZGVyZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCk7Cisj
ZW5kaWYKKwogICAgIExheW91dFJlY3QgbmV3UmVjdCA9IGFic29sdXRlUmVjdDsKICAgICBGcmFt
ZVZpZXcmIGZyYW1lVmlldyA9IHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpOwogICAgIGF1
dG8qIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnRoaXMsIENy
b3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CisgICAgYm9vbCBhdXRvc2Nyb2xsTm90SW5Qcm9ncmVz
cyA9ICFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9sbEluUHJvZ3Jl
c3MoKTsKIAogICAgIGlmIChhbGxvd3NDdXJyZW50U2Nyb2xsKCkpIHsKICAgICAgICAgLy8gRG9u
J3Qgc2Nyb2xsIHRvIHJldmVhbCBhbiBvdmVyZmxvdyBsYXllciB0aGF0IGlzIHJlc3RyaWN0ZWQg
YnkgdGhlIC13ZWJraXQtbGluZS1jbGFtcCBwcm9wZXJ0eS4KQEAgLTI4MzAsOCArMjg2NywxNCBA
QCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3Qm
IGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNj
cm9sbE9mZnNldCA9IGNsYW1wU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCgpICsgdG9JbnRTaXpl
KHJvdW5kZWRJbnRSZWN0KHJldmVhbFJlY3QpLmxvY2F0aW9uKCkpKTsKICAgICAgICAgaWYgKGNs
YW1wZWRTY3JvbGxPZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0KCkgfHwgY3VycmVudFNjcm9sbEJlaGF2
aW9yU3RhdHVzKCkgIT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKSB7CiAg
ICAgICAgICAgICBTY3JvbGxPZmZzZXQgb2xkU2Nyb2xsT2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0KCk7
Ci0gICAgICAgICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Njcm9sbFN0YXR1cyA9PSBBdXRvc2Ny
b2xsU3RhdHVzOjpOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJl
aGF2aW9yLCBib3gtPmVsZW1lbnQoKSk7Ci0gICAgICAgICAgICBzY3JvbGxUb1Bvc2l0aW9uKHNj
cm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgU2Nyb2xsVHlwZTo6
UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAg
ICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6Tm87CisgICAg
ICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5n
KG9wdGlvbnMuYmVoYXZpb3IsIGJveC0+ZWxlbWVudCgpKSkKKyAgICAgICAgICAgICAgICBhbmlt
YXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CisgICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlv
bihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5
cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVk
U2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAgICAgICAgIHNldER1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsKKyNlbmRpZgogICAgICAgICAgICAgSW50U2l6ZSBz
Y3JvbGxPZmZzZXREaWZmZXJlbmNlID0gY2xhbXBlZFNjcm9sbE9mZnNldCAtIG9sZFNjcm9sbE9m
ZnNldDsKICAgICAgICAgICAgIGxvY2FsRXhwb3NlUmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZm
ZXJlbmNlKTsKICAgICAgICAgICAgIG5ld1JlY3QgPSBMYXlvdXRSZWN0KGJveC0+bG9jYWxUb0Fi
c29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VUcmFu
c2Zvcm1zKS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4NTcsOSArMjkwMCwyMSBAQCB2b2lkIFJlbmRl
ckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVj
dCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9z
aXRpb24uY29uc3RyYWluZWRCZXR3ZWVuKEludFBvaW50KCksIEludFBvaW50KGZyYW1lVmlldy5j
b250ZW50c1NpemUoKSkpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNl
IGNvbnRlbnREb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/CiAgICAgICAgICAgICAgICAg
Ly8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAg
ICAgICAgICAgICAgICBib29sIGFuaW1hdGVkID0gYXV0b3Njcm9sbFN0YXR1cyA9PSBBdXRvc2Ny
b2xsU3RhdHVzOjpOb3RJblByb2dyZXNzICYmIG93bmVyRWxlbWVudC0+Y29udGVudERvY3VtZW50
KCkgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIG93bmVyRWxlbWVudC0+
Y29udGVudERvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKTsKKyAgICAgICAgICAgICAgICBB
bmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpObzsKKyAgICAgICAgICAg
ICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MKKyAgICAgICAgICAgICAgICAgICAgJiYg
b3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKQorICAgICAgICAgICAgICAgICAgICAmJiB1
c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgb3duZXJFbGVtZW50LT5jb250ZW50
RG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpKQorICAgICAgICAgICAgICAgICAgICBhbmlt
YXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNl
dFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwg
YW5pbWF0ZWQpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAg
ICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9PSBBbmltYXRlZFNj
cm9sbDo6WWVzICYmIHNjcm9sbFBvc2l0aW9uICE9IGZyYW1lVmlldy5zY3JvbGxQb3NpdGlvbigp
KSB7CisgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXREdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpCisgICAgICAgICAgICAgICAgICAgICAg
ICBmcmFtZVZpZXcuc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKGZyYW1lVmlldy5mcmFt
ZSgpLmRvY3VtZW50KCkpKTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICAg
ICAgICAgIGlmIChvcHRpb25zLnNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgPT0gU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIHx8IGZyYW1lVmlldy5zYWZlVG9Qcm9w
YWdhdGVTY3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBl
bmNsb3NpbmdMYXllciA9IG93bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIo
KSkKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVyID0gZW5jbG9zaW5nTGF5ZXIt
PmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9yTm90OjpJbmNsdWRlU2VsZiwg
Q3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI5MDAsOCArMjk1NSwxNyBAQCB2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Ny
b2xsUG9zaXRpb24gPSByb3VuZGVkSW50UG9pbnQocmV2ZWFsUmVjdC5sb2NhdGlvbigpKS5jb25z
dHJhaW5lZEJldHdlZW4obWluU2Nyb2xsUG9zaXRpb24sIG1heFNjcm9sbFBvc2l0aW9uKTsKICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBkb2N1bWVudCgpLT5zY3JvbGxp
bmdFbGVtZW50KCk/CiAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgICAgICBib29sIGFuaW1hdGVk
ID0gYXV0b3Njcm9sbFN0YXR1cyA9PSBBdXRvc2Nyb2xsU3RhdHVzOjpOb3RJblByb2dyZXNzICYm
IHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCByZW5kZXJlcigpLmRvY3VtZW50
KCkuZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFu
aW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgICAgICAgICAgICAgIGlmIChhdXRvc2Ny
b2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwg
cmVuZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSkKKyAgICAgICAgICAgICAg
ICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgICAgIGZy
YW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRl
ZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIGNsYW1wZWRTY3JvbGxQb3NpdGlvbiAhPSBmcmFt
ZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcu
c2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOworICAgICAgICAgICAgICAgICAgICBp
ZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKQor
ICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdldChtYWtl
V2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgICAgICAgICAgICAg
fQorI2VuZGlmCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91
dGVybW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcg
d2UKQEAgLTI5MTMsOCArMjk3NywyNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9W
aXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAg
ICB9CiAgICAgfQogICAgIAotICAgIGlmIChwYXJlbnRMYXllcikKKyAgICBpZiAocGFyZW50TGF5
ZXIpIHsKICAgICAgICAgcGFyZW50TGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUobmV3UmVjdCwg
aW5zaWRlRml4ZWQsIG9wdGlvbnMpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVu
dCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICAgICAgQ29udGFpbmVy
Tm9kZSogdGFyZ2V0ID0gcmVuZGVyZXIoKS5lbGVtZW50KCk7CisgICAgICAgICAgICBpZiAocmVu
ZGVyZXIoKS5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0YXJnZXQpCisgICAgICAg
ICAgICAgICAgdGFyZ2V0ID0gJnJlbmRlcmVyKCkuZG9jdW1lbnQoKTsKKworICAgICAgICAgICAg
aWYgKGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAgICAgICAgICAgICAgIHNldFNjcm9s
bEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgICAgIGF1dG8qIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyID0gZmluZEFuY2Vz
dG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCk7CisgICAgICAgICAgICAgICAgaWYgKGR1cmlu
Z1Njcm9sbGluZ1BhcmVudExheWVyKQorICAgICAgICAgICAgICAgICAgICBkdXJpbmdTY3JvbGxp
bmdQYXJlbnRMYXllci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKHRhcmdldCkpOwor
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5kb2N1
bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqdGFyZ2V0KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisgICAgfQogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1
cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsKCkKQEAgLTMwNDAsNyArMzEyMiw3IEBA
IExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmdldFJlY3RUb0V4cG9zZShjb25zdCBMYXlvdXRSZWN0
JiB2aXNpYmxlUmVjdCwgY29uc3QgTGF5CiB2b2lkIFJlbmRlckxheWVyOjphdXRvc2Nyb2xsKGNv
bnN0IEludFBvaW50JiBwb3NpdGlvbkluV2luZG93KQogewogICAgIEludFBvaW50IGN1cnJlbnRE
b2N1bWVudFBvc2l0aW9uID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCkud2luZG93VG9D
b250ZW50cyhwb3NpdGlvbkluV2luZG93KTsKLSAgICBzY3JvbGxSZWN0VG9WaXNpYmxlKExheW91
dFJlY3QoY3VycmVudERvY3VtZW50UG9zaXRpb24sIExheW91dFNpemUoMSwgMSkpLCBmYWxzZSwg
eyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0Vk
Z2VJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTaG91bGRB
bGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSwgQXV0b3Njcm9sbFN0YXR1czo6SW5Qcm9n
cmVzcyk7CisgICAgc2Nyb2xsUmVjdFRvVmlzaWJsZShMYXlvdXRSZWN0KGN1cnJlbnREb2N1bWVu
dFBvc2l0aW9uLCBMYXlvdXRTaXplKDEsIDEpKSwgZmFsc2UsIHsgU2VsZWN0aW9uUmV2ZWFsTW9k
ZTo6UmV2ZWFsLCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQsIFNjcm9sbEFs
aWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9s
bGluZzo6WWVzIH0pOwogfQogCiBib29sIFJlbmRlckxheWVyOjpjYW5SZXNpemUoKSBjb25zdApA
QCAtNzA0Nyw2ICs3MTI5LDQ5IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmludmFsaWRhdGVFdmVudFJl
Z2lvbihFdmVudFJlZ2lvbkludmFsaWRhdGlvblJlYXNvbiByZWFzb24pCiAjZW5kaWYKIH0KIAor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNhdmVTY3Jv
bGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcpCit7CisgICAgaWYgKCFyZW5kZXJlcigpLnNldHRpbmdzKCkub3Zl
cnNjcm9sbEV2ZW50c0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBvZmZz
ZXQgPSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNl
dCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQgPyBjbGFtcFNjcm9sbE9mZnNldChvZmZzZXQpIDogb2Zmc2V0OworICAgIG1fZmlyZVNjcm9s
bEVuZEV2ZW50QXRQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Ny
b2xsT2Zmc2V0KTsKK30KKwordm9pZCBSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBv
c2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmly
ZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbiB8fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRp
b24udmFsdWUoKSAhPSBwb3NpdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9z
aXRpb24gPSBXVEY6Om51bGxvcHQ7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXI6OmFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCgpCit7CisgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSByZW5k
ZXJlcigpLmVsZW1lbnQoKSkKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRQZW5kaW5n
U2Nyb2xsRW5kRXZlbnRUYXJnZXQoKmVsZW1lbnQpOworfQorCitTY3JvbGxhYmxlQXJlYSogUmVu
ZGVyTGF5ZXI6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpCit7CisgICAg
YXV0byogcGFyZW50TGF5ZXIgPSBlbmNsb3NpbmdDb250YWluaW5nQmxvY2tMYXllcigqdGhpcywg
Q3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKKyAgICB3aGlsZSAocGFyZW50TGF5ZXIpIHsKKyAg
ICAgICAgaWYgKHBhcmVudExheWVyLT5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAg
ICAgICAgIHJldHVybiBwYXJlbnRMYXllcjsKKyAgICAgICAgcGFyZW50TGF5ZXIgPSBlbmNsb3Np
bmdDb250YWluaW5nQmxvY2tMYXllcigqcGFyZW50TGF5ZXIsIENyb3NzRnJhbWVCb3VuZGFyaWVz
OjpObyk7CisgICAgfQorCisgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZp
ZXcoKS5mcmFtZVZpZXcoKTsKKyAgICBpZiAoZnJhbWVWaWV3LmR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldygpKQorICAgICAgICByZXR1cm4gJmZyYW1lVmlldzsKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKyNlbmRpZgorCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYgdHMs
IENsaXBSZWN0c1R5cGUgY2xpcFJlY3RzVHlwZSkKIHsKICAgICBzd2l0Y2ggKGNsaXBSZWN0c1R5
cGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggYjAzZjFlMzk0
MS4uM2EwNTNjYjQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAg
LTQ1MCw5ICs0NTAsOSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxU
b09mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6UHJv
Z3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihjb25zdCBT
Y3JvbGxPZmZzZXQmLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKIAotICAgIHZvaWQgc2Nyb2xs
VG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQsIGJvb2wgYW5pbWF0ZWQgPSBmYWxzZSk7Ci0gICAgdm9pZCBzY3JvbGxU
b1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgYm9vbCBhbmltYXRlZCA9IGZhbHNlKTsKLSAgICB2b2lkIHNjcm9sbFRv
UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBib29sIGFuaW1hdGVkID0gZmFsc2UpOworICAg
IHZvaWQgc2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3Jv
bGw6Ok5vKTsKKyAgICB2b2lkIHNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlLCBT
Y3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9
IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIC8vIFRo
ZXNlIGFyZSBvbmx5IHVzZWQgYnkgbWFycXVlZS4KICAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChp
bnQgeCkgeyBzY3JvbGxUb09mZnNldChTY3JvbGxPZmZzZXQoeCwgc2Nyb2xsT2Zmc2V0KCkueSgp
KSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsg
fQpAQCAtNDY2LDkgKzQ2Niw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYXZhaWxhYmxlQ29udGVu
dFNpemVDaGFuZ2VkKEF2YWlsYWJsZVNpemVDaGFuZ2VSZWFzb24pIGZpbmFsOwogCi0gICAgZW51
bSBBdXRvc2Nyb2xsU3RhdHVzIHsgTm90SW5Qcm9ncmVzcywgSW5Qcm9ncmVzcyB9OwogICAgIC8v
ICJhYnNvbHV0ZVJlY3QiIGlzIGluIHNjYWxlZCBkb2N1bWVudCBjb29yZGluYXRlcy4KLSAgICB2
b2lkIHNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBi
b29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIEF1dG9z
Y3JvbGxTdGF0dXMgPSBBdXRvc2Nyb2xsU3RhdHVzOjpOb3RJblByb2dyZXNzKTsKKyAgICB2b2lk
IHNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29s
IGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIFJlcXVlc3RT
Y3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgYm9vbCBz
Y3JvbGxzT3ZlcmZsb3coKSBjb25zdDsKICAgICBib29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFs
T3ZlcmZsb3coKSBjb25zdDsKQEAgLTkzMSw2ICs5MzAsMTUgQEAgcHVibGljOgogCiAgICAgU3Ry
aW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkg
ZmluYWw7CisgICAgdm9pZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xs
UG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dCgpIGZpbmFsOworICAgIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWwgeyBy
ZXR1cm4gbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldyhib29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Njcm9sbFJl
Y3RJbnRvVmlldyA9IHNjcm9sbGluZzsgfQorICAgIFNjcm9sbGFibGVBcmVhKiBmaW5kQW5jZXN0
b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSBmaW5hbDsKKyNlbmRpZgorCiBwcml2YXRlOgog
CiAgICAgdm9pZCBzZXROZXh0U2libGluZyhSZW5kZXJMYXllciogbmV4dCkgeyBtX25leHQgPSBu
ZXh0OyB9CkBAIC0xMjg3LDYgKzEyOTUsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbGF5ZXJM
aXN0TXV0YXRpb25BbGxvd2VkIDogMTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgOiAxOworI2VuZGlm
CisKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIHVuc2lnbmVkIG1fYmxlbmRNb2Rl
IDogNTsgLy8gQmxlbmRNb2RlCiAgICAgYm9vbCBtX2hhc05vdElzb2xhdGVkQ29tcG9zaXRlZEJs
ZW5kaW5nRGVzY2VuZGFudHMgOiAxOwpAQCAtMTM2Miw2ICsxMzc0LDEwIEBAIHByaXZhdGU6CiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyTGF5ZXJGaWx0ZXJzPiBtX2ZpbHRlcnM7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFJlbmRlckxheWVyQmFja2luZz4gbV9iYWNraW5nOworCisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2Zp
cmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb247CisjZW5kaWYKICAgICAKICAgICBQYWludEZyZXF1
ZW5jeVRyYWNrZXIgbV9wYWludEZyZXF1ZW5jeVRyYWNrZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCmluZGV4IGI1NzQ3N2QyZGMuLjM0MWU4ODFkMmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTc0Myw3
ICs3NDMsNyBAQCBpbnQgUmVuZGVyTGlzdEJveDo6c2Nyb2xsTGVmdCgpIGNvbnN0CiAgICAgcmV0
dXJuIDA7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9s
bFR5cGUsIFNjcm9sbENsYW1waW5nLCBib29sKQordm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3Jv
bGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQog
ewogfQogCkBAIC03NjAsNyArNzYwLDcgQEAgc3RhdGljIHZvaWQgc2V0dXBXaGVlbEV2ZW50VGVz
dE1vbml0b3IoUmVuZGVyTGlzdEJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2Nyb2xsQW5p
bWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocmVuZGVyZXIucGFnZSgpLndoZWVsRXZl
bnRUZXN0TW9uaXRvcigpKTsKIH0KIAotdm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3Ao
aW50IG5ld1RvcCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIGJvb2wpCit2b2lkIFJlbmRl
ckxpc3RCb3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZywgQW5pbWF0ZWRTY3JvbGwpCiB7CiAgICAgLy8gRGV0ZXJtaW5lIGFuIGluZGV4IGFuZCBz
Y3JvbGwgdG8gaXQuICAgIAogICAgIGludCBpbmRleCA9IG5ld1RvcCAvIGl0ZW1IZWlnaHQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCmluZGV4IDhjNWE4ZmFmMjAu
LjVmMDI2MWEzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaApA
QCAtMTA2LDggKzEwNiw4IEBAIHByaXZhdGU6CiAgICAgaW50IHNjcm9sbFRvcCgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIGludCBzY3JvbGxXaWR0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGludCBz
Y3JvbGxIZWlnaHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbExlZnQoaW50
LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBz
ZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkgb3ZlcnJp
ZGU7CisgICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBp
bmcsIEFuaW1hdGVkU2Nyb2xsKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbFRvcChpbnQs
IFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7CiAK
ICAgICBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3Vs
dCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5
b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA4YzE0NGQ2NTFm
Li41MmM5OWMyNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cApAQCAtNDI5LDcgKzQyOSwxMSBAQCBib29sIFJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaQogICAgIGlmICgh
ZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICBlbmNsb3NpbmdMYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShh
YnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6
Olllcyk7CisjZWxzZQogICAgIGVuY2xvc2luZ0xheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFi
c29sdXRlUmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlvbnMpOworI2VuZGlmCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5jcHAKaW5kZXggNzRhODBiMDY4Ny4uMTY2MDIxNzMwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9s
U2luZ2xlTGluZS5jcHAKQEAgLTM4MCwxMyArMzgwLDEzIEBAIGludCBSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6OnNjcm9sbFRvcCgpIGNvbnN0CiAgICAgcmV0dXJuIFJlbmRlckJsb2NrRmxv
dzo6c2Nyb2xsVG9wKCk7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpz
ZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9v
bCkKK3ZvaWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxMZWZ0KGludCBu
ZXdMZWZ0LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCiB7CiAg
ICAgaWYgKGlubmVyVGV4dEVsZW1lbnQoKSkKICAgICAgICAgaW5uZXJUZXh0RWxlbWVudCgpLT5z
ZXRTY3JvbGxMZWZ0KG5ld0xlZnQpOwogfQogCi12b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZTo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5n
LCBib29sKQordm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNldFNjcm9sbFRvcChp
bnQgbmV3VG9wLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCiB7
CiAgICAgaWYgKGlubmVyVGV4dEVsZW1lbnQoKSkKICAgICAgICAgaW5uZXJUZXh0RWxlbWVudCgp
LT5zZXRTY3JvbGxUb3AobmV3VG9wKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAppbmRleCBmZDYzMzAxOWVkLi4yNWEy
Yzk2ZDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5oCkBAIC01Nyw4ICs1Nyw4IEBAIHByaXZhdGU6CiAgICAgaW50
IHNjcm9sbFRvcCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGludCBzY3JvbGxXaWR0aCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGludCBzY3JvbGxIZWlnaHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2
b2lkIHNldFNjcm9sbExlZnQoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgYm9vbCkg
b3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxD
bGFtcGluZywgYm9vbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Ny
b2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKSBvdmVycmlkZTsKKyAgICB2
b2lkIHNldFNjcm9sbFRvcChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uLCBTY3Jv
bGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIEVsZW1lbnQqKiBzdG9wRWxlbWVu
dCA9IG51bGxwdHIsIFJlbmRlckJveCogc3RhcnRCb3ggPSBudWxscHRyLCBjb25zdCBJbnRQb2lu
dCYgd2hlZWxFdmVudEFic29sdXRlUG9pbnQgPSBJbnRQb2ludCgpKSBmaW5hbDsKICAgICBib29s
IGxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHks
IGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQgPSAwKSBmaW5hbDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA1M2FlZjhjODVlLi5lYzVhYzdjOTg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDIwLTAzLTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZy
w6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBFTkFCTEVfT1ZFUlNDUk9MTF9F
VkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKwogMjAyMC0wNC0wOSAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZXJEYXRhOjpk
ZWNvZGUgc2hvdWxkIGFkZCBib3VuZHMgY2hlY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBhNzRiNGE2NjZmLi42
OWE0ZGJkMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTMwMSw2ICszMDEsOCBAQCBFTkFCTEVfT0ZGU0NSRUVO
X0NBTlZBUyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJG
TE9XX1NDUk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExf
RVZFTlRTOworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVT
VDsKIAogRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lO
X1BJQ1RVUkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkpOwpAQCAtNDIxLDQgKzQyMyw0IEBAIEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElP
Tl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElP
TikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQo
RU5BQkxFX0VESVRBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5T
UEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRS
WSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURB
VElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMp
ICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VESVRBQkxFX1JFR0lPTikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RV
UkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChF
TkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFM
RV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZT
Q1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxF
X09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVO
QUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
S0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZjU0NDgzNzZh
My4uYzJhNWMwYzZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CkBAIC0xNTczLDYgKzE1NzMsMTQgQEAgQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdo
dEVuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIk1hcCBIVE1MIGF0dHJpYnV0
ZXMgd2lkdGgvaGVpZ2h0IHRvIHRoZSBkZWZhdWx0IGFzcGVjdCByYXRpbyBvZiA8aW1nPiIKICAg
Y2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogCitPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZDoKKyAgdHlw
ZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiT3Zl
cnNjcm9sbCBldmVudHMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSB0aGUg
b25zY3JvbGxlbmQgYW5kIHNjcm9sbGVuZCBldmVudHMiCisgIGNhdGVnb3J5OiBleHBlcmltZW50
YWwKKyAgY29uZGl0aW9uOiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisKICMgRm9yIGludGVy
bmFsIGZlYXR1cmVzOgogIyBUaGUgdHlwZSBzaG91bGQgYmUgYm9vbGVhbi4KICMgWW91IG11c3Qg
cHJvdmlkZSBhIGh1bWFuUmVhZGFibGVOYW1lIGFuZCBodW1hblJlYWRhYmxlRGVzY3JpcHRpb24g
Zm9yIGFsbCBkZWJ1ZyBmZWF0dXJlcy4gVGhleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IDYwNGIxNTk4MzkuLmUyNTA2YTExOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMyBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGln
YWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBh
cnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBC
YXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgb3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQgV2ViUHJlZmVyZW5jZSBzZXR0aW5nLgorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkOl0pOgorICAgICAgICAqIFdl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorCiAyMDIwLTA0LTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUcmFjayBlZGl0YWJsZSBlbGVtZW50cyBvbiBzY3JlZW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggYTc0YjRhNjY2Zi4uNjlhNGRiZDA2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTMwMSw2ICszMDEsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZB
UyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxP
V19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VD
SDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRT
OworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAog
RU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RV
UkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkpOwpAQCAtNDIxLDQgKzQyMyw0IEBAIEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
OwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxF
X0VESVRBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBF
UklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChF
TkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFO
REFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikg
JChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxP
V19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5B
QkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQo
RU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9L
RVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElP
TlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VESVRBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5f
UElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVf
SU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQ
RUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElM
RV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5f
Q0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJT
Q1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
SVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9T
RVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VS
VklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJM
RV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9B
UkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRD
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4OTUwMi4uODVmMTM1NjVlOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCkBAIC0yMTAsNiArMjEwLDcgQEAKICNkZWZpbmUgV2ViS2l0Q1NTU2hhZG93UGFy
dHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU1NoYWRvd1BhcnRzRW5hYmxlZCIKICNk
ZWZpbmUgV2ViS2l0TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWRQcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2Vi
U1FMRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09T
X0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxk
IGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMDI3OTM5
NDMwOC4uYzQ3YWExYzAzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC03MTQsNiArNzE0LDkgQEAgcHVibGljOgogICAgICAg
ICBATk8sIFdlYktpdEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkUHJl
ZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtl
eSwKICAgICAgICAgQFlFUywgV2ViS2l0RGVidWdOZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWly
a3NQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAg
QE5PLCBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXksCisjZW5kaWYK
ICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMzY4MCw2ICsz
NjgzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOndlYlNRTEVuYWJsZWQgZm9yS2V5OldlYktpdFdlYlNRTEVuYWJs
ZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZAor
eworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdE92ZXJzY3JvbGxFdmVu
dHNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0T3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JL
ZXk6V2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogQGVu
ZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYkludGVybmFsKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgKaW5kZXggYTg0NTQ5ZDRhYi4uN2ZmNzMxOWQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02
ODgsNiArNjg4LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxD
aGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIGFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5v
bmF0b21pYykgQk9PTCBhc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZDsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkOwogCiAj
aWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcXVpY2tMb29r
RG9jdW1lbnRTYXZpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IGQxMTc3N2RiNmUuLmYwNjQ1NTdjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMwMTUsNiArMzAxNSw5IEBAIHN0YXRp
YyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5z
ZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NPTVZpZXdTY3Jv
bGxpbmdBUElFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xs
aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZF0p
OwogICAgIHNldHRpbmdzLnNldE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBw
b3J0KFtwcmVmZXJlbmNlcyBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9y
dF0pOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXR0aW5ncy5zZXRPdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZChbcHJlZmVyZW5jZXMgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRd
KTsKKyNlbmRpZgogCiAgICAgc3dpdGNoIChbcHJlZmVyZW5jZXMgc3RvcmFnZUJsb2NraW5nUG9s
aWN5XSkgewogICAgIGNhc2UgV2ViQWxsb3dBbGxTdG9yYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCmluZGV4IDgwNGJlNWE0NGEuLjFkMjhiYTQxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRo
aWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwg
ZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKwor
ICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQg
b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgV2ViUHJlZmVyZW5jZSBzZXR0aW5nLgorCisgICAgICAg
ICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6Cisg
ICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAg
ICAgIChXZWJQcmVmZXJlbmNlczo6b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQpOgorICAgICAgICAo
V2ViUHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKToKKyAgICAgICAgKiBX
ZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmll
dzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAyMC0wNC0wOCAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdWxkIGZpbmQgdG91Y2gtYWN0aW9u
IGVsZW1lbnRzIGluc2lkZSBub24tY29tcG9zaXRlZCBpZnJhbWVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbAppbmRleCBkZmZkOTRkZDg2Li42NWNmM2FkOTdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGwKQEAgLTI2NSw0ICsyNjUsNyBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZTggOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNwogewogICAgIEhSRVNVTFQgYWxsb3dUb3BO
YXZpZ2F0aW9uVG9EYXRhVVJMcyhbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhS
RVNVTFQgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5dIEJPT0wgZW5hYmxlZCk7
CisgICAgSFJFU1VMVCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wq
KTsKKyAgICBIUkVTVUxUIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKFtpbl0gQk9PTCBlbmFi
bGVkKTsKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAppbmRleCAxN2JjZjliZTE4Li4wNGFlYjZjN2JhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMjI3
LDMgKzIyNyw1IEBACiAjZGVmaW5lIFdlYktpdEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRI
ZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0QXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0
aEFuZEhlaWdodEVuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVu
Y2VLZXkgIldlYktpdFdlYlNRTEVuYWJsZWQiCisKKyNkZWZpbmUgV2ViS2l0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBkZDI5ZTky
MzZjLi4xODRiMmM4YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQ
cmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5j
ZXMuY3BwCkBAIC0zNTQsNiArMzU0LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6
ZURlZmF1bHRTZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywg
Q0ZTVFIoV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2Up
OwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdE92ZXJz
Y3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAg
ICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKICNlbmRpZgogfQpAQCAtMjQ3MCw2ICsyNDcy
LDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFdlYlNRTEVuYWJsZWQoQk9PTCBlbmFi
bGVkKQogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpvdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5h
YmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1
ZUZvcktleShXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXkpOworICAg
IHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRPdmVyc2Nyb2xs
RXZlbnRzRW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdE92
ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJu
IFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OmFsbG93VG9wTmF2aWdhdGlvblRv
RGF0YVVSTHMoX091dF8gQk9PTCogYWxsb3dBY2Nlc3MpCiB7CiAgICAgaWYgKCFhbGxvd0FjY2Vz
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGEzMWJhMDNh
ODIuLjcwOThlZTExOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlBy
ZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
aApAQCAtMzA3LDYgKzMwNyw4IEBAIHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2
YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhbGxvd1RvcE5hdmln
YXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhCT09MKTsKKyAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQo
X091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRP
dmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChCT09MKTsKIAogICAgIC8vIFdlYlByZWZlcmVuY2VzCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggOWJjZTM2OGFkYi4uMjE1ODcxMGEz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTU2NzAsNiArNTY3MCwxMSBA
QCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChJV2ViTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybiBocjsKICAgICBzZXR0aW5ncy5zZXRB
c3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCghIWVuYWJsZWQpOwogCisg
ICAgaHIgPSBwcmVmc1ByaXZhdGUtPm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCZlbmFibGVkKTsK
KyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLnNl
dE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCEhZW5hYmxlZCk7CisKICAgICByZXR1cm4gU19PSzsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IGZkOTNjODUyNDUuLmIyZWY4ODVm
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTE4MCw2ICsxODAsNyBAQCBtYWNy
byhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9P
RkZTQ1JFRU5fQ0FOVkFTICJUb2dnbGUgT2Zmc2NyZWVuQ2FudmFzIHN1cHBvcnQiIFBSSVZBVEUg
T0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMg
IlRvZ2dsZSBPcmllbnRhdGlvbiBFdmVudHMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCAiVG9nZ2xl
IGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzdXBwb3J0IiBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgIlRvZ2dsZSBvdmVyc2Nyb2xs
IGV2ZW50cyIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCAiVG9nZ2xlIFBheW1lbnQgUmVxdWVzdCBzdXBwb3J0IiBQUklWQVRFIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUERGS0lUX1BMVUdJTiAiVG9nZ2xl
IFBERktpdCBwbHVnaW4gc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgIlRvZ2dsZSBQaWN0dXJlLWluLVBp
Y3R1cmUgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQ0NTY2Y2Q4OGUuLmU3MGFjYmY0YjEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MyBAQAorMjAyMC0wMy0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOp
ZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBEZWFsIHdpdGggb3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHA6Cisg
ICAgICAgIChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMpOgorICAgICAg
ICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMjAtMDQtMDkgIEFha2FzaCBK
YWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtld3NdIHJlbmFtZSBDb21w
aWxlV2ViS2l0VG9UIHRvIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3RPcHRpb25zLmNwcAppbmRleCAyOTA2MDZhMjU1Li5hMzEyMjE1YWQzIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCkBAIC0xNTYsNiArMTU2LDggQEAgVGVzdE9wdGlvbnM6
OlRlc3RPcHRpb25zKGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoT3JVUkwsIGNvbnN0IHN0ZDo6c3Ry
aW5nJiBhYnNvbHUKICAgICAgICAgICAgIGVuYWJsZUFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhB
bmRIZWlnaHQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBl
bHNlIGlmIChrZXkgPT0gImFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiKQogICAgICAgICAg
ICAgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJW
YWx1ZSh2YWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGtleSA9PSAiZXhwZXJpbWVudGFsOk92ZXJz
Y3JvbGxFdmVudHNFbmFibGVkIikKKyAgICAgICAgICAgIGVuYWJsZU92ZXJzY3JvbGxFdmVudHMg
PSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBwYWlyU3RhcnQg
PSBwYWlyRW5kICsgMTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAppbmRl
eCBhZTRiYTRhZDVkLi4wMWNmMzQ2MGEwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0T3B0aW9ucy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgK
QEAgLTU4LDYgKzU4LDcgQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICBib29sIGVuYWJsZUFz
cGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHQgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5h
YmxlV2ViU1FMIHsgdHJ1ZSB9OwogICAgIGJvb2wgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJM
cyB7IHRydWUgfTsKKyAgICBib29sIGVuYWJsZU92ZXJzY3JvbGxFdmVudHMgeyBmYWxzZSB9Owog
ICAgIHN0ZDo6c3RyaW5nIGpzY09wdGlvbnM7CiAgICAgc3RkOjpzdHJpbmcgYWRkaXRpb25hbFN1
cHBvcnRlZEltYWdlVHlwZXM7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbQppbmRleCAwYjc0NDQ5NTIxLi4wZWQzMWZiNjBjIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04ODYsNiArODg2LDcgQEAgc3RhdGljIHZv
aWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2Vz
KQogICAgIFtwcmVmZXJlbmNlcyBzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6WUVTXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0QXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQ6
WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxl
ZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZDpZRVNd
OwogfQogCiAvLyBDYWxsZWQgYmVmb3JlIGVhY2ggdGVzdC4KQEAgLTEwNDQsNiArMTA0NSw3IEBA
IHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMoY29uc3QgVGVzdE9w
dGlvbnMmIG9wdGlvbnMpCiAgICAgcHJlZmVyZW5jZXMubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJ
bnRlZ3JhdGlvbkVuYWJsZWQgPSBvcHRpb25zLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdy
YXRpb25FbmFibGVkOwogICAgIHByZWZlcmVuY2VzLmFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhB
bmRIZWlnaHRFbmFibGVkID0gb3B0aW9ucy5lbmFibGVBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRo
QW5kSGVpZ2h0OwogICAgIHByZWZlcmVuY2VzLmFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMg
PSBvcHRpb25zLmFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHM7CisgICAgcHJlZmVyZW5jZXMu
b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgPSBvcHRpb25zLmVuYWJsZU92ZXJzY3JvbGxFdmVudHM7
CiB9CiAKIC8vIENhbGxlZCBvbmNlIG9uIER1bXBSZW5kZXJUcmVlIHN0YXJ0dXAuCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggZjczMDUxOTEzNi4uMmJlMDYzMzBl
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMTM3LDYgKzEz
Nyw3IEBAIG15ICgKICAgICAkb2Zmc2NyZWVuQ2FudmFzU3VwcG9ydCwKICAgICAkb3JpZW50YXRp
b25FdmVudHNTdXBwb3J0LAogICAgICRvdmVyZmxvd1Njcm9sbGluZ1RvdWNoU3VwcG9ydCwKKyAg
ICAkb3ZlcnNjcm9sbEV2ZW50c1N1cHBvcnQsCiAgICAgJHBheW1lbnRSZXF1ZXN0U3VwcG9ydCwK
ICAgICAkcGRma2l0UGx1Z2luU3VwcG9ydCwKICAgICAkcGljdHVyZUluUGljdHVyZUFQSVN1cHBv
cnQsCkBAIC00NjAsNiArNDYxLDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+
ICJvdmVyZmxvdy1zY3JvbGxpbmctdG91Y2giLCBkZXNjID0+ICJUb2dnbGUgYWNjZWxlcmF0ZWQg
c2Nyb2xsaW5nIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfT1ZFUkZMT1dfU0NS
T0xMSU5HX1RPVUNIIiwgdmFsdWUgPT4gXCRvdmVyZmxvd1Njcm9sbGluZ1RvdWNoU3VwcG9ydCB9
LAogCisgICAgeyBvcHRpb24gPT4gIm92ZXJzY3JvbGwtZXZlbnRzIiwgZGVzYyA9PiAiRW5hYmxl
IE92ZXJzY3JvbGwgRXZlbnRzIHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfT1ZF
UlNDUk9MTF9FVkVOVFMiLCB2YWx1ZSA9PiBcJG92ZXJzY3JvbGxFdmVudHNTdXBwb3J0IH0sCisK
ICAgICB7IG9wdGlvbiA9PiAicGF5bWVudC1yZXF1ZXN0IiwgZGVzYyA9PiAiVG9nZ2xlIFBheW1l
bnQgUmVxdWVzdCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCIsIHZhbHVlID0+IFwkcGF5bWVudFJlcXVlc3RTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IGE3NGI0YTY2NmYuLjY5YTRkYmQwNjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwpAQCAtMzAxLDYgKzMwMSw4IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxF
X09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19U
T1VDSF8kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNI
X2NvY29hdG91Y2ggPSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVf
T1ZFUlNDUk9MTF9FVkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVS
RV9JTl9QSUNUVVJFX0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19Q
TEFURk9STV9OQU1FKSk7CkBAIC00MjEsNCArNDIzLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05J
Q19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZ
UEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRURJVEFCTEVfUkVH
SU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJ
U1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNF
Q1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJP
VE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllf
U0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5B
QkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19U
T1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNF
UlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BS
RUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09S
S0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJ
VkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikg
JChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBM
RV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJ
Q0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRURJVEFCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9D
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVM
RU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5B
QkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIp
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURf
U1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05O
RUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikg
JChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9N
T1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElP
TlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5B
QkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395944</attachid>
            <date>2020-04-09 06:15:20 -0700</date>
            <delta_ts>2020-04-10 00:24:12 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-008-review.diff</filename>
            <type>text/plain</type>
            <size>60898</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3OTAwNzZhNzJlLi5iNmRmZTAzMDBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjAtMDQtMDggIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgIFRlc3QgZmFpbHMgb24gaU9TIGJlY2F1c2UgdGhlIEZyYW1lVmll
dyBzY3JvbGwgcG9zaXRpb24gaXMgbm8gY2xhbXBlZCwgc2VlIGJ1ZzogMTc5NzM1LgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczogVGVzdCBmYWlscyBvbiBtYWMt
d2sxIGJlY2F1c2UgdGhlIEZyYW1lVmlldyBzbW9vdGggc2Nyb2xsaW5nIGlzIG5vdCBmdW5jdGlv
bmFsLiBTZWUgYnVnOiAxOTEzNTcuCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogRW5hYmxl
IHRoZSB0ZXN0IGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHNjcm9sbGVuZCBldmVudC4KKwog
MjAyMC0wNC0wOSAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtXUEVdIEdhcmRlbmluZywgdXBkYXRlIFRlc3RFeHBlY3RhdGlvbnMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDkxNTA1MWZjMzIuLjAyYjFkZGU3YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTY1LDcgKzE2NSwxNSBAQCBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIFsgU2tp
cCBdCiBmYXN0L2hhcm5lc3MvdWlzY3JpcHRjb250cm9sbGVyIFsgU2tpcCBdCiAKICMgT25seSBp
T1MgaGFzIGFuIGltcGxlbWVudGF0aW9uIG9mIFVJU2NyaXB0Q29udHJvbGxlcjo6c2VuZEV2ZW50
U3RyZWFtKCkuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Ny
b2xsaW5nIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRtbCBbIFNr
aXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGlu
Zy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWVsZW1lbnQtd2l0aC1vdmVyc2Nyb2xsLWJlaGF2
aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1lbGVtZW50
Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBbIFNraXAg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtYWZ0ZXItc25hcC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC10by1l
bGVtZW50LXdpdGgtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC10by1zY3JvbGxlZC1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZp
cmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBdCiAKICMgVGhpcyB0ZXN0IG9ubHkgbWFrZXMgc2Vu
c2Ugb24gTWFjCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1zdWJ0aXRsZS1yZXNpemUuaHRt
bCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZl
bnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjk2NmM5ZjFhYmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
c2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50
IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlvbnMuIAorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZl
bnQgZm9yIGNoYW5naW5nIHNjcm9sbCBhdHRyaWJ1dGVzLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGlu
Zy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3Jv
bGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNDNmYjdhY2RkZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0
aWMtc2Nyb2xsLmh0bWwKQEAgLTAsMCArMSwxMzUgQEAKKzwhRE9DVFlQRSBIVE1MPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNFbmFibGVkPXRy
dWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0t
PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2Nyb2xsX3N1cHBvcnQu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBodG1sIHsKKyAgICBoZWlnaHQ6IDMwMDBweDsKKyAg
ICB3aWR0aDogMzAwMHB4OworICB9CisKKyAgI3RhcmdldERpdiB7CisgICAgd2lkdGg6IDIwMHB4
OworICAgIGhlaWdodDogMjAwcHg7CisgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgfQorCisgICNp
bm5lckRpdiB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgIH0KKzwv
c3R5bGU+CisKKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPXJ1blRlc3QoKT4KKyAgPGRp
diBpZD0idGFyZ2V0RGl2Ij4KKyAgICA8ZGl2IGlkPSJpbm5lckRpdiI+CisgICAgPC9kaXY+Cisg
IDwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyAgdmFyIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2
ZWQgPSBmYWxzZTsKKyAgdmFyIGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gZmFsc2U7CisK
KyAgZnVuY3Rpb24gb25FbGVtZW50U2Nyb2xsRW5kKGV2ZW50KSB7CisgICAgYXNzZXJ0X2ZhbHNl
KGV2ZW50LmNhbmNlbGFibGUpOworICAgIGFzc2VydF9mYWxzZShldmVudC5idWJibGVzKTsKKyAg
ICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkID0gdHJ1ZTsKKyAgfQorCisgIGZ1bmN0aW9uIG9u
RG9jdW1lbnRTY3JvbGxFbmQoZXZlbnQpIHsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2Vs
YWJsZSk7CisgICAgLy8gc2Nyb2xsZW5kIGV2ZW50cyBhcmUgYnViYmxlZCB3aGVuIHRoZSB0YXJn
ZXQgbm9kZSBpcyBkb2N1bWVudC4KKyAgICBhc3NlcnRfdHJ1ZShldmVudC5idWJibGVzKTsKKyAg
ICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7CisgIH0KKworICBmdW5jdGlvbiBj
YWxsU2Nyb2xsRnVuY3Rpb24oW3Njcm9sbFRhcmdldCwgc2Nyb2xsRnVuY3Rpb24sIGFyZ3NdKSB7
CisgICAgc2Nyb2xsVGFyZ2V0W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgfQorCisgIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgbGV0IHJvb3RfZWxlbWVudCA9IGRvY3VtZW50LnNjcm9sbGlu
Z0VsZW1lbnQ7CisgICAgbGV0IHRhcmdldF9kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0RGl2Iik7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAgIGF3
YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICB0YXJnZXRfZGl2LmFkZEV2ZW50
TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRWxlbWVudFNjcm9sbEVuZCk7CisgICAgICBkb2N1bWVu
dC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkRvY3VtZW50U2Nyb2xsRW5kKTsKKwor
ICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAgICAgIFt0YXJnZXRfZGl2LCAyMDAsIDIwMCwg
W3RhcmdldF9kaXYsICJzY3JvbGxUbyIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVoYXZpb3I6
ICJhdXRvIiB9XV0sCisgICAgICAgIFt0YXJnZXRfZGl2LCAwLCAwLCBbdGFyZ2V0X2RpdiwgInNj
cm9sbFRvIiwgeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAic21vb3RoIiB9XV0sCisgICAg
ICAgIFtyb290X2VsZW1lbnQsIDIwMCwgMjAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsVG8iLCB7
IHRvcDogMjAwLCBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAiYXV0byIgfV1dLAorICAgICAgICBbcm9v
dF9lbGVtZW50LCAwLCAwLCBbcm9vdF9lbGVtZW50LCAic2Nyb2xsVG8iLCB7IHRvcDogMCwgbGVm
dDogMCwgYmVoYXZpb3I6ICJzbW9vdGgiIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYsIDIwMCwg
MjAwLCBbdGFyZ2V0X2RpdiwgInNjcm9sbEJ5IiwgeyB0b3A6IDIwMCwgbGVmdDogMjAwLCBiZWhh
dmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgW3RhcmdldF9kaXYsIDAsIDAsIFt0YXJnZXRfZGl2
LCAic2Nyb2xsQnkiLCB7IHRvcDogLTIwMCwgbGVmdDogLTIwMCwgYmVoYXZpb3I6ICJzbW9vdGgi
IH1dXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwgMjAwLCAyMDAsIFtyb290X2VsZW1lbnQsICJz
Y3JvbGxCeSIsIHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgYmVoYXZpb3I6ICJhdXRvIiB9XV0sCisg
ICAgICAgIFtyb290X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1lbnQsICJzY3JvbGxCeSIsIHsg
dG9wOiAtMjAwLCBsZWZ0OiAtMjAwLCBiZWhhdmlvcjogInNtb290aCIgfV1dCisgICAgICBdOwor
CisgICAgICBmb3IgKGkgPSAwOyBpIDwgdGVzdF9jYXNlcy5sZW5ndGg7IGkrKykgeworICAgICAg
ICBsZXQgdCA9IHRlc3RfY2FzZXNbaV07CisgICAgICAgIGxldCB0YXJnZXQgPSB0WzBdOworICAg
ICAgICBsZXQgZXhwZWN0ZWRfeCA9IHRbMV07CisgICAgICAgIGxldCBleHBlY3RlZF95ID0gdFsy
XTsKKyAgICAgICAgbGV0IHNjcm9sbF9kYXRhcyA9IHRbM107CisKKyAgICAgICAgY2FsbFNjcm9s
bEZ1bmN0aW9uKHNjcm9sbF9kYXRhcyk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyBy
ZXR1cm4gZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJy
aXZlZDsgfSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAiIGRpZCBu
b3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgIGlmICh0YXJnZXQgPT0gcm9v
dF9lbGVtZW50KQorICAgICAgICAgIGFzc2VydF9mYWxzZShlbGVtZW50X3Njcm9sbGVuZF9hcnJp
dmVkKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGFzc2VydF9mYWxzZShkb2N1bWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9sbExlZnQs
IGV4cGVjdGVkX3gsIHRhcmdldC50YWdOYW1lICsgIi4iICsgc2Nyb2xsX2RhdGFzWzFdICsgIiBz
Y3JvbGxMZWZ0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0LnNjcm9sbFRvcCwgZXhw
ZWN0ZWRfeSwgdGFyZ2V0LnRhZ05hbWUgKyAiLiIgKyBzY3JvbGxfZGF0YXNbMV0gKyAiIHNjcm9s
bFRvcCIpOworCisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAg
ICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxzZTsKKyAgICAgIH0KKyAgICB9
LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlvbnMuIik7
CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAgIGF3YWl0IHdhaXRGb3JD
b21wb3NpdG9yQ29tbWl0KCk7CisKKyAgICAgIGxldCB0ZXN0X2Nhc2VzID0gWworICAgICAgICBb
dGFyZ2V0X2RpdiwgInNjcm9sbFRvcCJdLAorICAgICAgICBbdGFyZ2V0X2RpdiwgInNjcm9sbExl
ZnQiXSwKKyAgICAgICAgW3Jvb3RfZWxlbWVudCwgInNjcm9sbFRvcCJdLAorICAgICAgICBbcm9v
dF9lbGVtZW50LCAic2Nyb2xsTGVmdCJdCisgICAgICBdOworICAgICAgZm9yIChpID0gMDsgaSA8
IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgbGV0IHQgPSB0ZXN0X2Nhc2VzW2ld
OworICAgICAgICBsZXQgdGFyZ2V0ID0gdFswXTsKKyAgICAgICAgbGV0IGF0dHJpYnV0ZSA9IHRb
MV07CisgICAgICAgIGxldCBwb3NpdGlvbiA9IDIwMDsKKworICAgICAgICB0YXJnZXQuc3R5bGUu
c2Nyb2xsQmVoYXZpb3IgPSAic21vb3RoIjsKKyAgICAgICAgdGFyZ2V0W2F0dHJpYnV0ZV0gPSBw
b3NpdGlvbjsKKyAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBlbGVtZW50X3Nj
cm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCB0YXJnZXQu
dGFnTmFtZSArICIuIiArIGF0dHJpYnV0ZSArICIgZGlkIG5vdCByZWNlaXZlIHNjcm9sbGVuZCBl
dmVudC4iKTsKKyAgICAgICAgaWYgKHRhcmdldCA9PSByb290X2VsZW1lbnQpCisgICAgICAgICAg
YXNzZXJ0X2ZhbHNlKGVsZW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50X3Njcm9sbGVuZF9hcnJpdmVkKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyh0YXJnZXRbYXR0cmlidXRlXSwgcG9zaXRpb24sIHRhcmdldC50YWdO
YW1lICsgIi4iICsgYXR0cmlidXRlICsgIiAiKTsKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRf
YXJyaXZlZCA9IGZhbHNlOworICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZh
bHNlOworCisgICAgICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICAg
IHRhcmdldC5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICJhdXRvIjsKKyAgICAgICAgdGFyZ2V0W2F0
dHJpYnV0ZV0gPSAwOworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGVsZW1l
bnRfc2Nyb2xsZW5kX2Fycml2ZWQgfHwgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQ7IH0sIHRh
cmdldC50YWdOYW1lICsgIi4iICsgYXR0cmlidXRlICsgIiBkaWQgbm90IHJlY2VpdmUgc2Nyb2xs
ZW5kIGV2ZW50LiIpOworICAgICAgICBpZiAodGFyZ2V0ID09IHJvb3RfZWxlbWVudCkKKyAgICAg
ICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldFthdHRyaWJ1dGVdLCAwLCB0YXJnZXQudGFnTmFt
ZSArICIuIiArIGF0dHJpYnV0ZSArICIgIik7CisgICAgICAgIGVsZW1lbnRfc2Nyb2xsZW5kX2Fy
cml2ZWQgPSBmYWxzZTsKKyAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBmYWxz
ZTsKKyAgICAgIH0KKyAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFuZ2luZyBz
Y3JvbGwgYXR0cmlidXRlcy4iKTsKKyAgfQorPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNj
cm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVk
LWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMC4uYmVjNzExZmRlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACisKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJbnRvVmll
dy4gCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbEludG9WaWV3
LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9s
bEludG9WaWV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5lZGQz
OGMwZjJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKQEAgLTAsMCArMSwxMjQgQEAKKzwhRE9DVFlQRSBIVE1M
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNF
bmFibGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ9
dHJ1ZSBdIC0tPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2Nyb2xs
X3N1cHBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAgIGh0bWwgeworICAgICAgICBoZWln
aHQ6IDMwMDBweDsKKyAgICAgICAgd2lkdGg6IDMwMDBweDsKKyAgICB9CisKKyAgICAjdGFyZ2V0
RGl2IHsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAg
ICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIH0KKworICAgICNpbm5lckRpdiB7CisgICAgICAg
IHdpZHRoOiA0MDBweDsKKyAgICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICB9Cis8L3N0eWxlPgor
Cis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD1ydW5UZXN0KCk+CisgICAgPGRpdiBpZD0i
dGFyZ2V0RGl2Ij4KKyAgICAgICAgPGRpdiBpZD0iaW5uZXJEaXYiPgorICAgICAgICA8L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnRfc2Nyb2xsZW5k
X2Fycml2ZWQgPSBmYWxzZTsKKyAgICB2YXIgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQgPSBm
YWxzZTsKKworICAgIGZ1bmN0aW9uIG9uRWxlbWVudFNjcm9sbEVuZChldmVudCkgeworICAgICAg
ICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgICAgIGFzc2VydF9mYWxzZShl
dmVudC5idWJibGVzKTsKKyAgICAgICAgZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IHRydWU7
CisgICAgfQorCisgICAgZnVuY3Rpb24gb25Eb2N1bWVudFNjcm9sbEVuZChldmVudCkgeworICAg
ICAgICBhc3NlcnRfZmFsc2UoZXZlbnQuY2FuY2VsYWJsZSk7CisgICAgICAgIC8vIHNjcm9sbGVu
ZCBldmVudHMgYXJlIGJ1YmJsZWQgd2hlbiB0aGUgdGFyZ2V0IG5vZGUgaXMgZG9jdW1lbnQuCisg
ICAgICAgIGFzc2VydF90cnVlKGV2ZW50LmJ1YmJsZXMpOworICAgICAgICBkb2N1bWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCA9IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gY2FsbFNjcm9sbEZ1
bmN0aW9uKFtzY3JvbGxUYXJnZXQsIHNjcm9sbEZ1bmN0aW9uLCBhcmdzXSkgeworICAgICAgICBz
Y3JvbGxUYXJnZXRbc2Nyb2xsRnVuY3Rpb25dKGFyZ3MpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgIGxldCByb290X2VsZW1lbnQgPSBkb2N1bWVudC5zY3JvbGxp
bmdFbGVtZW50OworICAgICAgICBsZXQgdGFyZ2V0X2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXREaXYiKTsKKyAgICAgICAgbGV0IGlubmVyX2RpdiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbm5lckRpdiIpOworCisgICAgICAgIC8vIEdldCBleHBlY3RlZCBwb3NpdGlv
biBmb3Igcm9vdF9lbGVtZW50IHNjcm9sbEludG9WaWV3LgorICAgICAgICByb290X2VsZW1lbnQu
c2Nyb2xsVG8oMTAwMDAsIDEwMDAwKTsKKyAgICAgICAgbGV0IG1heF9yb290X3ggPSByb290X2Vs
ZW1lbnQuc2Nyb2xsTGVmdDsKKyAgICAgICAgbGV0IG1heF9yb290X3kgPSByb290X2VsZW1lbnQu
c2Nyb2xsVG9wOworICAgICAgICByb290X2VsZW1lbnQuc2Nyb2xsVG8oMCwgMCk7CisKKyAgICAg
ICAgdGFyZ2V0X2Rpdi5zY3JvbGxUbygxMDAwMCwgMTAwMDApOworICAgICAgICBsZXQgbWF4X2Vs
ZW1lbnRfeCA9IHRhcmdldF9kaXYuc2Nyb2xsTGVmdDsKKyAgICAgICAgbGV0IG1heF9lbGVtZW50
X3kgPSB0YXJnZXRfZGl2LnNjcm9sbFRvcDsKKyAgICAgICAgdGFyZ2V0X2Rpdi5zY3JvbGxUbygw
LCAwKTsKKworICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICAgICAgICAg
IGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgICAgICAgICB0YXJnZXRfZGl2
LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsIG9uRWxlbWVudFNjcm9sbEVuZCk7CisgICAg
ICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGxlbmQiLCBvbkRvY3VtZW50
U2Nyb2xsRW5kKTsKKworICAgICAgICAgICAgbGV0IHRlc3RfY2FzZXMgPSBbCisgICAgICAgICAg
ICAgICAgW3RhcmdldF9kaXYsIG1heF9lbGVtZW50X3gsIG1heF9lbGVtZW50X3ksIFtpbm5lcl9k
aXYsICJzY3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAiZW5kIiwgYmxvY2s6ICJlbmQiLCBiZWhh
dmlvcjogImF1dG8iIH1dXSwKKyAgICAgICAgICAgICAgICBbdGFyZ2V0X2RpdiwgMCwgMCwgW2lu
bmVyX2RpdiwgInNjcm9sbEludG9WaWV3IiwgeyBpbmxpbmU6ICJzdGFydCIsIGJsb2NrOiAic3Rh
cnQiLCBiZWhhdmlvcjogInNtb290aCIgfV1dLAorICAgICAgICAgICAgICAgIFtyb290X2VsZW1l
bnQsIG1heF9yb290X3gsIG1heF9yb290X3ksIFtyb290X2VsZW1lbnQsICJzY3JvbGxJbnRvVmll
dyIsIHsgaW5saW5lOiAiZW5kIiwgYmxvY2s6ICJlbmQiLCBiZWhhdmlvcjogInNtb290aCIgfV1d
LAorICAgICAgICAgICAgICAgIFtyb290X2VsZW1lbnQsIDAsIDAsIFtyb290X2VsZW1lbnQsICJz
Y3JvbGxJbnRvVmlldyIsIHsgaW5saW5lOiAic3RhcnQiLCBibG9jazogInN0YXJ0IiwgYmVoYXZp
b3I6ICJzbW9vdGgiIH1dXQorICAgICAgICAgICAgXTsKKworICAgICAgICAgICAgZm9yIChpID0g
MDsgaSA8IHRlc3RfY2FzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICBsZXQgdCA9
IHRlc3RfY2FzZXNbaV07CisgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRbMF07CisgICAg
ICAgICAgICAgICAgbGV0IGV4cGVjdGVkX3ggPSB0WzFdOworICAgICAgICAgICAgICAgIGxldCBl
eHBlY3RlZF95ID0gdFsyXTsKKyAgICAgICAgICAgICAgICBsZXQgc2Nyb2xsX2RhdGFzID0gdFsz
XTsKKworICAgICAgICAgICAgICAgIGNhbGxTY3JvbGxGdW5jdGlvbihzY3JvbGxfZGF0YXMpOwor
ICAgICAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gZWxlbWVudF9zY3Jv
bGxlbmRfYXJyaXZlZCB8fCBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZDsgfSwgdGFyZ2V0LnRh
Z05hbWUgKyAiLnNjcm9sbEludG9WaWV3ICBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50
LiIpOworICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgPT0gcm9vdF9lbGVtZW50KQorICAgICAg
ICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudF9zY3JvbGxlbmRfYXJyaXZlZCk7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9j
dW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
dGFyZ2V0LnNjcm9sbExlZnQsIGV4cGVjdGVkX3gsIHRhcmdldC50YWdOYW1lICsgIi5zY3JvbGxJ
bnRvVmlldyBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJn
ZXQuc2Nyb2xsVG9wLCBleHBlY3RlZF95LCB0YXJnZXQudGFnTmFtZSArICIuc2Nyb2xsSW50b1Zp
ZXcgc2Nyb2xsVG9wIik7CisKKyAgICAgICAgICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJp
dmVkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZG9jdW1lbnRfc2Nyb2xsZW5kX2Fycml2ZWQg
PSBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwgIlRlc3RzIHNjcm9sbGVuZCBldmVu
dCBmb3Igc2Nyb2xsSW50b1ZpZXcuIik7CisKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0
KSA9PiB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRhcmdldF9kaXYp
OworICAgICAgICAgICAgbGV0IG91dF9kaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKKyAgICAgICAgICAgIG91dF9kaXYuc3R5bGUgPSAid2lkdGg6IDEwMHB4OyBoZWlnaHQ6MTAw
cHg7IG92ZXJmbG93OnNjcm9sbDsgc2Nyb2xsLWJlaGF2aW9yOnNtb290aDsiOworICAgICAgICAg
ICAgb3V0X2Rpdi5hcHBlbmRDaGlsZCh0YXJnZXRfZGl2KTsKKyAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQob3V0X2Rpdik7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQ29t
cG9zaXRvckNvbW1pdCgpOworCisgICAgICAgICAgICBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVk
ID0gZmFsc2U7CisgICAgICAgICAgICBkb2N1bWVudF9zY3JvbGxlbmRfYXJyaXZlZCA9IGZhbHNl
OworICAgICAgICAgICAgaW5uZXJfZGl2LnNjcm9sbEludG9WaWV3KHsgaW5saW5lOiAiZW5kIiwg
YmxvY2s6ICJlbmQiLCBiZWhhdmlvcjogImF1dG8iIH0pOworICAgICAgICAgICAgYXdhaXQgd2Fp
dEZvcigoKSA9PiB7IHJldHVybiBlbGVtZW50X3Njcm9sbGVuZF9hcnJpdmVkIHx8IGRvY3VtZW50
X3Njcm9sbGVuZF9hcnJpdmVkOyB9LCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IGRpZCBub3QgcmVj
ZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJvb3Rf
ZWxlbWVudC5zY3JvbGxMZWZ0LCAwLCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHJvb3RfZWxlbWVu
dCBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJvb3RfZWxlbWVudC5z
Y3JvbGxUb3AsIDAsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgcm9vdF9lbGVtZW50IHNjcm9sbFRv
cCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhvdXRfZGl2LnNjcm9sbExlZnQsIDEwMCwg
Ik5lc3RlZCBzY3JvbGxJbnRvVmlldyBvdXRfZGl2IHNjcm9sbExlZnQiKTsKKyAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMob3V0X2Rpdi5zY3JvbGxUb3AsIDEwMCwgIk5lc3RlZCBzY3JvbGxJbnRv
VmlldyBvdXRfZGl2IHNjcm9sbFRvcCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJn
ZXRfZGl2LnNjcm9sbExlZnQsIG1heF9lbGVtZW50X3gsICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcg
dGFyZ2V0X2RpdiBzY3JvbGxMZWZ0Iik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdl
dF9kaXYuc2Nyb2xsVG9wLCBtYXhfZWxlbWVudF95LCAiTmVzdGVkIHNjcm9sbEludG9WaWV3IHRh
cmdldF9kaXYgc2Nyb2xsVG9wIik7CisgICAgICAgICAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnRf
c2Nyb2xsZW5kX2Fycml2ZWQpOworICAgICAgICB9LCAiVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZv
ciBuZXN0ZWQgc2Nyb2xsSW50b1ZpZXcuIik7CisgICAgfQorPC9zY3JpcHQ+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xs
ZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi40YWJhYTZh
MjMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CisKK0ZBSUwgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJbnRvVmlldy4gYXNzZXJ0
X2VxdWFsczogSFRNTC5zY3JvbGxJbnRvVmlldyBzY3JvbGxMZWZ0IGV4cGVjdGVkIDEwMDAwIGJ1
dCBnb3QgMjIwMAorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3RlZCBzY3JvbGxJ
bnRvVmlldy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCAwZTA3NDc5ZjdmLi44NTUxNzc4Zjg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC03NTUsNiArNzU1LDggQEAgd2Via2l0
Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12
aWV3L3Njcm9sbC1iZWhhdmkKIHdlYmtpdC5vcmcvYi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGwtYmVoYXZpb3ItbWFpbi1mcmFtZS13
aW5kb3cuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1zdWJmcmFtZS1y
b290Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGwtYmVoYXZpb3Itc3ViZnJhbWUtd2lu
ZG93Lmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE5MTM1
NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXcuaHRtbCBbIFNraXAgXQogCiB3
ZWJraXQub3JnL2IvMTg5OTA4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlX3RpbWluZy53b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggMjkwMjgwOWIyMi4uZjIxMjg5ZDkzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDky
IEBACisyMDIwLTA0LTA4ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2ZW50IG9mIHByb2dyYW1tYXRpYyBz
Y3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwOTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
Zy4gbV9wZW5kaW5nU2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0IGluIERvY3VtZW50IHN0b3Jlcwor
ICAgICAgICB0aGUgc2Nyb2xsZWQgdGFyZ2V0cyB3aGljaCBuZWVkIHRvIGRpc3BhdGNoIHNjcm9s
bGVuZCBldmVudHMuIEZyYW1lVmlldyBhbmQgUmVuZGVyTGF5ZXIgcHJvdmlkZSB0aHJlZSB3YXlz
IHRvCisgICAgICAgIGFkZCBlbGVtZW50cyB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuICAgICAKKyAg
ICAgICAgMS4gSW5zdGFudCBzY3JvbGxpbmcgaW5jbHVkaW5nIHRoZSBzY3JvbGxpbmcgcG9zaXRp
b24gbm90IGNoYW5nZWQgYW5pbWF0ZWQgc2Nyb2xsLCB0aGUgZWxlbWVudCB3b3VsZCBhZGQgdG8g
dGhlIGxpc3QKKyAgICAgICAgYWZ0ZXIgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuCisgICAgICAg
IDIuIEFuaW1hdGVkIHNjcm9sbGluZywgdGhlIGVsZW1lbnQgd291bGQgYmUgc2V0IGFzIHRoZSBt
X3Njcm9sbEVuZEV2ZW50VGFyZ2V0IG9mIFNjcm9sbEFuaW1hdGlvbiBhbmQgYWRkIHRvIHRoZSBs
aXN0CisgICAgICAgIHdoZW4gYW5pbWF0aW9uIHN0b3BzLiBGb3Igc2Nyb2xsUmVjdEludG9WaWV3
LCBpbiBvcmRlciB0byBtYWtlIHN1cmUgc2Nyb2xsZW5kIGV2ZW50IGZpcmVkIGFmdGVyIGFsbCBh
bmNlc3RvciBsYXllcnMKKyAgICAgICAgZmluaXNoaW5nIHNjcm9sbGluZywgYWRkIG1fZHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3IHRvIGluZGljYXRlIGlmIHNjcm9sbFJlY3RJbnRvVmlldyBmaW5p
c2hlZC4gV2hlbiBTY3JvbGxBbmltYXRpb24KKyAgICAgICAgc3RvcHMsIGl0IHdpbGwgdHJ5IHRv
IGZpbmQgYSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5jZXN0b3IgbGF5ZXIgYW5kIHBhc3Mg
dGhlIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgdG8gaXRzCisgICAgICAgIFNjcm9sbEFuaW1hdGlv
bi4gSWYgbm8gc3VjaCBsYXllciBmb3VuZCwgYWRkIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgdG8g
dGhlIHNjcm9sbGVuZCBsaXN0LgorICAgICAgICAzLiBVc2VyIGFzeW5jaHJvbm91cyBzY3JvbGxp
bmcsIHRoZSBzY3JvbGwgcG9zaXRpb24gd291bGRuJ3QgY2hhbmdlIGltbWVkaWF0ZWx5LiBTbyBz
YXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbgorICAgICAgICB0aGVuIGNoZWNrU2Nyb2xsRW5kRXZl
bnRQb3NpdGlvbiBpZiBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4gVGhlIHByb2dyYW1tYXRpYyBz
Y3JvbGxpbmcgd291bGRuJ3QgdHJpZ2dlciB0aGlzIHdheS4KKworICAgICAgICBUZXN0OiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sCisgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sCisKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbW1vblRlYXJk
b3duKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZl
bnRUYXJnZXQpOiBBcHBlbmQgdGhlIHRhcmdldHMgdG8gbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRU
YXJnZXRMaXN0LgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJ1blNjcm9sbFN0ZXBzKTog
RGlzcGF0Y2ggc2Nyb2xsZW5kIGV2ZW50IGZvciBlYWNoIHRhcmdldC4KKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDogQWRkIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCB3aGljaCBr
ZWVwcyB0aGUgc2Nyb2xsZW5kIGV2ZW50IHRhcmdldHMuCisgICAgICAgICogZG9tL0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsTGVmdCk6IFNldCBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcyBmb3IgRnJhbWVWaWV3IGVsZW1lbnQuCisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpzZXRTY3JvbGxUb3ApOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbFRvIGNvbnN0
KTogQWRkIGRvY3VtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBmb3Igc2Nyb2xsaW5nIHRvICgw
LCAwKSBvcHRpbWl6YXRpb24uCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6IEFkZCBkb2N1bWVudCB0
byB0aGUgc2Nyb2xsZW5kIGxpc3QgaWYgaXQgc2Nyb2xsZWQoaW5zdGFudCBzY3JvbGwgb3Igc21v
b3RoIHNjcm9sbAorICAgICAgICB3aXRob3V0IGNoYW5naW5nIHRoZSBwb3NpdGlvbiwgb3RoZXJ3
aXNlIHNldCBkb2N1bWVudCBhcyB0aGUgc2Nyb2xsRW5kVGFyZ2V0IG9mIHNjcm9sbEFuaWFtdGlv
bi4pLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbik6IFNhdmUgdGhlIHNjcm9sbCBwb3NpdGlvbiB0aGF0IHJlcXVpcmVzIHRvIGZpcmUgYW4g
c2Nyb2xsZW5kIGV2ZW50LiBUaGlzIGlzIGZvciBhc3luY2hyb25vdXMgc2Nyb2xsLgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24pOiBBZGQg
ZG9jdW1lbnQgdG8gdGhlIGxpc3QgaWYgdGhlIHNjcm9sbCBwb3NpdGlvbiBlcXVhbCB0byB0aGUg
cHJlc2VydmVkIG9uZS4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YWRkUGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0KTogQWRkIERvY3VtZW50IHRvIG1fcGVuZGluZ1Njcm9sbGVuZEV2
ZW50VGFyZ2V0TGlzdCBpbiBEb2N1bWVudC4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOiBB
ZGQgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5kaWNhdGUgRnJhbWVWaWV3IGlzIHBl
cmZvcm1pbmcgYSBhbmltYXRlZCBzY3JvbGxSZWN0SW50b1ZpZXcgc2Nyb2xsLgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0aW9uOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFu
aW1hdGlvblNtb290aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRpb25TbW9v
dGg6OnN0b3ApOiBDYWxsIG5vdGlmeVNjcm9sbEVuZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdGlvblNtb290aDo6bm90aWZ5U2Nyb2xsRW5kKTogc2V0RHVyaW5nU2Nyb2xsUmVjdElu
dG9WaWV3IGZhbHNlLiBJZiB0aGVyZSdzIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQsIHRyeSB0byBm
aW5kIGFuIGFuY2VzdG9yIGxheWVyCisgICAgICAgIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBh
bmQgc2V0IHRoZSB0YXJnZXQgdG8gaXQuIE90aGVyd2lzZSwgYWRkIHRoZSB0YXJnZXQgdG8gdGhl
IHNjcm9sbGVuZCBsaXN0LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKTogQ2FsbCBub3RpZnlTY3JvbGxFbmQgaWYgbm90
IGNvbnRpbnVlQW5pbWF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNt
b290aC5oOiBBZGQgbV9zY3JvbGxFbmRFdmVudFRhcmdldC4KKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6c2V0
U2Nyb2xsRW5kVGFyZ2V0KTogU2V0IG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgdG8gU2Nyb2xsQW5p
bWF0aW9uU21vb3RoLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24pOiBBZGQgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpZZXMuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxUbyk6IENh
bGwgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uIGlmIHRoZSBzY3JvbGwgcG9zaXRpb24gY2hh
bmdlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNldFNj
cm9sbEVuZFRhcmdldCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6Y2hlY2tTY3JvbGxFbmRFdmVu
dFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjphZGRQZW5kaW5n
U2Nyb2xsRW5kRXZlbnRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OmR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxl
QXJlYTo6c2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGFibGVBcmVhOjpmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94OjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG9ZUG9zaXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIGVsZW1l
bnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGlmIGl0IHNjcm9sbGVkKGluc3RhbnQgc2Nyb2xsIG9y
IHNtb290aCBzY3JvbGwKKyAgICAgICAgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zaXRpb24sIG90
aGVyd2lzZSBzZXQgZWxlbWVudCBhcyB0aGUgc2Nyb2xsRW5kVGFyZ2V0IG9mIHNjcm9sbEFuaWFt
dGlvbi4pLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQp
OiBDYWxsIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbiwgaWYgdGhlcmUgaXMgbm8gc2Nyb2xs
aW5nLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKTogY2hlY2tTY3Jv
bGxFbmRFdmVudFBvc2l0aW9uIGlmIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUpOiBzZXREdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcodHJ1ZSkgaWYgaXQncyBwZXJmb3JtaW5nIGEgYW5pbWF0ZWQgc2Nyb2xs
aW5nLgorICAgICAgICBBZnRlciBwYXJlbnRMYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZSgpLCBj
aGVjayBpZiBjdXJyZW50IGxheWVyIGlzIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldywgc2V0IHRo
ZSBlbGVtZW50IGFzIGFuaW1hdGlvbidzIHNjcm9sbGVuZCBUYXJnZXQuCisgICAgICAgIE90aGVy
d2lzZSwgZmluZCB0aGUgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGFuY2VzdG9yIGxheWVyIGFu
ZCBwYXNzIHRoZSBlbGVtZW50IHRvIGFuY2VzdG9yIGxheWVyJ3Mgc2Nyb2xsQW5pbWF0aW9uLgor
ICAgICAgICBJZiBubyBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgbGF5ZXIgZm91bmQsIGFkZCB0
aGUgZWxlbWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllcjo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcpOiBGaW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5jZXN0b3IgbGF5ZXIs
IGFuZCBjaGVjayBGcmFtZVZpZXcgYXQgdGhlIGVuZC4gCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNjcm9sbFJlY3RUb1Zpc2libGUpOiBBZGQgUmVx
dWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMuCisKIDIwMjAtMDMtMDkgIENhdGhpZSBDaGVuICA8Y2F0
aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xs
IGV2ZW50cyBwYXJzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBjNDA4OGNmZTI0Li5k
ZWUwNGM4Zjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTc5OSw2ICs3OTksMTAgQEAg
dm9pZCBEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24oKQogCiAgICAgbV9wZW5kaW5nU2Nyb2xsRXZl
bnRUYXJnZXRMaXN0ID0gbnVsbHB0cjsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QgPSBudWxscHRyOworI2VuZGlm
CisKICAgICB3aGlsZSAoIW1fdGltZWxpbmVzLmNvbXB1dGVzRW1wdHkoKSkKICAgICAgICAgbV90
aW1lbGluZXMuYmVnaW4oKS0+ZGV0YWNoRnJvbURvY3VtZW50KCk7CiAgICAgbV90aW1lbGluZSA9
IG51bGxwdHI7CkBAIC00MDcyLDYgKzQwNzYsMjYgQEAgdm9pZCBEb2N1bWVudDo6YWRkUGVuZGlu
Z1Njcm9sbEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmIHRhcmdldCkKICAgICB0YXJnZXRzLmFw
cGVuZCh0YXJnZXQpOwogfQogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBE
b2N1bWVudDo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmIHRh
cmdldCkKK3sKKyAgICBpZiAoIXNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dExpc3QpCisgICAgICAgIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG1ha2VV
bmlxdWU8UGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdD4oKTsKKworICAgIGF1dG8mIHRhcmdl
dHMgPSBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QtPnRhcmdldHM7CisgICAgaWYg
KHRhcmdldHMuZmluZE1hdGNoaW5nKFsmXSAoYXV0byYgZW50cnkpIHsgcmV0dXJuIGVudHJ5LnB0
cigpID09ICZ0YXJnZXQ7IH0pICE9IG5vdEZvdW5kKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAodGFyZ2V0cy5pc0VtcHR5KCkpCisgICAgICAgIHNjaGVkdWxlVGltZWRSZW5kZXJpbmdVcGRh
dGUoKTsKKworICAgIHRhcmdldHMuYXBwZW5kKHRhcmdldCk7Cit9CisjZW5kaWYKKwogdm9pZCBE
b2N1bWVudDo6c2V0TmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2ZW50KCkKIHsKICAgICBpZiAo
IW1fbmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2ZW50KQpAQCAtNDA5Nyw2ICs0MTIxLDE4IEBA
IHZvaWQgRG9jdW1lbnQ6OnJ1blNjcm9sbFN0ZXBzKCkKICAgICAgICAgaWYgKGF1dG8qIHdpbmRv
dyA9IGRvbVdpbmRvdygpKQogICAgICAgICAgICAgd2luZG93LT52aXN1YWxWaWV3cG9ydCgpLmRp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc2Nyb2xsRXZlbnQsIEV2ZW50
OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogICAgIH0KKworI2lm
IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAvLyBEZWFsIHdpdGggc2Nyb2xsZW5kIGV2
ZW50LgorICAgIGlmIChtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QgJiYgIW1fcGVu
ZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0cy5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgTE9HX1dJVEhfU1RSRUFNKEV2ZW50cywgc3RyZWFtIDw8ICJEb2N1bWVudCIgPDwgdGhpcyA8
PCAic2VuZGluZyBzY3JvbGxlbmQgZXZlbnRzIHRvIHBlbmRpbmcgc2Nyb2xsIGV2ZW50IHRhcmdl
dHMiKTsKKyAgICAgICAgYXV0byBjdXJyZW50U2Nyb2xsRW5kVGFyZ2V0cyA9IFdURk1vdmUobV9w
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzKTsKKyAgICAgICAgZm9yIChh
dXRvJiB0YXJnZXQgOiBjdXJyZW50U2Nyb2xsRW5kVGFyZ2V0cykgeworICAgICAgICAgICAgYXV0
byBidWJibGVzID0gdGFyZ2V0LT5pc0RvY3VtZW50Tm9kZSgpID8gRXZlbnQ6OkNhbkJ1YmJsZTo6
WWVzIDogRXZlbnQ6OkNhbkJ1YmJsZTo6Tm87CisgICAgICAgICAgICB0YXJnZXQtPmRpc3BhdGNo
RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc2Nyb2xsZW5kRXZlbnQsIGJ1YmJsZXMs
IEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKIH0K
IAogdm9pZCBEb2N1bWVudDo6YWRkQXVkaW9Qcm9kdWNlcihNZWRpYVByb2R1Y2VyJiBhdWRpb1By
b2R1Y2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAzNGZkMDBlMTViLi41ZDc5MjA3OWZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTM2NSw2ICsxMzY1LDkgQEAgcHVibGljOgogICAgIHZv
aWQgcnVuUmVzaXplU3RlcHMoKTsKIAogICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbEV2ZW50VGFy
Z2V0KENvbnRhaW5lck5vZGUmKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
dm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYpOworI2Vu
ZGlmCiAgICAgdm9pZCBzZXROZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQoKTsKICAgICB2
b2lkIHJ1blNjcm9sbFN0ZXBzKCk7CiAKQEAgLTIwNTEsNiArMjA1NCw5IEBAIHByaXZhdGU6CiAK
ICAgICBzdHJ1Y3QgUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdDsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdD4gbV9wZW5kaW5nU2Nyb2xsRXZlbnRU
YXJnZXRMaXN0OworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdD4gbV9wZW5kaW5nU2Nyb2xsRW5kRXZl
bnRUYXJnZXRMaXN0OworI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIEhh
c2hTZXQ8SFRNTE1lZGlhRWxlbWVudCo+IG1fbWVkaWFTdHJlYW1TdGF0ZUNoYW5nZUVsZW1lbnRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGJjMjA0MzU0ODEuLjFhZTM5ODBmOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyOTUsNyArMTI5NSwxMSBAQCB2b2lkIEVsZW1lbnQ6OnNl
dFNjcm9sbExlZnQoaW50IG5ld0xlZnQpCiAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQogICAgICAgICAgICAgQW5pbWF0ZWRT
Y3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8s
IGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFu
aW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9uKHN0YXRpY19j
YXN0PGludD4obmV3TGVmdCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1l
U2NhbGVGYWN0b3IoKSksIGZyYW1lLT52aWV3KCktPnNjcm9sbFkoKSk7CisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9z
aXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCwgUmVxdWVz
dFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICAgICAgICAgIGZyYW1lLT52aWV3KCkt
PnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5p
bWF0ZWQpOworI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTEz
MTksNyArMTMyMywxMSBAQCB2b2lkIEVsZW1lbnQ6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wKQog
ICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDUwNTkKICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3Ro
U2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVu
dCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAgICAgICAg
ICAgICBJbnRQb2ludCBwb3NpdGlvbihmcmFtZS0+dmlldygpLT5zY3JvbGxYKCksIHN0YXRpY19j
YXN0PGludD4obmV3VG9wICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBmcmFtZS0+ZnJhbWVT
Y2FsZUZhY3RvcigpKSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAg
ICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vs
c2UKICAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9u
LCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2VuZGlmCiAgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCAw
OWFhYjZiMjNkLi42MmZkZTZlN2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0x
Njc5LDggKzE2NzksMTUgQEAgdm9pZCBET01XaW5kb3c6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRv
T3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcKIAogICAgIC8vIFRoaXMg
aXMgYW4gb3B0aW1pemF0aW9uIGZvciB0aGUgY29tbW9uIGNhc2Ugb2Ygc2Nyb2xsaW5nIHRvICgw
LCAwKSB3aGVuIHRoZSBzY3JvbGxlciBpcyBhbHJlYWR5IGF0IHRoZSBvcmlnaW4uCiAgICAgLy8g
SWYgYW4gYW5pbWF0ZWQgc2Nyb2xsIGlzIGluIHByb2dyZXNzLCB0aGlzIG9wdGltaXphdGlvbiBp
cyBza2lwcGVkIHRvIGVuc3VyZSB0aGF0IHRoZSBhbmltYXRlZCBzY3JvbGwgaXMgcmVhbGx5IHN0
b3BwZWQuCi0gICAgaWYgKHZpZXctPmN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNj
cm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbiAmJiAhc2Nyb2xsVG9PcHRpb25zLmxl
ZnQudmFsdWUoKSAmJiAhc2Nyb2xsVG9PcHRpb25zLnRvcC52YWx1ZSgpICYmIHZpZXctPmNvbnRl
bnRzU2Nyb2xsUG9zaXRpb24oKSA9PSBJbnRQb2ludCgwLCAwKSkKKyAgICBpZiAodmlldy0+Y3Vy
cmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdElu
QW5pbWF0aW9uCisgICAgICAgICYmICFzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpCisgICAg
ICAgICYmICFzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkKKyAgICAgICAgJiYgdmlldy0+Y29u
dGVudHNTY3JvbGxQb3NpdGlvbigpID09IEludFBvaW50KDAsIDApKSB7CisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgICAgICB2aWV3LT5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRU
YXJnZXQoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgZG9jdW1lbnQo
KS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAppbmRleCBkNTQ2NGEzN2VjLi4xNDFiODJjOTVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCkBAIC0yMjgyLDcgKzIyODIsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Ny
b2xsRWxlbWVudFRvUmVjdChjb25zdCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBJbnRSZWN0JiBy
ZWN0KQogICAgIHNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KGJvdW5kcy54KCkgLSBjZW50ZXJp
bmdPZmZzZXRYIC0gcmVjdC54KCksIGJvdW5kcy55KCkgLSBjZW50ZXJpbmdPZmZzZXRZIC0gcmVj
dC55KCkpKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFu
aW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVx
dWVzdFNjcm9sbEVuZEV2ZW50KQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0
cmVhbSA8PCAiRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9u
IDw8ICIgLCBjbGVhcmluZyBhbmNob3IiKTsKIApAQCAtMjI5NSwxMCArMjI5NSwyMSBAQCB2b2lk
IEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9s
bFBvc2l0aW9uLCBTY3JvbGxDbAogICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKTsKICAg
ICBpZiAocGFnZSAmJiBwYWdlLT5pc01vbml0b3JpbmdXaGVlbEV2ZW50cygpKQogICAgICAgICBz
Y3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihwYWdlLT53aGVlbEV2ZW50
VGVzdE1vbml0b3IoKSk7CisKKyAgICBTY3JvbGxQb3NpdGlvbiBuZXdTY3JvbGxQb3NpdGlvbiA9
ICghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgJiYgY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNs
YW1wZWQpID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShzY3JvbGxQb3NpdGlvbikg
OiBzY3JvbGxQb3NpdGlvbjsKICAgICBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6Olll
cykKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9sbE9mZnNldEZyb21Q
b3NpdGlvbihzY3JvbGxQb3NpdGlvbiksIGN1cnJlbnRTY3JvbGxUeXBlKCksIGNsYW1waW5nKTsK
KyAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9sbE9mZnNldEZyb21Qb3Np
dGlvbihuZXdTY3JvbGxQb3NpdGlvbiksIGN1cnJlbnRTY3JvbGxUeXBlKCksIGNsYW1waW5nKTsK
ICAgICBlbHNlCi0gICAgICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBv
c2l0aW9uLCBjbGFtcGluZyk7CisgICAgICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9u
KG5ld1Njcm9sbFBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQsIHJlcXVlc3RTY3JvbGxFbmRF
dmVudCk7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKGZyYW1lKCku
c2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYmIHJlcXVlc3RTY3JvbGxFbmRF
dmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICBpZiAobmV3U2Ny
b2xsUG9zaXRpb24gPT0gU2Nyb2xsVmlldzo6c2Nyb2xsUG9zaXRpb24oKSkKKyAgICAgICAgICAg
IGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworICAgICAgICBlbHNlIGlmIChhbmlt
YXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICAgICAgc2V0U2Nyb2xsRW5kVGFy
Z2V0KG1ha2VXZWFrUHRyKGZyYW1lKCkuZG9jdW1lbnQoKSkpOworICAgIH0KKyNlbmRpZgogCiAg
ICAgc2V0Q3VycmVudFNjcm9sbFR5cGUob2xkU2Nyb2xsVHlwZSk7CiB9CkBAIC0zNzM1LDYgKzM3
NDYsMzIgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihjb25z
dCBTY3JvbGxPZmZzZXQmIG9mZnNldCwgU2Nyb2xsVHkKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlw
ZShwcmV2aW91c1Njcm9sbFR5cGUpOwogfQogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQordm9pZCBGcmFtZVZpZXc6OnNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit7CisgICAgaWYg
KCFmcmFtZSgpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgU2Nyb2xsUG9zaXRpb24gY2xhbXBlZFNjcm9sbFBvc2l0aW9uID0gY2xh
bXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldp
dGhpblJhbmdlKHBvc2l0aW9uKSA6IHBvc2l0aW9uOworICAgIG1fZmlyZVNjcm9sbEVuZEV2ZW50
QXRQb3NpdGlvbiA9IGNsYW1wZWRTY3JvbGxQb3NpdGlvbjsKK30KKwordm9pZCBGcmFtZVZpZXc6
OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRp
b24pCit7CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gfHwgbV9maXJl
U2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRpb24pCisgICAgICAgIHJl
dHVybjsKKworICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworICAgIG1fZmly
ZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbiA9IFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBGcmFt
ZVZpZXc6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpCit7CisgICAgaWYgKERvY3Vt
ZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPmFk
ZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqZG9jdW1lbnQpOworfQorI2VuZGlmCisKIGZs
b2F0IEZyYW1lVmlldzo6YWRqdXN0U2Nyb2xsU3RlcEZvckZpeGVkQ29udGVudChmbG9hdCBzdGVw
LCBTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3Jh
bnVsYXJpdHkpCiB7CiAgICAgaWYgKGdyYW51bGFyaXR5ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmll
bnRhdGlvbiA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5k
ZXggMGEwZDBhMjAzYS4uYmUyOWE4NTNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0y
MzAsNyArMjMwLDcgQEAgcHVibGljOgogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IElu
dFJlY3QmKSBmaW5hbDsKICNlbmRpZgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xs
UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObykgZmlu
YWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFu
aW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQg
PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKSBmaW5hbDsKICAgICB2b2lkIHJlc3RvcmVTY3Jv
bGxiYXIoKTsKICAgICB2b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChTZWxlY3Rp
b25SZXZlYWxNb2RlKTsKICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVs
eUlmTmVlZGVkKCk7CkBAIC02NjcsNiArNjY3LDE0IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBk
ZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QgZmluYWw7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQ
b3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFs
OworICAgIHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJikgZmluYWw7CisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBm
aW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJu
IG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3Jv
bGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmlu
YWw7CkBAIC05MDcsNiArOTE1LDEwIEBAIHByaXZhdGU6CiAKICAgICBQYWdpbmF0aW9uIG1fcGFn
aW5hdGlvbjsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25hbDxT
Y3JvbGxQb3NpdGlvbj4gbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlmCisK
ICAgICBlbnVtIGNsYXNzIFZpZXdwb3J0UmVuZGVyZXJUeXBlIDogdWludDhfdCB7IE5vbmUsIERv
Y3VtZW50LCBCb2R5IH07CiAgICAgVmlld3BvcnRSZW5kZXJlclR5cGUgbV92aWV3cG9ydFJlbmRl
cmVyVHlwZSB7IFZpZXdwb3J0UmVuZGVyZXJUeXBlOjpOb25lIH07CiAgICAgU2Nyb2xsUGlubmlu
Z0JlaGF2aW9yIG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yIHsgRG9Ob3RQaW4gfTsKQEAgLTk1Miw2
ICs5NjQsMTAgQEAgcHJpdmF0ZToKICAgICAvLyBUcnVlIGlmIGF1dG9zaXplIGhhcyBiZWVuIHJ1
biBzaW5jZSBtX3Nob3VsZEF1dG9TaXplIHdhcyBzZXQuCiAgICAgYm9vbCBtX2RpZFJ1bkF1dG9z
aXplIHsgZmFsc2UgfTsKICAgICBib29sIG1faW5VcGRhdGVFbWJlZGRlZE9iamVjdHMgeyBmYWxz
ZSB9OworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wgbV9kdXJpbmdT
Y3JvbGxSZWN0SW50b1ZpZXcgeyBmYWxzZSB9OworI2VuZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBG
cmFtZVZpZXc6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KGNvbnN0IEludFNp
emUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvbi5oCmluZGV4
IDUyM2E3N2YzMzUuLmRiNTNmMWRmN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvbi5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFNjcm9sbEFuaW1hdGlvbl9o
CiAjZGVmaW5lIFNjcm9sbEFuaW1hdGlvbl9oCiAKKyNpbmNsdWRlICJDb250YWluZXJOb2RlLmgi
CiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQs
NiArNDUsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVZpc2libGVMZW5ndGhz
KCkgeyB9OwogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJyZW50UG9zaXRpb24oY29uc3QgRmxvYXRQ
b2ludCYpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2VydmljZUFuaW1hdGlvbigpIHsgfTsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbEVu
ZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+KSB7IH07CisjZW5kaWYKIAogcHJvdGVjdGVk
OgogICAgIFNjcm9sbEFuaW1hdGlvbihTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGgu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApp
bmRleCAyY2E1NzhhMzBmLi40NGU4OGFiMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKQEAgLTI4LDcgKzI4LDEwIEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgiCiAKKyNp
bmNsdWRlICJDb250YWluZXJOb2RlLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJGbG9hdFBvaW50LmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJTY3Jv
bGxhYmxlQXJlYS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04MCwxMCArODMsMzkgQEAg
dm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnNjcm9sbChjb25zdCBGbG9hdFBvaW50JiBwb3Np
dGlvbikKIAogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0b3AoKQogeworI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgp
KQorICAgICAgICBub3RpZnlTY3JvbGxFbmQoKTsKKyNlbmRpZgorCiAgICAgbV9hbmltYXRpb25U
aW1lci5zdG9wKCk7CiAgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXRTY3JvbGxCZWhhdmlvclN0YXR1
cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwogfQogCisjaWYgRU5BQkxF
KE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6Om5vdGlmeVNj
cm9sbEVuZCgpCit7CisgICAgaWYgKCFtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0KSB7CisgICAgICAg
IG1fc2Nyb2xsYWJsZUFyZWEuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGZhbHNlKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGR1cmluZ1Njcm9sbGluZ1BhcmVudExh
eWVyID0gbV9zY3JvbGxhYmxlQXJlYS5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSA/IG1fc2Ny
b2xsYWJsZUFyZWEuZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgOiBudWxs
cHRyOworICAgIGlmIChkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllcikKKyAgICAgICAgZHVyaW5n
U2Nyb2xsaW5nUGFyZW50TGF5ZXItPnNldFNjcm9sbEVuZFRhcmdldChtX3Njcm9sbEVuZEV2ZW50
VGFyZ2V0KTsKKyAgICBlbHNlCisgICAgICAgIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQtPmRvY3Vt
ZW50KCkuYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCptX3Njcm9sbEVuZEV2ZW50VGFy
Z2V0KTsKKworICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
KGZhbHNlKTsKKyAgICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0ID0gbnVsbHB0cjsKK30KKwordm9p
ZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRh
aW5lck5vZGU+IHRhcmdldCkKK3sKKyAgICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0ID0gdGFyZ2V0
OworfQorI2VuZGlmCisKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjp1cGRhdGVWaXNpYmxl
TGVuZ3RocygpCiB7CiAgICAgbV9ob3Jpem9udGFsRGF0YS52aXNpYmxlTGVuZ3RoID0gbV9zY3Jv
bGxhYmxlQXJlYS52aXNpYmxlV2lkdGgoKTsKQEAgLTQxMCw4ICs0NDIsMTIgQEAgdm9pZCBTY3Jv
bGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogCiAgICAgaWYgKGNvbnRp
bnVlQW5pbWF0aW9uKQogICAgICAgICBzdGFydE5leHRUaW1lcihzdGQ6Om1heChtaW5pbXVtVGlt
ZXJJbnRlcnZhbCwgZGVsdGFUb05leHRGcmFtZSkpOwotICAgIGVsc2UKKyAgICBlbHNlIHsKICAg
ICAgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhh
dmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKKyAgICB9CiAKICAgICBtX25v
dGlmeVBvc2l0aW9uQ2hhbmdlZEZ1bmN0aW9uKEZsb2F0UG9pbnQobV9ob3Jpem9udGFsRGF0YS5j
dXJyZW50UG9zaXRpb24sIG1fdmVydGljYWxEYXRhLmN1cnJlbnRQb3NpdGlvbikpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaAppbmRleCA4
MTczZmE3ZTIwLi4xODRjZmFkMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRpb25TbW9vdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRpb25TbW9vdGguaApAQCAtMzEsNiArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3Mg
U2Nyb2xsYWJsZUFyZWE7CiBlbnVtIGNsYXNzIFNjcm9sbENsYW1waW5nIDogdWludDhfdDsKQEAg
LTQ4LDEwICs0OSwxNiBAQCBwdWJsaWM6CiAgICAgICAgIEJvdW5jZQogICAgIH07CiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vh
a1B0cjxDb250YWluZXJOb2RlPikgb3ZlcnJpZGU7CisjZW5kaWYKIHByaXZhdGU6CiAgICAgYm9v
bCBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBz
dGVwLCBmbG9hdCBtdWx0aXBsaWVyKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbChjb25zdCBG
bG9hdFBvaW50Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5k
aWYKICAgICB2b2lkIHVwZGF0ZVZpc2libGVMZW5ndGhzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
ZXRDdXJyZW50UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogCkBAIC0xMDQs
NiArMTExLDkgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAg
ICAgVGltZXIgbV9hbmltYXRpb25UaW1lcjsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgV2Vha1B0cjxDb250YWluZXJOb2RlPiBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0OworI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggMGZjNzI5ZTkxMi4uZDg5MzAwOGFhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtMjg3LDUgKzI4Nywx
MCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yOjpkaWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9s
bGJhciopCiB7CiAgICAgbV9hbmltYXRpb25Qcm9ncmFtbWF0aWNTY3JvbGwtPnVwZGF0ZVZpc2li
bGVMZW5ndGhzKCk7CiB9Ci0KKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNj
cm9sbEFuaW1hdG9yOjpzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0
YXJnZXQpCit7CisgICAgbV9hbmltYXRpb25Qcm9ncmFtbWF0aWNTY3JvbGwtPnNldFNjcm9sbEVu
ZFRhcmdldCh0YXJnZXQpOworfQorI2VuZGlmCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCA5YjdjMDliNjkwLi5lZWRl
Nzk4ZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlICJXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRl
IDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KIAogI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykgfHwgRU5BQkxFKENT
U19TQ1JPTExfU05BUCkKICNpbmNsdWRlICJTY3JvbGxDb250cm9sbGVyLmgiCkBAIC00NCw2ICs0
NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNs
YXNzIEZsb2F0UG9pbnQ7CiBjbGFzcyBQbGF0Zm9ybVRvdWNoRXZlbnQ7CiBjbGFzcyBTY3JvbGxB
bmltYXRpb247CkBAIC0xNDMsNiArMTQ1LDEwIEBAIHB1YmxpYzoKICAgICBGbG9hdFNpemUgdmll
d3BvcnRTaXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICB2b2lkIHNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5l
ck5vZGU+KTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBv
c2l0aW9uQ2hhbmdlZChjb25zdCBGbG9hdFNpemUmIGRlbHRhKTsKICAgICB2b2lkIHVwZGF0ZUFj
dGl2ZVNjcm9sbFNuYXBJbmRleEZvck9mZnNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFR5cGVzLmgKaW5kZXggYjk3NWZiMDQzMC4uNTYyNzM0NTQ3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC02NSw2ICs2NSwxMSBAQCBlbnVtIGNsYXNzIEFuaW1hdGVk
U2Nyb2xsIDogdWludDhfdCB7CiAgICAgWWVzCiB9OwogCitlbnVtIGNsYXNzIFJlcXVlc3RTY3Jv
bGxFbmRFdmVudCA6IHVpbnQ4X3QgeworICAgIE5vLAorICAgIFllcworfTsKKwogaW5saW5lIFNj
cm9sbERpcmVjdGlvbiBsb2dpY2FsVG9QaHlzaWNhbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRp
cmVjdGlvbiwgYm9vbCBpc1ZlcnRpY2FsLCBib29sIGlzRmxpcHBlZCkKIHsKICAgICBzd2l0Y2gg
KGRpcmVjdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCAz
YWVlM2Y5NDhmLi4xYWIyMGFiYzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcApAQCAtMjEzLDcgKzIxMywxMSBAQCB2b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Ny
b2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcAogICAgIGlm
IChwbGF0Zm9ybVdpZGdldCgpKQogICAgICAgICBzZXRBY3R1YWxTY3JvbGxQb3NpdGlvbihwb3Np
dGlvbik7CiAjZW5kaWYKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Ny
b2xsUG9zaXRpb24ocG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgY2xh
bXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiBGbG9hdFJlY3QgU2Nyb2xsVmlldzo6ZXhw
b3NlZENvbnRlbnRSZWN0KCkgY29uc3QKQEAgLTQ4Nyw2ICs0OTEsMTAgQEAgdm9pZCBTY3JvbGxW
aWV3OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgbmV3UG9zaXRpb24pCiAKICAgICBt
X3Njcm9sbFBvc2l0aW9uID0gbmV3UG9zaXRpb247CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCisgICAgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24p
OworI2VuZGlmCisKICAgICBpZiAoc2Nyb2xsYmFyc1N1cHByZXNzZWQoKSkKICAgICAgICAgcmV0
dXJuOwogCkBAIC01MTQsNyArNTIyLDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojpjb21wbGV0ZVVwZGF0
ZXNBZnRlclNjcm9sbFRvKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhKQogICAgIHVwZGF0ZUNv
bXBvc2l0aW5nTGF5ZXJzQWZ0ZXJTY3JvbGxpbmcoKTsKIH0KIAotdm9pZCBTY3JvbGxWaWV3Ojpz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbC8qIGFuaW1hdGVkKi8pCit2b2lk
IFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3Jv
bGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIC8qIGFu
aW1hdGVkKi8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0o
U2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwg
c2Nyb2xsUG9zaXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKaW5kZXgg
ZTJlZTYxM2U2MS4uZTNjMWQ3ZDEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcu
aApAQCAtMjYyLDcgKzI2Miw3IEBAIHB1YmxpYzoKICAgICBTY3JvbGxQb3NpdGlvbiBjYWNoZWRT
Y3JvbGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkU2Nyb2xsUG9zaXRpb247IH0K
IAogICAgIC8vIEZ1bmN0aW9ucyBmb3Igc2Nyb2xsaW5nIHRoZSB2aWV3LgotICAgIHZpcnR1YWwg
dm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1w
aW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRT
Y3JvbGw6Ok5vKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBB
bmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50
ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0
IEludFNpemUmIHMpIHsgcmV0dXJuIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkg
KyBzKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5k
ZXggY2RhZDM2MDFkMy4uODlkNGQ5OWU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAKKyNpbmNsdWRlICJDb250YWluZXJOb2RlLmgi
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTc3NSw0ICs3NzYsMTEgQEAgVGV4dFN0cmVh
bSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgU2Nyb2xsYWJsZUFyZWEmIHNjcm9s
bGFibGVBcmVhKQogICAgIHJldHVybiB0czsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKK3ZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENv
bnRhaW5lck5vZGU+IHRhcmdldCkKK3sKKyAgICBzY3JvbGxBbmltYXRvcigpLnNldFNjcm9sbEVu
ZFRhcmdldCh0YXJnZXQpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDQ1ZmFjMDI5YmQuLjNi
OWE3Nzc5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAt
MzcsNiArMzcsNyBAQCBjbGFzcyBUZXh0U3RyZWFtOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgR3JhcGhpY3ND
b250ZXh0OwogY2xhc3MgTGF5b3V0UG9pbnQ7CkBAIC0zNTIsNiArMzUzLDE2IEBAIHB1YmxpYzoK
ICAgICAKICAgICB2aXJ0dWFsIFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QgPSAwOwog
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBzYXZlU2Ny
b2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjaGVja1Nj
cm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkgeyB9CisgICAgdmlydHVh
bCBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAg
dmlydHVhbCB2b2lkIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sKSB7IH0KKyAgICB2
aXJ0dWFsIFNjcm9sbGFibGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoKSB7IHJldHVybiBudWxscHRyOyB9CisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vh
a1B0cjxDb250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVf
RVhQT1JUIFNjcm9sbGFibGVBcmVhKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+U2Ny
b2xsYWJsZUFyZWEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXgg
Yzg3ZmQwYTU3ZS4uZjgxZGY2ZTYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKQEAgLTYwMiw3ICs2MDIsMTEgQEAgdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3IKICAgICBp
ZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8ICFsYXllcigpKQogICAgICAgICByZXR1cm47CiAgICAg
c2V0dXBXaGVlbEV2ZW50TW9uaXRvcigqbGF5ZXIoKSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxU
eXBlLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNl
bHNlCiAgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUs
IGNsYW1waW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFic29s
dXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3Vt
dWxhdGVkT2Zmc2V0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggNzkwY2FlZTk5ZS4uMGJhYWQ5YTliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNTkzLDIxICsyNTkzLDQ0IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OmFwcGx5UG9zdExheW91dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKQogdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewogICAgIFNj
cm9sbFBvc2l0aW9uIHBvc2l0aW9uKHgsIG1fc2Nyb2xsUG9zaXRpb24ueSgpKTsKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNj
cm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMp
OworI2Vsc2UKICAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xh
bXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxU
b1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBj
bGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24g
cG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbi54KCksIHkpOworI2lmIEVOQUJMRShPVkVSU0NST0xM
X0VWRU5UUykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xh
bXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAg
IHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0
ZWQpOworI2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRl
ckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24s
IFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVk
U2Nyb2xsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVuZEV2
ZW50KQogeworI2lmICFFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgVU5VU0VEX1BBUkFN
KHJlcXVlc3RTY3JvbGxFbmRFdmVudCk7CisjZW5kaWYKKworICAgIGF1dG8gb2Zmc2V0ID0gc2Ny
b2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQgbmV3U2Ny
b2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNj
cm9sbE9mZnNldChvZmZzZXQpIDogb2Zmc2V0OwogICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRl
ZFNjcm9sbDo6WWVzKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xs
T2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpOworICAg
ICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxU
eXBlLCBjbGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBzY3JvbGxUb09mZnNldChzY3JvbGxP
ZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisgICAg
ICAgIHNjcm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcp
OworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChyZW5kZXJlcigpLnNl
dHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgaWYgKG5ld1Njcm9s
bE9mZnNldCA9PSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgICAgIGFkZFBlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldCgpOworICAgICAgICBlbHNlIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNj
cm9sbDo6WWVzKQorICAgICAgICAgICAgc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKHJl
bmRlcmVyKCkuZWxlbWVudCgpKSk7CisgICAgfQorI2VuZGlmCiB9CiAKIFNjcm9sbE9mZnNldCBS
ZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxP
ZmZzZXQpIGNvbnN0CkBAIC0yNjMwLDEzICsyNjUzLDE4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBl
IHNjCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwogCiAgICAg
U2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCkgOiBzY3JvbGxP
ZmZzZXQ7Ci0gICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0
KCkpCisgICAgU2Nyb2xsUG9zaXRpb24gY2xhbXBlZFNjcm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9z
aXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpOworICAgIGlmIChjbGFtcGVkU2Ny
b2xsT2Zmc2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgICAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY2xhbXBlZFNj
cm9sbFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgYXV0
byBwcmV2aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50U2Nyb2xsVHlwZSgpOwogICAgIHNldEN1cnJl
bnRTY3JvbGxUeXBlKHNjcm9sbFR5cGUpOwogCi0gICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRp
b25VcGRhdGUoc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBz
Y3JvbGxUeXBlLCBjbGFtcGluZykpCisgICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRh
dGUoY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZykpCiAgICAgICAg
IHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjbGFtcGVkU2Nyb2xsT2Zmc2V0LCBjbGFt
cGluZyk7CiAgICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
Ok5vdEluQW5pbWF0aW9uKTsKIApAQCAtMjc2MCw2ICsyNzg4LDEwIEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKICAgICBpZiAoRWxl
bWVudCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpKQogICAgICAgICBlbGVtZW50LT5k
b2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldCgqZWxlbWVudCk7CiAKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9u
KG1fc2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCisKICAgICBpZiAoc2Nyb2xsc092ZXJmbG93KCkp
CiAgICAgICAgIHZpZXcuZnJhbWVWaWV3KCkuZGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0KCk7CiAKQEAg
LTI4MDUsMTAgKzI4MzcsMTQgQEAgYm9vbCBSZW5kZXJMYXllcjo6YWxsb3dzQ3VycmVudFNjcm9s
bCgpIGNvbnN0CiAgICAgcmV0dXJuIGJveC0+aGFzSG9yaXpvbnRhbE92ZXJmbG93KCkgfHwgYm94
LT5oYXNWZXJ0aWNhbE92ZXJmbG93KCk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJl
Y3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZp
eGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVS
ZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYg
b3B0aW9ucywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsK
ICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkxheWVyICIgPDwgdGhp
cyA8PCAiIHNjcm9sbFJlY3RUb1Zpc2libGUgIiA8PCBhYnNvbHV0ZVJlY3QpOwogCisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQg
PSByZW5kZXJlcigpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKTsKKyNlbmRp
ZgorCiAgICAgTGF5b3V0UmVjdCBuZXdSZWN0ID0gYWJzb2x1dGVSZWN0OwogICAgIEZyYW1lVmll
dyYgZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgYXV0byog
cGFyZW50TGF5ZXIgPSBlbmNsb3NpbmdDb250YWluaW5nQmxvY2tMYXllcigqdGhpcywgQ3Jvc3NG
cmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI4MzUsNiArMjg3MSwxMCBAQCB2b2lkIFJlbmRlckxh
eWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwg
Ym9vbCBpbnNpZAogICAgICAgICAgICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVz
ZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSkpCiAgICAg
ICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAg
c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxP
ZmZzZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
LCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAg
aWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xs
OjpZZXMgJiYgY2xhbXBlZFNjcm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAg
ICAgICAgICBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisjZW5kaWYKICAgICAg
ICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSA9IGNsYW1wZWRTY3JvbGxPZmZz
ZXQgLSBvbGRTY3JvbGxPZmZzZXQ7CiAgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgt
c2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CiAgICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVj
dChib3gtPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9z
ZVJlY3QpKSwgVXNlVHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CkBAIC0yODY3LDYgKzI5MDcs
MTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRS
ZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICAgICAgYW5pbWF0
ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRT
Y3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFu
aW1hdGVkKTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAg
ICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3Jv
bGw6OlllcyAmJiBzY3JvbGxQb3NpdGlvbiAhPSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkg
eworICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3KHRydWUpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50
ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAg
ZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUo
KS5kb2N1bWVudCgpKSk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAg
ICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3Vs
ZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFn
YXRlU2Nyb2xsVG9QYXJlbnQoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogZW5j
bG9zaW5nTGF5ZXIgPSBvd25lckVsZW1lbnQtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkp
CiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0xheWVyLT5l
bmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENy
b3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CkBAIC0yOTExLDYgKzI5NTksMTMgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJl
Y3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jl
c3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9j
dW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkpCiAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVk
ID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Ny
b2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCwgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAg
ICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRT
Y3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gIT0gZnJhbWVWaWV3LnNjcm9sbFBv
c2l0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldER1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldyh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3RTY3Jv
bGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWVW
aWV3LmZyYW1lKCkuZG9jdW1lbnQoKSkpOworICAgICAgICAgICAgICAgIH0KKyNlbmRpZgogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBv
ZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCkBAIC0yOTIyLDgg
KzI5NzcsMjYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBM
YXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgfQogICAgIH0KICAg
ICAKLSAgICBpZiAocGFyZW50TGF5ZXIpCisgICAgaWYgKHBhcmVudExheWVyKSB7CiAgICAgICAg
IHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKG5ld1JlY3QsIGluc2lkZUZpeGVkLCBv
cHRpb25zKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGlmIChvdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNj
cm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgICAgIENvbnRhaW5lck5vZGUqIHRhcmdldCA9
IHJlbmRlcmVyKCkuZWxlbWVudCgpOworICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1l
bnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0gdGFyZ2V0KQorICAgICAgICAgICAgICAgIHRhcmdl
dCA9ICZyZW5kZXJlcigpLmRvY3VtZW50KCk7CisKKyAgICAgICAgICAgIGlmIChkdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFr
ZVdlYWtQdHIodGFyZ2V0KSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBh
dXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IGZpbmRBbmNlc3RvckR1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldygpOworICAgICAgICAgICAgICAgIGlmIChkdXJpbmdTY3JvbGxpbmdQYXJl
bnRMYXllcikKKyAgICAgICAgICAgICAgICAgICAgZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXIt
PnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5hZGRQZW5k
aW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKnRhcmdldCk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyNlbmRpZgorICAgIH0KIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQ29tcG9zaXRp
bmdMYXllcnNBZnRlclNjcm9sbCgpCkBAIC03MDU2LDYgKzcxMjksNDkgQEAgYm9vbCBSZW5kZXJM
YXllcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uKEV2ZW50UmVnaW9uSW52YWxpZGF0aW9uUmVhc29u
IHJlYXNvbikKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9p
ZCBSZW5kZXJMYXllcjo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9z
aXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3sKKyAgICBpZiAoIXJl
bmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBhdXRvIG9mZnNldCA9IHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3Np
dGlvbik7CisgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBv
ZmZzZXQ7CisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRp
b25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpOworfQorCit2b2lkIFJlbmRlckxheWVy
OjpjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0
aW9uKQoreworICAgIGlmICghbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uIHx8IG1fZmly
ZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbi52YWx1ZSgpICE9IHBvc2l0aW9uKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKworICAgIG1f
ZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlvbiA9IFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBS
ZW5kZXJMYXllcjo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAgICBpZiAo
RWxlbWVudCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50
LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqZWxlbWVudCk7Cit9
CisKK1Njcm9sbGFibGVBcmVhKiBSZW5kZXJMYXllcjo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3KCkKK3sKKyAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRh
aW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIHdo
aWxlIChwYXJlbnRMYXllcikgeworICAgICAgICBpZiAocGFyZW50TGF5ZXItPmR1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldygpKQorICAgICAgICAgICAgcmV0dXJuIHBhcmVudExheWVyOworICAgICAg
ICBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCpwYXJlbnRMYXll
ciwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKKyAgICB9CisKKyAgICBGcmFtZVZpZXcmIGZy
YW1lVmlldyA9IHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpOworICAgIGlmIChmcmFtZVZp
ZXcuZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkpCisgICAgICAgIHJldHVybiAmZnJhbWVWaWV3
OworICAgIHJldHVybiBudWxscHRyOworfQorI2VuZGlmCisKIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoV1RGOjpUZXh0U3RyZWFtJiB0cywgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlKQogewog
ICAgIHN3aXRjaCAoY2xpcFJlY3RzVHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAppbmRleCA3ZWYwMjk3MGFiLi4zYTA1M2NiNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNDUyLDcgKzQ1Miw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6
Ok5vKTsKICAgICB2b2lkIHNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFu
aW1hdGVkU2Nyb2xsOjpObyk7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2b2lk
IHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBB
bmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxF
bmRFdmVudDo6Tm8pOwogCiAgICAgLy8gVGhlc2UgYXJlIG9ubHkgdXNlZCBieSBtYXJxdWVlLgog
ICAgIHZvaWQgc2Nyb2xsVG9YT2Zmc2V0KGludCB4KSB7IHNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9m
ZnNldCh4LCBzY3JvbGxPZmZzZXQoKS55KCkpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNj
cm9sbENsYW1waW5nOjpVbmNsYW1wZWQpOyB9CkBAIC00NjcsNyArNDY3LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgYXZhaWxhYmxlQ29udGVudFNpemVDaGFuZ2VkKEF2YWlsYWJsZVNpemVDaGFuZ2VS
ZWFzb24pIGZpbmFsOwogCiAgICAgLy8gImFic29sdXRlUmVjdCIgaXMgaW4gc2NhbGVkIGRvY3Vt
ZW50IGNvb3JkaW5hdGVzLgotICAgIHZvaWQgc2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlv
dXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RU
b1Zpc2libGVPcHRpb25zJik7CisgICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExh
eW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVj
dFRvVmlzaWJsZU9wdGlvbnMmLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xs
RW5kRXZlbnQ6Ok5vKTsKIAogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93KCkgY29uc3Q7CiAgICAg
Ym9vbCBoYXNTY3JvbGxhYmxlSG9yaXpvbnRhbE92ZXJmbG93KCkgY29uc3Q7CkBAIC05MzAsNiAr
OTMwLDE1IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3Qg
ZmluYWw7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZlU2Ny
b2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3JvbGxF
bmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBh
ZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAgICBib29sIGR1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxp
bmcpIGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyAg
ICBTY3JvbGxhYmxlQXJlYSogZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkg
ZmluYWw7CisjZW5kaWYKKwogcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0TmV4dFNpYmxpbmcoUmVu
ZGVyTGF5ZXIqIG5leHQpIHsgbV9uZXh0ID0gbmV4dDsgfQpAQCAtMTI4Niw2ICsxMjk1LDEwIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2xheWVyTGlzdE11dGF0aW9uQWxsb3dlZCA6IDE7CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBib29sIG1fZHVyaW5nU2Ny
b2xsUmVjdEludG9WaWV3IDogMTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElO
RykKICAgICB1bnNpZ25lZCBtX2JsZW5kTW9kZSA6IDU7IC8vIEJsZW5kTW9kZQogICAgIGJvb2wg
bV9oYXNOb3RJc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzIDogMTsKQEAgLTEz
NjEsNiArMTM3NCwxMCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxh
eWVyRmlsdGVycz4gbV9maWx0ZXJzOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJMYXllckJh
Y2tpbmc+IG1fYmFja2luZzsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBP
cHRpb25hbDxTY3JvbGxQb3NpdGlvbj4gbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uOwor
I2VuZGlmCiAgICAgCiAgICAgUGFpbnRGcmVxdWVuY3lUcmFja2VyIG1fcGFpbnRGcmVxdWVuY3lU
cmFja2VyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5k
ZXggOGMxNDRkNjUxZi4uNTJjOTljMjY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAKQEAgLTQyOSw3ICs0MjksMTEgQEAgYm9vbCBSZW5kZXJPYmplY3Q6OnNj
cm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGlu
c2kKICAgICBpZiAoIWVuY2xvc2luZ0xheWVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgZW5jbG9zaW5nTGF5ZXItPnNjcm9sbFJl
Y3RUb1Zpc2libGUoYWJzb2x1dGVSZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucywgUmVxdWVzdFNj
cm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBlbmNsb3NpbmdMYXllci0+c2Nyb2xsUmVj
dFRvVmlzaWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsKKyNlbmRpZgog
ICAgIHJldHVybiB0cnVlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396058</attachid>
            <date>2020-04-10 00:24:12 -0700</date>
            <delta_ts>2020-05-15 02:18:33 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-010-all.diff</filename>
            <type>text/plain</type>
            <size>119665</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwODg4NjhlZTEyLi4zMTM0
ZjQ2ODBhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wNC0wOCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mu
a2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9JTlRMIGRlZmluZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDIxNWVjZTBiMDQuLmQ0Nzg5NzQxMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0wNC0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xs
aW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgVGVzdCBmYWlscyBvbiBpT1MgYmVjYXVzZSB0aGUgRnJhbWVWaWV3
IHNjcm9sbCBwb3NpdGlvbiBpcyBubyBjbGFtcGVkLCBzZWUgYnVnOiAxNzk3MzUuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOiBUZXN0IGZhaWxzIG9uIG1hYy13
azEgYmVjYXVzZSB0aGUgRnJhbWVWaWV3IHNtb290aCBzY3JvbGxpbmcgaXMgbm90IGZ1bmN0aW9u
YWwuIFNlZSBidWc6IDE5MTM1Ny4KKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBFbmFibGUg
dGhlIHRlc3QgZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgc2Nyb2xsZW5kIGV2ZW50LgorCiAy
MDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBJbXBvcnQgdGVzdCBmb3IgcHJvZ3JhbW1hdGljIHNjcm9sbGluZyBzY3JvbGxlbmQgZXZlbnQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDkxNTA1MWZjMzIuLjAyYjFkZGU3YTMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTY1LDcgKzE2NSwxNSBAQCBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXBy
aXZhY3kvIFsgU2tpcCBdCiBmYXN0L2hhcm5lc3MvdWlzY3JpcHRjb250cm9sbGVyIFsgU2tpcCBd
CiAKICMgT25seSBpT1MgaGFzIGFuIGltcGxlbWVudGF0aW9uIG9mIFVJU2NyaXB0Q29udHJvbGxl
cjo6c2VuZEV2ZW50U3RyZWFtKCkuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tZG9jdW1l
bnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWVsZW1lbnQtd2l0aC1vdmVy
c2Nyb2xsLWJlaGF2aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1zY3Jv
bGxlZC1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by13aW5kb3cu
aHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtYWZ0ZXItc25hcC5odG1sIFsgU2tpcCBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC10by1lbGVtZW50LXdpdGgtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xs
ZW5kLWV2ZW50LWZpcmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBdCiAKICMgVGhpcyB0ZXN0IG9u
bHkgbWFrZXMgc2Vuc2Ugb24gTWFjCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1zdWJ0aXRs
ZS1yZXNpemUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
ZDFkMmJlMzBmOS4uOWExOTJmYjA1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJv
Z3JhbW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xs
ZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWw6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1m
aXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXNjcm9sbEludG9WaWV3Lmh0bWw6CisKIDIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGll
Y2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcG9ydCB0ZXN0IGZvciBwcm9ncmFtbWF0aWMg
c2Nyb2xsaW5nIHNjcm9sbGVuZCBldmVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQt
ZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGlu
Zy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQu
dHh0CmluZGV4IDk1NDFmOTZmYzMuLjk2NmM5ZjFhYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9s
bC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgVGVzdHMgc2Nyb2xsZW5kIGV2
ZW50IGZvciBjYWxsaW5nIHNjcm9sbCBmdW5jdGlvbnMuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiRElWLnNjcm9sbFRvIGRpZCBub3QgcmVjZWl2ZSBzY3Jv
bGxlbmQgZXZlbnQuIgotRkFJTCBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNoYW5naW5nIHNj
cm9sbCBhdHRyaWJ1dGVzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogIkRJVi5zY3JvbGxUb3AgZGlkIG5vdCByZWNlaXZlIHNjcm9sbGVuZCBldmVudC4iCitQ
QVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVuY3Rpb25zLiAK
K1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFuZ2luZyBzY3JvbGwgYXR0cmlidXRl
cy4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9n
cmFtbWF0aWMtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3It
cHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sCmluZGV4IDc5YjVmNWYwMTguLjI2MzQ0ODgxYTIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMt
c2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dy
YW1tYXRpYy1zY3JvbGwuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBIVE1MPgorPCFE
T0NUWVBFIEhUTUw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6T3ZlcnNj
cm9sbEV2ZW50c0VuYWJsZWQ9dHJ1ZSBleHBlcmltZW50YWw6Q1NTT01WaWV3U21vb3RoU2Nyb2xs
aW5nRW5hYmxlZD10cnVlIF0gLS0+CiA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmll
dy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXctZXhwZWN0ZWQudHh0CmluZGV4IDI0YzM3ZWVjYjkuLmJlYzcxMWZkZTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9s
bEludG9WaWV3LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBUZXN0cyBzY3Jv
bGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogIkRJVi5zY3JvbGxJbnRvVmlldyAgZGlkIG5vdCByZWNlaXZl
IHNjcm9sbGVuZCBldmVudC4iCi1GQUlMIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVk
IHNjcm9sbEludG9WaWV3LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogIk5lc3RlZCBzY3JvbGxJbnRvVmlldyBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2
ZW50LiIKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJbnRvVmlldy4gCitQ
QVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbEludG9WaWV3LiAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9W
aWV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1Zp
ZXcuaHRtbAppbmRleCA2M2UxYzNlMjJlLi5jM2NkZTExNTVlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5n
L3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXcuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xs
aW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXcuaHRtbApAQCAtMSw0
ICsxLDQgQEAKLTwhRE9DVFlQRSBIVE1MPgorPCFET0NUWVBFIEhUTUw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBleHBlcmltZW50YWw6T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ9dHJ1ZSBleHBl
cmltZW50YWw6Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+CiA8bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xs
aW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJ
bnRvVmlldy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MC4uNGFiYWE2YTIzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorCitGQUlMIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Nyb2xsSW50b1Zp
ZXcuIGFzc2VydF9lcXVhbHM6IEhUTUwuc2Nyb2xsSW50b1ZpZXcgc2Nyb2xsTGVmdCBleHBlY3Rl
ZCAxMDAwMCBidXQgZ290IDIyMDAKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBuZXN0
ZWQgc2Nyb2xsSW50b1ZpZXcuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMGUwNzQ3OWY3Zi4uODU1MTc3OGY4OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzU1LDYgKzc1NSw4
IEBAIHdlYmtpdC5vcmcvYi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3Nzb20tdmlldy9zY3JvbGwtYmVoYXZpCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9yLW1h
aW4tZnJhbWUtd2luZG93Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xOTEzNTcgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGwtYmVoYXZpb3It
c3ViZnJhbWUtcm9vdC5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9yLXN1
YmZyYW1lLXdpbmRvdy5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2
ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5v
cmcvYi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwgWyBT
a2lwIF0KIAogd2Via2l0Lm9yZy9iLzE4OTkwOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmcud29ya2VyLmh0bWwgWyBGYWlsdXJl
IF0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggM2NkMWYwZjEzNC4uZGEwYWQ3M2MzNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDQtMDkgIENh
dGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOp
ZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2gu
CisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUy4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDIwLTA0LTA4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFNpbXBsaWZ5IE5T
QXJyYXksIE5TRGljdGlvbmFyeSwgYW5kIE5TTnVtYmVyIGlkaW9tcyB0aHJvdWdob3V0IFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGE3NGI0YTY2NmYuLjY5YTRkYmQwNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTMwMSw2ICszMDEsOCBAQCBFTkFCTEVfT0ZGU0NS
RUVOX0NBTlZBUyA9IDsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJM
RV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX09W
RVJGTE9XX1NDUk9MTElOR19UT1VDSF9jb2NvYXRvdWNoID0gRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSDsKIAorRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTID0gRU5BQkxFX09WRVJTQ1JP
TExfRVZFTlRTOworCiBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUID0gRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVDsKIAogRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJXyQoV0tfUExBVEZPUk1fTkFNRSkpOwpAQCAtNDIxLDQgKzQyMyw0IEBA
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VESVRBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VT
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVN
RVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJM
RV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lP
TlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElP
Tl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExT
Q1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dF
QkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQ
SSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19N
T0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VESVRBQkxFX1JFR0lPTikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJ
Q1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykg
JChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VS
VkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JL
X0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9T
VEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9P
RkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5B
QkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGUyMGNkNGYxZDEuLmEzYzNhNWJlNjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMTIgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJv
Z3JhbW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0
aWMgc2Nyb2xsaW5nLiBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1l
bnQgc3RvcmVzCisgICAgICAgIHRoZSBzY3JvbGxlZCB0YXJnZXRzIHdoaWNoIG5lZWQgdG8gZGlz
cGF0Y2ggc2Nyb2xsZW5kIGV2ZW50cy4gRnJhbWVWaWV3IGFuZCBSZW5kZXJMYXllciBwcm92aWRl
IHRocmVlIHdheXMgdG8KKyAgICAgICAgYWRkIGVsZW1lbnRzIHRvIHRoZSBzY3JvbGxlbmQgbGlz
dC4gICAgIAorICAgICAgICAxLiBJbnN0YW50IHNjcm9sbGluZyBpbmNsdWRpbmcgdGhlIHNjcm9s
bGluZyBwb3NpdGlvbiBub3QgY2hhbmdlZCBhbmltYXRlZCBzY3JvbGwsIHRoZSBlbGVtZW50IHdv
dWxkIGFkZCB0byB0aGUgbGlzdAorICAgICAgICBhZnRlciBzY3JvbGwgcG9zaXRpb24gY2hhbmdl
ZC4KKyAgICAgICAgMi4gQW5pbWF0ZWQgc2Nyb2xsaW5nLCB0aGUgZWxlbWVudCB3b3VsZCBiZSBz
ZXQgYXMgdGhlIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgb2YgU2Nyb2xsQW5pbWF0aW9uIGFuZCBh
ZGQgdG8gdGhlIGxpc3QKKyAgICAgICAgd2hlbiBhbmltYXRpb24gc3RvcHMuIEZvciBzY3JvbGxS
ZWN0SW50b1ZpZXcsIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSBzY3JvbGxlbmQgZXZlbnQgZmlyZWQg
YWZ0ZXIgYWxsIGFuY2VzdG9yIGxheWVycworICAgICAgICBmaW5pc2hpbmcgc2Nyb2xsaW5nLCBh
ZGQgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5kaWNhdGUgaWYgc2Nyb2xsUmVjdElu
dG9WaWV3IGZpbmlzaGVkLiBXaGVuIFNjcm9sbEFuaW1hdGlvbgorICAgICAgICBzdG9wcywgaXQg
d2lsbCB0cnkgdG8gZmluZCBhIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3RvciBsYXll
ciBhbmQgcGFzcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byBpdHMKKyAgICAgICAgU2Ny
b2xsQW5pbWF0aW9uLiBJZiBubyBzdWNoIGxheWVyIGZvdW5kLCBhZGQgbV9zY3JvbGxFbmRFdmVu
dFRhcmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIDMuIFVzZXIgYXN5bmNocm9u
b3VzIHNjcm9sbGluZywgdGhlIHNjcm9sbCBwb3NpdGlvbiB3b3VsZG4ndCBjaGFuZ2UgaW1tZWRp
YXRlbHkuIFNvIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uCisgICAgICAgIHRoZW4gY2hlY2tT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uIGlmIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2VkLiBUaGUgcHJv
Z3JhbW1hdGljIHNjcm9sbGluZyB3b3VsZG4ndCB0cmlnZ2VyIHRoaXMgd2F5LgorCisgICAgICAg
IFRlc3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwKKyAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKKwor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFyZ2V0cyB0byBtX3BlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cnVuU2Ny
b2xsU3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQgZm9yIGVhY2ggdGFyZ2V0LgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRM
aXN0IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQgdGFyZ2V0cy4KKyAgICAgICAgKiBk
b20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTY3JvbGxMZWZ0
KTogU2V0IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzIGZvciBGcmFtZVZpZXcgZWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6IERpdHRvLgorICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Ny
b2xsVG8gY29uc3QpOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGZvciBzY3Jv
bGxpbmcgdG8gKDAsIDApIG9wdGltaXphdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRk
IGRvY3VtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChpbnN0YW50IHNj
cm9sbCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc2l0
aW9uLCBvdGhlcndpc2Ugc2V0IGRvY3VtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Ny
b2xsQW5pYW10aW9uLikuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNhdmVTY3JvbGxF
bmRFdmVudFBvc2l0aW9uKTogU2F2ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIHRoYXQgcmVxdWlyZXMg
dG8gZmlyZSBhbiBzY3JvbGxlbmQgZXZlbnQuIFRoaXMgaXMgZm9yIGFzeW5jaHJvbm91cyBzY3Jv
bGwuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbik6IEFkZCBkb2N1bWVudCB0byB0aGUgbGlzdCBpZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGVx
dWFsIHRvIHRoZSBwcmVzZXJ2ZWQgb25lLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojph
ZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQpOiBBZGQgRG9jdW1lbnQgdG8gbV9wZW5kaW5n
U2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0IGluIERvY3VtZW50LgorICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3Lmg6IEFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0byBpbmRpY2F0ZSBGcmFt
ZVZpZXcgaXMgcGVyZm9ybWluZyBhIGFuaW1hdGVkIHNjcm9sbFJlY3RJbnRvVmlldyBzY3JvbGwu
CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxBbmltYXRpb246OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdGlvblNtb290aDo6c3RvcCk6IENhbGwgbm90aWZ5U2Nyb2xsRW5kLgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQpOiBzZXREdXJpbmdT
Y3JvbGxSZWN0SW50b1ZpZXcgZmFsc2UuIElmIHRoZXJlJ3MgbV9zY3JvbGxFbmRFdmVudFRhcmdl
dCwgdHJ5IHRvIGZpbmQgYW4gYW5jZXN0b3IgbGF5ZXIKKyAgICAgICAgZHVyaW5nU2Nyb2xsUmVj
dEludG9WaWV3IGFuZCBzZXQgdGhlIHRhcmdldCB0byBpdC4gT3RoZXJ3aXNlLCBhZGQgdGhlIHRh
cmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRpb25TbW9vdGg6OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOiBDYWxsIG5vdGlmeVNjcm9s
bEVuZCBpZiBub3QgY29udGludWVBbmltYXRpb24uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0aW9uU21vb3RoLmg6IEFkZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdG9yOjpzZXRTY3JvbGxFbmRUYXJnZXQpOiBTZXQgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0
byBTY3JvbGxBbmltYXRpb25TbW9vdGguCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOiBBZGQgUmVxdWVzdFNjcm9s
bEVuZEV2ZW50LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbik6IEFkZCBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNj
cm9sbFRvKTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgdGhlIHNjcm9sbCBw
b3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxl
QXJlYTo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNhdmVTY3JvbGxFbmRF
dmVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpjaGVja1Nj
cm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxhYmxlQXJlYTo6ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGFibGVBcmVhOjpzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRv
Vmlldyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRv
WFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3Np
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24p
OiBBZGQgZWxlbWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgaWYgaXQgc2Nyb2xsZWQoaW5zdGFu
dCBzY3JvbGwgb3Igc21vb3RoIHNjcm9sbAorICAgICAgICB3aXRob3V0IGNoYW5naW5nIHRoZSBw
b3NpdGlvbiwgb3RoZXJ3aXNlIHNldCBlbGVtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Yg
c2Nyb2xsQW5pYW10aW9uLikuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3Jv
bGxUb09mZnNldCk6IENhbGwgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uLCBpZiB0aGVyZSBp
cyBubyBzY3JvbGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8p
OiBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IHNl
dER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKSBpZiBpdCdzIHBlcmZvcm1pbmcgYSBhbmlt
YXRlZCBzY3JvbGxpbmcuCisgICAgICAgIEFmdGVyIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9W
aXNpYmxlKCksIGNoZWNrIGlmIGN1cnJlbnQgbGF5ZXIgaXMgZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3LCBzZXQgdGhlIGVsZW1lbnQgYXMgYW5pbWF0aW9uJ3Mgc2Nyb2xsZW5kIFRhcmdldC4KKyAg
ICAgICAgT3RoZXJ3aXNlLCBmaW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5jZXN0
b3IgbGF5ZXIgYW5kIHBhc3MgdGhlIGVsZW1lbnQgdG8gYW5jZXN0b3IgbGF5ZXIncyBzY3JvbGxB
bmltYXRpb24uCisgICAgICAgIElmIG5vIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBsYXllciBm
b3VuZCwgYWRkIHRoZSBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJn
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpbmRBbmNlc3RvckR1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldyk6IEZpbmQgdGhlIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNl
c3RvciBsYXllciwgYW5kIGNoZWNrIEZyYW1lVmlldyBhdCB0aGUgZW5kLiAKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJs
ZSk6IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKworMjAyMC0wNC0wOSAgQ2F0aGll
IENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6ly
aWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKwor
ICAgICAgICBQYXJzZSBvbm92ZXJzY3JvbGwvc2Nyb2xsZW5kIGF0dHJpYnV0ZSBhbmQgb3ZlcnNj
cm9sbC9vdmVyc2Nyb2xsIGV2ZW50IG5hbWUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20v
R2xvYmFsRXZlbnRIYW5kbGVycy5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCk6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy55YW1sOgorCiAyMDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5A
aWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggdXAgY29kZSBzdHlsZSBmb3Igc2Nyb2xsIGFuaW1h
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCBhNzRiNGE2NjZmLi42OWE0ZGJkMDYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtMzAxLDYgKzMwMSw4IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09W
RVJGTE9XX1NDUk9MTElOR19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VD
SF8kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2Nv
Y29hdG91Y2ggPSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZF
UlNDUk9MTF9FVkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9J
Tl9QSUNUVVJFX0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFU
Rk9STV9OQU1FKSk7CkBAIC00MjEsNCArNDIzLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xU
ID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19H
UkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJ
TlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVE
X09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRURJVEFCTEVfUkVHSU9O
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BB
VENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJ
T05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FN
UExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JL
X0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VD
SCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZF
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNP
Tk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVS
X01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNU
SU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChF
TkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9Q
QVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FU
SU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNU
SU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkg
JChFTkFCTEVfRURJVEFCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1F
VFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJ
REFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxF
X09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RB
VElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNU
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChF
TkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0Vf
SEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VT
RV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxF
X1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVU
SE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRl
eCA4YmYxZWY0MDk3Li43ZDM3OWMwODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAyMC0wNC0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgwMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNlZCBvbiBGcsOp
ZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgRU5BQkxFX09WRVJTQ1JPTExfRVZF
TlRTLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMjAtMDQtMDggIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIFRyYWNrIGVkaXRhYmxlIGVsZW1lbnRzIG9uIHNjcmVlbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291
cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IGE3NGI0YTY2NmYuLjY5YTRkYmQwNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTMwMSw2
ICszMDEsOCBAQCBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyA9IDsKIEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0ggPSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfJChXS19D
T0NPQV9UT1VDSCkpOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF9jb2NvYXRvdWNo
ID0gRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSDsKIAorRU5BQkxFX09WRVJTQ1JPTExf
RVZFTlRTID0gRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTOworCiBFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUID0gRU5BQkxFX1BBWU1FTlRfUkVRVUVTVDsKIAogRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVS
RV9BUEkgPSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJXyQoV0tfUExBVEZPUk1fTkFN
RSkpOwpAQCAtNDIxLDQgKzQyMyw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQg
PSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJM
RV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQ
SSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19N
T0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VESVRBQkxFX1JFR0lPTikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJ
Q1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykg
JChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VS
VkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JL
X0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTkVUV09SS19DQUNIRV9T
VEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9P
RkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
VklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dF
Ql9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4p
ICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxF
X0VESVRBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBF
UklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9HUFVfUFJPQ0VTUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSkgJChF
TkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFO
REFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikg
JChFTkFCTEVfTkVUV09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKSAkKEVOQUJMRV9PVkVSRkxP
V19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX09WRVJTQ1JPTExfRVZFTlRTKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NI
QVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVP
X1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJM
RV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJ
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGM2MjA1YzVmNmUuLjMzNjBiYzU4Y2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmgKQEAgLTMwNSw2ICszMDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8obWF0
Y2hpbmdFbGVtZW50SW5GbGF0VHJlZSkgXAogICAgIG1hY3JvKG1lZGlhU3RyZWFtVHJhY2tDb25z
dHJhaW50cykgXAogICAgIG1hY3JvKG9wZW5EYXRhYmFzZSkgXAorICAgIG1hY3JvKG9ub3ZlcnNj
cm9sbCkgXAorICAgIG1hY3JvKG9uc2Nyb2xsZW5kKSBcCiAgICAgbWFjcm8ob250b3VjaGNhbmNl
bCkgXAogICAgIG1hY3JvKG9udG91Y2hlbmQpIFwKICAgICBtYWNybyhvbnRvdWNobW92ZSkgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggY2M4ZThhMzMwMS4uMDA5M2E4NWJkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC03OTksNiArNzk5LDEwIEBAIHZvaWQgRG9jdW1lbnQ6OmNv
bW1vblRlYXJkb3duKCkKIAogICAgIG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdCA9IG51
bGxwdHI7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbV9wZW5kaW5nU2Ny
b2xsRW5kRXZlbnRUYXJnZXRMaXN0ID0gbnVsbHB0cjsKKyNlbmRpZgorCiAgICAgd2hpbGUgKCFt
X3RpbWVsaW5lcy5jb21wdXRlc0VtcHR5KCkpCiAgICAgICAgIG1fdGltZWxpbmVzLmJlZ2luKCkt
PmRldGFjaEZyb21Eb2N1bWVudCgpOwogICAgIG1fdGltZWxpbmUgPSBudWxscHRyOwpAQCAtNDA2
Nyw2ICs0MDcxLDI2IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdl
dChDb250YWluZXJOb2RlJiB0YXJnZXQpCiAgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKIH0K
IAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRp
bmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJOb2RlJiB0YXJnZXQpCit7CisgICAgaWYg
KCFzZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmICghbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0KQorICAgICAgICBt
X3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QgPSBtYWtlVW5pcXVlPFBlbmRpbmdTY3Jv
bGxFdmVudFRhcmdldExpc3Q+KCk7CisKKyAgICBhdXRvJiB0YXJnZXRzID0gbV9wZW5kaW5nU2Ny
b2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzOworICAgIGlmICh0YXJnZXRzLmZpbmRNYXRj
aGluZyhbJl0gKGF1dG8mIGVudHJ5KSB7IHJldHVybiBlbnRyeS5wdHIoKSA9PSAmdGFyZ2V0OyB9
KSAhPSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHRhcmdldHMuaXNFbXB0
eSgpKQorICAgICAgICBzY2hlZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CisKKyAgICB0YXJn
ZXRzLmFwcGVuZCh0YXJnZXQpOworfQorI2VuZGlmCisKIHZvaWQgRG9jdW1lbnQ6OnNldE5lZWRz
VmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpCiB7CiAgICAgaWYgKCFtX25lZWRzVmlzdWFsVmll
d3BvcnRTY3JvbGxFdmVudCkKQEAgLTQwOTIsNiArNDExNiwxOCBAQCB2b2lkIERvY3VtZW50Ojpy
dW5TY3JvbGxTdGVwcygpCiAgICAgICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb21XaW5kb3coKSkK
ICAgICAgICAgICAgIHdpbmRvdy0+dmlzdWFsVmlld3BvcnQoKS5kaXNwYXRjaEV2ZW50KEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbEV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywg
RXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKICAgICB9CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgLy8gRGVhbCB3aXRoIHNjcm9sbGVuZCBldmVudC4KKyAgICBpZiAobV9w
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0ICYmICFtX3BlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldExpc3QtPnRhcmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAgIExPR19XSVRIX1NUUkVB
TShFdmVudHMsIHN0cmVhbSA8PCAiRG9jdW1lbnQiIDw8IHRoaXMgPDwgInNlbmRpbmcgc2Nyb2xs
ZW5kIGV2ZW50cyB0byBwZW5kaW5nIHNjcm9sbCBldmVudCB0YXJnZXRzIik7CisgICAgICAgIGF1
dG8gY3VycmVudFNjcm9sbEVuZFRhcmdldHMgPSBXVEZNb3ZlKG1fcGVuZGluZ1Njcm9sbEVuZEV2
ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0cyk7CisgICAgICAgIGZvciAoYXV0byYgdGFyZ2V0IDogY3Vy
cmVudFNjcm9sbEVuZFRhcmdldHMpIHsKKyAgICAgICAgICAgIGF1dG8gYnViYmxlcyA9IHRhcmdl
dC0+aXNEb2N1bWVudE5vZGUoKSA/IEV2ZW50OjpDYW5CdWJibGU6OlllcyA6IEV2ZW50OjpDYW5C
dWJibGU6Ok5vOworICAgICAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLnNjcm9sbGVuZEV2ZW50LCBidWJibGVzLCBFdmVudDo6SXNDYW5jZWxh
YmxlOjpObykpOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OmFkZEF1ZGlvUHJvZHVjZXIoTWVkaWFQcm9kdWNlciYgYXVkaW9Qcm9kdWNlcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKaW5kZXggMzRmZDAwZTE1Yi4uNWQ3OTIwNzlmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKQEAgLTEzNjUsNiArMTM2NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJ1blJlc2l6ZVN0ZXBz
KCk7CiAKICAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJOb2Rl
Jik7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgYWRkUGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmKTsKKyNlbmRpZgogICAgIHZvaWQgc2V0
TmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2ZW50KCk7CiAgICAgdm9pZCBydW5TY3JvbGxTdGVw
cygpOwogCkBAIC0yMDUxLDYgKzIwNTQsOSBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFBlbmRp
bmdTY3JvbGxFdmVudFRhcmdldExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3Jv
bGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdDsKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3Jv
bGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdDsKKyNl
bmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBIYXNoU2V0PEhUTUxNZWRpYUVs
ZW1lbnQqPiBtX21lZGlhU3RyZWFtU3RhdGVDaGFuZ2VFbGVtZW50czsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAppbmRleCBiYzIwNDM1NDgxLi4xYWUzOTgwZjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CkBAIC0xMjk1LDcgKzEyOTUsMTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KGludCBu
ZXdMZWZ0KQogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDUwNTkKICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0g
dXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3Vt
ZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87
CiAgICAgICAgICAgICBJbnRQb2ludCBwb3NpdGlvbihzdGF0aWNfY2FzdDxpbnQ+KG5ld0xlZnQg
KiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCBm
cmFtZS0+dmlldygpLT5zY3JvbGxZKCkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6
WWVzKTsKKyNlbHNlCiAgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlv
bihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRpZgog
ICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzE5LDcgKzEzMjMsMTEgQEAg
dm9pZCBFbGVtZW50OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCkKICAgICAgICAgICAgIC8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5CiAgICAgICAg
ICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxC
ZWhhdmlvcjo6QXV0bywgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmltYXRlZFNj
cm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOwogICAgICAgICAgICAgSW50UG9pbnQgcG9z
aXRpb24oZnJhbWUtPnZpZXcoKS0+c2Nyb2xsWCgpLCBzdGF0aWNfY2FzdDxpbnQ+KG5ld1RvcCAq
IGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkpOwor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgIGZyYW1lLT52aWV3KCkt
PnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5p
bWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgICAgICAgICBm
cmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgICAgIHJldHVybjsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA1Y2VlZTZmNjgxLi5lNGRmNGM0Yjdk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE5MSw2ICsxOTEsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgbWFjcm8ob3JpZW50YXRpb25jaGFuZ2UpIFwKICAgICBtYWNybyhvdmVy
Y29uc3RyYWluZWQpIFwKICAgICBtYWNybyhvdmVyZmxvd2NoYW5nZWQpIFwKKyAgICBtYWNybyhv
dmVyc2Nyb2xsKSBcCiAgICAgbWFjcm8ocGFnZWhpZGUpIFwKICAgICBtYWNybyhwYWdlc2hvdykg
XAogICAgIG1hY3JvKHBhc3RlKSBcCkBAIC0yMjcsNiArMjI4LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIG1hY3JvKHJlc3VsdCkgXAogICAgIG1hY3JvKHJlc3VtZSkgXAogICAgIG1hY3Jv
KHNjcm9sbCkgXAorICAgIG1hY3JvKHNjcm9sbGVuZCkgXAogICAgIG1hY3JvKHNlYXJjaCkgXAog
ICAgIG1hY3JvKHNlY3VyaXR5cG9saWN5dmlvbGF0aW9uKSBcCiAgICAgbWFjcm8oc2Vla2VkKSBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGwKaW5kZXggNzcwYWE5
YzNhNy4uMWYyNzY1MzRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2
ZW50SGFuZGxlcnMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRs
ZXJzLmlkbApAQCAtMTMyLDQgKzEzMiw4IEBACiAgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlv
bmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG1v
dXNlZm9yY2Vkb3duOwogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1NT1VTRV9GT1JD
RV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRtb3VzZWZvcmNld2lsbGJl
Z2luOwogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNd
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRtb3VzZWZvcmNldXA7CisKKyAgICAvLyBF
dmVudCBoYW5kbGVycyBmcm9tIE92ZXJzY3JvbGwgRXZlbnRzIEFQSSAoaHR0cHM6Ly93aWNnLmdp
dGh1Yi5pby9vdmVyc2Nyb2xsLXNjcm9sbGVuZC1ldmVudHMvKQorICAgIFtOb3RFbnVtZXJhYmxl
LCBDb25kaXRpb25hbD1PVkVSU0NST0xMX0VWRU5UUywgRW5hYmxlZEJ5U2V0dGluZz1PdmVyc2Ny
b2xsRXZlbnRzXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ub3ZlcnNjcm9sbDsKKyAgICBbTm90
RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9T1ZFUlNDUk9MTF9FVkVOVFMsIEVuYWJsZWRCeVNldHRp
bmc9T3ZlcnNjcm9sbEV2ZW50c10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnNjcm9sbGVuZDsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IGRjZDgz
NzhkOTUuLjA5OWZmYjgyMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5h
bWVzLmluCkBAIC0yNjcsNiArMjY3LDcgQEAgb25tb3VzZXdoZWVsCiBvbm9ubGluZQogb25vZmZs
aW5lCiBvbm9yaWVudGF0aW9uY2hhbmdlCitvbm92ZXJzY3JvbGwKIG9ucGFnZWhpZGUKIG9ucGFn
ZXNob3cKIG9ucGFzdGUKQEAgLTI4Nyw2ICsyODgsNyBAQCBvbnJhdGVjaGFuZ2UKIG9ucmVzZXQK
IG9ucmVzaXplCiBvbnNjcm9sbAorb25zY3JvbGxlbmQKIG9uc2VhcmNoCiBvbnNlZWtlZAogb25z
ZWVraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCmluZGV4IDQ1NzcyZDEzZGQuLmQ2
ZWVlNDNjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCkBAIC0yODQsNiArMjg0
LDcgQEAgSFRNTEVsZW1lbnQ6OkV2ZW50SGFuZGxlck5hbWVNYXAgSFRNTEVsZW1lbnQ6OmNyZWF0
ZUV2ZW50SGFuZGxlck5hbWVNYXAoKQogICAgICAgICAmb25tb3VzZW92ZXJBdHRyLmdldCgpLAog
ICAgICAgICAmb25tb3VzZXVwQXR0ci5nZXQoKSwKICAgICAgICAgJm9ubW91c2V3aGVlbEF0dHIu
Z2V0KCksCisgICAgICAgICZvbm92ZXJzY3JvbGxBdHRyLmdldCgpLAogICAgICAgICAmb25wYXN0
ZUF0dHIuZ2V0KCksCiAgICAgICAgICZvbnBhdXNlQXR0ci5nZXQoKSwKICAgICAgICAgJm9ucGxh
eUF0dHIuZ2V0KCksCkBAIC0zMDEsNiArMzAyLDcgQEAgSFRNTEVsZW1lbnQ6OkV2ZW50SGFuZGxl
ck5hbWVNYXAgSFRNTEVsZW1lbnQ6OmNyZWF0ZUV2ZW50SGFuZGxlck5hbWVNYXAoKQogICAgICAg
ICAmb25yZXNldEF0dHIuZ2V0KCksCiAgICAgICAgICZvbnJlc2l6ZUF0dHIuZ2V0KCksCiAgICAg
ICAgICZvbnNjcm9sbEF0dHIuZ2V0KCksCisgICAgICAgICZvbnNjcm9sbGVuZEF0dHIuZ2V0KCks
CiAgICAgICAgICZvbnNlYXJjaEF0dHIuZ2V0KCksCiAgICAgICAgICZvbnNlZWtlZEF0dHIuZ2V0
KCksCiAgICAgICAgICZvbnNlZWtpbmdBdHRyLmdldCgpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCmluZGV4IDA5YWFiNmIyM2QuLjYyZmRlNmU3YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKQEAgLTE2NzksOCArMTY3OSwxNSBAQCB2b2lkIERPTVdpbmRvdzo6c2Nyb2xsVG8oY29u
c3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZwogCiAg
ICAgLy8gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gZm9yIHRoZSBjb21tb24gY2FzZSBvZiBzY3Jv
bGxpbmcgdG8gKDAsIDApIHdoZW4gdGhlIHNjcm9sbGVyIGlzIGFscmVhZHkgYXQgdGhlIG9yaWdp
bi4KICAgICAvLyBJZiBhbiBhbmltYXRlZCBzY3JvbGwgaXMgaW4gcHJvZ3Jlc3MsIHRoaXMgb3B0
aW1pemF0aW9uIGlzIHNraXBwZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGFuaW1hdGVkIHNjcm9sbCBp
cyByZWFsbHkgc3RvcHBlZC4KLSAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2aW9yU3Rh
dHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uICYmICFzY3JvbGxU
b09wdGlvbnMubGVmdC52YWx1ZSgpICYmICFzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkgJiYg
dmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpID09IEludFBvaW50KDAsIDApKQorICAgIGlm
ICh2aWV3LT5jdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0
YXR1czo6Tm90SW5BbmltYXRpb24KKyAgICAgICAgJiYgIXNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZh
bHVlKCkKKyAgICAgICAgJiYgIXNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKQorICAgICAgICAm
JiB2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkgPT0gSW50UG9pbnQoMCwgMCkpIHsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIHZpZXctPmFkZFBlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldCgpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAg
ICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGQ1NDY0YTM3ZWMuLjE0MWI4MmM5NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIyODIsNyArMjI4Miw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0
IEludFJlY3QmIHJlY3QpCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngo
KSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09m
ZnNldFkgLSByZWN0LnkoKSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBj
bGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIEZyYW1lVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxD
bGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxF
bmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNj
cm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Ny
b2xsUG9zaXRpb24gPDwgIiAsIGNsZWFyaW5nIGFuY2hvciIpOwogCkBAIC0yMjk1LDEwICsyMjk1
LDIxIEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsCiAgICAgUGFnZSogcGFnZSA9IGZyYW1lKCku
cGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBhZ2UtPmlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkp
CiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuc2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKHBhZ2Ut
PndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKKworICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Njcm9s
bFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNjcm9s
bFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOwogICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRl
ZFNjcm9sbDo6WWVzKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xs
T2Zmc2V0RnJvbVBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwg
Y2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zm
c2V0RnJvbVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwg
Y2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRp
b24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgcmVxdWVz
dFNjcm9sbEVuZEV2ZW50KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBp
ZiAoZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkgJiYgcmVxdWVz
dFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKSB7CisgICAgICAg
IGlmIChuZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3JvbGxWaWV3OjpzY3JvbGxQb3NpdGlvbigpKQor
ICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVs
c2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRT
Y3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgfQor
I2VuZGlmCiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3JvbGxUeXBlKTsKIH0KQEAg
LTM3MzUsNiArMzc0NiwzMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5p
bWF0aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeQogICAgIHNldEN1cnJl
bnRTY3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykK
K3sKKyAgICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9z
aXRpb24gPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGFkanVzdFNjcm9s
bFBvc2l0aW9uV2l0aGluUmFuZ2UocG9zaXRpb24pIDogcG9zaXRpb247CisgICAgbV9maXJlU2Ny
b2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gY2xhbXBlZFNjcm9sbFBvc2l0aW9uOworfQorCit2b2lk
IEZyYW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlv
biB8fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBwb3NpdGlvbikK
KyAgICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7
CisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQor
Cit2b2lkIEZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAg
ICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICBk
b2N1bWVudC0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpkb2N1bWVudCk7Cit9Cisj
ZW5kaWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRDb250ZW50
KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFu
dWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsQnlQ
YWdlIHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaAppbmRleCAwYTBkMGEyMDNhLi5iZTI5YTg1M2U0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKQEAgLTIzMCw3ICsyMzAsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJl
Y3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3Jv
bGw6Ok5vKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVlc3RTY3Jv
bGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pIGZpbmFsOwogICAgIHZvaWQg
cmVzdG9yZVNjcm9sbGJhcigpOwogICAgIHZvaWQgc2NoZWR1bGVTY3JvbGxUb0ZvY3VzZWRFbGVt
ZW50KFNlbGVjdGlvblJldmVhbE1vZGUpOwogICAgIHZvaWQgc2Nyb2xsVG9Gb2N1c2VkRWxlbWVu
dEltbWVkaWF0ZWx5SWZOZWVkZWQoKTsKQEAgLTY2Nyw2ICs2NjcsMTQgQEAgcHVibGljOgogCiAg
ICAgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCkgZmluYWw7CisgICAgdm9pZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldCgpIGZpbmFsOworICAgIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmlu
YWwgeyByZXR1cm4gbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldyA9IHNjcm9sbGluZzsgfQorI2VuZGlmCisKIHByb3RlY3RlZDoKICAg
ICBib29sIHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEs
IGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIGZp
bmFsOwogICAgIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRh
dGVSZWN0KSBmaW5hbDsKQEAgLTkwNyw2ICs5MTUsMTAgQEAgcHJpdmF0ZToKIAogICAgIFBhZ2lu
YXRpb24gbV9wYWdpbmF0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb247
CisjZW5kaWYKKwogICAgIGVudW0gY2xhc3MgVmlld3BvcnRSZW5kZXJlclR5cGUgOiB1aW50OF90
IHsgTm9uZSwgRG9jdW1lbnQsIEJvZHkgfTsKICAgICBWaWV3cG9ydFJlbmRlcmVyVHlwZSBtX3Zp
ZXdwb3J0UmVuZGVyZXJUeXBlIHsgVmlld3BvcnRSZW5kZXJlclR5cGU6Ok5vbmUgfTsKICAgICBT
Y3JvbGxQaW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3IgeyBEb05vdFBpbiB9
OwpAQCAtOTUyLDYgKzk2NCwxMCBAQCBwcml2YXRlOgogICAgIC8vIFRydWUgaWYgYXV0b3NpemUg
aGFzIGJlZW4gcnVuIHNpbmNlIG1fc2hvdWxkQXV0b1NpemUgd2FzIHNldC4KICAgICBib29sIG1f
ZGlkUnVuQXV0b3NpemUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pblVwZGF0ZUVtYmVkZGVkT2Jq
ZWN0cyB7IGZhbHNlIH07CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9v
bCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB7IGZhbHNlIH07CisjZW5kaWYKIH07CiAKIGlu
bGluZSB2b2lkIEZyYW1lVmlldzo6aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQo
Y29uc3QgSW50U2l6ZSYgc2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAppbmRleCBhODY3
NmQ5N2MzLi44YzVlYWEyMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC05MTks
NiArOTE5LDEwIEBAIGlzTG9nZ2VkSW5BUElFbmFibGVkOgogZW50ZXJLZXlIaW50RW5hYmxlZDoK
ICAgaW5pdGlhbDogZmFsc2UKIAorb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6CisgIGluaXRpYWw6
IGZhbHNlCisgIGNvbmRpdGlvbmFsOiBPVkVSU0NST0xMX0VWRU5UUworCiBsZWdhY3lHZXRVc2Vy
TWVkaWFFbmFibGVkOgogICBpbml0aWFsOiBmYWxzZQogICBjb25kaXRpb25hbDogTUVESUFfU1RS
RUFNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvbi5oCmluZGV4IDUyM2E3
N2YzMzUuLmRiNTNmMWRmN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dGlvbi5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFNjcm9sbEFuaW1hdGlvbl9oCiAjZGVm
aW5lIFNjcm9sbEFuaW1hdGlvbl9oCiAKKyNpbmNsdWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5j
bHVkZSAiU2Nyb2xsVHlwZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNiArNDUs
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVZpc2libGVMZW5ndGhzKCkgeyB9
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJyZW50UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYp
IHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2VydmljZUFuaW1hdGlvbigpIHsgfTsKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbEVuZFRhcmdl
dChXZWFrUHRyPENvbnRhaW5lck5vZGU+KSB7IH07CisjZW5kaWYKIAogcHJvdGVjdGVkOgogICAg
IFNjcm9sbEFuaW1hdGlvbihTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAppbmRleCAy
Y2E1NzhhMzBmLi40NGU4OGFiMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKQEAgLTI4LDcgKzI4LDEwIEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgiCiAKKyNpbmNsdWRl
ICJDb250YWluZXJOb2RlLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGbG9h
dFBvaW50LmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJTY3JvbGxhYmxl
QXJlYS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04MCwxMCArODMsMzkgQEAgdm9pZCBT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnNjcm9sbChjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbikK
IAogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0b3AoKQogeworI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKQorICAg
ICAgICBub3RpZnlTY3JvbGxFbmQoKTsKKyNlbmRpZgorCiAgICAgbV9hbmltYXRpb25UaW1lci5z
dG9wKCk7CiAgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3Jv
bGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwogfQogCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6Om5vdGlmeVNjcm9sbEVu
ZCgpCit7CisgICAgaWYgKCFtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0KSB7CisgICAgICAgIG1fc2Ny
b2xsYWJsZUFyZWEuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGZhbHNlKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyID0g
bV9zY3JvbGxhYmxlQXJlYS5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSA/IG1fc2Nyb2xsYWJs
ZUFyZWEuZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgOiBudWxscHRyOwor
ICAgIGlmIChkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllcikKKyAgICAgICAgZHVyaW5nU2Nyb2xs
aW5nUGFyZW50TGF5ZXItPnNldFNjcm9sbEVuZFRhcmdldChtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0
KTsKKyAgICBlbHNlCisgICAgICAgIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQtPmRvY3VtZW50KCku
YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCptX3Njcm9sbEVuZEV2ZW50VGFyZ2V0KTsK
KworICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGZhbHNl
KTsKKyAgICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0ID0gbnVsbHB0cjsKK30KKwordm9pZCBTY3Jv
bGxBbmltYXRpb25TbW9vdGg6OnNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5v
ZGU+IHRhcmdldCkKK3sKKyAgICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0ID0gdGFyZ2V0OworfQor
I2VuZGlmCisKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjp1cGRhdGVWaXNpYmxlTGVuZ3Ro
cygpCiB7CiAgICAgbV9ob3Jpem9udGFsRGF0YS52aXNpYmxlTGVuZ3RoID0gbV9zY3JvbGxhYmxl
QXJlYS52aXNpYmxlV2lkdGgoKTsKQEAgLTQxMCw4ICs0NDIsMTIgQEAgdm9pZCBTY3JvbGxBbmlt
YXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogCiAgICAgaWYgKGNvbnRpbnVlQW5p
bWF0aW9uKQogICAgICAgICBzdGFydE5leHRUaW1lcihzdGQ6Om1heChtaW5pbXVtVGltZXJJbnRl
cnZhbCwgZGVsdGFUb05leHRGcmFtZSkpOwotICAgIGVsc2UKKyAgICBlbHNlIHsKICAgICAgICAg
bV9zY3JvbGxhYmxlQXJlYS5zZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhhdmlvclN0
YXR1czo6Tm90SW5BbmltYXRpb24pOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKKyAgICB9CiAKICAgICBtX25vdGlmeVBv
c2l0aW9uQ2hhbmdlZEZ1bmN0aW9uKEZsb2F0UG9pbnQobV9ob3Jpem9udGFsRGF0YS5jdXJyZW50
UG9zaXRpb24sIG1fdmVydGljYWxEYXRhLmN1cnJlbnRQb3NpdGlvbikpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaAppbmRleCA4MTczZmE3
ZTIwLi4xODRjZmFkMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRpb25TbW9vdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRpb25TbW9vdGguaApAQCAtMzEsNiArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgU2Nyb2xs
YWJsZUFyZWE7CiBlbnVtIGNsYXNzIFNjcm9sbENsYW1waW5nIDogdWludDhfdDsKQEAgLTQ4LDEw
ICs0OSwxNiBAQCBwdWJsaWM6CiAgICAgICAgIEJvdW5jZQogICAgIH07CiAKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxD
b250YWluZXJOb2RlPikgb3ZlcnJpZGU7CisjZW5kaWYKIHByaXZhdGU6CiAgICAgYm9vbCBzY3Jv
bGwoU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBm
bG9hdCBtdWx0aXBsaWVyKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbChjb25zdCBGbG9hdFBv
aW50Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKICAg
ICB2b2lkIHVwZGF0ZVZpc2libGVMZW5ndGhzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRDdXJy
ZW50UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogCkBAIC0xMDQsNiArMTEx
LDkgQEAgcHJpdmF0ZToKIAogICAgIE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgVGlt
ZXIgbV9hbmltYXRpb25UaW1lcjsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
V2Vha1B0cjxDb250YWluZXJOb2RlPiBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0OworI2VuZGlmCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvci5jcHAKaW5kZXggMGZjNzI5ZTkxMi4uZDg5MzAwOGFhMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtMjg3LDUgKzI4NywxMCBAQCB2
b2lkIFNjcm9sbEFuaW1hdG9yOjpkaWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciop
CiB7CiAgICAgbV9hbmltYXRpb25Qcm9ncmFtbWF0aWNTY3JvbGwtPnVwZGF0ZVZpc2libGVMZW5n
dGhzKCk7CiB9Ci0KKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbEFu
aW1hdG9yOjpzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPiB0YXJnZXQp
Cit7CisgICAgbV9hbmltYXRpb25Qcm9ncmFtbWF0aWNTY3JvbGwtPnNldFNjcm9sbEVuZFRhcmdl
dCh0YXJnZXQpOworfQorI2VuZGlmCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCA5YjdjMDliNjkwLi5lZWRlNzk4ZGI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTM3LDYgKzM3
LDcgQEAKICNpbmNsdWRlICJXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYv
RmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1dl
YWtQdHIuaD4KIAogI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykgfHwgRU5BQkxFKENTU19TQ1JP
TExfU05BUCkKICNpbmNsdWRlICJTY3JvbGxDb250cm9sbGVyLmgiCkBAIC00NCw2ICs0NSw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEZs
b2F0UG9pbnQ7CiBjbGFzcyBQbGF0Zm9ybVRvdWNoRXZlbnQ7CiBjbGFzcyBTY3JvbGxBbmltYXRp
b247CkBAIC0xNDMsNiArMTQ1LDEwIEBAIHB1YmxpYzoKICAgICBGbG9hdFNpemUgdmlld3BvcnRT
aXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKKyAgICB2b2lkIHNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+
KTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBvc2l0aW9u
Q2hhbmdlZChjb25zdCBGbG9hdFNpemUmIGRlbHRhKTsKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVNj
cm9sbFNuYXBJbmRleEZvck9mZnNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmgKaW5kZXggYjk3NWZiMDQzMC4uNTYyNzM0NTQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxUeXBlcy5oCkBAIC02NSw2ICs2NSwxMSBAQCBlbnVtIGNsYXNzIEFuaW1hdGVkU2Nyb2xs
IDogdWludDhfdCB7CiAgICAgWWVzCiB9OwogCitlbnVtIGNsYXNzIFJlcXVlc3RTY3JvbGxFbmRF
dmVudCA6IHVpbnQ4X3QgeworICAgIE5vLAorICAgIFllcworfTsKKwogaW5saW5lIFNjcm9sbERp
cmVjdGlvbiBsb2dpY2FsVG9QaHlzaWNhbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlv
biwgYm9vbCBpc1ZlcnRpY2FsLCBib29sIGlzRmxpcHBlZCkKIHsKICAgICBzd2l0Y2ggKGRpcmVj
dGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCAzYWVlM2Y5
NDhmLi4xYWIyMGFiYzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApA
QCAtMjEzLDcgKzIxMywxMSBAQCB2b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9z
aXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcAogICAgIGlmIChwbGF0
Zm9ybVdpZGdldCgpKQogICAgICAgICBzZXRBY3R1YWxTY3JvbGxQb3NpdGlvbihwb3NpdGlvbik7
CiAjZW5kaWYKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9z
aXRpb24ocG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50
OjpZZXMpOworI2Vsc2UKICAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcs
IGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiBGbG9hdFJlY3QgU2Nyb2xsVmlldzo6ZXhwb3NlZENv
bnRlbnRSZWN0KCkgY29uc3QKQEAgLTQ4Nyw2ICs0OTEsMTAgQEAgdm9pZCBTY3JvbGxWaWV3Ojpz
Y3JvbGxUbyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgbmV3UG9zaXRpb24pCiAKICAgICBtX3Njcm9s
bFBvc2l0aW9uID0gbmV3UG9zaXRpb247CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24pOworI2Vu
ZGlmCisKICAgICBpZiAoc2Nyb2xsYmFyc1N1cHByZXNzZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CkBAIC01MTQsNyArNTIyLDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojpjb21wbGV0ZVVwZGF0ZXNBZnRl
clNjcm9sbFRvKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhKQogICAgIHVwZGF0ZUNvbXBvc2l0
aW5nTGF5ZXJzQWZ0ZXJTY3JvbGxpbmcoKTsKIH0KIAotdm9pZCBTY3JvbGxWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENs
YW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbC8qIGFuaW1hdGVkKi8pCit2b2lkIFNjcm9s
bFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3Np
dGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIC8qIGFuaW1hdGVk
Ki8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xs
aW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xs
UG9zaXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxW
aWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKaW5kZXggZTJlZTYx
M2U2MS4uZTNjMWQ3ZDEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaApAQCAt
MjYyLDcgKzI2Miw3IEBAIHB1YmxpYzoKICAgICBTY3JvbGxQb3NpdGlvbiBjYWNoZWRTY3JvbGxQ
b3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkU2Nyb2xsUG9zaXRpb247IH0KIAogICAg
IC8vIEZ1bmN0aW9ucyBmb3Igc2Nyb2xsaW5nIHRoZSB2aWV3LgotICAgIHZpcnR1YWwgdm9pZCBz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6
Ok5vKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9z
aXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRl
ZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVx
dWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNp
emUmIHMpIHsgcmV0dXJuIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBzKTsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggY2Rh
ZDM2MDFkMy4uODlkNGQ5OWU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAKKyNpbmNsdWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5j
bHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1
ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTc3NSw0ICs3NzYsMTEgQEAgVGV4dFN0cmVhbSYgb3Bl
cmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVB
cmVhKQogICAgIHJldHVybiB0czsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
K3ZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5l
ck5vZGU+IHRhcmdldCkKK3sKKyAgICBzY3JvbGxBbmltYXRvcigpLnNldFNjcm9sbEVuZFRhcmdl
dCh0YXJnZXQpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDQ1ZmFjMDI5YmQuLjNiOWE3Nzc5
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMzcsNiAr
MzcsNyBAQCBjbGFzcyBUZXh0U3RyZWFtOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNz
IENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0
OwogY2xhc3MgTGF5b3V0UG9pbnQ7CkBAIC0zNTIsNiArMzUzLDE2IEBAIHB1YmxpYzoKICAgICAK
ICAgICB2aXJ0dWFsIFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QgPSAwOwogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBzYXZlU2Nyb2xsRW5k
RXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjaGVja1Njcm9sbEVu
ZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkgeyB9CisgICAgdmlydHVhbCBib29s
IGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCB2b2lkIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sKSB7IH0KKyAgICB2aXJ0dWFs
IFNjcm9sbGFibGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSB7
IHJldHVybiBudWxscHRyOyB9CisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxD
b250YWluZXJOb2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JU
IFNjcm9sbGFibGVBcmVhKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+U2Nyb2xsYWJs
ZUFyZWEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYzg3ZmQw
YTU3ZS4uZjgxZGY2ZTYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
QEAgLTYwMiw3ICs2MDIsMTEgQEAgdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3IKICAgICBpZiAoIWhh
c092ZXJmbG93Q2xpcCgpIHx8ICFsYXllcigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBX
aGVlbEV2ZW50TW9uaXRvcigqbGF5ZXIoKSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAg
ICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1w
aW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFic29sdXRlUmVj
dHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVk
T2Zmc2V0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5k
ZXggNzkwY2FlZTk5ZS4uMGJhYWQ5YTliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCkBAIC0yNTkzLDIxICsyNTkzLDQ0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmFw
cGx5UG9zdExheW91dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKQogdm9pZCBSZW5kZXJMYXllcjo6
c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQogewogICAgIFNjcm9sbFBv
c2l0aW9uIHBvc2l0aW9uKHgsIG1fc2Nyb2xsUG9zaXRpb24ueSgpKTsKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5
cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vs
c2UKICAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcs
IGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3Np
dGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRp
b24obV9zY3JvbGxQb3NpdGlvbi54KCksIHkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcs
IGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIHNldFNj
cm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOwor
I2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckxheWVy
OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9s
bFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xs
IGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KQog
eworI2lmICFFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgVU5VU0VEX1BBUkFNKHJlcXVl
c3RTY3JvbGxFbmRFdmVudCk7CisjZW5kaWYKKworICAgIGF1dG8gb2Zmc2V0ID0gc2Nyb2xsT2Zm
c2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQgbmV3U2Nyb2xsT2Zm
c2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9m
ZnNldChvZmZzZXQpIDogb2Zmc2V0OwogICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9s
bDo6WWVzKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0
RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpOworICAgICAgICBz
Y3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBlLCBj
bGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBzY3JvbGxUb09mZnNldChzY3JvbGxPZmZzZXRG
cm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisgICAgICAgIHNj
cm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpOworCisj
aWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChyZW5kZXJlcigpLnNldHRpbmdz
KCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKSAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0g
UmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgaWYgKG5ld1Njcm9sbE9mZnNl
dCA9PSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldCgpOworICAgICAgICBlbHNlIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6
WWVzKQorICAgICAgICAgICAgc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKHJlbmRlcmVy
KCkuZWxlbWVudCgpKSk7CisgICAgfQorI2VuZGlmCiB9CiAKIFNjcm9sbE9mZnNldCBSZW5kZXJM
YXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQp
IGNvbnN0CkBAIC0yNjMwLDEzICsyNjUzLDE4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRv
T2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNjCiAg
ICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwogCiAgICAgU2Nyb2xs
T2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCkgOiBzY3JvbGxPZmZzZXQ7
Ci0gICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCisg
ICAgU2Nyb2xsUG9zaXRpb24gY2xhbXBlZFNjcm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb25G
cm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpOworICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zm
c2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorICAgICAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY2xhbXBlZFNjcm9sbFBv
c2l0aW9uKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgYXV0byBwcmV2
aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50U2Nyb2xsVHlwZSgpOwogICAgIHNldEN1cnJlbnRTY3Jv
bGxUeXBlKHNjcm9sbFR5cGUpOwogCi0gICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRh
dGUoc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBzY3JvbGxU
eXBlLCBjbGFtcGluZykpCisgICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY2xh
bXBlZFNjcm9sbFBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZykpCiAgICAgICAgIHNjcm9s
bFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjbGFtcGVkU2Nyb2xsT2Zmc2V0LCBjbGFtcGluZyk7
CiAgICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdElu
QW5pbWF0aW9uKTsKIApAQCAtMjc2MCw2ICsyNzg4LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKICAgICBpZiAoRWxlbWVudCog
ZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpKQogICAgICAgICBlbGVtZW50LT5kb2N1bWVu
dCgpLmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldCgqZWxlbWVudCk7CiAKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKG1fc2Ny
b2xsUG9zaXRpb24pOworI2VuZGlmCisKICAgICBpZiAoc2Nyb2xsc092ZXJmbG93KCkpCiAgICAg
ICAgIHZpZXcuZnJhbWVWaWV3KCkuZGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0KCk7CiAKQEAgLTI4MDUs
MTAgKzI4MzcsMTQgQEAgYm9vbCBSZW5kZXJMYXllcjo6YWxsb3dzQ3VycmVudFNjcm9sbCgpIGNv
bnN0CiAgICAgcmV0dXJuIGJveC0+aGFzSG9yaXpvbnRhbE92ZXJmbG93KCkgfHwgYm94LT5oYXNW
ZXJ0aWNhbE92ZXJmbG93KCk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zp
c2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBj
b25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBi
b29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9u
cywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkxheWVyICIgPDwgdGhpcyA8PCAi
IHNjcm9sbFJlY3RUb1Zpc2libGUgIiA8PCBhYnNvbHV0ZVJlY3QpOwogCisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgPSByZW5k
ZXJlcigpLnNldHRpbmdzKCkub3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoKTsKKyNlbmRpZgorCiAg
ICAgTGF5b3V0UmVjdCBuZXdSZWN0ID0gYWJzb2x1dGVSZWN0OwogICAgIEZyYW1lVmlldyYgZnJh
bWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgYXV0byogcGFyZW50
TGF5ZXIgPSBlbmNsb3NpbmdDb250YWluaW5nQmxvY2tMYXllcigqdGhpcywgQ3Jvc3NGcmFtZUJv
dW5kYXJpZXM6Ok5vKTsKQEAgLTI4MzUsNiArMjg3MSwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpz
Y3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBp
bnNpZAogICAgICAgICAgICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290
aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSkpCiAgICAgICAgICAg
ICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgc2V0U2Ny
b2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQp
LCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmlt
YXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgaWYgKG92
ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMg
JiYgY2xhbXBlZFNjcm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgICAgICAg
ICBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisjZW5kaWYKICAgICAgICAgICAg
IEludFNpemUgc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSA9IGNsYW1wZWRTY3JvbGxPZmZzZXQgLSBv
bGRTY3JvbGxPZmZzZXQ7CiAgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xs
T2Zmc2V0RGlmZmVyZW5jZSk7CiAgICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gt
PmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3Qp
KSwgVXNlVHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CkBAIC0yODY3LDYgKzI5MDcsMTQgQEAg
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBh
YnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBB
bmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQ
b3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVk
KTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBpZiAo
b3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6Olll
cyAmJiBzY3JvbGxQb3NpdGlvbiAhPSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAg
ICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRy
dWUpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJl
cXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVW
aWV3LnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1
bWVudCgpKSk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAgICAgICBp
ZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRlU2Ny
b2xsVG9QYXJlbnQoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogZW5jbG9zaW5n
TGF5ZXIgPSBvd25lckVsZW1lbnQtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0xheWVyLT5lbmNsb3Np
bmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENyb3NzRnJh
bWVCb3VuZGFyaWVzOjpObyk7CkBAIC0yOTExLDYgKzI5NTksMTMgQEAgdm9pZCBSZW5kZXJMYXll
cjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaWQKICAgICAgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYg
dXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQo
KS5kb2N1bWVudEVsZW1lbnQoKSkpCiAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5p
bWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9z
aXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5p
bWF0ZWQpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBp
ZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6
OlllcyAmJiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gIT0gZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9u
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldER1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldyh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3RTY3JvbGxFbmRF
dmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGZyYW1lVmlldy5zZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWVWaWV3LmZy
YW1lKCkuZG9jdW1lbnQoKSkpOworICAgICAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdl
YiBwYWdlLCBzbyBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCkBAIC0yOTIyLDggKzI5Nzcs
MjYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRS
ZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgfQogICAgIH0KICAgICAKLSAg
ICBpZiAocGFyZW50TGF5ZXIpCisgICAgaWYgKHBhcmVudExheWVyKSB7CiAgICAgICAgIHBhcmVu
dExheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKG5ld1JlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25z
KTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGlmIChvdmVyc2Nyb2xs
RXZlbnRzRW5hYmxlZCAmJiByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpZZXMpIHsKKyAgICAgICAgICAgIENvbnRhaW5lck5vZGUqIHRhcmdldCA9IHJlbmRl
cmVyKCkuZWxlbWVudCgpOworICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5z
Y3JvbGxpbmdFbGVtZW50KCkgPT0gdGFyZ2V0KQorICAgICAgICAgICAgICAgIHRhcmdldCA9ICZy
ZW5kZXJlcigpLmRvY3VtZW50KCk7CisKKyAgICAgICAgICAgIGlmIChkdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcoKSkKKyAgICAgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQ
dHIodGFyZ2V0KSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBk
dXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9IGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldygpOworICAgICAgICAgICAgICAgIGlmIChkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXll
cikKKyAgICAgICAgICAgICAgICAgICAgZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXItPnNldFNj
cm9sbEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Ny
b2xsRW5kRXZlbnRUYXJnZXQoKnRhcmdldCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNl
bmRpZgorICAgIH0KIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXll
cnNBZnRlclNjcm9sbCgpCkBAIC03MDU2LDYgKzcxMjksNDkgQEAgYm9vbCBSZW5kZXJMYXllcjo6
aW52YWxpZGF0ZUV2ZW50UmVnaW9uKEV2ZW50UmVnaW9uSW52YWxpZGF0aW9uUmVhc29uIHJlYXNv
bikKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBSZW5k
ZXJMYXllcjo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
IHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3sKKyAgICBpZiAoIXJlbmRlcmVy
KCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBhdXRvIG9mZnNldCA9IHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbik7
CisgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7
CisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb25Gcm9t
T2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpOworfQorCit2b2lkIFJlbmRlckxheWVyOjpjaGVj
a1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQor
eworICAgIGlmICghbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uIHx8IG1fZmlyZVNjcm9s
bEVuZEV2ZW50QXRQb3NpdGlvbi52YWx1ZSgpICE9IHBvc2l0aW9uKQorICAgICAgICByZXR1cm47
CisKKyAgICBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKworICAgIG1fZmlyZVNj
cm9sbEVuZEV2ZW50QXRQb3NpdGlvbiA9IFdURjo6bnVsbG9wdDsKK30KKwordm9pZCBSZW5kZXJM
YXllcjo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAgICBpZiAoRWxlbWVu
dCogZWxlbWVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1
bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqZWxlbWVudCk7Cit9CisKK1Nj
cm9sbGFibGVBcmVhKiBSZW5kZXJMYXllcjo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdElu
dG9WaWV3KCkKK3sKKyAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdC
bG9ja0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIHdoaWxlIChw
YXJlbnRMYXllcikgeworICAgICAgICBpZiAocGFyZW50TGF5ZXItPmR1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldygpKQorICAgICAgICAgICAgcmV0dXJuIHBhcmVudExheWVyOworICAgICAgICBwYXJl
bnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCpwYXJlbnRMYXllciwgQ3Jv
c3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKKyAgICB9CisKKyAgICBGcmFtZVZpZXcmIGZyYW1lVmll
dyA9IHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpOworICAgIGlmIChmcmFtZVZpZXcuZHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KCkpCisgICAgICAgIHJldHVybiAmZnJhbWVWaWV3OworICAg
IHJldHVybiBudWxscHRyOworfQorI2VuZGlmCisKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RG
OjpUZXh0U3RyZWFtJiB0cywgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlKQogewogICAgIHN3
aXRjaCAoY2xpcFJlY3RzVHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aAppbmRleCA3ZWYwMjk3MGFiLi4zYTA1M2NiNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaApAQCAtNDUyLDcgKzQ1Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Ny
b2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsK
ICAgICB2b2lkIHNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVk
U2Nyb2xsOjpObyk7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2b2lkIHNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRl
ZFNjcm9sbDo6Tm8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVu
dDo6Tm8pOwogCiAgICAgLy8gVGhlc2UgYXJlIG9ubHkgdXNlZCBieSBtYXJxdWVlLgogICAgIHZv
aWQgc2Nyb2xsVG9YT2Zmc2V0KGludCB4KSB7IHNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldCh4
LCBzY3JvbGxPZmZzZXQoKS55KCkpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENs
YW1waW5nOjpVbmNsYW1wZWQpOyB9CkBAIC00NjcsNyArNDY3LDcgQEAgcHVibGljOgogICAgIHZv
aWQgYXZhaWxhYmxlQ29udGVudFNpemVDaGFuZ2VkKEF2YWlsYWJsZVNpemVDaGFuZ2VSZWFzb24p
IGZpbmFsOwogCiAgICAgLy8gImFic29sdXRlUmVjdCIgaXMgaW4gc2NhbGVkIGRvY3VtZW50IGNv
b3JkaW5hdGVzLgotICAgIHZvaWQgc2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0
JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2li
bGVPcHRpb25zJik7CisgICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJl
Y3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlz
aWJsZU9wdGlvbnMmLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQ6Ok5vKTsKIAogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBo
YXNTY3JvbGxhYmxlSG9yaXpvbnRhbE92ZXJmbG93KCkgY29uc3Q7CkBAIC05MzAsNiArOTMwLDE1
IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QgZmluYWw7
CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBzYXZlU2Nyb2xsRW5k
RXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIHZvaWQgY2hlY2tTY3JvbGxFbmRFdmVu
dFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBhZGRQZW5k
aW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9sbFJl
Y3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3OyB9
CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcpIGZp
bmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyAgICBTY3Jv
bGxhYmxlQXJlYSogZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWw7
CisjZW5kaWYKKwogcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0TmV4dFNpYmxpbmcoUmVuZGVyTGF5
ZXIqIG5leHQpIHsgbV9uZXh0ID0gbmV4dDsgfQpAQCAtMTI4Niw2ICsxMjk1LDEwIEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2xheWVyTGlzdE11dGF0aW9uQWxsb3dlZCA6IDE7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBib29sIG1fZHVyaW5nU2Nyb2xsUmVj
dEludG9WaWV3IDogMTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAg
ICB1bnNpZ25lZCBtX2JsZW5kTW9kZSA6IDU7IC8vIEJsZW5kTW9kZQogICAgIGJvb2wgbV9oYXNO
b3RJc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzIDogMTsKQEAgLTEzNjEsNiAr
MTM3NCwxMCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxheWVyRmls
dGVycz4gbV9maWx0ZXJzOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJMYXllckJhY2tpbmc+
IG1fYmFja2luZzsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBPcHRpb25h
bDxTY3JvbGxQb3NpdGlvbj4gbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uOworI2VuZGlm
CiAgICAgCiAgICAgUGFpbnRGcmVxdWVuY3lUcmFja2VyIG1fcGFpbnRGcmVxdWVuY3lUcmFja2Vy
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggOGMx
NDRkNjUxZi4uNTJjOTljMjY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTQyOSw3ICs0MjksMTEgQEAgYm9vbCBSZW5kZXJPYmplY3Q6OnNjcm9sbFJl
Y3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2kKICAg
ICBpZiAoIWVuY2xvc2luZ0xheWVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgZW5jbG9zaW5nTGF5ZXItPnNjcm9sbFJlY3RUb1Zp
c2libGUoYWJzb2x1dGVSZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucywgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBlbmNsb3NpbmdMYXllci0+c2Nyb2xsUmVjdFRvVmlz
aWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsKKyNlbmRpZgogICAgIHJl
dHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI4ZWRjN2E1ZDguLjE1MjVjYzMxN2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hl
bkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50
cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAg
ICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJM
RV9PVkVSU0NST0xMX0VWRU5UUy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgor
CiAyMDIwLTA0LTA5ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIFdBUk5fVU5VU0VEX1JFVFVSTiB0byBkZWNvZGUgbWV0aG9kcyBpbiBTb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggYTc0YjRhNjY2Zi4uNjlhNGRiZDA2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC0zMDEsNiArMzAxLDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBF
TkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xM
SU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdf
VE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VO
QUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9Q
SUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8k
KFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQyMSw0ICs0MjMsNCBAQCBFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1Ap
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJM
RV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lO
VEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
TU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxF
X05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xM
SU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpF
X09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJW
RVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRf
SU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dF
QlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19T
VVBQT1JUKSAkKEVOQUJMRV9FRElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVf
QVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BV
X1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RP
Ul9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlP
VVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdB
Q1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElW
RV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJ
REFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykg
JChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNF
UlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BS
RUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09S
S0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJ
VkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikg
JChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGY1NDQ4Mzc2YTMuLmMyYTVjMGM2Y2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTU3Myw2ICsx
NTczLDE0IEBAIEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkOgogICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJNYXAgSFRNTCBhdHRyaWJ1dGVzIHdpZHRoL2hlaWdo
dCB0byB0aGUgZGVmYXVsdCBhc3BlY3QgcmF0aW8gb2YgPGltZz4iCiAgIGNhdGVnb3J5OiBleHBl
cmltZW50YWwKIAorT3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVm
YXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIk92ZXJzY3JvbGwgZXZlbnRz
IgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgdGhlIG9uc2Nyb2xsZW5kIGFu
ZCBzY3JvbGxlbmQgZXZlbnRzIgorICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIGNvbmRpdGlv
bjogRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorCiAjIEZvciBpbnRlcm5hbCBmZWF0dXJlczoK
ICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xlYW4uCiAjIFlvdSBtdXN0IHByb3ZpZGUgYSBodW1h
blJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uIGZvciBhbGwgZGVidWcg
ZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA3NGRlZDk2Njg3
Li44YzAwNTE3N2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisg
ICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAg
ICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTD
qXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIG92ZXJzY3JvbGxFdmVudHNFbmFibGVk
IFdlYlByZWZlcmVuY2Ugc2V0dGluZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAg
KFtXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IG92ZXJzY3JvbGxFdmVudHNFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNl
dE92ZXJzY3JvbGxFdmVudHNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorCiAyMDIwLTA0
LTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFNp
bXBsaWZ5IE5TQXJyYXksIE5TRGljdGlvbmFyeSwgYW5kIE5TTnVtYmVyIGlkaW9tcyB0aHJvdWdo
b3V0IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBhNzRiNGE2NjZmLi42
OWE0ZGJkMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzAxLDYgKzMwMSw4
IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RP
VUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFC
TEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMg
PSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBF
TkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9
ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBA
IC00MjEsNCArNDIzLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRURJVEFCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9J
Tl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJM
RV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVf
U1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dI
SUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVF
Tl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFS
RUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNU
SU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVf
V0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
QkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRURJVEFC
TEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFC
TEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5E
Qk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxF
X1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElT
VElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA3N2IzOTg5NTAy
Li44NWYxMzU2NWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTIxMCw2ICsyMTAsNyBAQAog
I2RlZmluZSBXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
Q1NTU2hhZG93UGFydHNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRMYXlvdXRGb3JtYXR0aW5nQ29u
dGV4dEludGVncmF0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRMYXlvdXRGb3JtYXR0
aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V2ViU1FMRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJTUUxFbmFibGVkIgorI2RlZmluZSBXZWJLaXRPdmVy
c2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRPdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZCIKIAogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvLyBUaGVzZSBhcmUgcHJpdmF0ZSBi
b3RoIGJlY2F1c2UgY2FsbGVycyBzaG91bGQgYmUgdXNpbmcgdGhlIGNvdmVyIG1ldGhvZHMgYW5k
IGJlY2F1c2UgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQppbmRleCAxODA5MjljNGQxLi4xMWJhZDhhMzU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTcxMyw2
ICs3MTMsOSBAQCBwdWJsaWM6CiAgICAgICAgIEBOTywgV2ViS2l0QXNwZWN0UmF0aW9PZkltZ0Zy
b21XaWR0aEFuZEhlaWdodEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktp
dFdlYlNRTEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBAWUVTLCBXZWJLaXREZWJ1Z05l
ZWRzSW5BcHBCcm93c2VyUHJpdmFjeVF1aXJrc1ByZWZlcmVuY2VLZXksCisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgICAgICBATk8sIFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkUHJlZmVyZW5jZUtleSwKKyNlbmRpZgogICAgICAgICBuaWxdOwogCiAjaWYgIVBMQVRGT1JN
KElPU19GQU1JTFkpCkBAIC0zNjc4LDYgKzM2ODEsMTYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFz
c0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6d2ViU1FMRW5hYmxl
ZCBmb3JLZXk6V2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09M
KW92ZXJzY3JvbGxFdmVudHNFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVG
b3JLZXk6V2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwor
LSAodm9pZClzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3Nl
bGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZFByZWZlcmVuY2VLZXldOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJl
bmNlcyAoV2ViSW50ZXJuYWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBhODQ1NDlkNGFiLi43ZmY3MzE5
ZDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTY4OCw2ICs2ODgsNyBAQCBleHRlcm4gTlNTdHJpbmcg
KldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBXRUJL
SVRfREVQUgogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRSZXNwb25zaXZlSW1h
Z2VzRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFzcGVjdFJhdGlvT2ZJbWdG
cm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgb3Zl
cnNjcm9sbEV2ZW50c0VuYWJsZWQ7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkg
KG5vbmF0b21pYykgQk9PTCBxdWlja0xvb2tEb2N1bWVudFNhdmluZ0VuYWJsZWQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggOTVkMGYzZThkNi4uMmRl
NGExZDdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtMzAxNSw2ICszMDE1LDkgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2Fk
aW5nUXVpcmsoKQogICAgIHNldHRpbmdzLnNldENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWQo
W3ByZWZlcmVuY2VzIENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWRdKTsKICAgICBzZXR0aW5n
cy5zZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NPTVZp
ZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0TWVkaWFDb250ZW50
VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoW3ByZWZlcmVuY2VzIG1lZGlhQ29udGVudFR5
cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0XSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorICAgIHNldHRpbmdzLnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKFtwcmVmZXJlbmNl
cyBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZF0pOworI2VuZGlmCiAKICAgICBzd2l0Y2ggKFtwcmVm
ZXJlbmNlcyBzdG9yYWdlQmxvY2tpbmdQb2xpY3ldKSB7CiAgICAgY2FzZSBXZWJBbGxvd0FsbFN0
b3JhZ2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggODA0YmU1YTQ0YS4uMTA0YTc4
MzNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIw
LTA0LTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2Fu
ZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCBXZWJQcmVm
ZXJlbmNlIHNldHRpbmcuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjppbml0aWFs
aXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpvdmVyc2Nyb2xs
RXZlbnRzRW5hYmxlZCk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2Vi
Vmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgor
CiAyMDIwLTA0LTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTaG91bGQgZmluZCB0b3VjaC1hY3Rpb24gZWxlbWVudHMgaW5zaWRlIG5vbi1jb21wb3NpdGVk
IGlmcmFtZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMv
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmluZGV4IGRmZmQ5NGRkODYuLjY1Y2Yz
YWQ5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApAQCAtMjY1LDQgKzI2NSw3IEBAIGlu
dGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOCA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGU3
CiB7CiAgICAgSFJFU1VMVCBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKFtvdXQsIHJldHZh
bF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0Rh
dGFVUkxzKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIG92ZXJzY3JvbGxFdmVudHNF
bmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0T3ZlcnNjcm9sbEV2
ZW50c0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDE3YmNmOWJlMTgu
LjA0YWViNmM3YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMjcsMyArMjI3LDUgQEAKICNkZWZpbmUgV2ViS2l0QXNw
ZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCIKIAogI2RlZmluZSBX
ZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKKwor
I2RlZmluZSBXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktp
dE92ZXJzY3JvbGxFdmVudHNFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuY3BwCmluZGV4IGRkMjllOTIzNmMuLjE4NGIyYzhiOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTM1NCw2ICszNTQsOCBAQCB2b2lk
IFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKIAogICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVy
ZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShk
ZWZhdWx0cywgQ0ZTVFIoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIGRlZmF1bHRTZXR0aW5ncyA9IGRlZmF1bHRzOwog
I2VuZGlmCiB9CkBAIC0yNDcwLDYgKzI0NzIsMjAgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6
c2V0V2ViU1FMRW5hYmxlZChCT09MIGVuYWJsZWQpCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6Om92ZXJzY3JvbGxFdmVudHNFbmFibGVkKF9PdXRfIEJPT0wq
IGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVS
OworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdE92ZXJzY3JvbGxFdmVudHNF
bmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2Vi
UHJlZmVyZW5jZXM6OnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sK
KyAgICBzZXRCb29sVmFsdWUoV2ViS2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNl
S2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJl
bmNlczo6YWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhfT3V0XyBCT09MKiBhbGxvd0FjY2Vz
cykKIHsKICAgICBpZiAoIWFsbG93QWNjZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlBy
ZWZlcmVuY2VzLmgKaW5kZXggYTMxYmEwM2E4Mi4uNzA5OGVlMTE5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMDcsNiArMzA3LDggQEAgcHVibGljOgog
ICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBbGxvd1RvcE5hdmlnYXRp
b25Ub0RhdGFVUkxzKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKEJPT0wpOwog
CiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApp
bmRleCA5YmNlMzY4YWRiLi4yMTU4NzEwYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmNwcApAQCAtNTY3MCw2ICs1NjcwLDExIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0
dXJuIGhyOwogICAgIHNldHRpbmdzLnNldEFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWln
aHRFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+b3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICBy
ZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQoISFlbmFi
bGVkKTsKKwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
aW5kZXggZmQ5M2M4NTI0NS4uYjJlZjg4NWYwNCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZQpAQCAtMTgwLDYgKzE4MCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgIlRvZ2dsZSBPZmZzY3Jl
ZW5DYW52YXMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiVG9nZ2xlIE9yaWVudGF0aW9uIEV2ZW50cyBzdXBw
b3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HX1RPVUNIICJUb2dnbGUgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PVkVSU0NST0xM
X0VWRU5UUyAiVG9nZ2xlIG92ZXJzY3JvbGwgZXZlbnRzIiBQUklWQVRFIE9GRikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfUEFZTUVOVF9SRVFVRVNUICJUb2dnbGUgUGF5bWVudCBS
ZXF1ZXN0IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9QREZLSVRfUExVR0lOICJUb2dnbGUgUERGS2l0IHBsdWdpbiBzdXBwb3J0IiBQUklWQVRF
IE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSSAiVG9nZ2xlIFBpY3R1cmUtaW4tUGljdHVyZSBBUEkgc3VwcG9ydCIgUFJJVkFURSBPRkYp
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODAy
YTJmNjM3Ni4uMzcyMjE4ODZhMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAg
PGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNj
cm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5n
LgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAg
IERlYWwgd2l0aCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZC4KKworICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFRlc3RPcHRpb25zOjpUZXN0T3B0aW9u
cyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaDoKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChlbmFibGVFeHBl
cmltZW50YWxGZWF0dXJlcyk6CisgICAgICAgIChzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRp
b25zKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAyMC0wNC0wOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBTaW1wbGlmeSBOU0FycmF5LCBOU0RpY3Rpb25hcnksIGFuZCBOU051bWJlciBp
ZGlvbXMgdGhyb3VnaG91dCBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcApp
bmRleCAyOTA2MDZhMjU1Li5hMzEyMjE1YWQzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlv
bnMuY3BwCkBAIC0xNTYsNiArMTU2LDggQEAgVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25zKGNvbnN0
IHN0ZDo6c3RyaW5nJiBwYXRoT3JVUkwsIGNvbnN0IHN0ZDo6c3RyaW5nJiBhYnNvbHUKICAgICAg
ICAgICAgIGVuYWJsZUFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHQgPSBwYXJzZUJv
b2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiKQogICAgICAgICAgICAgYWxsb3dUb3BOYXZpZ2F0
aW9uVG9EYXRhVVJMcyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CisgICAg
ICAgIGVsc2UgaWYgKGtleSA9PSAiZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNFbmFibGVk
IikKKyAgICAgICAgICAgIGVuYWJsZU92ZXJzY3JvbGxFdmVudHMgPSBwYXJzZUJvb2xlYW5UZXN0
SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBwYWlyU3RhcnQgPSBwYWlyRW5kICsgMTsKICAg
ICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAppbmRleCBhZTRiYTRhZDVkLi4wMWNm
MzQ2MGEwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKQEAgLTU4LDYgKzU4LDcgQEAg
c3RydWN0IFRlc3RPcHRpb25zIHsKICAgICBib29sIGVuYWJsZUFzcGVjdFJhdGlvT2ZJbWdGcm9t
V2lkdGhBbmRIZWlnaHQgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlV2ViU1FMIHsgdHJ1ZSB9
OwogICAgIGJvb2wgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyB7IHRydWUgfTsKKyAgICBi
b29sIGVuYWJsZU92ZXJzY3JvbGxFdmVudHMgeyBmYWxzZSB9OwogICAgIHN0ZDo6c3RyaW5nIGpz
Y09wdGlvbnM7CiAgICAgc3RkOjpzdHJpbmcgYWRkaXRpb25hbFN1cHBvcnRlZEltYWdlVHlwZXM7
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA5OTA2
YTlmN2NmLi43Yjk4Y2QwNWU5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCkBAIC04ODYsNiArODg2LDcgQEAgc3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVu
dGFsRmVhdHVyZXMoV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIFtwcmVmZXJlbmNl
cyBzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0QXNw
ZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVy
ZW5jZXMgc2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVm
ZXJlbmNlcyBzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZDpZRVNdOwogfQogCiAvLyBDYWxsZWQg
YmVmb3JlIGVhY2ggdGVzdC4KQEAgLTEwNDQsNiArMTA0NSw3IEBAIHN0YXRpYyB2b2lkIHNldFdl
YlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpCiAg
ICAgcHJlZmVyZW5jZXMubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQg
PSBvcHRpb25zLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkOwogICAg
IHByZWZlcmVuY2VzLmFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkID0g
b3B0aW9ucy5lbmFibGVBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0OwogICAgIHBy
ZWZlcmVuY2VzLmFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMgPSBvcHRpb25zLmFsbG93VG9w
TmF2aWdhdGlvblRvRGF0YVVSTHM7CisgICAgcHJlZmVyZW5jZXMub3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQgPSBvcHRpb25zLmVuYWJsZU92ZXJzY3JvbGxFdmVudHM7CiB9CiAKIC8vIENhbGxlZCBv
bmNlIG9uIER1bXBSZW5kZXJUcmVlIHN0YXJ0dXAuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVh
dHVyZUxpc3QucG0KaW5kZXggZjczMDUxOTEzNi4uMmJlMDYzMzBlZiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMTM3LDYgKzEzNyw3IEBAIG15ICgKICAgICAk
b2Zmc2NyZWVuQ2FudmFzU3VwcG9ydCwKICAgICAkb3JpZW50YXRpb25FdmVudHNTdXBwb3J0LAog
ICAgICRvdmVyZmxvd1Njcm9sbGluZ1RvdWNoU3VwcG9ydCwKKyAgICAkb3ZlcnNjcm9sbEV2ZW50
c1N1cHBvcnQsCiAgICAgJHBheW1lbnRSZXF1ZXN0U3VwcG9ydCwKICAgICAkcGRma2l0UGx1Z2lu
U3VwcG9ydCwKICAgICAkcGljdHVyZUluUGljdHVyZUFQSVN1cHBvcnQsCkBAIC00NjAsNiArNDYx
LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJvdmVyZmxvdy1zY3JvbGxp
bmctdG91Y2giLCBkZXNjID0+ICJUb2dnbGUgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIHN1cHBvcnQi
LAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIIiwgdmFs
dWUgPT4gXCRvdmVyZmxvd1Njcm9sbGluZ1RvdWNoU3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24g
PT4gIm92ZXJzY3JvbGwtZXZlbnRzIiwgZGVzYyA9PiAiRW5hYmxlIE92ZXJzY3JvbGwgRXZlbnRz
IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMiLCB2
YWx1ZSA9PiBcJG92ZXJzY3JvbGxFdmVudHNTdXBwb3J0IH0sCisKICAgICB7IG9wdGlvbiA9PiAi
cGF5bWVudC1yZXF1ZXN0IiwgZGVzYyA9PiAiVG9nZ2xlIFBheW1lbnQgUmVxdWVzdCBzdXBwb3J0
IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCIsIHZhbHVlID0+IFwk
cGF5bWVudFJlcXVlc3RTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGE3NGI0
YTY2NmYuLjY5YTRkYmQwNjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzAxLDYgKzMwMSw4
IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RP
VUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFC
TEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMg
PSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBF
TkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9
ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBA
IC00MjEsNCArNDIzLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRURJVEFCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9J
Tl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJM
RV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVf
U1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dI
SUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVF
Tl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFS
RUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNU
SU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVf
V0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
QkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRURJVEFC
TEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFC
TEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5E
Qk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxF
X1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElT
VElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396059</attachid>
            <date>2020-04-10 00:24:41 -0700</date>
            <delta_ts>2020-04-10 00:41:44 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-010-review.diff</filename>
            <type>text/plain</type>
            <size>52473</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMTVlY2UwYjA0Li5kNDc4OTc0MTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgIFRlc3QgZmFpbHMgb24gaU9TIGJlY2F1c2UgdGhlIEZyYW1lVmll
dyBzY3JvbGwgcG9zaXRpb24gaXMgbm8gY2xhbXBlZCwgc2VlIGJ1ZzogMTc5NzM1LgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczogVGVzdCBmYWlscyBvbiBtYWMt
d2sxIGJlY2F1c2UgdGhlIEZyYW1lVmlldyBzbW9vdGggc2Nyb2xsaW5nIGlzIG5vdCBmdW5jdGlv
bmFsLiBTZWUgYnVnOiAxOTEzNTcuCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogRW5hYmxl
IHRoZSB0ZXN0IGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHNjcm9sbGVuZCBldmVudC4KKwog
MjAyMC0wNC0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgSW1wb3J0IHRlc3QgZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgc2Nyb2xsZW5kIGV2ZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA5MTUwNTFmYzMyLi4wMmIxZGRlN2EzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTE2NSw3ICsxNjUsMTUgQEAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5LyBbIFNraXAgXQogZmFzdC9oYXJuZXNzL3Vpc2NyaXB0Y29udHJvbGxlciBbIFNraXAg
XQogCiAjIE9ubHkgaU9TIGhhcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBVSVNjcmlwdENvbnRyb2xs
ZXI6OnNlbmRFdmVudFN0cmVhbSgpLgotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWRvY3Vt
ZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1lbGVtZW50LXdpdGgtb3Zl
cnNjcm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tc2Ny
b2xsZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8td2luZG93
Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWFmdGVyLXNuYXAuaHRtbCBbIFNraXAg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZl
bnQtZmlyZWQtdG8tZWxlbWVudC13aXRoLW92ZXJzY3JvbGwtYmVoYXZpb3IuaHRtbCBbIFNraXAg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8tc2Nyb2xsZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9s
bGVuZC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBbIFNraXAgXQogCiAjIFRoaXMgdGVzdCBv
bmx5IG1ha2VzIHNlbnNlIG9uIE1hYwogZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtc3VidGl0
bGUtcmVzaXplLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IGQxZDJiZTMwZjkuLjlhMTkyZmIwNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2ZW50IG9mIHBy
b2dyYW1tYXRpYyBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwOTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9s
bGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZv
ci1zY3JvbGxJbnRvVmlldy5odG1sOgorCiAyMDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhp
ZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBvcnQgdGVzdCBmb3IgcHJvZ3JhbW1hdGlj
IHNjcm9sbGluZyBzY3JvbGxlbmQgZXZlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5k
LWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVk
LnR4dAppbmRleCA5NTQxZjk2ZmMzLi45NjZjOWYxYWJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3Jv
bGwtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFRlc3RzIHNjcm9sbGVuZCBl
dmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVuY3Rpb25zLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIkRJVi5zY3JvbGxUbyBkaWQgbm90IHJlY2VpdmUgc2Ny
b2xsZW5kIGV2ZW50LiIKLUZBSUwgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFuZ2luZyBz
Y3JvbGwgYXR0cmlidXRlcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6ICJESVYuc2Nyb2xsVG9wIGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIgor
UEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNhbGxpbmcgc2Nyb2xsIGZ1bmN0aW9ucy4g
CitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0
ZXMuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJv
Z3JhbW1hdGljLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbAppbmRleCA3OWI1ZjVmMDE4Li4yNjM0NDg4MWEyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGlj
LXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9n
cmFtbWF0aWMtc2Nyb2xsLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgSFRNTD4KKzwh
RE9DVFlQRSBIVE1MPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJz
Y3JvbGxFdmVudHNFbmFibGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9s
bGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9u
ZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1Zp
ZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9s
bEludG9WaWV3LWV4cGVjdGVkLnR4dAppbmRleCAyNGMzN2VlY2I5Li5iZWM3MTFmZGUzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXct
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3Jv
bGxJbnRvVmlldy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgVGVzdHMgc2Ny
b2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJbnRvVmlldy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6ICJESVYuc2Nyb2xsSW50b1ZpZXcgIGRpZCBub3QgcmVjZWl2
ZSBzY3JvbGxlbmQgZXZlbnQuIgotRkFJTCBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3Rl
ZCBzY3JvbGxJbnRvVmlldy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6ICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgZGlkIG5vdCByZWNlaXZlIHNjcm9sbGVuZCBl
dmVudC4iCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIAor
UEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3RlZCBzY3JvbGxJbnRvVmlldy4gCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRv
Vmlldy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9W
aWV3Lmh0bWwKaW5kZXggNjNlMWMzZTIyZS4uYzNjZGUxMTU1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGlu
Zy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKQEAgLTEs
NCArMSw0IEBACi08IURPQ1RZUEUgSFRNTD4KKzwhRE9DVFlQRSBIVE1MPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNFbmFibGVkPXRydWUgZXhw
ZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgogPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAuLjRhYmFhNmEyMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKKworRkFJTCBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9W
aWV3LiBhc3NlcnRfZXF1YWxzOiBIVE1MLnNjcm9sbEludG9WaWV3IHNjcm9sbExlZnQgZXhwZWN0
ZWQgMTAwMDAgYnV0IGdvdCAyMjAwCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVz
dGVkIHNjcm9sbEludG9WaWV3LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDBlMDc0NzlmN2YuLjg1NTE3NzhmODkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc1NSw2ICs3NTUs
OCBAQCB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1t
YWluLWZyYW1lLXdpbmRvdy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9y
LXN1YmZyYW1lLXJvb3QuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1z
dWJmcmFtZS13aW5kb3cuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1l
dmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sIFsgU2tpcCBdCit3ZWJraXQu
b3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9z
Y3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sIFsg
U2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xODk5MDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nLndvcmtlci5odG1sIFsgRmFpbHVy
ZSBdCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA1MjNhNDM4ZDgzLi5hM2MzYTViZTY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsOTIgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJv
Z3JhbW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0
aWMgc2Nyb2xsaW5nLiBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1l
bnQgc3RvcmVzCisgICAgICAgIHRoZSBzY3JvbGxlZCB0YXJnZXRzIHdoaWNoIG5lZWQgdG8gZGlz
cGF0Y2ggc2Nyb2xsZW5kIGV2ZW50cy4gRnJhbWVWaWV3IGFuZCBSZW5kZXJMYXllciBwcm92aWRl
IHRocmVlIHdheXMgdG8KKyAgICAgICAgYWRkIGVsZW1lbnRzIHRvIHRoZSBzY3JvbGxlbmQgbGlz
dC4gICAgIAorICAgICAgICAxLiBJbnN0YW50IHNjcm9sbGluZyBpbmNsdWRpbmcgdGhlIHNjcm9s
bGluZyBwb3NpdGlvbiBub3QgY2hhbmdlZCBhbmltYXRlZCBzY3JvbGwsIHRoZSBlbGVtZW50IHdv
dWxkIGFkZCB0byB0aGUgbGlzdAorICAgICAgICBhZnRlciBzY3JvbGwgcG9zaXRpb24gY2hhbmdl
ZC4KKyAgICAgICAgMi4gQW5pbWF0ZWQgc2Nyb2xsaW5nLCB0aGUgZWxlbWVudCB3b3VsZCBiZSBz
ZXQgYXMgdGhlIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgb2YgU2Nyb2xsQW5pbWF0aW9uIGFuZCBh
ZGQgdG8gdGhlIGxpc3QKKyAgICAgICAgd2hlbiBhbmltYXRpb24gc3RvcHMuIEZvciBzY3JvbGxS
ZWN0SW50b1ZpZXcsIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSBzY3JvbGxlbmQgZXZlbnQgZmlyZWQg
YWZ0ZXIgYWxsIGFuY2VzdG9yIGxheWVycworICAgICAgICBmaW5pc2hpbmcgc2Nyb2xsaW5nLCBh
ZGQgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5kaWNhdGUgaWYgc2Nyb2xsUmVjdElu
dG9WaWV3IGZpbmlzaGVkLiBXaGVuIFNjcm9sbEFuaW1hdGlvbgorICAgICAgICBzdG9wcywgaXQg
d2lsbCB0cnkgdG8gZmluZCBhIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3RvciBsYXll
ciBhbmQgcGFzcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0byBpdHMKKyAgICAgICAgU2Ny
b2xsQW5pbWF0aW9uLiBJZiBubyBzdWNoIGxheWVyIGZvdW5kLCBhZGQgbV9zY3JvbGxFbmRFdmVu
dFRhcmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIDMuIFVzZXIgYXN5bmNocm9u
b3VzIHNjcm9sbGluZywgdGhlIHNjcm9sbCBwb3NpdGlvbiB3b3VsZG4ndCBjaGFuZ2UgaW1tZWRp
YXRlbHkuIFNvIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uCisgICAgICAgIHRoZW4gY2hlY2tT
Y3JvbGxFbmRFdmVudFBvc2l0aW9uIGlmIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2VkLiBUaGUgcHJv
Z3JhbW1hdGljIHNjcm9sbGluZyB3b3VsZG4ndCB0cmlnZ2VyIHRoaXMgd2F5LgorCisgICAgICAg
IFRlc3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwKKyAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKKwor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFyZ2V0cyB0byBtX3BlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cnVuU2Ny
b2xsU3RlcHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQgZm9yIGVhY2ggdGFyZ2V0LgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRM
aXN0IHdoaWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQgdGFyZ2V0cy4KKyAgICAgICAgKiBk
b20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTY3JvbGxMZWZ0
KTogU2V0IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzIGZvciBGcmFtZVZpZXcgZWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6IERpdHRvLgorICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Ny
b2xsVG8gY29uc3QpOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGZvciBzY3Jv
bGxpbmcgdG8gKDAsIDApIG9wdGltaXphdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRk
IGRvY3VtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChpbnN0YW50IHNj
cm9sbCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc2l0
aW9uLCBvdGhlcndpc2Ugc2V0IGRvY3VtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Ny
b2xsQW5pYW10aW9uLikuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNhdmVTY3JvbGxF
bmRFdmVudFBvc2l0aW9uKTogU2F2ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIHRoYXQgcmVxdWlyZXMg
dG8gZmlyZSBhbiBzY3JvbGxlbmQgZXZlbnQuIFRoaXMgaXMgZm9yIGFzeW5jaHJvbm91cyBzY3Jv
bGwuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbik6IEFkZCBkb2N1bWVudCB0byB0aGUgbGlzdCBpZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGVx
dWFsIHRvIHRoZSBwcmVzZXJ2ZWQgb25lLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojph
ZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQpOiBBZGQgRG9jdW1lbnQgdG8gbV9wZW5kaW5n
U2Nyb2xsZW5kRXZlbnRUYXJnZXRMaXN0IGluIERvY3VtZW50LgorICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3Lmg6IEFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0byBpbmRpY2F0ZSBGcmFt
ZVZpZXcgaXMgcGVyZm9ybWluZyBhIGFuaW1hdGVkIHNjcm9sbFJlY3RJbnRvVmlldyBzY3JvbGwu
CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxBbmltYXRpb246OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdGlvblNtb290aDo6c3RvcCk6IENhbGwgbm90aWZ5U2Nyb2xsRW5kLgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxFbmQpOiBzZXREdXJpbmdT
Y3JvbGxSZWN0SW50b1ZpZXcgZmFsc2UuIElmIHRoZXJlJ3MgbV9zY3JvbGxFbmRFdmVudFRhcmdl
dCwgdHJ5IHRvIGZpbmQgYW4gYW5jZXN0b3IgbGF5ZXIKKyAgICAgICAgZHVyaW5nU2Nyb2xsUmVj
dEludG9WaWV3IGFuZCBzZXQgdGhlIHRhcmdldCB0byBpdC4gT3RoZXJ3aXNlLCBhZGQgdGhlIHRh
cmdldCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRpb25TbW9vdGg6OnNldFNjcm9sbEVuZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOiBDYWxsIG5vdGlmeVNjcm9s
bEVuZCBpZiBub3QgY29udGludWVBbmltYXRpb24uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0aW9uU21vb3RoLmg6IEFkZCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdG9yOjpzZXRTY3JvbGxFbmRUYXJnZXQpOiBTZXQgbV9zY3JvbGxFbmRFdmVudFRhcmdldCB0
byBTY3JvbGxBbmltYXRpb25TbW9vdGguCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOiBBZGQgUmVxdWVzdFNjcm9s
bEVuZEV2ZW50LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbik6IEFkZCBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNj
cm9sbFRvKTogQ2FsbCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgdGhlIHNjcm9sbCBw
b3NpdGlvbiBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxl
QXJlYTo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNhdmVTY3JvbGxFbmRF
dmVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpjaGVja1Nj
cm9sbEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxhYmxlQXJlYTo6ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGFibGVBcmVhOjpzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRv
Vmlldyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRv
WFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3Np
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24p
OiBBZGQgZWxlbWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgaWYgaXQgc2Nyb2xsZWQoaW5zdGFu
dCBzY3JvbGwgb3Igc21vb3RoIHNjcm9sbAorICAgICAgICB3aXRob3V0IGNoYW5naW5nIHRoZSBw
b3NpdGlvbiwgb3RoZXJ3aXNlIHNldCBlbGVtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Yg
c2Nyb2xsQW5pYW10aW9uLikuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3Jv
bGxUb09mZnNldCk6IENhbGwgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uLCBpZiB0aGVyZSBp
cyBubyBzY3JvbGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8p
OiBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IHNl
dER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKSBpZiBpdCdzIHBlcmZvcm1pbmcgYSBhbmlt
YXRlZCBzY3JvbGxpbmcuCisgICAgICAgIEFmdGVyIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9W
aXNpYmxlKCksIGNoZWNrIGlmIGN1cnJlbnQgbGF5ZXIgaXMgZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3LCBzZXQgdGhlIGVsZW1lbnQgYXMgYW5pbWF0aW9uJ3Mgc2Nyb2xsZW5kIFRhcmdldC4KKyAg
ICAgICAgT3RoZXJ3aXNlLCBmaW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5jZXN0
b3IgbGF5ZXIgYW5kIHBhc3MgdGhlIGVsZW1lbnQgdG8gYW5jZXN0b3IgbGF5ZXIncyBzY3JvbGxB
bmltYXRpb24uCisgICAgICAgIElmIG5vIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBsYXllciBm
b3VuZCwgYWRkIHRoZSBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJn
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpbmRBbmNlc3RvckR1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldyk6IEZpbmQgdGhlIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNl
c3RvciBsYXllciwgYW5kIGNoZWNrIEZyYW1lVmlldyBhdCB0aGUgZW5kLiAKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJs
ZSk6IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKwogMjAyMC0wNC0wOSAgQ2F0aGll
IENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGNj
OGU4YTMzMDEuLjAwOTNhODViZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzk5LDYg
Kzc5OSwxMCBAQCB2b2lkIERvY3VtZW50Ojpjb21tb25UZWFyZG93bigpCiAKICAgICBtX3BlbmRp
bmdTY3JvbGxFdmVudFRhcmdldExpc3QgPSBudWxscHRyOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQorICAgIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxw
dHI7CisjZW5kaWYKKwogICAgIHdoaWxlICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgpKQog
ICAgICAgICBtX3RpbWVsaW5lcy5iZWdpbigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKICAgICBt
X3RpbWVsaW5lID0gbnVsbHB0cjsKQEAgLTQwNjcsNiArNDA3MSwyNiBAQCB2b2lkIERvY3VtZW50
OjphZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQogICAg
IHRhcmdldHMuYXBwZW5kKHRhcmdldCk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCit2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29udGFp
bmVyTm9kZSYgdGFyZ2V0KQoreworICAgIGlmICghc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGVuZGluZ1Njcm9sbEVu
ZEV2ZW50VGFyZ2V0TGlzdCkKKyAgICAgICAgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRM
aXN0ID0gbWFrZVVuaXF1ZTxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PigpOworCisgICAg
YXV0byYgdGFyZ2V0cyA9IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0
czsKKyAgICBpZiAodGFyZ2V0cy5maW5kTWF0Y2hpbmcoWyZdIChhdXRvJiBlbnRyeSkgeyByZXR1
cm4gZW50cnkucHRyKCkgPT0gJnRhcmdldDsgfSkgIT0gbm90Rm91bmQpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmICh0YXJnZXRzLmlzRW1wdHkoKSkKKyAgICAgICAgc2NoZWR1bGVUaW1lZFJl
bmRlcmluZ1VwZGF0ZSgpOworCisgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKK30KKyNlbmRp
ZgorCiB2b2lkIERvY3VtZW50OjpzZXROZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQoKQog
ewogICAgIGlmICghbV9uZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQpCkBAIC00MDkyLDYg
KzQxMTYsMTggQEAgdm9pZCBEb2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMoKQogICAgICAgICBpZiAo
YXV0byogd2luZG93ID0gZG9tV2luZG93KCkpCiAgICAgICAgICAgICB3aW5kb3ctPnZpc3VhbFZp
ZXdwb3J0KCkuZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxF
dmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAg
ICAgfQorCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIC8vIERlYWwgd2l0aCBz
Y3JvbGxlbmQgZXZlbnQuCisgICAgaWYgKG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlz
dCAmJiAhbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzLmlzRW1wdHko
KSkgeworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oRXZlbnRzLCBzdHJlYW0gPDwgIkRvY3VtZW50
IiA8PCB0aGlzIDw8ICJzZW5kaW5nIHNjcm9sbGVuZCBldmVudHMgdG8gcGVuZGluZyBzY3JvbGwg
ZXZlbnQgdGFyZ2V0cyIpOworICAgICAgICBhdXRvIGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzID0g
V1RGTW92ZShtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMpOworICAg
ICAgICBmb3IgKGF1dG8mIHRhcmdldCA6IGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzKSB7CisgICAg
ICAgICAgICBhdXRvIGJ1YmJsZXMgPSB0YXJnZXQtPmlzRG9jdW1lbnROb2RlKCkgPyBFdmVudDo6
Q2FuQnViYmxlOjpZZXMgOiBFdmVudDo6Q2FuQnViYmxlOjpObzsKKyAgICAgICAgICAgIHRhcmdl
dC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxlbmRFdmVu
dCwgYnViYmxlcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICAgICAgfQorICAgIH0K
KyNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50OjphZGRBdWRpb1Byb2R1Y2VyKE1lZGlhUHJvZHVj
ZXImIGF1ZGlvUHJvZHVjZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDM0ZmQwMGUxNWIuLjVk
NzkyMDc5ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzY1LDYgKzEzNjUsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBydW5SZXNpemVTdGVwcygpOwogCiAgICAgdm9pZCBhZGRQZW5kaW5nU2Ny
b2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWluZXJO
b2RlJik7CisjZW5kaWYKICAgICB2b2lkIHNldE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVu
dCgpOwogICAgIHZvaWQgcnVuU2Nyb2xsU3RlcHMoKTsKIApAQCAtMjA1MSw2ICsyMDU0LDkgQEAg
cHJpdmF0ZToKIAogICAgIHN0cnVjdCBQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0OwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdT
Y3JvbGxFdmVudFRhcmdldExpc3Q7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldExpc3Q7CisjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAgICAgSGFzaFNldDxIVE1MTWVkaWFFbGVtZW50Kj4gbV9tZWRpYVN0cmVhbVN0YXRlQ2hh
bmdlRWxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYmMyMDQzNTQ4MS4uMWFlMzk4
MGY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTI5NSw3ICsxMjk1LDExIEBAIHZvaWQg
RWxlbWVudDo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCkKICAgICAgICAgICAgIC8vIFNlZSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5CiAgICAgICAgICAg
ICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhh
dmlvcjo6QXV0bywgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmltYXRlZFNjcm9s
bDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOwogICAgICAgICAgICAgSW50UG9pbnQgcG9zaXRp
b24oc3RhdGljX2Nhc3Q8aW50PihuZXdMZWZ0ICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBm
cmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpKSwgZnJhbWUtPnZpZXcoKS0+c2Nyb2xsWSgpKTsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5z
ZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1h
dGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgICAgICAgICAgZnJh
bWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpD
bGFtcGVkLCBhbmltYXRlZCk7CisjZW5kaWYKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAg
ICAgfQpAQCAtMTMxOSw3ICsxMzIzLDExIEBAIHZvaWQgRWxlbWVudDo6c2V0U2Nyb2xsVG9wKGlu
dCBuZXdUb3ApCiAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNTA1OQogICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQg
PSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9j
dW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpO
bzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9uKGZyYW1lLT52aWV3KCktPnNjcm9sbFgo
KSwgc3RhdGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZy
YW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6
Olllcyk7CisjZWxzZQogICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRp
b24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjZW5kaWYK
ICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCmluZGV4IDA5YWFiNmIyM2QuLjYyZmRlNmU3YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKQEAgLTE2NzksOCArMTY3OSwxNSBAQCB2b2lkIERPTVdpbmRvdzo6c2Nyb2xsVG8oY29u
c3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZwogCiAg
ICAgLy8gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gZm9yIHRoZSBjb21tb24gY2FzZSBvZiBzY3Jv
bGxpbmcgdG8gKDAsIDApIHdoZW4gdGhlIHNjcm9sbGVyIGlzIGFscmVhZHkgYXQgdGhlIG9yaWdp
bi4KICAgICAvLyBJZiBhbiBhbmltYXRlZCBzY3JvbGwgaXMgaW4gcHJvZ3Jlc3MsIHRoaXMgb3B0
aW1pemF0aW9uIGlzIHNraXBwZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGFuaW1hdGVkIHNjcm9sbCBp
cyByZWFsbHkgc3RvcHBlZC4KLSAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2aW9yU3Rh
dHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uICYmICFzY3JvbGxU
b09wdGlvbnMubGVmdC52YWx1ZSgpICYmICFzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkgJiYg
dmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpID09IEludFBvaW50KDAsIDApKQorICAgIGlm
ICh2aWV3LT5jdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0
YXR1czo6Tm90SW5BbmltYXRpb24KKyAgICAgICAgJiYgIXNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZh
bHVlKCkKKyAgICAgICAgJiYgIXNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKQorICAgICAgICAm
JiB2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkgPT0gSW50UG9pbnQoMCwgMCkpIHsKKyNp
ZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIHZpZXctPmFkZFBlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldCgpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAg
ICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGQ1NDY0YTM3ZWMuLjE0MWI4MmM5NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIyODIsNyArMjI4Miw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0
IEludFJlY3QmIHJlY3QpCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngo
KSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09m
ZnNldFkgLSByZWN0LnkoKSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBj
bGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIEZyYW1lVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxD
bGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxF
bmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNj
cm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Ny
b2xsUG9zaXRpb24gPDwgIiAsIGNsZWFyaW5nIGFuY2hvciIpOwogCkBAIC0yMjk1LDEwICsyMjk1
LDIxIEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsCiAgICAgUGFnZSogcGFnZSA9IGZyYW1lKCku
cGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBhZ2UtPmlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkp
CiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuc2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKHBhZ2Ut
PndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKKworICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Njcm9s
bFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNjcm9s
bFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOwogICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRl
ZFNjcm9sbDo6WWVzKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xs
T2Zmc2V0RnJvbVBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwg
Y2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zm
c2V0RnJvbVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwg
Y2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRp
b24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgcmVxdWVz
dFNjcm9sbEVuZEV2ZW50KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBp
ZiAoZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkgJiYgcmVxdWVz
dFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKSB7CisgICAgICAg
IGlmIChuZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3JvbGxWaWV3OjpzY3JvbGxQb3NpdGlvbigpKQor
ICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVs
c2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRT
Y3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgfQor
I2VuZGlmCiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3JvbGxUeXBlKTsKIH0KQEAg
LTM3MzUsNiArMzc0NiwzMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5p
bWF0aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeQogICAgIHNldEN1cnJl
bnRTY3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykK
K3sKKyAgICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9z
aXRpb24gPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGFkanVzdFNjcm9s
bFBvc2l0aW9uV2l0aGluUmFuZ2UocG9zaXRpb24pIDogcG9zaXRpb247CisgICAgbV9maXJlU2Ny
b2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gY2xhbXBlZFNjcm9sbFBvc2l0aW9uOworfQorCit2b2lk
IEZyYW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3NpdGlv
biB8fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBwb3NpdGlvbikK
KyAgICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7
CisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0OworfQor
Cit2b2lkIEZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAg
ICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICBk
b2N1bWVudC0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpkb2N1bWVudCk7Cit9Cisj
ZW5kaWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRDb250ZW50
KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFu
dWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsQnlQ
YWdlIHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaAppbmRleCAwYTBkMGEyMDNhLi5iZTI5YTg1M2U0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKQEAgLTIzMCw3ICsyMzAsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJl
Y3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3Jv
bGw6Ok5vKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVlc3RTY3Jv
bGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pIGZpbmFsOwogICAgIHZvaWQg
cmVzdG9yZVNjcm9sbGJhcigpOwogICAgIHZvaWQgc2NoZWR1bGVTY3JvbGxUb0ZvY3VzZWRFbGVt
ZW50KFNlbGVjdGlvblJldmVhbE1vZGUpOwogICAgIHZvaWQgc2Nyb2xsVG9Gb2N1c2VkRWxlbWVu
dEltbWVkaWF0ZWx5SWZOZWVkZWQoKTsKQEAgLTY2Nyw2ICs2NjcsMTQgQEAgcHVibGljOgogCiAg
ICAgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCkgZmluYWw7CisgICAgdm9pZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldCgpIGZpbmFsOworICAgIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmlu
YWwgeyByZXR1cm4gbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldyA9IHNjcm9sbGluZzsgfQorI2VuZGlmCisKIHByb3RlY3RlZDoKICAg
ICBib29sIHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEs
IGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIGZp
bmFsOwogICAgIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRh
dGVSZWN0KSBmaW5hbDsKQEAgLTkwNyw2ICs5MTUsMTAgQEAgcHJpdmF0ZToKIAogICAgIFBhZ2lu
YXRpb24gbV9wYWdpbmF0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb247
CisjZW5kaWYKKwogICAgIGVudW0gY2xhc3MgVmlld3BvcnRSZW5kZXJlclR5cGUgOiB1aW50OF90
IHsgTm9uZSwgRG9jdW1lbnQsIEJvZHkgfTsKICAgICBWaWV3cG9ydFJlbmRlcmVyVHlwZSBtX3Zp
ZXdwb3J0UmVuZGVyZXJUeXBlIHsgVmlld3BvcnRSZW5kZXJlclR5cGU6Ok5vbmUgfTsKICAgICBT
Y3JvbGxQaW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3IgeyBEb05vdFBpbiB9
OwpAQCAtOTUyLDYgKzk2NCwxMCBAQCBwcml2YXRlOgogICAgIC8vIFRydWUgaWYgYXV0b3NpemUg
aGFzIGJlZW4gcnVuIHNpbmNlIG1fc2hvdWxkQXV0b1NpemUgd2FzIHNldC4KICAgICBib29sIG1f
ZGlkUnVuQXV0b3NpemUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pblVwZGF0ZUVtYmVkZGVkT2Jq
ZWN0cyB7IGZhbHNlIH07CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9v
bCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB7IGZhbHNlIH07CisjZW5kaWYKIH07CiAKIGlu
bGluZSB2b2lkIEZyYW1lVmlldzo6aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQo
Y29uc3QgSW50U2l6ZSYgc2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
aW9uLmgKaW5kZXggNTIzYTc3ZjMzNS4uZGI1M2YxZGY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgU2Nyb2xs
QW5pbWF0aW9uX2gKICNkZWZpbmUgU2Nyb2xsQW5pbWF0aW9uX2gKIAorI2luY2x1ZGUgIkNvbnRh
aW5lck5vZGUuaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00NCw2ICs0NSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVmlz
aWJsZUxlbmd0aHMoKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnJlbnRQb3NpdGlvbihj
b25zdCBGbG9hdFBvaW50JikgeyB9OwogICAgIHZpcnR1YWwgdm9pZCBzZXJ2aWNlQW5pbWF0aW9u
KCkgeyB9OworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIHsgfTsKKyNlbmRpZgog
CiBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsQW5pbWF0aW9uKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxh
YmxlQXJlYSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25T
bW9vdGguY3BwCmluZGV4IDJjYTU3OGEzMGYuLjQ0ZTg4YWIwNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAtMjgsNyArMjgs
MTAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JvbGxBbmltYXRpb25TbW9v
dGguaCIKIAorI2luY2x1ZGUgIkNvbnRhaW5lck5vZGUuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5o
IgogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2lu
Y2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgwLDEw
ICs4MywzOSBAQCB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c2Nyb2xsKGNvbnN0IEZsb2F0
UG9pbnQmIHBvc2l0aW9uKQogCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3RvcCgpCiB7
CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChtX2FuaW1hdGlvblRpbWVy
LmlzQWN0aXZlKCkpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCisKICAgICBt
X2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKICAgICBtX3Njcm9sbGFibGVBcmVhLnNldFNjcm9sbEJl
aGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CiB9CiAK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290
aDo6bm90aWZ5U2Nyb2xsRW5kKCkKK3sKKyAgICBpZiAoIW1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQp
IHsKKyAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXco
ZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogZHVyaW5nU2Nyb2xs
aW5nUGFyZW50TGF5ZXIgPSBtX3Njcm9sbGFibGVBcmVhLmR1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dygpID8gbV9zY3JvbGxhYmxlQXJlYS5maW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoKSA6IG51bGxwdHI7CisgICAgaWYgKGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyKQorICAg
ICAgICBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1fc2Ny
b2xsRW5kRXZlbnRUYXJnZXQpOworICAgIGVsc2UKKyAgICAgICAgbV9zY3JvbGxFbmRFdmVudFRh
cmdldC0+ZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKm1fc2Nyb2xs
RW5kRXZlbnRUYXJnZXQpOworCisgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXREdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcoZmFsc2UpOworICAgIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgPSBudWxscHRy
OworfQorCit2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdl
YWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIG1fc2Nyb2xsRW5kRXZlbnRUYXJn
ZXQgPSB0YXJnZXQ7Cit9CisjZW5kaWYKKwogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnVw
ZGF0ZVZpc2libGVMZW5ndGhzKCkKIHsKICAgICBtX2hvcml6b250YWxEYXRhLnZpc2libGVMZW5n
dGggPSBtX3Njcm9sbGFibGVBcmVhLnZpc2libGVXaWR0aCgpOwpAQCAtNDEwLDggKzQ0MiwxMiBA
QCB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCgpCiAKICAg
ICBpZiAoY29udGludWVBbmltYXRpb24pCiAgICAgICAgIHN0YXJ0TmV4dFRpbWVyKHN0ZDo6bWF4
KG1pbmltdW1UaW1lckludGVydmFsLCBkZWx0YVRvTmV4dEZyYW1lKSk7Ci0gICAgZWxzZQorICAg
IGVsc2UgewogICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldFNjcm9sbEJlaGF2aW9yU3RhdHVz
KFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgICAgICBub3RpZnlTY3JvbGxFbmQoKTsKKyNlbmRpZgorICAgIH0K
IAogICAgIG1fbm90aWZ5UG9zaXRpb25DaGFuZ2VkRnVuY3Rpb24oRmxvYXRQb2ludChtX2hvcml6
b250YWxEYXRhLmN1cnJlbnRQb3NpdGlvbiwgbV92ZXJ0aWNhbERhdGEuY3VycmVudFBvc2l0aW9u
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRp
b25TbW9vdGguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290
aC5oCmluZGV4IDgxNzNmYTdlMjAuLjE4NGNmYWQxZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oCkBAIC0zMSw2ICszMSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEZsb2F0UG9p
bnQ7CiBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIGVudW0gY2xhc3MgU2Nyb2xsQ2xhbXBpbmcgOiB1
aW50OF90OwpAQCAtNDgsMTAgKzQ5LDE2IEBAIHB1YmxpYzoKICAgICAgICAgQm91bmNlCiAgICAg
fTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNldFNjcm9sbEVu
ZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+KSBvdmVycmlkZTsKKyNlbmRpZgogcHJpdmF0
ZToKICAgICBib29sIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJp
dHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Ny
b2xsKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIHN0b3AoKSBvdmVycmlk
ZTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBub3RpZnlTY3JvbGxF
bmQoKTsKKyNlbmRpZgogICAgIHZvaWQgdXBkYXRlVmlzaWJsZUxlbmd0aHMoKSBvdmVycmlkZTsK
ICAgICB2b2lkIHNldEN1cnJlbnRQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50Jikgb3ZlcnJpZGU7
CiAKQEAgLTEwNCw2ICsxMTEsOSBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBtX3N0
YXJ0VGltZTsKICAgICBUaW1lciBtX2FuaW1hdGlvblRpbWVyOworI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICBXZWFrUHRyPENvbnRhaW5lck5vZGU+IG1fc2Nyb2xsRW5kRXZlbnRU
YXJnZXQ7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCAwZmM3MjllOTEyLi5kODkzMDA4
YWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBAIC0y
ODcsNSArMjg3LDEwIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmRpZEFkZEhvcml6b250YWxTY3Jv
bGxiYXIoU2Nyb2xsYmFyKikKIHsKICAgICBtX2FuaW1hdGlvblByb2dyYW1tYXRpY1Njcm9sbC0+
dXBkYXRlVmlzaWJsZUxlbmd0aHMoKTsKIH0KLQorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKK3ZvaWQgU2Nyb2xsQW5pbWF0b3I6OnNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENvbnRh
aW5lck5vZGU+IHRhcmdldCkKK3sKKyAgICBtX2FuaW1hdGlvblByb2dyYW1tYXRpY1Njcm9sbC0+
c2V0U2Nyb2xsRW5kVGFyZ2V0KHRhcmdldCk7Cit9CisjZW5kaWYKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCmluZGV4IDliN2Mw
OWI2OTAuLmVlZGU3OThkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIldoZWVsRXZlbnRUZXN0TW9uaXRvci5o
IgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiAjaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKSB8
fCBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogI2luY2x1ZGUgIlNjcm9sbENvbnRyb2xsZXIuaCIK
QEAgLTQ0LDYgKzQ1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250YWlu
ZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIFBsYXRmb3JtVG91Y2hFdmVudDsKIGNs
YXNzIFNjcm9sbEFuaW1hdGlvbjsKQEAgLTE0Myw2ICsxNDUsMTAgQEAgcHVibGljOgogICAgIEZs
b2F0U2l6ZSB2aWV3cG9ydFNpemUoKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQ
dHI8Q29udGFpbmVyTm9kZT4pOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpOwogICAgIHZv
aWQgdXBkYXRlQWN0aXZlU2Nyb2xsU25hcEluZGV4Rm9yT2Zmc2V0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCBiOTc1ZmIwNDMwLi41NjI3MzQ1NDdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTY1LDYgKzY1LDExIEBAIGVudW0gY2xh
c3MgQW5pbWF0ZWRTY3JvbGwgOiB1aW50OF90IHsKICAgICBZZXMKIH07CiAKK2VudW0gY2xhc3Mg
UmVxdWVzdFNjcm9sbEVuZEV2ZW50IDogdWludDhfdCB7CisgICAgTm8sCisgICAgWWVzCit9Owor
CiBpbmxpbmUgU2Nyb2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1BoeXNpY2FsKFNjcm9sbExvZ2ljYWxE
aXJlY3Rpb24gZGlyZWN0aW9uLCBib29sIGlzVmVydGljYWwsIGJvb2wgaXNGbGlwcGVkKQogewog
ICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcu
Y3BwCmluZGV4IDNhZWUzZjk0OGYuLjFhYjIwYWJjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbFZpZXcuY3BwCkBAIC0yMTMsNyArMjEzLDExIEBAIHZvaWQgU2Nyb2xsVmlldzo6c2V0
Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIFNjcm9sbENs
YW1wCiAgICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCiAgICAgICAgIHNldEFjdHVhbFNjcm9sbFBv
c2l0aW9uKHBvc2l0aW9uKTsKICNlbmRpZgorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIHNldFNjcm9sbFBvc2l0aW9uKHBv
c2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIEZsb2F0UmVjdCBTY3Jv
bGxWaWV3OjpleHBvc2VkQ29udGVudFJlY3QoKSBjb25zdApAQCAtNDg3LDYgKzQ5MSwxMCBAQCB2
b2lkIFNjcm9sbFZpZXc6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBuZXdQb3NpdGlv
bikKIAogICAgIG1fc2Nyb2xsUG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAorI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9zY3Jv
bGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3JvbGxiYXJzU3VwcHJlc3NlZCgpKQog
ICAgICAgICByZXR1cm47CiAKQEAgLTUxNCw3ICs1MjIsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmNv
bXBsZXRlVXBkYXRlc0FmdGVyU2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAg
ICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lkIFNj
cm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQ
b3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsLyogYW5pbWF0
ZWQqLykKK3ZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9z
aXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRT
Y3JvbGwgLyogYW5pbWF0ZWQqLywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50KQogewogICAgIExPR19X
SVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZp
ZXcuaAppbmRleCBlMmVlNjEzZTYxLi5lM2MxZDdkMTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVmlldy5oCkBAIC0yNjIsNyArMjYyLDcgQEAgcHVibGljOgogICAgIFNjcm9sbFBvc2l0
aW9uIGNhY2hlZFNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3JvbGxQ
b3NpdGlvbjsgfQogCiAgICAgLy8gRnVuY3Rpb25zIGZvciBzY3JvbGxpbmcgdGhlIHZpZXcuCi0g
ICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwg
PSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0U2Ny
b2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIHZvaWQgc2Ny
b2xsQnkoY29uc3QgSW50U2l6ZSYgcykgeyByZXR1cm4gc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xs
UG9zaXRpb24oKSArIHMpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmNwcAppbmRleCBjZGFkMzYwMWQzLi44OWQ0ZDk5ZTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAorI2luY2x1ZGUgIkNvbnRh
aW5lck5vZGUuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgpAQCAtNzc1LDQgKzc3NiwxMSBA
QCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBTY3JvbGxhYmxl
QXJlYSYgc2Nyb2xsYWJsZUFyZWEpCiAgICAgcmV0dXJuIHRzOwogfQogCisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xsRW5kVGFyZ2V0
KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIHNjcm9sbEFuaW1hdG9yKCku
c2V0U2Nyb2xsRW5kVGFyZ2V0KHRhcmdldCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggNDVm
YWMwMjliZC4uM2I5YTc3NzlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5oCkBAIC0zNyw2ICszNyw3IEBAIGNsYXNzIFRleHRTdHJlYW07CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEZsb2F0UG9pbnQ7CiBjbGFz
cyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBMYXlvdXRQb2ludDsKQEAgLTM1Miw2ICszNTMsMTYg
QEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24oKSBj
b25zdCA9IDA7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdmlydHVhbCB2
b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgeyB9CisgICAgdmlydHVhbCB2
b2lkIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSB7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGJvb2wp
IHsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYWJsZUFyZWEqIGZpbmRBbmNlc3RvckR1cmluZ1Njcm9s
bFJlY3RJbnRvVmlldygpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2b2lkIHNldFNjcm9sbEVu
ZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsYWJsZUFyZWEoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
aXJ0dWFsIH5TY3JvbGxhYmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAppbmRleCBjODdmZDBhNTdlLi5mODFkZjZlNjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcApAQCAtNjAyLDcgKzYwMiwxMSBAQCB2b2lkIFJlbmRlckJveDo6c2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBl
IHNjcgogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRp
b24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50
OjpZZXMpOworI2Vsc2UKICAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
c2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRl
ckJveDo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQ
b2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcAppbmRleCA3OTBjYWVlOTllLi4wYmFhZDlhOWI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI1OTMsMjEgKzI1OTMsNDQgQEAgdm9p
ZCBSZW5kZXJMYXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpCiB2
b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBzY3Jv
bGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQp
CiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3JvbGxQb3NpdGlvbi55KCkp
OworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihw
b3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5k
RXZlbnQ6Olllcyk7CisjZWxzZQogICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3Jv
bGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3Jv
bGxQb3NpdGlvbiBwb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7CisjaWYgRU5BQkxF
KE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3Jv
bGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsK
KyNlbHNlCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1w
aW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xs
UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9s
bFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkK
K3ZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQpCiB7CisjaWYgIUVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBV
TlVTRURfUEFSQU0ocmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKyNlbmRpZgorCisgICAgYXV0byBv
ZmZzZXQgPSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9m
ZnNldCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CiAgICAgaWYgKGFuaW1hdGVk
ID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1h
dGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFt
cGluZyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihuZXdTY3JvbGxPZmZz
ZXQsIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIHNjcm9sbFRvT2Zm
c2V0KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1w
aW5nKTsKKyAgICAgICAgc2Nyb2xsVG9PZmZzZXQobmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBl
LCBjbGFtcGluZyk7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKHJl
bmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYmIHJlcXVlc3RT
Y3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICBp
ZiAobmV3U2Nyb2xsT2Zmc2V0ID09IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAgICAgYWRkUGVu
ZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVkID09
IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFr
ZVdlYWtQdHIocmVuZGVyZXIoKS5lbGVtZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIH0KIAogU2Ny
b2xsT2Zmc2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZz
ZXQmIHNjcm9sbE9mZnNldCkgY29uc3QKQEAgLTI2MzAsMTMgKzI2NTMsMTggQEAgdm9pZCBSZW5k
ZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQs
IFNjcm9sbFR5cGUgc2MKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25z
KCk7CiAKICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09
IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0
KSA6IHNjcm9sbE9mZnNldDsKLSAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCA9PSB0aGlzLT5z
Y3JvbGxPZmZzZXQoKSkKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24g
PSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CisgICAgaWYg
KGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpIHsKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlv
bihjbGFtcGVkU2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAgICB9
CiAKICAgICBhdXRvIHByZXZpb3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxUeXBlKCk7CiAg
ICAgc2V0Q3VycmVudFNjcm9sbFR5cGUoc2Nyb2xsVHlwZSk7CiAKLSAgICBpZiAoIXJlcXVlc3RT
Y3JvbGxQb3NpdGlvblVwZGF0ZShzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9s
bE9mZnNldCksIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKKyAgICBpZiAoIXJlcXVlc3RTY3JvbGxQ
b3NpdGlvblVwZGF0ZShjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5n
KSkKICAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNsYW1wZWRTY3JvbGxP
ZmZzZXQsIGNsYW1waW5nKTsKICAgICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhh
dmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwogCkBAIC0yNzYwLDYgKzI3ODgsMTAgQEAgdm9p
ZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uKQog
ICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCiAgICAgICAg
IGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0KCplbGVtZW50
KTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbEVuZEV2
ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3JvbGxz
T3ZlcmZsb3coKSkKICAgICAgICAgdmlldy5mcmFtZVZpZXcoKS5kaWRDaGFuZ2VTY3JvbGxPZmZz
ZXQoKTsKIApAQCAtMjgwNSwxMCArMjgzNywxNCBAQCBib29sIFJlbmRlckxheWVyOjphbGxvd3ND
dXJyZW50U2Nyb2xsKCkgY29uc3QKICAgICByZXR1cm4gYm94LT5oYXNIb3Jpem9udGFsT3ZlcmZs
b3coKSB8fCBib3gtPmhhc1ZlcnRpY2FsT3ZlcmZsb3coKTsKIH0KIAotdm9pZCBSZW5kZXJMYXll
cjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRpb25z
KQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0
JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2li
bGVPcHRpb25zJiBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVu
ZEV2ZW50KQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiTGF5
ZXIgIiA8PCB0aGlzIDw8ICIgc2Nyb2xsUmVjdFRvVmlzaWJsZSAiIDw8IGFic29sdXRlUmVjdCk7
CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9vbCBvdmVyc2Nyb2xsRXZl
bnRzRW5hYmxlZCA9IHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZCgpOworI2VuZGlmCisKICAgICBMYXlvdXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CiAg
ICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsK
ICAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0
aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOwpAQCAtMjgzNSw2ICsyODcxLDEwIEBAIHZv
aWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJz
b2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJv
Z3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGJveC0+ZWxlbWVu
dCgpKSkKICAgICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAg
ICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xh
bXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5p
bWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgp
KQorICAgICAgICAgICAgICAgIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsKKyNl
bmRpZgogICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gY2xhbXBl
ZFNjcm9sbE9mZnNldCAtIG9sZFNjcm9sbE9mZnNldDsKICAgICAgICAgICAgIGxvY2FsRXhwb3Nl
UmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKICAgICAgICAgICAgIG5ld1JlY3Qg
PSBMYXlvdXRSZWN0KGJveC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0
KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4
NjcsNiArMjkwNywxNCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNv
bnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAg
ICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgICAgICAgICAgZnJh
bWVWaWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgYW5pbWF0ZWQpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
ICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9PSBB
bmltYXRlZFNjcm9sbDo6WWVzICYmIHNjcm9sbFBvc2l0aW9uICE9IGZyYW1lVmlldy5zY3JvbGxQ
b3NpdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXREdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0U2Ny
b2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpCisgICAgICAgICAgICAg
ICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKGZyYW1l
Vmlldy5mcmFtZSgpLmRvY3VtZW50KCkpKTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKKwog
ICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxp
bmcgPT0gU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIHx8IGZyYW1lVmlldy5z
YWZlVG9Qcm9wYWdhdGVTY3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChhdXRvKiBlbmNsb3NpbmdMYXllciA9IG93bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9z
aW5nTGF5ZXIoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVyID0gZW5jbG9z
aW5nTGF5ZXItPmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9yTm90OjpJbmNs
dWRlU2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI5MTEsNiArMjk1OSwxMyBA
QCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3Qm
IGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIGlmIChhdXRvc2Nyb2xs
Tm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgcmVu
ZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSkKICAgICAgICAgICAgICAgICAg
ICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgICAgIGZyYW1l
Vmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9
PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIGNsYW1wZWRTY3JvbGxQb3NpdGlvbiAhPSBmcmFtZVZp
ZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0
RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOworICAgICAgICAgICAgICAgICAgICBpZiAo
cmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKQorICAg
ICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vh
a1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgICAgICAgICAgICAgfQor
I2VuZGlmCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91dGVy
bW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcgd2UK
QEAgLTI5MjIsOCArMjk3NywyNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNp
YmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICB9
CiAgICAgfQogICAgIAotICAgIGlmIChwYXJlbnRMYXllcikKKyAgICBpZiAocGFyZW50TGF5ZXIp
IHsKICAgICAgICAgcGFyZW50TGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUobmV3UmVjdCwgaW5z
aWRlRml4ZWQsIG9wdGlvbnMpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAg
ICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9
PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICAgICAgQ29udGFpbmVyTm9k
ZSogdGFyZ2V0ID0gcmVuZGVyZXIoKS5lbGVtZW50KCk7CisgICAgICAgICAgICBpZiAocmVuZGVy
ZXIoKS5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0YXJnZXQpCisgICAgICAgICAg
ICAgICAgdGFyZ2V0ID0gJnJlbmRlcmVyKCkuZG9jdW1lbnQoKTsKKworICAgICAgICAgICAgaWYg
KGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAgICAgICAgICAgICAgIHNldFNjcm9sbEVu
ZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgICAgIGF1dG8qIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyID0gZmluZEFuY2VzdG9y
RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCk7CisgICAgICAgICAgICAgICAgaWYgKGR1cmluZ1Nj
cm9sbGluZ1BhcmVudExheWVyKQorICAgICAgICAgICAgICAgICAgICBkdXJpbmdTY3JvbGxpbmdQ
YXJlbnRMYXllci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKHRhcmdldCkpOworICAg
ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5kb2N1bWVu
dCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqdGFyZ2V0KTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorI2VuZGlmCisgICAgfQogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRh
dGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsKCkKQEAgLTcwNTYsNiArNzEyOSw0OSBAQCBi
b29sIFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdpb24oRXZlbnRSZWdpb25JbnZhbGlk
YXRpb25SZWFzb24gcmVhc29uKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCit2b2lkIFJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25z
dCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQorewor
ICAgIGlmICghcmVuZGVyZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gb2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0RnJvbVBv
c2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9
IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQo
b2Zmc2V0KSA6IG9mZnNldDsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24gPSBz
Y3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7Cit9CisKK3ZvaWQg
UmVuZGVyTGF5ZXI6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYgcG9zaXRpb24pCit7CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRp
b24gfHwgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRpb24p
CisgICAgICAgIHJldHVybjsKKworICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgp
OworCisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0Owor
fQorCit2b2lkIFJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKQor
eworICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCisgICAg
ICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpl
bGVtZW50KTsKK30KKworU2Nyb2xsYWJsZUFyZWEqIFJlbmRlckxheWVyOjpmaW5kQW5jZXN0b3JE
dXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKQoreworICAgIGF1dG8qIHBhcmVudExheWVyID0gZW5j
bG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnRoaXMsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpO
byk7CisgICAgd2hpbGUgKHBhcmVudExheWVyKSB7CisgICAgICAgIGlmIChwYXJlbnRMYXllci0+
ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkpCisgICAgICAgICAgICByZXR1cm4gcGFyZW50TGF5
ZXI7CisgICAgICAgIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIo
KnBhcmVudExheWVyLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIH0KKworICAgIEZy
YW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CisgICAg
aWYgKGZyYW1lVmlldy5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgcmV0dXJu
ICZmcmFtZVZpZXc7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisjZW5kaWYKKwogVGV4dFN0cmVh
bSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mIHRzLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0
c1R5cGUpCiB7CiAgICAgc3dpdGNoIChjbGlwUmVjdHNUeXBlKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCmluZGV4IDdlZjAyOTcwYWIuLjNhMDUzY2I0MDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NTIsNyArNDUyLDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSwgU2Nyb2xs
Q2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmlt
YXRlZFNjcm9sbDo6Tm8pOwogICAgIHZvaWQgc2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNjcm9s
bFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVk
U2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8p
OworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3Jv
bGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRl
ZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0gUmVx
dWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2VkIGJ5
IG1hcnF1ZWUuCiAgICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9PZmZz
ZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlByb2dy
YW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KQEAgLTQ2Nyw3ICs0NjcsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBhdmFpbGFibGVDb250ZW50U2l6ZUNoYW5nZWQoQXZhaWxhYmxl
U2l6ZUNoYW5nZVJlYXNvbikgZmluYWw7CiAKICAgICAvLyAiYWJzb2x1dGVSZWN0IiBpcyBpbiBz
Y2FsZWQgZG9jdW1lbnQgY29vcmRpbmF0ZXMuCi0gICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxl
KGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29uc3Qg
U2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmKTsKKyAgICB2b2lkIHNjcm9sbFJlY3RUb1Zpc2li
bGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25z
dCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9IFJl
cXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3coKSBj
b25zdDsKICAgICBib29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25zdDsK
QEAgLTkzMCw2ICs5MzAsMTUgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGRlYnVnRGVzY3JpcHRp
b24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2
b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgZmluYWw7CisgICAgdm9pZCBj
aGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSBmaW5hbDsK
KyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpIGZpbmFsOworICAgIGJv
b2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWwgeyByZXR1cm4gbV9kdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhi
b29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyA9IHNjcm9s
bGluZzsgfQorICAgIFNjcm9sbGFibGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcoKSBmaW5hbDsKKyNlbmRpZgorCiBwcml2YXRlOgogCiAgICAgdm9pZCBzZXROZXh0
U2libGluZyhSZW5kZXJMYXllciogbmV4dCkgeyBtX25leHQgPSBuZXh0OyB9CkBAIC0xMjg2LDYg
KzEyOTUsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbGF5ZXJMaXN0TXV0YXRpb25BbGxvd2Vk
IDogMTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJvb2wg
bV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgOiAxOworI2VuZGlmCisKICNpZiBFTkFCTEUoQ1NT
X0NPTVBPU0lUSU5HKQogICAgIHVuc2lnbmVkIG1fYmxlbmRNb2RlIDogNTsgLy8gQmxlbmRNb2Rl
CiAgICAgYm9vbCBtX2hhc05vdElzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMg
OiAxOwpAQCAtMTM2MSw2ICsxMzc0LDEwIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8UmVuZGVyTGF5ZXJGaWx0ZXJzPiBtX2ZpbHRlcnM7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJl
bmRlckxheWVyQmFja2luZz4gbV9iYWNraW5nOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0
UG9zaXRpb247CisjZW5kaWYKICAgICAKICAgICBQYWludEZyZXF1ZW5jeVRyYWNrZXIgbV9wYWlu
dEZyZXF1ZW5jeVRyYWNrZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcAppbmRleCA4YzE0NGQ2NTFmLi41MmM5OWMyNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDI5LDcgKzQyOSwxMSBAQCBib29sIFJlbmRl
ck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJl
Y3QsIGJvb2wgaW5zaQogICAgIGlmICghZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBlbmNsb3NpbmdMYXll
ci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25z
LCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIGVuY2xvc2luZ0xheWVy
LT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29sdXRlUmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlvbnMp
OworI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396062</attachid>
            <date>2020-04-10 00:41:44 -0700</date>
            <delta_ts>2020-05-15 02:18:33 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-011.diff</filename>
            <type>text/plain</type>
            <size>52476</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMTVlY2UwYjA0Li5kNDc4OTc0MTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgIFRlc3QgZmFpbHMgb24gaU9TIGJlY2F1c2UgdGhlIEZyYW1lVmll
dyBzY3JvbGwgcG9zaXRpb24gaXMgbm8gY2xhbXBlZCwgc2VlIGJ1ZzogMTc5NzM1LgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczogVGVzdCBmYWlscyBvbiBtYWMt
d2sxIGJlY2F1c2UgdGhlIEZyYW1lVmlldyBzbW9vdGggc2Nyb2xsaW5nIGlzIG5vdCBmdW5jdGlv
bmFsLiBTZWUgYnVnOiAxOTEzNTcuCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogRW5hYmxl
IHRoZSB0ZXN0IGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHNjcm9sbGVuZCBldmVudC4KKwog
MjAyMC0wNC0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgSW1wb3J0IHRlc3QgZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgc2Nyb2xsZW5kIGV2ZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA5MTUwNTFmYzMyLi4wMmIxZGRlN2EzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTE2NSw3ICsxNjUsMTUgQEAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5LyBbIFNraXAgXQogZmFzdC9oYXJuZXNzL3Vpc2NyaXB0Y29udHJvbGxlciBbIFNraXAg
XQogCiAjIE9ubHkgaU9TIGhhcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBVSVNjcmlwdENvbnRyb2xs
ZXI6OnNlbmRFdmVudFN0cmVhbSgpLgotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWRvY3Vt
ZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1lbGVtZW50LXdpdGgtb3Zl
cnNjcm9sbC1iZWhhdmlvci5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tc2Ny
b2xsZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8td2luZG93
Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWFmdGVyLXNuYXAuaHRtbCBbIFNraXAg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8tZG9jdW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZl
bnQtZmlyZWQtdG8tZWxlbWVudC13aXRoLW92ZXJzY3JvbGwtYmVoYXZpb3IuaHRtbCBbIFNraXAg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8tc2Nyb2xsZWQtZWxlbWVudC5odG1sIFsgU2tpcCBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9s
bGVuZC1ldmVudC1maXJlZC10by13aW5kb3cuaHRtbCBbIFNraXAgXQogCiAjIFRoaXMgdGVzdCBv
bmx5IG1ha2VzIHNlbnNlIG9uIE1hYwogZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtc3VidGl0
bGUtcmVzaXplLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IGQxZDJiZTMwZjkuLjlhMTkyZmIwNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsZW5kIGV2ZW50IG9mIHBy
b2dyYW1tYXRpYyBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwOTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9s
bGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZv
ci1zY3JvbGxJbnRvVmlldy5odG1sOgorCiAyMDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhp
ZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBvcnQgdGVzdCBmb3IgcHJvZ3JhbW1hdGlj
IHNjcm9sbGluZyBzY3JvbGxlbmQgZXZlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5k
LWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVk
LnR4dAppbmRleCA5NTQxZjk2ZmMzLi45NjZjOWYxYWJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3Jv
bGwtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFRlc3RzIHNjcm9sbGVuZCBl
dmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVuY3Rpb25zLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIkRJVi5zY3JvbGxUbyBkaWQgbm90IHJlY2VpdmUgc2Ny
b2xsZW5kIGV2ZW50LiIKLUZBSUwgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFuZ2luZyBz
Y3JvbGwgYXR0cmlidXRlcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6ICJESVYuc2Nyb2xsVG9wIGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIgor
UEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNhbGxpbmcgc2Nyb2xsIGZ1bmN0aW9ucy4g
CitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0
ZXMuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJv
Z3JhbW1hdGljLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbAppbmRleCA3OWI1ZjVmMDE4Li4yNjM0NDg4MWEyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGlj
LXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9n
cmFtbWF0aWMtc2Nyb2xsLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgSFRNTD4KKzwh
RE9DVFlQRSBIVE1MPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJz
Y3JvbGxFdmVudHNFbmFibGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9s
bGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9u
ZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1Zp
ZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9s
bEludG9WaWV3LWV4cGVjdGVkLnR4dAppbmRleCAyNGMzN2VlY2I5Li5iZWM3MTFmZGUzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXct
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3Jv
bGxJbnRvVmlldy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgVGVzdHMgc2Ny
b2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJbnRvVmlldy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6ICJESVYuc2Nyb2xsSW50b1ZpZXcgIGRpZCBub3QgcmVjZWl2
ZSBzY3JvbGxlbmQgZXZlbnQuIgotRkFJTCBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3Rl
ZCBzY3JvbGxJbnRvVmlldy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6ICJOZXN0ZWQgc2Nyb2xsSW50b1ZpZXcgZGlkIG5vdCByZWNlaXZlIHNjcm9sbGVuZCBl
dmVudC4iCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIAor
UEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3RlZCBzY3JvbGxJbnRvVmlldy4gCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRv
Vmlldy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9W
aWV3Lmh0bWwKaW5kZXggNjNlMWMzZTIyZS4uYzNjZGUxMTU1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGlu
Zy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKQEAgLTEs
NCArMSw0IEBACi08IURPQ1RZUEUgSFRNTD4KKzwhRE9DVFlQRSBIVE1MPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNFbmFibGVkPXRydWUgZXhw
ZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgogPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAuLjRhYmFhNmEyMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKKworRkFJTCBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9W
aWV3LiBhc3NlcnRfZXF1YWxzOiBIVE1MLnNjcm9sbEludG9WaWV3IHNjcm9sbExlZnQgZXhwZWN0
ZWQgMTAwMDAgYnV0IGdvdCAyMjAwCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVz
dGVkIHNjcm9sbEludG9WaWV3LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDBlMDc0NzlmN2YuLjg1NTE3NzhmODkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc1NSw2ICs3NTUs
OCBAQCB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1t
YWluLWZyYW1lLXdpbmRvdy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9y
LXN1YmZyYW1lLXJvb3QuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1z
dWJmcmFtZS13aW5kb3cuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1l
dmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sIFsgU2tpcCBdCit3ZWJraXQu
b3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9z
Y3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sIFsg
U2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xODk5MDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nLndvcmtlci5odG1sIFsgRmFpbHVy
ZSBdCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA1MjNhNDM4ZDgzLi5jNjk4NzQ2MGIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsOTEgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJv
Z3JhbW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFtbWF0
aWMgc2Nyb2xsaW5nLiBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1l
bnQgc3RvcmVzCisgICAgICAgIHRoZSBzY3JvbGxlZCB0YXJnZXRzIHdoaWNoIG5lZWQgdG8gZGlz
cGF0Y2ggc2Nyb2xsZW5kIGV2ZW50cy4gRnJhbWVWaWV3IGFuZCBSZW5kZXJMYXllciBwcm92aWRl
IHRocmVlIHdheXMgdG8KKyAgICAgICAgYWRkIGVsZW1lbnRzIHRvIHRoZSBzY3JvbGxlbmQgbGlz
dC4gICAgIAorICAgICAgICAxLiBJbnN0YW50IHNjcm9sbGluZyBpbmNsdWRpbmcgdGhlIHNjcm9s
bGluZyBwb3NpdGlvbiBub3QgY2hhbmdlZCBhbmltYXRlZCBzY3JvbGwsIHRoZSBlbGVtZW50IHdv
dWxkIGJlIGFkZGVkIHRvCisgICAgICAgIHRoZSBsaXN0IGFmdGVyIHNjcm9sbCBwb3NpdGlvbiBj
aGFuZ2VkLgorICAgICAgICAyLiBBbmltYXRlZCBzY3JvbGxpbmcsIHRoZSBlbGVtZW50IHdvdWxk
IGJlIHNldCBhcyB0aGUgbV9zY3JvbGxFbmRFdmVudFRhcmdldCBvZiBTY3JvbGxBbmltYXRpb24g
YW5kIGFkZCB0byB0aGUgbGlzdAorICAgICAgICB3aGVuIGFuaW1hdGlvbiBzdG9wcy4gRm9yIHNj
cm9sbFJlY3RJbnRvVmlldywgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHNjcm9sbGVuZCBldmVudCBm
aXJlZCBhZnRlciBhbGwgYW5jZXN0b3IgbGF5ZXJzCisgICAgICAgIGZpbmlzaGluZyBzY3JvbGxp
bmcsIGFkZCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB0byBpbmRpY2F0ZSBpZiBzY3JvbGxS
ZWN0SW50b1ZpZXcgZmluaXNoZWQuIFdoZW4gU2Nyb2xsQW5pbWF0aW9uCisgICAgICAgIHN0b3Bz
LCBpdCB3aWxsIHRyeSB0byBmaW5kIGEgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGFuY2VzdG9y
IGxheWVyIGFuZCBwYXNzIHRoZSBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRvIGl0cworICAgICAg
ICBTY3JvbGxBbmltYXRpb24uIElmIG5vIHN1Y2ggbGF5ZXIgZm91bmQsIGFkZCBtX3Njcm9sbEVu
ZEV2ZW50VGFyZ2V0IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgMy4gVXNlciBhc3lu
Y2hyb25vdXMgc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsIHBvc2l0aW9uIHdvdWxkbid0IGNoYW5nZSBp
bW1lZGlhdGVseS4gU28gc2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRpb24KKyAgICAgICAgdGhlbiBj
aGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9uIGNoYW5nZWQuIFRo
ZSBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHdvdWxkbid0IHRyaWdnZXIgdGhpcyB3YXkuCisKKyAg
ICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Nj
cm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRt
bAorICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXcuaHRt
bAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojpjb21tb25UZWFyZG93bik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkUGVu
ZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTogQXBwZW5kIHRoZSB0YXJnZXRzIHRvIG1fcGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
dW5TY3JvbGxTdGVwcyk6IERpc3BhdGNoIHNjcm9sbGVuZCBldmVudCBmb3IgZWFjaCB0YXJnZXQu
CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZCBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRh
cmdldExpc3Qgd2hpY2gga2VlcHMgdGhlIHNjcm9sbGVuZCBldmVudCB0YXJnZXRzLgorICAgICAg
ICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9s
bExlZnQpOiBTZXQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMgZm9yIEZyYW1lVmlldyBlbGVt
ZW50LgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsVG9wKTogRGl0dG8uCisg
ICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93
OjpzY3JvbGxUbyBjb25zdCk6IEFkZCBkb2N1bWVudCB0byB0aGUgc2Nyb2xsZW5kIGxpc3QgZm9y
IHNjcm9sbGluZyB0byAoMCwgMCkgb3B0aW1pemF0aW9uLgorICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24p
OiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGlmIGl0IHNjcm9sbGVkKGluc3Rh
bnQgc2Nyb2xsIG9yIHNtb290aCBzY3JvbGwKKyAgICAgICAgd2l0aG91dCBjaGFuZ2luZyB0aGUg
cG9zaXRpb24sIG90aGVyd2lzZSBzZXQgZG9jdW1lbnQgYXMgdGhlIHNjcm9sbEVuZFRhcmdldCBv
ZiBzY3JvbGxBbmlhbXRpb24uKS4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2F2ZVNj
cm9sbEVuZEV2ZW50UG9zaXRpb24pOiBTYXZlIHRoZSBzY3JvbGwgcG9zaXRpb24gdGhhdCByZXF1
aXJlcyB0byBmaXJlIGFuIHNjcm9sbGVuZCBldmVudC4gVGhpcyBpcyBmb3IgYXN5bmNocm9ub3Vz
IHNjcm9sbC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVu
dFBvc2l0aW9uKTogQWRkIGRvY3VtZW50IHRvIHRoZSBsaXN0IGlmIHRoZSBzY3JvbGwgcG9zaXRp
b24gZXF1YWwgdG8gdGhlIHByZXNlcnZlZCBvbmUuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCk6IEFkZCBEb2N1bWVudCB0byBtX3Bl
bmRpbmdTY3JvbGxlbmRFdmVudFRhcmdldExpc3QgaW4gRG9jdW1lbnQuCisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuaDogQWRkIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IHRvIGluZGljYXRl
IEZyYW1lVmlldyBpcyBwZXJmb3JtaW5nIGEgYW5pbWF0ZWQgc2Nyb2xsUmVjdEludG9WaWV3IHNj
cm9sbC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdGlvbjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKTogQ2FsbCBub3RpZnlTY3JvbGxFbmQuCisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6Om5vdGlmeVNjcm9sbEVuZCk6IHNldER1
cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBmYWxzZS4gSWYgdGhlcmUncyBtX3Njcm9sbEVuZEV2ZW50
VGFyZ2V0LCB0cnkgdG8gZmluZCBhbiBhbmNlc3RvciBsYXllcgorICAgICAgICBkdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcgYW5kIHNldCB0aGUgdGFyZ2V0IHRvIGl0LiBPdGhlcndpc2UsIGFkZCB0
aGUgdGFyZ2V0IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdGlvblNtb290aDo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCk6IENhbGwgbm90aWZ5
U2Nyb2xsRW5kIGlmIG5vdCBjb250aW51ZUFuaW1hdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxBbmltYXRpb25TbW9vdGguaDogQWRkIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQuCisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3I6OnNldFNjcm9sbEVuZFRhcmdldCk6IFNldCBtX3Njcm9sbEVuZEV2ZW50VGFy
Z2V0IHRvIFNjcm9sbEFuaW1hdGlvblNtb290aC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxB
bmltYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6IEFkZCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKTogQWRk
IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmll
dzo6c2Nyb2xsVG8pOiBDYWxsIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbiBpZiB0aGUgc2Ny
b2xsIHBvc2l0aW9uIGNoYW5nZWQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRT
Y3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGFibGVBcmVhOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2F2ZVNjcm9s
bEVuZEV2ZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNo
ZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxl
QXJlYTo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGFibGVBcmVhOjpkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVj
dEludG9WaWV3KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Ny
b2xsVG9YUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRv
WVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3Np
dGlvbik6IEFkZCBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChp
bnN0YW50IHNjcm9sbCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcg
dGhlIHBvc2l0aW9uLCBvdGhlcndpc2Ugc2V0IGVsZW1lbnQgYXMgdGhlIHNjcm9sbEVuZFRhcmdl
dCBvZiBzY3JvbGxBbmlhbXRpb24uKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxUb09mZnNldCk6IENhbGwgY2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uLCBpZiB0aGVy
ZSBpcyBubyBzY3JvbGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
VG8pOiBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24gaWYgc2Nyb2xsIHBvc2l0aW9uIGNoYW5n
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6
IHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKSBpZiBpdCdzIHBlcmZvcm1pbmcgYSBh
bmltYXRlZCBzY3JvbGxpbmcuCisgICAgICAgIEFmdGVyIHBhcmVudExheWVyLT5zY3JvbGxSZWN0
VG9WaXNpYmxlKCksIGNoZWNrIGlmIGN1cnJlbnQgbGF5ZXIgaXMgZHVyaW5nU2Nyb2xsUmVjdElu
dG9WaWV3LCBzZXQgdGhlIGVsZW1lbnQgYXMgYW5pbWF0aW9uJ3Mgc2Nyb2xsZW5kIFRhcmdldC4K
KyAgICAgICAgT3RoZXJ3aXNlLCBmaW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5j
ZXN0b3IgbGF5ZXIgYW5kIHBhc3MgdGhlIGVsZW1lbnQgdG8gYW5jZXN0b3IgbGF5ZXIncyBzY3Jv
bGxBbmltYXRpb24uCisgICAgICAgIElmIG5vIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBsYXll
ciBmb3VuZCwgYWRkIHRoZSBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRU
YXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpbmRBbmNlc3RvckR1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyk6IEZpbmQgdGhlIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBh
bmNlc3RvciBsYXllciwgYW5kIGNoZWNrIEZyYW1lVmlldyBhdCB0aGUgZW5kLiAKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlz
aWJsZSk6IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKwogMjAyMC0wNC0wOSAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGNjOGU4YTMzMDEuLjAwOTNhODViZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzk5
LDYgKzc5OSwxMCBAQCB2b2lkIERvY3VtZW50Ojpjb21tb25UZWFyZG93bigpCiAKICAgICBtX3Bl
bmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3QgPSBudWxscHRyOwogCisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51
bGxwdHI7CisjZW5kaWYKKwogICAgIHdoaWxlICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgp
KQogICAgICAgICBtX3RpbWVsaW5lcy5iZWdpbigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKICAg
ICBtX3RpbWVsaW5lID0gbnVsbHB0cjsKQEAgLTQwNjcsNiArNDA3MSwyNiBAQCB2b2lkIERvY3Vt
ZW50OjphZGRQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYgdGFyZ2V0KQog
ICAgIHRhcmdldHMuYXBwZW5kKHRhcmdldCk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCit2b2lkIERvY3VtZW50OjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29u
dGFpbmVyTm9kZSYgdGFyZ2V0KQoreworICAgIGlmICghc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZl
bnRzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGVuZGluZ1Njcm9s
bEVuZEV2ZW50VGFyZ2V0TGlzdCkKKyAgICAgICAgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJn
ZXRMaXN0ID0gbWFrZVVuaXF1ZTxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PigpOworCisg
ICAgYXV0byYgdGFyZ2V0cyA9IG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFy
Z2V0czsKKyAgICBpZiAodGFyZ2V0cy5maW5kTWF0Y2hpbmcoWyZdIChhdXRvJiBlbnRyeSkgeyBy
ZXR1cm4gZW50cnkucHRyKCkgPT0gJnRhcmdldDsgfSkgIT0gbm90Rm91bmQpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmICh0YXJnZXRzLmlzRW1wdHkoKSkKKyAgICAgICAgc2NoZWR1bGVUaW1l
ZFJlbmRlcmluZ1VwZGF0ZSgpOworCisgICAgdGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKK30KKyNl
bmRpZgorCiB2b2lkIERvY3VtZW50OjpzZXROZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQo
KQogewogICAgIGlmICghbV9uZWVkc1Zpc3VhbFZpZXdwb3J0U2Nyb2xsRXZlbnQpCkBAIC00MDky
LDYgKzQxMTYsMTggQEAgdm9pZCBEb2N1bWVudDo6cnVuU2Nyb2xsU3RlcHMoKQogICAgICAgICBp
ZiAoYXV0byogd2luZG93ID0gZG9tV2luZG93KCkpCiAgICAgICAgICAgICB3aW5kb3ctPnZpc3Vh
bFZpZXdwb3J0KCkuZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3Jv
bGxFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7
CiAgICAgfQorCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIC8vIERlYWwgd2l0
aCBzY3JvbGxlbmQgZXZlbnQuCisgICAgaWYgKG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0
TGlzdCAmJiAhbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRzLmlzRW1w
dHkoKSkgeworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oRXZlbnRzLCBzdHJlYW0gPDwgIkRvY3Vt
ZW50IiA8PCB0aGlzIDw8ICJzZW5kaW5nIHNjcm9sbGVuZCBldmVudHMgdG8gcGVuZGluZyBzY3Jv
bGwgZXZlbnQgdGFyZ2V0cyIpOworICAgICAgICBhdXRvIGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRz
ID0gV1RGTW92ZShtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMpOwor
ICAgICAgICBmb3IgKGF1dG8mIHRhcmdldCA6IGN1cnJlbnRTY3JvbGxFbmRUYXJnZXRzKSB7Cisg
ICAgICAgICAgICBhdXRvIGJ1YmJsZXMgPSB0YXJnZXQtPmlzRG9jdW1lbnROb2RlKCkgPyBFdmVu
dDo6Q2FuQnViYmxlOjpZZXMgOiBFdmVudDo6Q2FuQnViYmxlOjpObzsKKyAgICAgICAgICAgIHRh
cmdldC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zY3JvbGxlbmRF
dmVudCwgYnViYmxlcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICAgICAgfQorICAg
IH0KKyNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50OjphZGRBdWRpb1Byb2R1Y2VyKE1lZGlhUHJv
ZHVjZXImIGF1ZGlvUHJvZHVjZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDM0ZmQwMGUxNWIu
LjVkNzkyMDc5ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzY1LDYgKzEzNjUsOSBAQCBw
dWJsaWM6CiAgICAgdm9pZCBydW5SZXNpemVTdGVwcygpOwogCiAgICAgdm9pZCBhZGRQZW5kaW5n
U2Nyb2xsRXZlbnRUYXJnZXQoQ29udGFpbmVyTm9kZSYpOworI2lmIEVOQUJMRShPVkVSU0NST0xM
X0VWRU5UUykKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWlu
ZXJOb2RlJik7CisjZW5kaWYKICAgICB2b2lkIHNldE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxF
dmVudCgpOwogICAgIHZvaWQgcnVuU2Nyb2xsU3RlcHMoKTsKIApAQCAtMjA1MSw2ICsyMDU0LDkg
QEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0Owog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRp
bmdTY3JvbGxFdmVudFRhcmdldExpc3Q7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0PiBtX3BlbmRp
bmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3Q7CisjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiAgICAgSGFzaFNldDxIVE1MTWVkaWFFbGVtZW50Kj4gbV9tZWRpYVN0cmVhbVN0YXRl
Q2hhbmdlRWxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYmMyMDQzNTQ4MS4uMWFl
Mzk4MGY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTI5NSw3ICsxMjk1LDExIEBAIHZv
aWQgRWxlbWVudDo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCkKICAgICAgICAgICAgIC8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5CiAgICAgICAg
ICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxC
ZWhhdmlvcjo6QXV0bywgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmltYXRlZFNj
cm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOwogICAgICAgICAgICAgSW50UG9pbnQgcG9z
aXRpb24oc3RhdGljX2Nhc3Q8aW50PihuZXdMZWZ0ICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkg
KiBmcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpKSwgZnJhbWUtPnZpZXcoKS0+c2Nyb2xsWSgpKTsK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgICAgICBmcmFtZS0+dmlldygp
LT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFu
aW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgICAgICAgICAg
ZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBhbmltYXRlZCk7CisjZW5kaWYKICAgICAgICAgfQogICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtMTMxOSw3ICsxMzIzLDExIEBAIHZvaWQgRWxlbWVudDo6c2V0U2Nyb2xsVG9w
KGludCBuZXdUb3ApCiAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNTA1OQogICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0
ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xs
OjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9uKGZyYW1lLT52aWV3KCktPnNjcm9s
bFgoKSwgc3RhdGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAq
IGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlv
biwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQ6Olllcyk7CisjZWxzZQogICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9z
aXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjZW5k
aWYKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCmluZGV4IDA5YWFiNmIyM2QuLjYyZmRlNmU3YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKQEAgLTE2NzksOCArMTY3OSwxNSBAQCB2b2lkIERPTVdpbmRvdzo6c2Nyb2xsVG8o
Y29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZwog
CiAgICAgLy8gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gZm9yIHRoZSBjb21tb24gY2FzZSBvZiBz
Y3JvbGxpbmcgdG8gKDAsIDApIHdoZW4gdGhlIHNjcm9sbGVyIGlzIGFscmVhZHkgYXQgdGhlIG9y
aWdpbi4KICAgICAvLyBJZiBhbiBhbmltYXRlZCBzY3JvbGwgaXMgaW4gcHJvZ3Jlc3MsIHRoaXMg
b3B0aW1pemF0aW9uIGlzIHNraXBwZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGFuaW1hdGVkIHNjcm9s
bCBpcyByZWFsbHkgc3RvcHBlZC4KLSAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2aW9y
U3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uICYmICFzY3Jv
bGxUb09wdGlvbnMubGVmdC52YWx1ZSgpICYmICFzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkg
JiYgdmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpID09IEludFBvaW50KDAsIDApKQorICAg
IGlmICh2aWV3LT5jdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlv
clN0YXR1czo6Tm90SW5BbmltYXRpb24KKyAgICAgICAgJiYgIXNjcm9sbFRvT3B0aW9ucy5sZWZ0
LnZhbHVlKCkKKyAgICAgICAgJiYgIXNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKQorICAgICAg
ICAmJiB2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkgPT0gSW50UG9pbnQoMCwgMCkpIHsK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIHZpZXctPmFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCgpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAgICB9CiAK
ICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGQ1NDY0YTM3ZWMuLjE0MWI4MmM5NWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIyODIsNyArMjI4Miw3IEBAIHZvaWQg
RnJhbWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNv
bnN0IEludFJlY3QmIHJlY3QpCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRz
LngoKSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmlu
Z09mZnNldFkgLSByZWN0LnkoKSkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGlu
ZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIEZyYW1lVmlldzo6c2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3Jv
bGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFN
KFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwg
c2Nyb2xsUG9zaXRpb24gPDwgIiAsIGNsZWFyaW5nIGFuY2hvciIpOwogCkBAIC0yMjk1LDEwICsy
Mjk1LDIxIEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsCiAgICAgUGFnZSogcGFnZSA9IGZyYW1l
KCkucGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBhZ2UtPmlzTW9uaXRvcmluZ1doZWVsRXZlbnRz
KCkpCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuc2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKHBh
Z2UtPndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKKworICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Nj
cm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNj
cm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOwogICAgIGlmIChhbmltYXRlZCA9PSBBbmlt
YXRlZFNjcm9sbDo6WWVzKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Ny
b2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUo
KSwgY2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xs
T2Zmc2V0RnJvbVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUo
KSwgY2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xsVmlldzo6c2V0
U2Nyb2xsUG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRlZCwgcmVx
dWVzdFNjcm9sbEVuZEV2ZW50KTsKKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICBpZiAoZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCkgJiYgcmVx
dWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKSB7CisgICAg
ICAgIGlmIChuZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3JvbGxWaWV3OjpzY3JvbGxQb3NpdGlvbigp
KQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAg
IGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBz
ZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAg
fQorI2VuZGlmCiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvbGRTY3JvbGxUeXBlKTsKIH0K
QEAgLTM3MzUsNiArMzc0NiwzMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsVG9PZmZzZXRXaXRo
QW5pbWF0aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeQogICAgIHNldEN1
cnJlbnRTY3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlwZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6c2F2ZVNjcm9sbEVuZEV2ZW50UG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZykKK3sKKyAgICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xs
UG9zaXRpb24gPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGFkanVzdFNj
cm9sbFBvc2l0aW9uV2l0aGluUmFuZ2UocG9zaXRpb24pIDogcG9zaXRpb247CisgICAgbV9maXJl
U2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gY2xhbXBlZFNjcm9sbFBvc2l0aW9uOworfQorCit2
b2lkIEZyYW1lVmlldzo6Y2hlY2tTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBv
c2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBpZiAoIW1fZmlyZVNjcm9sbEVuZEV2ZW50QXRQb3Np
dGlvbiB8fCBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24udmFsdWUoKSAhPSBwb3NpdGlv
bikKKyAgICAgICAgcmV0dXJuOworCisgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0
KCk7CisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0Owor
fQorCit2b2lkIEZyYW1lVmlldzo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sK
KyAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAg
ICBkb2N1bWVudC0+YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpkb2N1bWVudCk7Cit9
CisjZW5kaWYKKwogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRDb250
ZW50KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxH
cmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xs
QnlQYWdlIHx8IG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuaAppbmRleCAwYTBkMGEyMDNhLi5iZTI5YTg1M2U0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgKQEAgLTIzMCw3ICsyMzAsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNpYmxlQ29udGVu
dFJlY3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1w
aW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRT
Y3JvbGw6Ok5vKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVlc3RT
Y3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pIGZpbmFsOwogICAgIHZv
aWQgcmVzdG9yZVNjcm9sbGJhcigpOwogICAgIHZvaWQgc2NoZWR1bGVTY3JvbGxUb0ZvY3VzZWRF
bGVtZW50KFNlbGVjdGlvblJldmVhbE1vZGUpOwogICAgIHZvaWQgc2Nyb2xsVG9Gb2N1c2VkRWxl
bWVudEltbWVkaWF0ZWx5SWZOZWVkZWQoKTsKQEAgLTY2Nyw2ICs2NjcsMTQgQEAgcHVibGljOgog
CiAgICAgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgZmluYWw7CisgICAgdm9pZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29u
c3QgU2Nyb2xsUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldCgpIGZpbmFsOworICAgIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkg
ZmluYWwgeyByZXR1cm4gbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNl
dER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhib29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyA9IHNjcm9sbGluZzsgfQorI2VuZGlmCisKIHByb3RlY3RlZDoK
ICAgICBib29sIHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVs
dGEsIGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3Qp
IGZpbmFsOwogICAgIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1
cGRhdGVSZWN0KSBmaW5hbDsKQEAgLTkwNyw2ICs5MTUsMTAgQEAgcHJpdmF0ZToKIAogICAgIFBh
Z2luYXRpb24gbV9wYWdpbmF0aW9uOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRp
b247CisjZW5kaWYKKwogICAgIGVudW0gY2xhc3MgVmlld3BvcnRSZW5kZXJlclR5cGUgOiB1aW50
OF90IHsgTm9uZSwgRG9jdW1lbnQsIEJvZHkgfTsKICAgICBWaWV3cG9ydFJlbmRlcmVyVHlwZSBt
X3ZpZXdwb3J0UmVuZGVyZXJUeXBlIHsgVmlld3BvcnRSZW5kZXJlclR5cGU6Ok5vbmUgfTsKICAg
ICBTY3JvbGxQaW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3IgeyBEb05vdFBp
biB9OwpAQCAtOTUyLDYgKzk2NCwxMCBAQCBwcml2YXRlOgogICAgIC8vIFRydWUgaWYgYXV0b3Np
emUgaGFzIGJlZW4gcnVuIHNpbmNlIG1fc2hvdWxkQXV0b1NpemUgd2FzIHNldC4KICAgICBib29s
IG1fZGlkUnVuQXV0b3NpemUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pblVwZGF0ZUVtYmVkZGVk
T2JqZWN0cyB7IGZhbHNlIH07CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
Ym9vbCBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyB7IGZhbHNlIH07CisjZW5kaWYKIH07CiAK
IGlubGluZSB2b2lkIEZyYW1lVmlldzo6aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291
bnQoY29uc3QgSW50U2l6ZSYgc2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uLmgKaW5kZXggNTIzYTc3ZjMzNS4uZGI1M2YxZGY3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgU2Ny
b2xsQW5pbWF0aW9uX2gKICNkZWZpbmUgU2Nyb2xsQW5pbWF0aW9uX2gKIAorI2luY2x1ZGUgIkNv
bnRhaW5lck5vZGUuaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC00NCw2ICs0NSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
VmlzaWJsZUxlbmd0aHMoKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnJlbnRQb3NpdGlv
bihjb25zdCBGbG9hdFBvaW50JikgeyB9OwogICAgIHZpcnR1YWwgdm9pZCBzZXJ2aWNlQW5pbWF0
aW9uKCkgeyB9OworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2aXJ0dWFsIHZv
aWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4pIHsgfTsKKyNlbmRp
ZgogCiBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsQW5pbWF0aW9uKFNjcm9sbGFibGVBcmVhJiBzY3Jv
bGxhYmxlQXJlYSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRp
b25TbW9vdGguY3BwCmluZGV4IDJjYTU3OGEzMGYuLjQ0ZTg4YWIwNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAtMjgsNyAr
MjgsMTAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JvbGxBbmltYXRpb25T
bW9vdGguaCIKIAorI2luY2x1ZGUgIkNvbnRhaW5lck5vZGUuaCIKKyNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllci5oIgog
I2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgw
LDEwICs4MywzOSBAQCB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c2Nyb2xsKGNvbnN0IEZs
b2F0UG9pbnQmIHBvc2l0aW9uKQogCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3RvcCgp
CiB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGlmIChtX2FuaW1hdGlvblRp
bWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCisKICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKICAgICBtX3Njcm9sbGFibGVBcmVhLnNldFNjcm9s
bEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CiB9
CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIFNjcm9sbEFuaW1hdGlvblNt
b290aDo6bm90aWZ5U2Nyb2xsRW5kKCkKK3sKKyAgICBpZiAoIW1fc2Nyb2xsRW5kRXZlbnRUYXJn
ZXQpIHsKKyAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXREdXJpbmdTY3JvbGxSZWN0SW50b1Zp
ZXcoZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogZHVyaW5nU2Ny
b2xsaW5nUGFyZW50TGF5ZXIgPSBtX3Njcm9sbGFibGVBcmVhLmR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldygpID8gbV9zY3JvbGxhYmxlQXJlYS5maW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcoKSA6IG51bGxwdHI7CisgICAgaWYgKGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyKQor
ICAgICAgICBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1f
c2Nyb2xsRW5kRXZlbnRUYXJnZXQpOworICAgIGVsc2UKKyAgICAgICAgbV9zY3JvbGxFbmRFdmVu
dFRhcmdldC0+ZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKm1fc2Ny
b2xsRW5kRXZlbnRUYXJnZXQpOworCisgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXREdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcoZmFsc2UpOworICAgIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgPSBudWxs
cHRyOworfQorCit2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c2V0U2Nyb2xsRW5kVGFyZ2V0
KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIG1fc2Nyb2xsRW5kRXZlbnRU
YXJnZXQgPSB0YXJnZXQ7Cit9CisjZW5kaWYKKwogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6
OnVwZGF0ZVZpc2libGVMZW5ndGhzKCkKIHsKICAgICBtX2hvcml6b250YWxEYXRhLnZpc2libGVM
ZW5ndGggPSBtX3Njcm9sbGFibGVBcmVhLnZpc2libGVXaWR0aCgpOwpAQCAtNDEwLDggKzQ0Miwx
MiBAQCB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCgpCiAK
ICAgICBpZiAoY29udGludWVBbmltYXRpb24pCiAgICAgICAgIHN0YXJ0TmV4dFRpbWVyKHN0ZDo6
bWF4KG1pbmltdW1UaW1lckludGVydmFsLCBkZWx0YVRvTmV4dEZyYW1lKSk7Ci0gICAgZWxzZQor
ICAgIGVsc2UgewogICAgICAgICBtX3Njcm9sbGFibGVBcmVhLnNldFNjcm9sbEJlaGF2aW9yU3Rh
dHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgICAgICBub3RpZnlTY3JvbGxFbmQoKTsKKyNlbmRpZgorICAg
IH0KIAogICAgIG1fbm90aWZ5UG9zaXRpb25DaGFuZ2VkRnVuY3Rpb24oRmxvYXRQb2ludChtX2hv
cml6b250YWxEYXRhLmN1cnJlbnRQb3NpdGlvbiwgbV92ZXJ0aWNhbERhdGEuY3VycmVudFBvc2l0
aW9uKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb25TbW9vdGguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNt
b290aC5oCmluZGV4IDgxNzNmYTdlMjAuLjE4NGNmYWQxZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oCkBAIC0zMSw2ICszMSw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEZsb2F0
UG9pbnQ7CiBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIGVudW0gY2xhc3MgU2Nyb2xsQ2xhbXBpbmcg
OiB1aW50OF90OwpAQCAtNDgsMTAgKzQ5LDE2IEBAIHB1YmxpYzoKICAgICAgICAgQm91bmNlCiAg
ICAgfTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIHNldFNjcm9s
bEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+KSBvdmVycmlkZTsKKyNlbmRpZgogcHJp
dmF0ZToKICAgICBib29sIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVs
YXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIHN0b3AoKSBvdmVy
cmlkZTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBub3RpZnlTY3Jv
bGxFbmQoKTsKKyNlbmRpZgogICAgIHZvaWQgdXBkYXRlVmlzaWJsZUxlbmd0aHMoKSBvdmVycmlk
ZTsKICAgICB2b2lkIHNldEN1cnJlbnRQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50Jikgb3ZlcnJp
ZGU7CiAKQEAgLTEwNCw2ICsxMTEsOSBAQCBwcml2YXRlOgogCiAgICAgTW9ub3RvbmljVGltZSBt
X3N0YXJ0VGltZTsKICAgICBUaW1lciBtX2FuaW1hdGlvblRpbWVyOworI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICBXZWFrUHRyPENvbnRhaW5lck5vZGU+IG1fc2Nyb2xsRW5kRXZl
bnRUYXJnZXQ7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCAwZmM3MjllOTEyLi5kODkz
MDA4YWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBA
IC0yODcsNSArMjg3LDEwIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmRpZEFkZEhvcml6b250YWxT
Y3JvbGxiYXIoU2Nyb2xsYmFyKikKIHsKICAgICBtX2FuaW1hdGlvblByb2dyYW1tYXRpY1Njcm9s
bC0+dXBkYXRlVmlzaWJsZUxlbmd0aHMoKTsKIH0KLQorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKK3ZvaWQgU2Nyb2xsQW5pbWF0b3I6OnNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRyPENv
bnRhaW5lck5vZGU+IHRhcmdldCkKK3sKKyAgICBtX2FuaW1hdGlvblByb2dyYW1tYXRpY1Njcm9s
bC0+c2V0U2Nyb2xsRW5kVGFyZ2V0KHRhcmdldCk7Cit9CisjZW5kaWYKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCmluZGV4IDli
N2MwOWI2OTAuLmVlZGU3OThkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIldoZWVsRXZlbnRUZXN0TW9uaXRv
ci5oIgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiAjaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5H
KSB8fCBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogI2luY2x1ZGUgIlNjcm9sbENvbnRyb2xsZXIu
aCIKQEAgLTQ0LDYgKzQ1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDb250
YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIFBsYXRmb3JtVG91Y2hFdmVudDsK
IGNsYXNzIFNjcm9sbEFuaW1hdGlvbjsKQEAgLTE0Myw2ICsxNDUsMTAgQEAgcHVibGljOgogICAg
IEZsb2F0U2l6ZSB2aWV3cG9ydFNpemUoKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdl
YWtQdHI8Q29udGFpbmVyTm9kZT4pOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IHZvaWQgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpOwogICAg
IHZvaWQgdXBkYXRlQWN0aXZlU2Nyb2xsU25hcEluZGV4Rm9yT2Zmc2V0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCBiOTc1ZmIwNDMwLi41NjI3MzQ1NDdiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTY1LDYgKzY1LDExIEBAIGVudW0g
Y2xhc3MgQW5pbWF0ZWRTY3JvbGwgOiB1aW50OF90IHsKICAgICBZZXMKIH07CiAKK2VudW0gY2xh
c3MgUmVxdWVzdFNjcm9sbEVuZEV2ZW50IDogdWludDhfdCB7CisgICAgTm8sCisgICAgWWVzCit9
OworCiBpbmxpbmUgU2Nyb2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1BoeXNpY2FsKFNjcm9sbExvZ2lj
YWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBib29sIGlzVmVydGljYWwsIGJvb2wgaXNGbGlwcGVkKQog
ewogICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZp
ZXcuY3BwCmluZGV4IDNhZWUzZjk0OGYuLjFhYjIwYWJjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwCkBAIC0yMTMsNyArMjEzLDExIEBAIHZvaWQgU2Nyb2xsVmlldzo6
c2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIFNjcm9s
bENsYW1wCiAgICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCiAgICAgICAgIHNldEFjdHVhbFNjcm9s
bFBvc2l0aW9uKHBvc2l0aW9uKTsKICNlbmRpZgorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkLCBS
ZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIHNldFNjcm9sbFBvc2l0aW9u
KHBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIEZsb2F0UmVjdCBT
Y3JvbGxWaWV3OjpleHBvc2VkQ29udGVudFJlY3QoKSBjb25zdApAQCAtNDg3LDYgKzQ5MSwxMCBA
QCB2b2lkIFNjcm9sbFZpZXc6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBuZXdQb3Np
dGlvbikKIAogICAgIG1fc2Nyb2xsUG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24obV9z
Y3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3JvbGxiYXJzU3VwcHJlc3NlZCgp
KQogICAgICAgICByZXR1cm47CiAKQEAgLTUxNCw3ICs1MjIsNyBAQCB2b2lkIFNjcm9sbFZpZXc6
OmNvbXBsZXRlVXBkYXRlc0FmdGVyU2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEp
CiAgICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lk
IFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3Jv
bGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsLyogYW5p
bWF0ZWQqLykKK3ZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xs
UG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0
ZWRTY3JvbGwgLyogYW5pbWF0ZWQqLywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50KQogewogICAgIExP
R19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFZpZXcuaAppbmRleCBlMmVlNjEzZTYxLi5lM2MxZDdkMTMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5oCkBAIC0yNjIsNyArMjYyLDcgQEAgcHVibGljOgogICAgIFNjcm9sbFBv
c2l0aW9uIGNhY2hlZFNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3Jv
bGxQb3NpdGlvbjsgfQogCiAgICAgLy8gRnVuY3Rpb25zIGZvciBzY3JvbGxpbmcgdGhlIHZpZXcu
Ci0gICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3Jv
bGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vLCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIHZvaWQg
c2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYgcykgeyByZXR1cm4gc2V0U2Nyb2xsUG9zaXRpb24oc2Ny
b2xsUG9zaXRpb24oKSArIHMpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcAppbmRleCBjZGFkMzYwMWQzLi44OWQ0ZDk5ZTQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKIAorI2luY2x1ZGUgIkNv
bnRhaW5lck5vZGUuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgpAQCAtNzc1LDQgKzc3Niwx
MSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBTY3JvbGxh
YmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEpCiAgICAgcmV0dXJuIHRzOwogfQogCisjaWYgRU5BQkxF
KE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xsRW5kVGFy
Z2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0KQoreworICAgIHNjcm9sbEFuaW1hdG9y
KCkuc2V0U2Nyb2xsRW5kVGFyZ2V0KHRhcmdldCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXgg
NDVmYWMwMjliZC4uM2I5YTc3NzlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5oCkBAIC0zNyw2ICszNyw3IEBAIGNsYXNzIFRleHRTdHJlYW07CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEZsb2F0UG9pbnQ7CiBj
bGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBMYXlvdXRQb2ludDsKQEAgLTM1Miw2ICszNTMs
MTYgQEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24o
KSBjb25zdCA9IDA7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdmlydHVh
bCB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgeyB9CisgICAgdmlydHVh
bCB2b2lkIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSB7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4g
ZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGJv
b2wpIHsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYWJsZUFyZWEqIGZpbmRBbmNlc3RvckR1cmluZ1Nj
cm9sbFJlY3RJbnRvVmlldygpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2b2lkIHNldFNjcm9s
bEVuZFRhcmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6
CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsYWJsZUFyZWEoKTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2aXJ0dWFsIH5TY3JvbGxhYmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAppbmRleCBjODdmZDBhNTdlLi5mODFkZjZlNjBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNjAyLDcgKzYwMiwxMSBAQCB2b2lkIFJlbmRlckJveDo6
c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxU
eXBlIHNjcgogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAg
IHJldHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKKyNpZiBFTkFC
TEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9z
aXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2
ZW50OjpZZXMpOworI2Vsc2UKICAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlv
biwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJl
bmRlckJveDo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlv
dXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAppbmRleCA3OTBjYWVlOTllLi4wYmFhZDlhOWI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI1OTMsMjEgKzI1OTMsNDQgQEAg
dm9pZCBSZW5kZXJMYXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgp
CiB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBz
Y3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0
ZWQpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3JvbGxQb3NpdGlvbi55
KCkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQb3NpdGlv
bihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xs
RW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBz
Y3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBT
Y3JvbGxQb3NpdGlvbiBwb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBz
Y3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVz
KTsKKyNlbHNlCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNs
YW1waW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2V0U2Ny
b2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRl
ZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQpCiB7CisjaWYgIUVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICBVTlVTRURfUEFSQU0ocmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKyNlbmRpZgorCisgICAgYXV0
byBvZmZzZXQgPSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9s
bE9mZnNldCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CiAgICAgaWYgKGFuaW1h
dGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFu
aW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBj
bGFtcGluZyk7CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihuZXdTY3JvbGxP
ZmZzZXQsIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIHNjcm9sbFRv
T2Zmc2V0KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNs
YW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG9PZmZzZXQobmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxU
eXBlLCBjbGFtcGluZyk7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYg
KHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYmIHJlcXVl
c3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAg
ICBpZiAobmV3U2Nyb2xsT2Zmc2V0ID09IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAgICAgYWRk
UGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVk
ID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQo
bWFrZVdlYWtQdHIocmVuZGVyZXIoKS5lbGVtZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIH0KIAog
U2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxP
ZmZzZXQmIHNjcm9sbE9mZnNldCkgY29uc3QKQEAgLTI2MzAsMTMgKzI2NTMsMTggQEAgdm9pZCBS
ZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZz
ZXQsIFNjcm9sbFR5cGUgc2MKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRp
b25zKCk7CiAKICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5n
ID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zm
c2V0KSA6IHNjcm9sbE9mZnNldDsKLSAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCA9PSB0aGlz
LT5zY3JvbGxPZmZzZXQoKSkKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRp
b24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CisgICAg
aWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpIHsKKyNpZiBF
TkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgICAgIGNoZWNrU2Nyb2xsRW5kRXZlbnRQb3Np
dGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAg
ICB9CiAKICAgICBhdXRvIHByZXZpb3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxUeXBlKCk7
CiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUoc2Nyb2xsVHlwZSk7CiAKLSAgICBpZiAoIXJlcXVl
c3RTY3JvbGxQb3NpdGlvblVwZGF0ZShzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNj
cm9sbE9mZnNldCksIHNjcm9sbFR5cGUsIGNsYW1waW5nKSkKKyAgICBpZiAoIXJlcXVlc3RTY3Jv
bGxQb3NpdGlvblVwZGF0ZShjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1w
aW5nKSkKICAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNsYW1wZWRTY3Jv
bGxPZmZzZXQsIGNsYW1waW5nKTsKICAgICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxC
ZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwogCkBAIC0yNzYwLDYgKzI3ODgsMTAgQEAg
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9u
KQogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCiAgICAg
ICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0KCplbGVt
ZW50KTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBjaGVja1Njcm9sbEVu
ZEV2ZW50UG9zaXRpb24obV9zY3JvbGxQb3NpdGlvbik7CisjZW5kaWYKKwogICAgIGlmIChzY3Jv
bGxzT3ZlcmZsb3coKSkKICAgICAgICAgdmlldy5mcmFtZVZpZXcoKS5kaWRDaGFuZ2VTY3JvbGxP
ZmZzZXQoKTsKIApAQCAtMjgwNSwxMCArMjgzNywxNCBAQCBib29sIFJlbmRlckxheWVyOjphbGxv
d3NDdXJyZW50U2Nyb2xsKCkgY29uc3QKICAgICByZXR1cm4gYm94LT5oYXNIb3Jpem9udGFsT3Zl
cmZsb3coKSB8fCBib3gtPmhhc1ZlcnRpY2FsT3ZlcmZsb3coKTsKIH0KIAotdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3Qs
IGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRp
b25zKQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRS
ZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zp
c2libGVPcHRpb25zJiBvcHRpb25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9s
bEVuZEV2ZW50KQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAi
TGF5ZXIgIiA8PCB0aGlzIDw8ICIgc2Nyb2xsUmVjdFRvVmlzaWJsZSAiIDw8IGFic29sdXRlUmVj
dCk7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgYm9vbCBvdmVyc2Nyb2xs
RXZlbnRzRW5hYmxlZCA9IHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5h
YmxlZCgpOworI2VuZGlmCisKICAgICBMYXlvdXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7
CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXco
KTsKICAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVy
KCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOwpAQCAtMjgzNSw2ICsyODcxLDEwIEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYg
YWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAoYXV0b3Njcm9sbE5vdElu
UHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGJveC0+ZWxl
bWVudCgpKSkKICAgICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7
CiAgICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQo
Y2xhbXBlZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgJiYgYW5pbWF0ZWQgPT0g
QW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNl
dCgpKQorICAgICAgICAgICAgICAgIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsK
KyNlbmRpZgogICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gY2xh
bXBlZFNjcm9sbE9mZnNldCAtIG9sZFNjcm9sbE9mZnNldDsKICAgICAgICAgICAgIGxvY2FsRXhw
b3NlUmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKICAgICAgICAgICAgIG5ld1Jl
Y3QgPSBMYXlvdXRSZWN0KGJveC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRS
ZWN0KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGluZ0JveCgpKTsKQEAg
LTI4NjcsNiArMjkwNywxNCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxl
KGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAg
ICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgICAgICAgICAg
ZnJhbWVWaWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRlZCA9
PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIHNjcm9sbFBvc2l0aW9uICE9IGZyYW1lVmlldy5zY3Jv
bGxQb3NpdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXREdXJpbmdT
Y3JvbGxSZWN0SW50b1ZpZXcodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpCisgICAgICAgICAg
ICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKGZy
YW1lVmlldy5mcmFtZSgpLmRvY3VtZW50KCkpKTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYK
KwogICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3Jv
bGxpbmcgPT0gU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIHx8IGZyYW1lVmll
dy5zYWZlVG9Qcm9wYWdhdGVTY3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAg
IGlmIChhdXRvKiBlbmNsb3NpbmdMYXllciA9IG93bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5j
bG9zaW5nTGF5ZXIoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVyID0gZW5j
bG9zaW5nTGF5ZXItPmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9yTm90OjpJ
bmNsdWRlU2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI5MTEsNiArMjk1OSwx
MyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJl
Y3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIGlmIChhdXRvc2Ny
b2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwg
cmVuZGVyZXIoKS5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSkKICAgICAgICAgICAgICAg
ICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgICAgIGZy
YW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorICAgICAgICAgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiBhbmltYXRl
ZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzICYmIGNsYW1wZWRTY3JvbGxQb3NpdGlvbiAhPSBmcmFt
ZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXcu
c2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOworICAgICAgICAgICAgICAgICAgICBp
ZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKQor
ICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdldChtYWtl
V2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgICAgICAgICAgICAg
fQorI2VuZGlmCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91
dGVybW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcg
d2UKQEAgLTI5MjIsOCArMjk3NywyNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9W
aXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAg
ICB9CiAgICAgfQogICAgIAotICAgIGlmIChwYXJlbnRMYXllcikKKyAgICBpZiAocGFyZW50TGF5
ZXIpIHsKICAgICAgICAgcGFyZW50TGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUobmV3UmVjdCwg
aW5zaWRlRml4ZWQsIG9wdGlvbnMpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVu
dCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICAgICAgQ29udGFpbmVy
Tm9kZSogdGFyZ2V0ID0gcmVuZGVyZXIoKS5lbGVtZW50KCk7CisgICAgICAgICAgICBpZiAocmVu
ZGVyZXIoKS5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0YXJnZXQpCisgICAgICAg
ICAgICAgICAgdGFyZ2V0ID0gJnJlbmRlcmVyKCkuZG9jdW1lbnQoKTsKKworICAgICAgICAgICAg
aWYgKGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAgICAgICAgICAgICAgIHNldFNjcm9s
bEVuZFRhcmdldChtYWtlV2Vha1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgICAgIGF1dG8qIGR1cmluZ1Njcm9sbGluZ1BhcmVudExheWVyID0gZmluZEFuY2Vz
dG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCk7CisgICAgICAgICAgICAgICAgaWYgKGR1cmlu
Z1Njcm9sbGluZ1BhcmVudExheWVyKQorICAgICAgICAgICAgICAgICAgICBkdXJpbmdTY3JvbGxp
bmdQYXJlbnRMYXllci0+c2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKHRhcmdldCkpOwor
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5kb2N1
bWVudCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqdGFyZ2V0KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisgICAgfQogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1
cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsKCkKQEAgLTcwNTYsNiArNzEyOSw0OSBA
QCBib29sIFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdpb24oRXZlbnRSZWdpb25JbnZh
bGlkYXRpb25SZWFzb24gcmVhc29uKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCit2b2lkIFJlbmRlckxheWVyOjpzYXZlU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihj
b25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQor
eworICAgIGlmICghcmVuZGVyZXIoKS5zZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNFbmFibGVk
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gb2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0RnJv
bVBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNl
dCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZz
ZXQob2Zmc2V0KSA6IG9mZnNldDsKKyAgICBtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9zaXRpb24g
PSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7Cit9CisKK3Zv
aWQgUmVuZGVyTGF5ZXI6OmNoZWNrU2Nyb2xsRW5kRXZlbnRQb3NpdGlvbihjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgcG9zaXRpb24pCit7CisgICAgaWYgKCFtX2ZpcmVTY3JvbGxFbmRFdmVudEF0UG9z
aXRpb24gfHwgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uLnZhbHVlKCkgIT0gcG9zaXRp
b24pCisgICAgICAgIHJldHVybjsKKworICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dCgpOworCisgICAgbV9maXJlU2Nyb2xsRW5kRXZlbnRBdFBvc2l0aW9uID0gV1RGOjpudWxsb3B0
OworfQorCit2b2lkIFJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQo
KQoreworICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkpCisg
ICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0
KCplbGVtZW50KTsKK30KKworU2Nyb2xsYWJsZUFyZWEqIFJlbmRlckxheWVyOjpmaW5kQW5jZXN0
b3JEdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKQoreworICAgIGF1dG8qIHBhcmVudExheWVyID0g
ZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5ZXIoKnRoaXMsIENyb3NzRnJhbWVCb3VuZGFyaWVz
OjpObyk7CisgICAgd2hpbGUgKHBhcmVudExheWVyKSB7CisgICAgICAgIGlmIChwYXJlbnRMYXll
ci0+ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkpCisgICAgICAgICAgICByZXR1cm4gcGFyZW50
TGF5ZXI7CisgICAgICAgIHBhcmVudExheWVyID0gZW5jbG9zaW5nQ29udGFpbmluZ0Jsb2NrTGF5
ZXIoKnBhcmVudExheWVyLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIH0KKworICAg
IEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7Cisg
ICAgaWYgKGZyYW1lVmlldy5kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgcmV0
dXJuICZmcmFtZVZpZXc7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisjZW5kaWYKKwogVGV4dFN0
cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mIHRzLCBDbGlwUmVjdHNUeXBlIGNsaXBS
ZWN0c1R5cGUpCiB7CiAgICAgc3dpdGNoIChjbGlwUmVjdHNUeXBlKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDdlZjAyOTcwYWIuLjNhMDUzY2I0MDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NTIsNyArNDUyLDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBB
bmltYXRlZFNjcm9sbDo6Tm8pOwogICAgIHZvaWQgc2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIFNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1h
dGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6
Tm8pOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBT
Y3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmlt
YXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50ID0g
UmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2Vk
IGJ5IG1hcnF1ZWUuCiAgICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9P
ZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlBy
b2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KQEAgLTQ2Nyw3ICs0Njcs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhdmFpbGFibGVDb250ZW50U2l6ZUNoYW5nZWQoQXZhaWxh
YmxlU2l6ZUNoYW5nZVJlYXNvbikgZmluYWw7CiAKICAgICAvLyAiYWJzb2x1dGVSZWN0IiBpcyBp
biBzY2FsZWQgZG9jdW1lbnQgY29vcmRpbmF0ZXMuCi0gICAgdm9pZCBzY3JvbGxSZWN0VG9WaXNp
YmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZGVGaXhlZCwgY29u
c3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmKTsKKyAgICB2b2lkIHNjcm9sbFJlY3RUb1Zp
c2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBj
b25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9
IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3co
KSBjb25zdDsKICAgICBib29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25z
dDsKQEAgLTkzMCw2ICs5MzAsMTUgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGRlYnVnRGVzY3Jp
cHRpb24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAg
ICB2b2lkIHNhdmVTY3JvbGxFbmRFdmVudFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgZmluYWw7CisgICAgdm9p
ZCBjaGVja1Njcm9sbEVuZEV2ZW50UG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mKSBmaW5h
bDsKKyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpIGZpbmFsOworICAg
IGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWwgeyByZXR1cm4gbV9kdXJpbmdT
Y3JvbGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyhib29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyA9IHNj
cm9sbGluZzsgfQorICAgIFNjcm9sbGFibGVBcmVhKiBmaW5kQW5jZXN0b3JEdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcoKSBmaW5hbDsKKyNlbmRpZgorCiBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRO
ZXh0U2libGluZyhSZW5kZXJMYXllciogbmV4dCkgeyBtX25leHQgPSBuZXh0OyB9CkBAIC0xMjg2
LDYgKzEyOTUsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbGF5ZXJMaXN0TXV0YXRpb25BbGxv
d2VkIDogMTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJv
b2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgOiAxOworI2VuZGlmCisKICNpZiBFTkFCTEUo
Q1NTX0NPTVBPU0lUSU5HKQogICAgIHVuc2lnbmVkIG1fYmxlbmRNb2RlIDogNTsgLy8gQmxlbmRN
b2RlCiAgICAgYm9vbCBtX2hhc05vdElzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFu
dHMgOiAxOwpAQCAtMTM2MSw2ICsxMzc0LDEwIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UmVuZGVyTGF5ZXJGaWx0ZXJzPiBtX2ZpbHRlcnM7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PFJlbmRlckxheWVyQmFja2luZz4gbV9iYWNraW5nOworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBtX2ZpcmVTY3JvbGxFbmRFdmVu
dEF0UG9zaXRpb247CisjZW5kaWYKICAgICAKICAgICBQYWludEZyZXF1ZW5jeVRyYWNrZXIgbV9w
YWludEZyZXF1ZW5jeVRyYWNrZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAppbmRleCA4YzE0NGQ2NTFmLi41MmM5OWMyNjg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDI5LDcgKzQyOSwxMSBAQCBib29sIFJl
bmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0
ZVJlY3QsIGJvb2wgaW5zaQogICAgIGlmICghZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBlbmNsb3NpbmdM
YXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRp
b25zLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7CisjZWxzZQogICAgIGVuY2xvc2luZ0xh
eWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29sdXRlUmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlv
bnMpOworI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399465</attachid>
            <date>2020-05-15 02:18:33 -0700</date>
            <delta_ts>2020-05-15 02:18:33 -0700</delta_ts>
            <desc>scrollend-programmatic-for-ews</desc>
            <filename>scrollend-programmatic-for-ews-003.diff</filename>
            <type>text/plain</type>
            <size>115083</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxYjZhMGNhOTZlLi4yNWIx
MmNmNjE3IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLD
qWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUyB3aGljaCBpcyBvZmYgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAyMC0wNS0xMCAgQmFzdWtlIFN1enVraSAgPGJhc3Vr
ZS5zdXp1a2lAc29ueS5jb20+CiAKICAgICAgICAgQWRkIEVOQUJMRV9QRVJJT0RJQ19NRU1PUllf
TU9OSVRPUiBmbGFnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE5ZGYwODc1OTIuLjM5OTRjMmU0ODUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMC0wNC0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5j
b20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9ncmFt
bWF0aWMgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDkxMzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1Zp
ZXctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgVGVzdCBmYWlscyBvbiBpT1MgYmVjYXVz
ZSB0aGUgRnJhbWVWaWV3IHNjcm9sbCBwb3NpdGlvbiBpcyBubyBjbGFtcGVkLCBzZWUgYnVnOiAx
Nzk3MzUuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOiBUZXN0
IGZhaWxzIG9uIG1hYy13azEgYmVjYXVzZSB0aGUgRnJhbWVWaWV3IHNtb290aCBzY3JvbGxpbmcg
aXMgbm90IGZ1bmN0aW9uYWwuIFNlZSBidWc6IDE5MTM1Ny4KKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOiBFbmFibGUgdGhlIHRlc3QgZm9yIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgc2Nyb2xs
ZW5kIGV2ZW50LgorCiAyMDIwLTA1LTEzICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdW1dQRV0gTW92ZSBzaGFyZWQgdGFibGUgdGVzdHMgZXhwZWN0YXRp
b24gZmlsZXMgdG8gZ2xpYgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYWY3MDM0OTZhYy4uN2Q5NmFk
NGY2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzEsNyArMTcxLDE1IEBAIGh0dHAvdGVzdHMv
aW4tYXBwLWJyb3dzZXItcHJpdmFjeS8gWyBTa2lwIF0KIGZhc3QvaGFybmVzcy91aXNjcmlwdGNv
bnRyb2xsZXIgWyBTa2lwIF0KIAogIyBPbmx5IGlPUyBoYXMgYW4gaW1wbGVtZW50YXRpb24gb2Yg
VUlTY3JpcHRDb250cm9sbGVyOjpzZW5kRXZlbnRTdHJlYW0oKS4KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcgWyBTa2lwIF0KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVu
dC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8t
ZWxlbWVudC13aXRoLW92ZXJzY3JvbGwtYmVoYXZpb3IuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2
ZW50LWZpcmVkLXRvLXNjcm9sbGVkLWVsZW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50
LWZpcmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1hZnRlci1z
bmFwLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLXRvLWRvY3VtZW50Lmh0bWwgWyBT
a2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxp
bmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLXRvLWVsZW1lbnQtd2l0aC1vdmVyc2Nyb2xsLWJlaGF2
aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLXRvLXNjcm9sbGVkLWVsZW1lbnQu
aHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtdG8td2luZG93Lmh0bWwgWyBTa2lwIF0K
IAogIyBUaGlzIHRlc3Qgb25seSBtYWtlcyBzZW5zZSBvbiBNYWMKIGZhc3QvYXR0YWNobWVudC9h
dHRhY2htZW50LXN1YnRpdGxlLXJlc2l6ZS5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCA5MGJjMjBhMjk5Li42Yjk1M2RiZmUwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNC0wOSAgQ2F0aGllIENoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9s
bGVuZCBldmVudCBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3Jv
bGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcv
c2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXcuaHRtbDoKKwogMjAyMC0wNS0xMiAgQWxl
eGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAgSW1wbGVtZW50
IEBpc0NvbnN0cnVjdG9yIGJ5dGVjb2RlIGludHJpbnNpYyBhbmQgYnl0ZWNvZGUgZm9yIHRoYXQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0
aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZv
ci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dAppbmRleCA5NTQxZjk2ZmMzLi45NjZj
OWYxYWJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJv
Z3JhbW1hdGljLXNjcm9sbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZl
bnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgY2FsbGluZyBzY3JvbGwgZnVu
Y3Rpb25zLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIkRJ
Vi5zY3JvbGxUbyBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIKLUZBSUwgVGVzdHMg
c2Nyb2xsZW5kIGV2ZW50IGZvciBjaGFuZ2luZyBzY3JvbGwgYXR0cmlidXRlcy4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJESVYuc2Nyb2xsVG9wIGRpZCBu
b3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIgorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQg
Zm9yIGNhbGxpbmcgc2Nyb2xsIGZ1bmN0aW9ucy4gCitQQVNTIFRlc3RzIHNjcm9sbGVuZCBldmVu
dCBmb3IgY2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0ZXMuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5n
L3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbApp
bmRleCA3OWI1ZjVmMDE4Li4yNjM0NDg4MWEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcv
c2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwKQEAgLTEs
NCArMSw0IEBACi08IURPQ1RZUEUgSFRNTD4KKzwhRE9DVFlQRSBIVE1MPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92ZXJzY3JvbGxFdmVudHNFbmFibGVkPXRydWUgZXhw
ZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgogPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVu
ZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9z
Y3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dAppbmRl
eCAyNGMzN2VlY2I5Li5iZWM3MTFmZGUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1l
dmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcv
c2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSw0IEBACiAKLUZBSUwgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBzY3JvbGxJbnRv
Vmlldy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJESVYu
c2Nyb2xsSW50b1ZpZXcgIGRpZCBub3QgcmVjZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIgotRkFJTCBU
ZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIG5lc3RlZCBzY3JvbGxJbnRvVmlldy4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJOZXN0ZWQgc2Nyb2xsSW50b1Zp
ZXcgZGlkIG5vdCByZWNlaXZlIHNjcm9sbGVuZCBldmVudC4iCitQQVNTIFRlc3RzIHNjcm9sbGVu
ZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIAorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQg
Zm9yIG5lc3RlZCBzY3JvbGxJbnRvVmlldy4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xs
ZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxl
bmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKaW5kZXggNjNlMWMzZTIyZS4u
YzNjZGUxMTU1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXNjcm9sbEludG9WaWV3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgSFRNTD4K
KzwhRE9DVFlQRSBIVE1MPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOk92
ZXJzY3JvbGxFdmVudHNFbmFibGVkPXRydWUgZXhwZXJpbWVudGFsOkNTU09NVmlld1Ntb290aFNj
cm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Nj
cm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjRhYmFhNmEyMzEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNj
cm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworRkFJTCBUZXN0cyBz
Y3JvbGxlbmQgZXZlbnQgZm9yIHNjcm9sbEludG9WaWV3LiBhc3NlcnRfZXF1YWxzOiBIVE1MLnNj
cm9sbEludG9WaWV3IHNjcm9sbExlZnQgZXhwZWN0ZWQgMTAwMDAgYnV0IGdvdCAyMjAwCitQQVNT
IFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3IgbmVzdGVkIHNjcm9sbEludG9WaWV3LiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDhkNzg4
ZWJiM2YuLjY4NDc4YzI3YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTc2OSw2ICs3NjksOCBAQCB3ZWJraXQub3JnL2IvMTkxMzU3IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2
aQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1tYWluLWZyYW1lLXdpbmRvdy5odG1sIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9yLXN1YmZyYW1lLXJvb3QuaHRtbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1zdWJmcmFtZS13aW5kb3cuaHRtbCBbIFNraXAg
XQord2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGlj
LXNjcm9sbC5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTkxMzU3IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZp
cmVkLWZvci1zY3JvbGxJbnRvVmlldy5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xODk5
MDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VfdGltaW5nLndvcmtlci5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
CmluZGV4IDBkMTJkMTdjOTkuLjhjNWIyZjg4ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3ZlcnNjcm9sbCBldmVudHMgcGFy
c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBXYW5nLgorCisgICAgICAgIEJh
c2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAgICAgIEFkZCBFTkFCTEVfT1ZF
UlNDUk9MTF9FVkVOVFMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKwogMjAyMC0wNS0xMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmVuYW1lIENTUy5TdHlsZVNoZWV0T3JpZ2lu
LlJlZ3VsYXIgdG8gQ1NTLlN0eWxlU2hlZXRPcmlnaW4uQXV0aG9yIHRvIG1hdGNoIHRoZSBzcGVj
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggYjRmNzg3OWFlNC4uNTJiY2UzZWFkZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzAxLDYgKzMwMSw4IEBAIEVOQUJMRV9PRkZTQ1JF
RU5fQ0FOVkFTID0gOwogRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCA9ICQoRU5BQkxF
X09WRVJGTE9XX1NDUk9MTElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xM
SU5HX1RPVUNIOwogCitFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9M
TF9FVkVOVFM7CisKIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUOwogCiBFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVf
SU5fUElDVFVSRV9BUElfJChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00MjUsNCArNDI3LDQgQEAg
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9Q
QVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FU
SU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNU
SU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkg
JChFTkFCTEVfRURJVEFCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1F
VFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJ
REFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxF
X09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9V
U0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9O
UykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VC
RFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
R1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChF
TkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Yz
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRURJVEFCTEVfUkVHSU9OKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElD
VFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAk
KEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktf
Q0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NU
QUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFC
TEVfT1ZFUlNDUk9MTF9FVkVOVFMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQo
RU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05U
UykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4p
ICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZF
Ul9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFD
VElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCWFIpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNM
VCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMWRmMzVmY2JhNy4uNmYwY2I5MmFhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEwMSBAQAorMjAyMC0wNC0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxp
YS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbGVuZCBldmVudCBvZiBwcm9n
cmFtbWF0aWMgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDkxMzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIHN1cHBvcnRzIHNjcm9sbGVuZCBldmVudHMgZm9yIHByb2dy
YW1tYXRpYyBzY3JvbGxpbmcuCisgICAgICAgIFRoZXJlIGFyZSB0d28ga2luZHMgb2YgcHJvZ3Jh
bW1hdGljIHNjcm9sbGluZy4KKyAgICAgICAgMS4gRm9yIGltbWVkaWF0ZSBzY3JvbGwsIHRoZSBz
Y3JvbGxlbmQgZXZlbnRzIHdpbGwgYmUgZmlyZWQgYWZ0ZXIgc2Nyb2xsUG9zaXRpb24gb2YgUmVu
ZGVyTGF5ZXIgb3IgRnJhbWVWaWV3IGNoYW5nZWQuCisgICAgICAgIFRob3VnaCB0aGUgRnJhbWVW
aWV3IHNjcm9sbCBpcyBhc3luY2hyb25vdXMsIGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsIHRoZSBz
Y3JvbGxQb3NpdGlvbiBpcyB1cGRhdGVkIHdoaWxlIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0
ZS4KKyAgICAgICAgMi4gRm9yIHNtb290aCBzY3JvbGwsIHdlIGFkZCBtX3Njcm9sbEVuZEV2ZW50
VGFyZ2V0IHRvIFNjcm9sbEFuaW1hdGlvbiwgYW5kIGl0IGZpcmVzIHNjcm9sbGVuZCB0byB0aGlz
IHRhcmdldAorICAgICAgICB3aGVuIHNjcm9sbEFuaW1hdGlvbiBzdG9wcGVkLiBFc3BlY2lhbGx5
IGZvciBzY3JvbGxSZWN0SW50b1ZpZXcgY29tYmluZWQgaW1tZWRpYXRlIHNjcm9sbCBhbmQgc21v
b3RoIHNjcm9sbC4KKyAgICAgICAgV2hlbiBmaW5pc2hlcyBzY3JvbGxpbmcsIHRoZSBSZW5kZXJM
YXllciB3aWxsIGNoZWNrIGlmIGl0J3MgYW5jZXN0b3IgbGF5ZXJzIGZpbmlzaCBzY3JvbGxpbmcu
IElmIG5vdCwKKyAgICAgICAgaXQgYWRkcyB0aGUgdGFyZ2V0IHRvIHRoZSBhbmNlc3RvciBsYXll
cidzIHNjcm9sbEFuaW1hdGlvbi4gSWYgYWxsIGFuY2VzdG9yIGxheWVycyBmaW5pc2ggc2Nyb2xs
aW5nLAorICAgICAgICB0aGVuIGZpcmUgdGhlIHNjcm9sbGVuZCBldmVudHMuCisgICAgICAgIFRv
IGZpcmUgc2Nyb2xsZW5kIGV2ZW50cywgd2UgaGF2ZSBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRh
cmdldExpc3QgaW4gRG9jdW1lbnQgdG8gc3RvcmUgYWxsIHRoZSBzY3JvbGxlbmQgdGFyZ2V0cy4K
KyAgICAgICAgSXQgd2lsbCBkaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnRzIGZvciB0aGVzZSB0YXJn
ZXRzIGF0IHRoZSBlbmQgb2YgUGFnZTo6dXBkYXRlUmVuZGVyaW5nLgorCisgICAgICAgIFRlc3Q6
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwKKyAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGlu
Zy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3Lmh0bWwKKworICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y29tbW9u
VGVhcmRvd24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldCk6IEFwcGVuZCB0aGUgdGFyZ2V0cyB0byBtX3BlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldExpc3QuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cnVuU2Nyb2xsU3Rl
cHMpOiBEaXNwYXRjaCBzY3JvbGxlbmQgZXZlbnQgZm9yIGVhY2ggdGFyZ2V0LgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOiBBZGQgbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0IHdo
aWNoIGtlZXBzIHRoZSBzY3JvbGxlbmQgZXZlbnQgdGFyZ2V0cy4KKyAgICAgICAgKiBkb20vRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KTogU2V0
IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzIGZvciBGcmFtZVZpZXcgZWxlbWVudC4KKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6IERpdHRvLgorICAgICAgICAqIHBh
Z2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8g
Y29uc3QpOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGZvciBzY3JvbGxpbmcg
dG8gKDAsIDApIG9wdGltaXphdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWRkIGRvY3Vt
ZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChpbnN0YW50IHNjcm9sbCBv
ciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc2l0aW9uLCBv
dGhlcndpc2Ugc2V0IGRvY3VtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Nyb2xsQW5p
YW10aW9uLikuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkZFBlbmRpbmdTY3JvbGxF
bmRFdmVudFRhcmdldCk6IEFkZCBEb2N1bWVudCB0byBtX3BlbmRpbmdTY3JvbGxlbmRFdmVudFRh
cmdldExpc3QgaW4gRG9jdW1lbnQuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDogQWRkIG1f
ZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IHRvIGluZGljYXRlIEZyYW1lVmlldyBpcyBwZXJmb3Jt
aW5nIGEgYW5pbWF0ZWQgc2Nyb2xsUmVjdEludG9WaWV3IHNjcm9sbC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxBbmltYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlv
bjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRp
b25TbW9vdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpz
dG9wKTogQ2FsbCBub3RpZnlTY3JvbGxFbmQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRpb25TbW9vdGg6Om5vdGlmeVNjcm9sbEVuZCk6IHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyBmYWxzZS4gSWYgdGhlcmUncyBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LCB0cnkgdG8gZmluZCBh
biBhbmNlc3RvciBsYXllcgorICAgICAgICBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5kIHNl
dCB0aGUgdGFyZ2V0IHRvIGl0LiBPdGhlcndpc2UsIGFkZCB0aGUgdGFyZ2V0IHRvIHRoZSBzY3Jv
bGxlbmQgbGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6c2V0
U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290
aDo6YW5pbWF0aW9uVGltZXJGaXJlZCk6IENhbGwgbm90aWZ5U2Nyb2xsRW5kIGlmIG5vdCBjb250
aW51ZUFuaW1hdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGgu
aDogQWRkIG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNldFNjcm9s
bEVuZFRhcmdldCk6IFNldCBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0IHRvIFNjcm9sbEFuaW1hdGlv
blNtb290aC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6IEFkZCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQuCisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxW
aWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKTogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVu
dDo6WWVzLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24p
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2V0
U2Nyb2xsRW5kVGFyZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVu
dFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6ZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzZXREdXJp
bmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9s
bFBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBBZGQgZWxlbWVudCB0byB0aGUgc2Ny
b2xsZW5kIGxpc3QgaWYgaXQgc2Nyb2xsZWQoaW5zdGFudCBzY3JvbGwgb3Igc21vb3RoIHNjcm9s
bAorICAgICAgICB3aXRob3V0IGNoYW5naW5nIHRoZSBwb3NpdGlvbiwgb3RoZXJ3aXNlIHNldCBl
bGVtZW50IGFzIHRoZSBzY3JvbGxFbmRUYXJnZXQgb2Ygc2Nyb2xsQW5pYW10aW9uLikuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IHNldER1cmlu
Z1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKSBpZiBpdCdzIHBlcmZvcm1pbmcgYSBhbmltYXRlZCBz
Y3JvbGxpbmcuCisgICAgICAgIEFmdGVyIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxl
KCksIGNoZWNrIGlmIGN1cnJlbnQgbGF5ZXIgaXMgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3LCBz
ZXQgdGhlIGVsZW1lbnQgYXMgYW5pbWF0aW9uJ3Mgc2Nyb2xsZW5kIFRhcmdldC4KKyAgICAgICAg
T3RoZXJ3aXNlLCBmaW5kIHRoZSBkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgYW5jZXN0b3IgbGF5
ZXIgYW5kIHBhc3MgdGhlIGVsZW1lbnQgdG8gYW5jZXN0b3IgbGF5ZXIncyBzY3JvbGxBbmltYXRp
b24uCisgICAgICAgIElmIG5vIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBsYXllciBmb3VuZCwg
YWRkIHRoZSBlbGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjphZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dyk6IEZpbmQgdGhlIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyBhbmNlc3RvciBsYXllciwgYW5k
IGNoZWNrIEZyYW1lVmlldyBhdCB0aGUgZW5kLiAKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IEFkZCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQ6Olllcy4KKworMjAyMC0wNC0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVj
aGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZl
bnRzIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAg
ICAgICBCYXNlZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBQYXJzZSBv
bm92ZXJzY3JvbGwvc2Nyb2xsZW5kIGF0dHJpYnV0ZSBhbmQgb3ZlcnNjcm9sbC9vdmVyc2Nyb2xs
IGV2ZW50IG5hbWUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZzoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6Cisg
ICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vR2xvYmFsRXZlbnRIYW5k
bGVycy5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAg
ICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6
Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1s
OgorCiAyMDIwLTA1LTEzICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBzaG93IEV2ZW50VGFyZ2V0IGxpc3RlbmVycyBhcyBhbiBpbnRl
cm5hbCBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBiNGY3ODc5YWU0Li41MmJjZTNlYWRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtMzAxLDYgKzMwMSw4IEBAIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTID0gOwog
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCA9ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSF8kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNIX2NvY29hdG91Y2ggPSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIOwogCitF
TkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgPSBFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFM7CisKIEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QgPSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUOwogCiBFTkFCTEVf
UElDVFVSRV9JTl9QSUNUVVJFX0FQSSA9ICQoRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUElf
JChXS19QTEFURk9STV9OQU1FKSk7CkBAIC00MjUsNCArNDI3LDQgQEAgRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVO
QUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRURJVEFC
TEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQVV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0la
RV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VS
VkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJE
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRURJVEFCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0dQ
VV9QUk9DRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlNQRUNU
T1JfVEVMRU1FVFJZKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJ
VkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFM
SURBVEUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMp
ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfT1ZFUlNDUk9MTF9F
VkVOVFMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JT
RVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9Q
UkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dP
UktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VS
X01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkRS
SVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCWFIp
ICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZwppbmRleCBlNGY4NzYyNTZkLi45YWJjNDg0YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAyMC0wNC0wOSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxp
YS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG92ZXJzY3JvbGwgZXZlbnRzIHBhcnNp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODgw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBCYXNl
ZCBvbiBGcsOpZMOpcmljIFdhbmcncyBwYXRjaC4KKworICAgICAgICBBZGQgRU5BQkxFX09WRVJT
Q1JPTExfRVZFTlRTLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMjAtMDUtMTIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtpT1NdIFJlYnVpbGQgTW9iaWxlR2VzdGFsdCBjYWNoZSBpZiBuZWVk
ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBiNGY3ODc5YWU0Li41MmJjZTNlYWRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC0zMDEsNiArMzAxLDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMg
PSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1df
U0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7
CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsK
KwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVO
QUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJF
X0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQyNSw0ICs0MjcsNCBAQCBFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsK
IAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZF
U1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
RElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9B
TFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRB
TE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQo
RU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1df
U0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJM
RV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZ
Qk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJ
Q1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lO
U1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVf
UkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NB
TlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NS
T0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0la
RV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VS
VkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJE
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA0
NzBhYjNhOTM1Li40NzFlM2MzZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zMTAsNiArMzEwLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKG1hdGNoaW5nRWxlbWVudEluRmxhdFRyZWUpIFwKICAgICBtYWNy
byhtZWRpYVN0cmVhbVRyYWNrQ29uc3RyYWludHMpIFwKICAgICBtYWNybyhvcGVuRGF0YWJhc2Up
IFwKKyAgICBtYWNybyhvbm92ZXJzY3JvbGwpIFwKKyAgICBtYWNybyhvbnNjcm9sbGVuZCkgXAog
ICAgIG1hY3JvKG9udG91Y2hjYW5jZWwpIFwKICAgICBtYWNybyhvbnRvdWNoZW5kKSBcCiAgICAg
bWFjcm8ob250b3VjaG1vdmUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGJlZjQ4Njk0
MDMuLjUxZDFiNGI3MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtODA3LDYgKzgwNywx
MCBAQCB2b2lkIERvY3VtZW50Ojpjb21tb25UZWFyZG93bigpCiAgICAgaWYgKG1fdGltZWxpbmVz
Q29udHJvbGxlcikKICAgICAgICAgbV90aW1lbGluZXNDb250cm9sbGVyLT5kZXRhY2hGcm9tRG9j
dW1lbnQoKTsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBtX3BlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldExpc3QgPSBudWxscHRyOworI2VuZGlmCisKICAgICBtX3RpbWVs
aW5lID0gbnVsbHB0cjsKIH0KIApAQCAtNDA5Nyw2ICs0MTAxLDI2IEBAIHZvaWQgRG9jdW1lbnQ6
OmFkZFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldChDb250YWluZXJOb2RlJiB0YXJnZXQpCiAgICAg
dGFyZ2V0cy5hcHBlbmQodGFyZ2V0KTsKIH0KIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKK3ZvaWQgRG9jdW1lbnQ6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldChDb250YWlu
ZXJOb2RlJiB0YXJnZXQpCit7CisgICAgaWYgKCFzZXR0aW5ncygpLm92ZXJzY3JvbGxFdmVudHNF
bmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9wZW5kaW5nU2Nyb2xsRW5k
RXZlbnRUYXJnZXRMaXN0KQorICAgICAgICBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExp
c3QgPSBtYWtlVW5pcXVlPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q+KCk7CisKKyAgICBh
dXRvJiB0YXJnZXRzID0gbV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRz
OworICAgIGlmICh0YXJnZXRzLmZpbmRNYXRjaGluZyhbJl0gKGF1dG8mIGVudHJ5KSB7IHJldHVy
biBlbnRyeS5wdHIoKSA9PSAmdGFyZ2V0OyB9KSAhPSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKHRhcmdldHMuaXNFbXB0eSgpKQorICAgICAgICBzY2hlZHVsZVRpbWVkUmVu
ZGVyaW5nVXBkYXRlKCk7CisKKyAgICB0YXJnZXRzLmFwcGVuZCh0YXJnZXQpOworfQorI2VuZGlm
CisKIHZvaWQgRG9jdW1lbnQ6OnNldE5lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCgpCiB7
CiAgICAgaWYgKCFtX25lZWRzVmlzdWFsVmlld3BvcnRTY3JvbGxFdmVudCkKQEAgLTQxMjIsNiAr
NDE0NiwxOCBAQCB2b2lkIERvY3VtZW50OjpydW5TY3JvbGxTdGVwcygpCiAgICAgICAgIGlmIChh
dXRvKiB3aW5kb3cgPSBkb21XaW5kb3coKSkKICAgICAgICAgICAgIHdpbmRvdy0+dmlzdWFsVmll
d3BvcnQoKS5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbEV2
ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKICAg
ICB9CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgLy8gRGVhbCB3aXRoIHNj
cm9sbGVuZCBldmVudC4KKyAgICBpZiAobV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0
ICYmICFtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3QtPnRhcmdldHMuaXNFbXB0eSgp
KSB7CisgICAgICAgIExPR19XSVRIX1NUUkVBTShFdmVudHMsIHN0cmVhbSA8PCAiRG9jdW1lbnQi
IDw8IHRoaXMgPDwgInNlbmRpbmcgc2Nyb2xsZW5kIGV2ZW50cyB0byBwZW5kaW5nIHNjcm9sbCBl
dmVudCB0YXJnZXRzIik7CisgICAgICAgIGF1dG8gY3VycmVudFNjcm9sbEVuZFRhcmdldHMgPSBX
VEZNb3ZlKG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0cyk7CisgICAg
ICAgIGZvciAoYXV0byYgdGFyZ2V0IDogY3VycmVudFNjcm9sbEVuZFRhcmdldHMpIHsKKyAgICAg
ICAgICAgIGF1dG8gYnViYmxlcyA9IHRhcmdldC0+aXNEb2N1bWVudE5vZGUoKSA/IEV2ZW50OjpD
YW5CdWJibGU6OlllcyA6IEV2ZW50OjpDYW5CdWJibGU6Ok5vOworICAgICAgICAgICAgdGFyZ2V0
LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNjcm9sbGVuZEV2ZW50
LCBidWJibGVzLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgICAgICB9CisgICAgfQor
I2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmFkZEF1ZGlvUHJvZHVjZXIoTWVkaWFQcm9kdWNl
ciYgYXVkaW9Qcm9kdWNlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNzdlY2I3YTAzMS4uZDEx
NGM3ZDFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzNzEsNiArMTM3MSw5IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJ1blJlc2l6ZVN0ZXBzKCk7CiAKICAgICB2b2lkIGFkZFBlbmRpbmdTY3Jv
bGxFdmVudFRhcmdldChDb250YWluZXJOb2RlJik7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorICAgIHZvaWQgYWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KENvbnRhaW5lck5v
ZGUmKTsKKyNlbmRpZgogICAgIHZvaWQgc2V0TmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2ZW50
KCk7CiAgICAgdm9pZCBydW5TY3JvbGxTdGVwcygpOwogCkBAIC0yMDYxLDYgKzIwNjQsOSBAQCBw
cml2YXRlOgogCiAgICAgc3RydWN0IFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Nj
cm9sbEV2ZW50VGFyZ2V0TGlzdDsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAg
c3RkOjp1bmlxdWVfcHRyPFBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3Q+IG1fcGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0TGlzdDsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKICAgICBIYXNoU2V0PEhUTUxNZWRpYUVsZW1lbnQqPiBtX21lZGlhU3RyZWFtU3RhdGVDaGFu
Z2VFbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAwYjVhZjJmNzQ2Li45YjljZTRj
OGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjk1LDcgKzEyOTUsMTEgQEAgdm9pZCBF
bGVtZW50OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0KQogICAgICAgICAgICAgLy8gU2VlIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKICAgICAgICAgICAg
IEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2
aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xs
OjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAgICAgICAgICAgICBJbnRQb2ludCBwb3NpdGlv
bihzdGF0aWNfY2FzdDxpbnQ+KG5ld0xlZnQgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZy
YW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCBmcmFtZS0+dmlldygpLT5zY3JvbGxZKCkpOworI2lm
IEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNl
dFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0
ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgICAgICAgICBmcmFt
ZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNs
YW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC0xMzE5LDcgKzEzMjMsMTEgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxUb3AoaW50
IG5ld1RvcCkKICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA1MDU5CiAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9
IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvcjo6QXV0bywgZG9jdW1lbnQoKS5kb2N1
bWVudEVsZW1lbnQoKSkgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5v
OwogICAgICAgICAgICAgSW50UG9pbnQgcG9zaXRpb24oZnJhbWUtPnZpZXcoKS0+c2Nyb2xsWCgp
LCBzdGF0aWNfY2FzdDxpbnQ+KG5ld1RvcCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJh
bWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkpOworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6
WWVzKTsKKyNlbHNlCiAgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlv
bihwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyNlbmRpZgog
ICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApp
bmRleCAyODM1MzI4ZjMyLi43MzNjMDVmMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAg
LTE5MSw2ICsxOTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8ob3JpZW50YXRp
b25jaGFuZ2UpIFwKICAgICBtYWNybyhvdmVyY29uc3RyYWluZWQpIFwKICAgICBtYWNybyhvdmVy
Zmxvd2NoYW5nZWQpIFwKKyAgICBtYWNybyhvdmVyc2Nyb2xsKSBcCiAgICAgbWFjcm8ocGFnZWhp
ZGUpIFwKICAgICBtYWNybyhwYWdlc2hvdykgXAogICAgIG1hY3JvKHBhc3RlKSBcCkBAIC0yMjcs
NiArMjI4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHJlc3VsdCkgXAogICAg
IG1hY3JvKHJlc3VtZSkgXAogICAgIG1hY3JvKHNjcm9sbCkgXAorICAgIG1hY3JvKHNjcm9sbGVu
ZCkgXAogICAgIG1hY3JvKHNlYXJjaCkgXAogICAgIG1hY3JvKHNlY3VyaXR5cG9saWN5dmlvbGF0
aW9uKSBcCiAgICAgbWFjcm8oc2Vla2VkKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vR2xvYmFsRXZlbnRIYW5kbGVycy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2xvYmFsRXZl
bnRIYW5kbGVycy5pZGwKaW5kZXggNzcwYWE5YzNhNy4uMWYyNzY1MzRmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0dsb2JhbEV2ZW50SGFuZGxlcnMuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9HbG9iYWxFdmVudEhhbmRsZXJzLmlkbApAQCAtMTMyLDQgKzEzMiw4IEBACiAg
ICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPU1PVVNFX0ZPUkNFX0VWRU5UU10gYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdG1vdXNlZm9yY2Vkb3duOwogICAgIFtOb3RFbnVtZXJh
YmxlLCBDb25kaXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb253ZWJraXRtb3VzZWZvcmNld2lsbGJlZ2luOwogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25k
aXRpb25hbD1NT1VTRV9GT1JDRV9FVkVOVFNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJr
aXRtb3VzZWZvcmNldXA7CisKKyAgICAvLyBFdmVudCBoYW5kbGVycyBmcm9tIE92ZXJzY3JvbGwg
RXZlbnRzIEFQSSAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9vdmVyc2Nyb2xsLXNjcm9sbGVuZC1l
dmVudHMvKQorICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1PVkVSU0NST0xMX0VWRU5U
UywgRW5hYmxlZEJ5U2V0dGluZz1PdmVyc2Nyb2xsRXZlbnRzXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ub3ZlcnNjcm9sbDsKKyAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0aW9uYWw9T1ZFUlND
Uk9MTF9FVkVOVFMsIEVuYWJsZWRCeVNldHRpbmc9T3ZlcnNjcm9sbEV2ZW50c10gYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbnNjcm9sbGVuZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluCmluZGV4IGNiMzA0OTA0MDguLmU4OGNkODg5ZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0yNjgsNiArMjY4LDcgQEAgb25t
b3VzZXdoZWVsCiBvbm9ubGluZQogb25vZmZsaW5lCiBvbm9yaWVudGF0aW9uY2hhbmdlCitvbm92
ZXJzY3JvbGwKIG9ucGFnZWhpZGUKIG9ucGFnZXNob3cKIG9ucGFzdGUKQEAgLTI4OCw2ICsyODks
NyBAQCBvbnJhdGVjaGFuZ2UKIG9ucmVzZXQKIG9ucmVzaXplCiBvbnNjcm9sbAorb25zY3JvbGxl
bmQKIG9uc2VhcmNoCiBvbnNlZWtlZAogb25zZWVraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuY3BwCmluZGV4IDViN2Y5YWYzODYuLjA5MzMwYTI0NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuY3BwCkBAIC0yODMsNiArMjgzLDcgQEAgSFRNTEVsZW1lbnQ6OkV2ZW50SGFuZGxl
ck5hbWVNYXAgSFRNTEVsZW1lbnQ6OmNyZWF0ZUV2ZW50SGFuZGxlck5hbWVNYXAoKQogICAgICAg
ICAmb25tb3VzZW92ZXJBdHRyLmdldCgpLAogICAgICAgICAmb25tb3VzZXVwQXR0ci5nZXQoKSwK
ICAgICAgICAgJm9ubW91c2V3aGVlbEF0dHIuZ2V0KCksCisgICAgICAgICZvbm92ZXJzY3JvbGxB
dHRyLmdldCgpLAogICAgICAgICAmb25wYXN0ZUF0dHIuZ2V0KCksCiAgICAgICAgICZvbnBhdXNl
QXR0ci5nZXQoKSwKICAgICAgICAgJm9ucGxheUF0dHIuZ2V0KCksCkBAIC0zMDAsNiArMzAxLDcg
QEAgSFRNTEVsZW1lbnQ6OkV2ZW50SGFuZGxlck5hbWVNYXAgSFRNTEVsZW1lbnQ6OmNyZWF0ZUV2
ZW50SGFuZGxlck5hbWVNYXAoKQogICAgICAgICAmb25yZXNldEF0dHIuZ2V0KCksCiAgICAgICAg
ICZvbnJlc2l6ZUF0dHIuZ2V0KCksCiAgICAgICAgICZvbnNjcm9sbEF0dHIuZ2V0KCksCisgICAg
ICAgICZvbnNjcm9sbGVuZEF0dHIuZ2V0KCksCiAgICAgICAgICZvbnNlYXJjaEF0dHIuZ2V0KCks
CiAgICAgICAgICZvbnNlZWtlZEF0dHIuZ2V0KCksCiAgICAgICAgICZvbnNlZWtpbmdBdHRyLmdl
dCgpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDE4YjM4MDkxZmEuLjhkM2IzMmJm
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE2OTQsOCArMTY5NCwxNSBAQCB2
b2lkIERPTVdpbmRvdzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBT
Y3JvbGxDbGFtcGluZyBjbGFtcGluZwogCiAgICAgLy8gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24g
Zm9yIHRoZSBjb21tb24gY2FzZSBvZiBzY3JvbGxpbmcgdG8gKDAsIDApIHdoZW4gdGhlIHNjcm9s
bGVyIGlzIGFscmVhZHkgYXQgdGhlIG9yaWdpbi4KICAgICAvLyBJZiBhbiBhbmltYXRlZCBzY3Jv
bGwgaXMgaW4gcHJvZ3Jlc3MsIHRoaXMgb3B0aW1pemF0aW9uIGlzIHNraXBwZWQgdG8gZW5zdXJl
IHRoYXQgdGhlIGFuaW1hdGVkIHNjcm9sbCBpcyByZWFsbHkgc3RvcHBlZC4KLSAgICBpZiAodmll
dy0+Y3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
Ok5vdEluQW5pbWF0aW9uICYmICFzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpICYmICFzY3Jv
bGxUb09wdGlvbnMudG9wLnZhbHVlKCkgJiYgdmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigp
ID09IEludFBvaW50KDAsIDApKQorICAgIGlmICh2aWV3LT5jdXJyZW50U2Nyb2xsQmVoYXZpb3JT
dGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24KKyAgICAgICAg
JiYgIXNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkKKyAgICAgICAgJiYgIXNjcm9sbFRvT3B0
aW9ucy50b3AudmFsdWUoKQorICAgICAgICAmJiB2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9u
KCkgPT0gSW50UG9pbnQoMCwgMCkpIHsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgICAgIHZpZXctPmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworI2VuZGlmCiAg
ICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4
IGY0OGFlNmNjZmMuLjNmMjIwYTFmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAg
LTIyNzgsNyArMjI3OCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KGNv
bnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgc2V0U2Nyb2xs
UG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngoKSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0Lngo
KSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0LnkoKSkpOwogfQogCi12b2lk
IEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9s
bFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0
ZWQpCit2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRp
b24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3Jv
bGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQp
CiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6
OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24gPDwgIiAsIGNsZWFyaW5nIGFu
Y2hvciIpOwogCkBAIC0yMjkxLDEwICsyMjkxLDIxIEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENs
CiAgICAgUGFnZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBhZ2Ut
PmlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkpCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuc2V0
V2hlZWxFdmVudFRlc3RNb25pdG9yKHBhZ2UtPndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKKwor
ICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxp
bmcoKSAmJiBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3Jv
bGxQb3NpdGlvbldpdGhpblJhbmdlKHNjcm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOwog
ICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQotICAgICAgICBzY3JvbGxU
b09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHNjcm9sbFBvc2l0
aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUb09m
ZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0
aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAg
U2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsK
KyAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24obmV3U2Nyb2xsUG9zaXRpb24s
IGNsYW1waW5nLCBhbmltYXRlZCwgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKworI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBpZiAoZnJhbWUoKS5zZXR0aW5ncygpLm92ZXJzY3Jv
bGxFdmVudHNFbmFibGVkKCkgJiYgcmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3Jv
bGxFbmRFdmVudDo6WWVzKSB7CisgICAgICAgIGlmIChuZXdTY3JvbGxQb3NpdGlvbiA9PSBTY3Jv
bGxWaWV3OjpzY3JvbGxQb3NpdGlvbigpKQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVu
ZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Ny
b2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJh
bWUoKS5kb2N1bWVudCgpKSk7CisgICAgfQorI2VuZGlmCiAKICAgICBzZXRDdXJyZW50U2Nyb2xs
VHlwZShvbGRTY3JvbGxUeXBlKTsKIH0KQEAgLTM3MjgsNiArMzczOSwxNCBAQCB2b2lkIEZyYW1l
Vmlldzo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zm
c2V0LCBTY3JvbGxUeQogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHByZXZpb3VzU2Nyb2xsVHlw
ZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCit2b2lkIEZyYW1lVmlldzo6
YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAgICBpZiAoRG9jdW1lbnQqIGRv
Y3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICBkb2N1bWVudC0+YWRkUGVuZGlu
Z1Njcm9sbEVuZEV2ZW50VGFyZ2V0KCpkb2N1bWVudCk7Cit9CisjZW5kaWYKKwogZmxvYXQgRnJh
bWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRDb250ZW50KGZsb2F0IHN0ZXAsIFNjcm9s
bGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0
eSkKIHsKICAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsQnlQYWdlIHx8IG9yaWVudGF0aW9u
ID09IEhvcml6b250YWxTY3JvbGxiYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCAyODI3
ZjEyMzBhLi5hMzlkYTYwY2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTIzMSw3ICsy
MzEsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYp
IGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKSBmaW5hbDsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRT
Y3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCA9IFJlcXVl
c3RTY3JvbGxFbmRFdmVudDo6Tm8pIGZpbmFsOwogICAgIHZvaWQgcmVzdG9yZVNjcm9sbGJhcigp
OwogICAgIHZvaWQgc2NoZWR1bGVTY3JvbGxUb0ZvY3VzZWRFbGVtZW50KFNlbGVjdGlvblJldmVh
bE1vZGUpOwogICAgIHZvaWQgc2Nyb2xsVG9Gb2N1c2VkRWxlbWVudEltbWVkaWF0ZWx5SWZOZWVk
ZWQoKTsKQEAgLTY2OSw2ICs2NjksMTIgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGRlYnVnRGVz
Y3JpcHRpb24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykK
KyAgICB2b2lkIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpIGZpbmFsOworICAgIGJv
b2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWwgeyByZXR1cm4gbV9kdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXc7IH0KKyAgICB2b2lkIHNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhi
b29sIHNjcm9sbGluZykgZmluYWwgeyBtX2R1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyA9IHNjcm9s
bGluZzsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgRnJhbWVWaWV3KEZyYW1l
Jik7CiAKQEAgLTk1NCw2ICs5NjAsMTAgQEAgcHJpdmF0ZToKICAgICAvLyBUcnVlIGlmIGF1dG9z
aXplIGhhcyBiZWVuIHJ1biBzaW5jZSBtX3Nob3VsZEF1dG9TaXplIHdhcyBzZXQuCiAgICAgYm9v
bCBtX2RpZFJ1bkF1dG9zaXplIHsgZmFsc2UgfTsKICAgICBib29sIG1faW5VcGRhdGVFbWJlZGRl
ZE9iamVjdHMgeyBmYWxzZSB9OworCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IGJvb2wgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgeyBmYWxzZSB9OworI2VuZGlmCiB9Owog
CiBpbmxpbmUgdm9pZCBGcmFtZVZpZXc6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50KGNvbnN0IEludFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKaW5kZXgg
MGI0OWFkNzNlOS4uMDk3MmFhN2YwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbApAQCAt
OTE5LDYgKzkxOSwxMCBAQCBpc0xvZ2dlZEluQVBJRW5hYmxlZDoKIGVudGVyS2V5SGludEVuYWJs
ZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAKK292ZXJzY3JvbGxFdmVudHNFbmFibGVkOgorICBpbml0
aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogT1ZFUlNDUk9MTF9FVkVOVFMKKwogbGVnYWN5R2V0
VXNlck1lZGlhRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKICAgY29uZGl0aW9uYWw6IE1FRElB
X1NUUkVBTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAppbmRleCA1
MjNhNzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxBbmltYXRpb25faAog
I2RlZmluZSBTY3JvbGxBbmltYXRpb25faAogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgog
I2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDYg
KzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3Rocygp
IHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9p
bnQmKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNlcnZpY2VBbmltYXRpb24oKSB7IH07CisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxFbmRU
YXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPikgeyB9OworI2VuZGlmCiAKIHByb3RlY3RlZDoK
ICAgICBTY3JvbGxBbmltYXRpb24oU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKaW5k
ZXggMmNhNTc4YTMwZi4uNDRlODhhYjA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCkBAIC0yOCw3ICsyOCwxMCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdGlvblNtb290aC5oIgogCisjaW5j
bHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
RmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xs
YWJsZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODAsMTAgKzgzLDM5IEBAIHZv
aWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRp
b24pCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUo
T1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkK
KyAgICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKKwogICAgIG1fYW5pbWF0aW9uVGlt
ZXIuc3RvcCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMo
U2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3Jv
bGxFbmQoKQoreworICAgIGlmICghbV9zY3JvbGxFbmRFdmVudFRhcmdldCkgeworICAgICAgICBt
X3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXll
ciA9IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgPyBtX3Njcm9s
bGFibGVBcmVhLmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIDogbnVsbHB0
cjsKKyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXIpCisgICAgICAgIGR1cmluZ1Nj
cm9sbGluZ1BhcmVudExheWVyLT5zZXRTY3JvbGxFbmRUYXJnZXQobV9zY3JvbGxFbmRFdmVudFRh
cmdldCk7CisgICAgZWxzZQorICAgICAgICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LT5kb2N1bWVu
dCgpLmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqbV9zY3JvbGxFbmRFdmVudFRhcmdl
dCk7CisKKyAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhm
YWxzZSk7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IG51bGxwdHI7Cit9CisKK3ZvaWQg
U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWlu
ZXJOb2RlPiB0YXJnZXQpCit7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IHRhcmdldDsK
K30KKyNlbmRpZgorCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlVmlzaWJsZUxl
bmd0aHMoKQogewogICAgIG1faG9yaXpvbnRhbERhdGEudmlzaWJsZUxlbmd0aCA9IG1fc2Nyb2xs
YWJsZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBAIC00MTAsOCArNDQyLDEyIEBAIHZvaWQgU2Nyb2xs
QW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIAogICAgIGlmIChjb250aW51
ZUFuaW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0VGltZXIoc3RkOjptYXgobWluaW11bVRpbWVy
SW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsKLSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAg
ICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZp
b3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCisgICAgfQogCiAgICAgbV9ub3Rp
ZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbihGbG9hdFBvaW50KG1faG9yaXpvbnRhbERhdGEuY3Vy
cmVudFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0YS5jdXJyZW50UG9zaXRpb24pKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKaW5kZXggODE3
M2ZhN2UyMC4uMTg0Y2ZhZDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTMxLDYgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIFNj
cm9sbGFibGVBcmVhOwogZW51bSBjbGFzcyBTY3JvbGxDbGFtcGluZyA6IHVpbnQ4X3Q7CkBAIC00
OCwxMCArNDksMTYgQEAgcHVibGljOgogICAgICAgICBCb3VuY2UKICAgICB9OwogCisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQ
dHI8Q29udGFpbmVyTm9kZT4pIG92ZXJyaWRlOworI2VuZGlmCiBwcml2YXRlOgogICAgIGJvb2wg
c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3Rl
cCwgZmxvYXQgbXVsdGlwbGllcikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGwoY29uc3QgRmxv
YXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOworI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlm
CiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0
Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsKIApAQCAtMTA0LDYg
KzExMSw5IEBAIHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAg
IFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgIFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gbV9zY3JvbGxFbmRFdmVudFRhcmdldDsKKyNlbmRp
ZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IDBmYzcyOWU5MTIuLmQ4OTMwMDhhYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTI4Nyw1ICsyODcsMTAg
QEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxi
YXIqKQogewogICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT51cGRhdGVWaXNpYmxl
TGVuZ3RocygpOwogfQotCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3Jv
bGxBbmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFy
Z2V0KQoreworICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT5zZXRTY3JvbGxFbmRU
YXJnZXQodGFyZ2V0KTsKK30KKyNlbmRpZgogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggNjYxMTg3YTcxYy4uMGI3Njdj
YWVhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCkBAIC0zNyw2
ICszNyw3IEBACiAjaW5jbHVkZSAiV2hlZWxFdmVudFRlc3RNb25pdG9yLmgiCiAjaW5jbHVkZSA8
d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHx8IEVOQUJMRShDU1Nf
U0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5oIgpAQCAtNDQsNiArNDUs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFz
cyBGbG9hdFBvaW50OwogY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50OwogY2xhc3MgU2Nyb2xsQW5p
bWF0aW9uOwpAQCAtMTQ2LDYgKzE0OCwxMCBAQCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIHZpZXdw
b3J0U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJO
b2RlPik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3Np
dGlvbkNoYW5nZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSk7CiAgICAgdm9pZCB1cGRhdGVBY3Rp
dmVTY3JvbGxTbmFwSW5kZXhGb3JPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxU
eXBlcy5oCmluZGV4IGI5NzVmYjA0MzAuLjU2MjczNDU0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVHlwZXMuaApAQCAtNjUsNiArNjUsMTEgQEAgZW51bSBjbGFzcyBBbmltYXRlZFNj
cm9sbCA6IHVpbnQ4X3QgewogICAgIFllcwogfTsKIAorZW51bSBjbGFzcyBSZXF1ZXN0U2Nyb2xs
RW5kRXZlbnQgOiB1aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CisKIGlubGluZSBTY3Jv
bGxEaXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJl
Y3Rpb24sIGJvb2wgaXNWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7CiAgICAgc3dpdGNoIChk
aXJlY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZp
ZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggM2Fl
ZTNmOTQ4Zi4uNGFkZTFlZjAzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKQEAgLTIxMyw3ICsyMTMsMTEgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9s
bFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXAKICAgICBpZiAo
cGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgc2V0QWN0dWFsU2Nyb2xsUG9zaXRpb24ocG9zaXRp
b24pOwogI2VuZGlmCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldFNjcm9s
bFBvc2l0aW9uKHBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRF
dmVudDo6WWVzKTsKKyNlbHNlCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIGNsYW1w
aW5nLCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAogRmxvYXRSZWN0IFNjcm9sbFZpZXc6OmV4cG9z
ZWRDb250ZW50UmVjdCgpIGNvbnN0CkBAIC01MTQsNyArNTE4LDcgQEAgdm9pZCBTY3JvbGxWaWV3
Ojpjb21wbGV0ZVVwZGF0ZXNBZnRlclNjcm9sbFRvKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRh
KQogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzQWZ0ZXJTY3JvbGxpbmcoKTsKIH0KIAotdm9p
ZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Ny
b2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbC8qIGFu
aW1hdGVkKi8pCit2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1h
dGVkU2Nyb2xsIC8qIGFuaW1hdGVkKi8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZpZXc6OnNldFNjcm9s
bFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmgKaW5kZXggZTJlZTYxM2U2MS4uZTNjMWQ3ZDEzMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFZpZXcuaApAQCAtMjYyLDcgKzI2Miw3IEBAIHB1YmxpYzoKICAgICBTY3JvbGxQ
b3NpdGlvbiBjYWNoZWRTY3JvbGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkU2Ny
b2xsUG9zaXRpb247IH0KIAogICAgIC8vIEZ1bmN0aW9ucyBmb3Igc2Nyb2xsaW5nIHRoZSB2aWV3
LgotICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Ny
b2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVz
dFNjcm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICB2b2lk
IHNjcm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsgcmV0dXJuIHNldFNjcm9sbFBvc2l0aW9uKHNj
cm9sbFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5jcHAKaW5kZXggMTNhNGJkOTBjOS4uOGExNjFmYzRiZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAKKyNpbmNsdWRlICJD
b250YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTc4NSw0ICs3ODYs
MTEgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgU2Nyb2xs
YWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogICAgIHJldHVybiB0czsKIH0KIAorI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbEVuZFRh
cmdldChXZWFrUHRyPENvbnRhaW5lck5vZGU+IHRhcmdldCkKK3sKKyAgICBzY3JvbGxBbmltYXRv
cigpLnNldFNjcm9sbEVuZFRhcmdldCh0YXJnZXQpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4
IDg5MmQ4ZGU2ZDMuLjBjOTg4Mzc2YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuaApAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBUZXh0U3RyZWFtOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50Owog
Y2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgTGF5b3V0UG9pbnQ7CkBAIC0zNTUsNiArMzU2
LDE0IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9u
KCkgY29uc3QgPSAwOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1
YWwgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSB7IH0KKyAgICB2aXJ0dWFs
IGJvb2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGJvb2wpIHsgfQorICAgIHZp
cnR1YWwgU2Nyb2xsYWJsZUFyZWEqIGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmll
dygpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2b2lkIHNldFNjcm9sbEVuZFRhcmdldChXZWFr
UHRyPENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9F
WFBPUlQgU2Nyb2xsYWJsZUFyZWEoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5TY3Jv
bGxhYmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBh
YzdjOWYxODczLi5kMTFjZWQ4M2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcApAQCAtNjAyLDcgKzYwMiwxMSBAQCB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcgogICAgIGlm
ICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBz
ZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5
cGUsIGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vs
c2UKICAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwg
Y2xhbXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckJveDo6YWJzb2x1
dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11
bGF0ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAppbmRleCA2ZDlkYjU0NGY3Li5kOGM5MGNjYjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTI1NjIsMjEgKzI1NjIsNDQgQEAgdm9pZCBSZW5kZXJMYXll
cjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpCiB2b2lkIFJlbmRlckxh
eWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgU2Ny
b2xsUG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3JvbGxQb3NpdGlvbi55KCkpOworI2lmIEVOQUJM
RShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Ny
b2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7
CisjZWxzZQogICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFt
cGluZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRv
WVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBw
b3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFt
cGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAg
c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRl
ZCk7CisjZW5kaWYKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29u
c3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVy
TGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwg
U2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRT
Y3JvbGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZl
bnQpCiB7CisjaWYgIUVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBVTlVTRURfUEFSQU0o
cmVxdWVzdFNjcm9sbEVuZEV2ZW50KTsKKyNlbmRpZgorCisgICAgYXV0byBvZmZzZXQgPSBzY3Jv
bGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNldCBuZXdTY3Jv
bGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Ny
b2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CiAgICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVk
U2Nyb2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxP
ZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisgICAg
ICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihuZXdTY3JvbGxPZmZzZXQsIHNjcm9sbFR5
cGUsIGNsYW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9sbE9m
ZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICAg
ICAgc2Nyb2xsVG9PZmZzZXQobmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7
CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKHJlbmRlcmVyKCkuc2V0
dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVu
dCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICBpZiAobmV3U2Nyb2xs
T2Zmc2V0ID09IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVu
ZEV2ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Ny
b2xsOjpZZXMpCisgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIocmVu
ZGVyZXIoKS5lbGVtZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIH0KIAogU2Nyb2xsT2Zmc2V0IFJl
bmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9m
ZnNldCkgY29uc3QKQEAgLTI1OTksMTMgKzI2MjIsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIFNjcm9sbFR5cGUg
c2MKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAKICAgICBT
Y3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9sbE9m
ZnNldDsKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQ
b3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CiAgICAgaWYgKGNsYW1wZWRT
Y3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIGF1dG8gcHJldmlvdXNTY3JvbGxUeXBlID0gY3VycmVudFNjcm9sbFR5cGUoKTsKICAgICBz
ZXRDdXJyZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsKIAotICAgIGlmICghcmVxdWVzdFNjcm9s
bFBvc2l0aW9uVXBkYXRlKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zm
c2V0KSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQorICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0
aW9uVXBkYXRlKGNsYW1wZWRTY3JvbGxQb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQog
ICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY2xhbXBlZFNjcm9sbE9mZnNl
dCwgY2xhbXBpbmcpOwogICAgIHNldFNjcm9sbEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9y
U3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CiAKQEAgLTI3NzQsMTAgKzI3OTgsMTQgQEAgYm9vbCBS
ZW5kZXJMYXllcjo6YWxsb3dzQ3VycmVudFNjcm9sbCgpIGNvbnN0CiAgICAgcmV0dXJuIGJveC0+
aGFzSG9yaXpvbnRhbE92ZXJmbG93KCkgfHwgYm94LT5oYXNWZXJ0aWNhbE92ZXJmbG93KCk7CiB9
CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVj
dCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNp
YmxlT3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2li
bGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25z
dCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9ucywgUmVxdWVzdFNjcm9sbEVuZEV2
ZW50IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xs
aW5nLCBzdHJlYW0gPDwgIkxheWVyICIgPDwgdGhpcyA8PCAiIHNjcm9sbFJlY3RUb1Zpc2libGUg
IiA8PCBhYnNvbHV0ZVJlY3QpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IGJvb2wgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgPSByZW5kZXJlcigpLnNldHRpbmdzKCkub3Zl
cnNjcm9sbEV2ZW50c0VuYWJsZWQoKTsKKyNlbmRpZgorCiAgICAgTGF5b3V0UmVjdCBuZXdSZWN0
ID0gYWJzb2x1dGVSZWN0OwogICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS52
aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgYXV0byogcGFyZW50TGF5ZXIgPSBlbmNsb3NpbmdDb250
YWluaW5nQmxvY2tMYXllcigqdGhpcywgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI4
MDQsNiArMjgzMiwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNv
bnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgaWYg
KGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJl
aGF2aW9yLCBib3gtPmVsZW1lbnQoKSkpCiAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmlt
YXRlZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9z
aXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFt
bWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9W
RVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVk
ICYmIGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMgJiYgY2xhbXBlZFNjcm9sbE9mZnNl
dCAhPSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgICAgICAgICBzZXREdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcodHJ1ZSk7CisjZW5kaWYKICAgICAgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0
RGlmZmVyZW5jZSA9IGNsYW1wZWRTY3JvbGxPZmZzZXQgLSBvbGRTY3JvbGxPZmZzZXQ7CiAgICAg
ICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CiAg
ICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2FsVG9BYnNvbHV0ZVF1YWQo
RmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNlVHJhbnNmb3JtcykuYm91
bmRpbmdCb3goKSk7CkBAIC0yODM2LDYgKzI4NjgsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5z
aWQKICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwog
ICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlv
biwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJs
ZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBzY3JvbGxQb3NpdGlvbiAh
PSBmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICBmcmFt
ZVZpZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOworICAgICAgICAgICAgICAg
ICAgICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6
WWVzKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdl
dChtYWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgICAgICAg
ICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxv
d0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6
OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkgewogICAg
ICAgICAgICAgICAgICAgICBpZiAoYXV0byogZW5jbG9zaW5nTGF5ZXIgPSBvd25lckVsZW1lbnQt
PnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJlbnRMYXllciA9IGVuY2xvc2luZ0xheWVyLT5lbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5j
bHVkZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CkBA
IC0yODgwLDYgKzI5MjAsMTMgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJs
ZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAg
ICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9w
dGlvbnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkp
CiAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAg
ICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBv
c2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0Vu
YWJsZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xs
UG9zaXRpb24gIT0gZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgZnJhbWVWaWV3LnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xs
RW5kRXZlbnQ6OlllcykKKyAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3Jv
bGxFbmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWVWaWV3LmZyYW1lKCkuZG9jdW1lbnQoKSkpOwor
ICAgICAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAv
LyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3Jv
bGxpbmcgdGhpcyB2aWV3IHdlCkBAIC0yODkxLDggKzI5MzgsMjYgQEAgdm9pZCBSZW5kZXJMYXll
cjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaWQKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBpZiAocGFyZW50TGF5ZXIpCisg
ICAgaWYgKHBhcmVudExheWVyKSB7CiAgICAgICAgIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9W
aXNpYmxlKG5ld1JlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiByZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAg
ICAgICAgIENvbnRhaW5lck5vZGUqIHRhcmdldCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpOworICAg
ICAgICAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0g
dGFyZ2V0KQorICAgICAgICAgICAgICAgIHRhcmdldCA9ICZyZW5kZXJlcigpLmRvY3VtZW50KCk7
CisKKyAgICAgICAgICAgIGlmIChkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAg
ICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIodGFyZ2V0KSk7CisgICAgICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRM
YXllciA9IGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpOworICAgICAgICAg
ICAgICAgIGlmIChkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllcikKKyAgICAgICAgICAgICAgICAg
ICAgZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXItPnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vh
a1B0cih0YXJnZXQpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKnRh
cmdldCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KIH0KIAogdm9p
ZCBSZW5kZXJMYXllcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbCgpCkBAIC03
MDEwLDYgKzcwNzUsMjkgQEAgYm9vbCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9u
KEV2ZW50UmVnaW9uSW52YWxpZGF0aW9uUmVhc29uIHJlYXNvbikKICNlbmRpZgogfQogCisjaWYg
RU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBSZW5kZXJMYXllcjo6YWRkUGVuZGluZ1Nj
cm9sbEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJlbmRl
cmVyKCkuZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldCgqZWxlbWVudCk7Cit9CisKK1Njcm9sbGFibGVBcmVhKiBSZW5k
ZXJMYXllcjo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkKK3sKKyAgICBh
dXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBD
cm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIHdoaWxlIChwYXJlbnRMYXllcikgeworICAg
ICAgICBpZiAocGFyZW50TGF5ZXItPmR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAgICAg
ICAgICAgcmV0dXJuIHBhcmVudExheWVyOworICAgICAgICBwYXJlbnRMYXllciA9IGVuY2xvc2lu
Z0NvbnRhaW5pbmdCbG9ja0xheWVyKCpwYXJlbnRMYXllciwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6
Ok5vKTsKKyAgICB9CisKKyAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IHJlbmRlcmVyKCkudmll
dygpLmZyYW1lVmlldygpOworICAgIGlmIChmcmFtZVZpZXcuZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3KCkpCisgICAgICAgIHJldHVybiAmZnJhbWVWaWV3OworICAgIHJldHVybiBudWxscHRyOwor
fQorI2VuZGlmCisKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiB0cywg
Q2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlKQogewogICAgIHN3aXRjaCAoY2xpcFJlY3RzVHlw
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA2ZGUwZDAwNzJl
Li44Nzk2OTRjNmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAt
NDUyLDcgKzQ1Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Nyb2xsVG9YUG9zaXRpb24oaW50
IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQs
IEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKICAgICB2b2lkIHNjcm9sbFRv
WVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7Ci0gICAg
dm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xs
ID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVl
c3RTY3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgLy8g
VGhlc2UgYXJlIG9ubHkgdXNlZCBieSBtYXJxdWVlLgogICAgIHZvaWQgc2Nyb2xsVG9YT2Zmc2V0
KGludCB4KSB7IHNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldCh4LCBzY3JvbGxPZmZzZXQoKS55
KCkpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQp
OyB9CkBAIC00NjgsNyArNDY4LDcgQEAgcHVibGljOgogICAgIHZvaWQgYXZhaWxhYmxlQ29udGVu
dFNpemVDaGFuZ2VkKEF2YWlsYWJsZVNpemVDaGFuZ2VSZWFzb24pIGZpbmFsOwogCiAgICAgLy8g
ImFic29sdXRlUmVjdCIgaXMgaW4gc2NhbGVkIGRvY3VtZW50IGNvb3JkaW5hdGVzLgotICAgIHZv
aWQgc2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJik7CisgICAg
dm9pZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwg
Ym9vbCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmLCBSZXF1
ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIGJv
b2wgc2Nyb2xsc092ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNTY3JvbGxhYmxlSG9yaXpv
bnRhbE92ZXJmbG93KCkgY29uc3Q7CkBAIC05MzEsNiArOTMxLDEzIEBAIHB1YmxpYzoKIAogICAg
IFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QgZmluYWw7CiAKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQo
KSBmaW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0
dXJuIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0
SW50b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyAgICBTY3JvbGxhYmxlQXJlYSogZmluZEFuY2VzdG9y
RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWw7CisjZW5kaWYKKwogcHJpdmF0ZToKIAog
ICAgIHZvaWQgc2V0TmV4dFNpYmxpbmcoUmVuZGVyTGF5ZXIqIG5leHQpIHsgbV9uZXh0ID0gbmV4
dDsgfQpAQCAtMTI5MCw2ICsxMjk3LDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xheWVyTGlz
dE11dGF0aW9uQWxsb3dlZCA6IDE7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VW
RU5UUykKKyAgICBib29sIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IDogMTsKKyNlbmRpZgor
CiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICB1bnNpZ25lZCBtX2JsZW5kTW9kZSA6
IDU7IC8vIEJsZW5kTW9kZQogICAgIGJvb2wgbV9oYXNOb3RJc29sYXRlZENvbXBvc2l0ZWRCbGVu
ZGluZ0Rlc2NlbmRhbnRzIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKaW5kZXggODA0NmExZTdlNC4uYjE1NWQ3OTE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTQyOCw3ICs0MjgsMTEgQEAgYm9vbCBSZW5kZXJP
YmplY3Q6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2kKICAgICBpZiAoIWVuY2xvc2luZ0xheWVyKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgZW5jbG9zaW5nTGF5ZXIt
PnNjcm9sbFJlY3RUb1Zpc2libGUoYWJzb2x1dGVSZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucywg
UmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBlbmNsb3NpbmdMYXllci0+
c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsK
KyNlbmRpZgogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUwZjM2OTc4ZmYuLmU4
Yjg1NWMwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBD
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBv
dmVyc2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmlj
IFdhbmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAg
ICAgICAgQWRkIEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUy4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sOgorCiAyMDIwLTA1LTEzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0lQQ10gVXNlIHRlbXBsYXRlcyB0byByZWR1Y2UgZHVwbGljYXRl
IGNvZGUgaW4gSVBDOjpEZWNvZGVyIGFuZCBJUEM6OkVuY29kZXIgY2xhc3NlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggYjRmNzg3OWFlNC4uNTJiY2UzZWFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0zMDEsNiArMzAxLDggQEAg
RU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gp
KTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9P
VkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVO
QUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChF
TkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQy
NSw0ICs0MjcsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJ
Q1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lO
U1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVf
UkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NB
TlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5U
X1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FO
REJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJM
RV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJMRV9S
RUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVf
RElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVS
U0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9S
WV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05F
VFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hf
RVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVT
T1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVS
X1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CmluZGV4IDMwYTU5ZWMzMzcuLjQzMDdjYTM0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbApAQCAtMTU3OSw2ICsxNTc5LDE0IEBAIEFzcGVjdFJhdGlvT2ZJbWdG
cm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJN
YXAgSFRNTCBhdHRyaWJ1dGVzIHdpZHRoL2hlaWdodCB0byB0aGUgZGVmYXVsdCBhc3BlY3QgcmF0
aW8gb2YgPGltZz4iCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIAorT3ZlcnNjcm9sbEV2ZW50
c0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJl
YWRhYmxlTmFtZTogIk92ZXJzY3JvbGwgZXZlbnRzIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgdGhlIG9uc2Nyb2xsZW5kIGFuZCBzY3JvbGxlbmQgZXZlbnRzIgorICBjYXRl
Z29yeTogZXhwZXJpbWVudGFsCisgIGNvbmRpdGlvbjogRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRT
KQorCiAjIEZvciBpbnRlcm5hbCBmZWF0dXJlczoKICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xl
YW4uCiAjIFlvdSBtdXN0IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uIGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCA4ZGUwM2JjN2MxLi43MjZhYzg0ZjE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVu
ICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVy
c2Nyb2xsIGV2ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdh
bmcuCisKKyAgICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAg
ICAgQWRkIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkIFdlYlByZWZlcmVuY2Ugc2V0dGluZy4KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKFtXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXpl
XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkXSk6
CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkOl0p
OgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3Lm1tOgorCiAyMDIwLTA1LTEyICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gTmV1dGVyIFdLRnJhbWVJc0ZyYW1lU2V0KCkgLyBX
S1BhZ2VHZXRGcmFtZVNldExhcmdlc3RGcmFtZSgpIEMgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IGI0Zjc4NzlhZTQuLjUyYmNlM2VhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC0zMDEsNiArMzAxLDggQEAgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgPSA7
CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZFUkZMT1dfU0NS
T0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
TkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0g7CiAK
K0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUzsKKwog
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7CiAKIEVOQUJM
RV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9QSUNUVVJFX0FQ
SV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQyNSw0ICs0MjcsNCBAQCBFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xP
T1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElU
QUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRF
Uk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhU
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NV
U1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9O
RSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5B
QkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NS
T0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
SVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9T
RVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VS
VklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJM
RV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9B
UkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRD
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFC
TEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RV
UkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
R1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BF
Q1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
QVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxB
VElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVW
QUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZB
UykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9PVkVSU0NST0xM
X0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9P
QlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVS
X1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VT
RVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
RFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJY
UikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCmluZGV4IDE1NjQ0MWU3MjguLjk3YzViZTRiNmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaApAQCAtMjExLDYgKzIxMSw3IEBACiAjZGVmaW5lIFdlYktpdENTU1NoYWRvd1BhcnRzRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdExheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdExheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkIgog
I2RlZmluZSBXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYlNRTEVu
YWJsZWQiCisjZGVmaW5lIFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtl
eSBAIldlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkIgogCiAjaWYgIVRBUkdFVF9PU19JUEhP
TkUKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1
c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IGIyYWExOWQ3ZjEu
LjAwZTA4NDYyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQpAQCAtNzE3LDYgKzcxNyw5IEBAIHB1YmxpYzoKICAgICAgICAgQE5P
LCBXZWJLaXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZFByZWZlcmVu
Y2VLZXksCiAgICAgICAgIEAod2ViU1FMRW5hYmxlZCksIFdlYktpdFdlYlNRTEVuYWJsZWRQcmVm
ZXJlbmNlS2V5LAogICAgICAgICBAWUVTLCBXZWJLaXREZWJ1Z05lZWRzSW5BcHBCcm93c2VyUHJp
dmFjeVF1aXJrc1ByZWZlcmVuY2VLZXksCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQor
ICAgICAgICBATk8sIFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSwK
KyNlbmRpZgogICAgICAgICBuaWxdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0z
NzAyLDYgKzM3MDUsMTYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmls
OwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6d2ViU1FMRW5hYmxlZCBmb3JLZXk6V2ViS2l0V2Vi
U1FMRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKW92ZXJzY3JvbGxFdmVudHNF
bmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0T3ZlcnNj
cm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRPdmVyc2Ny
b2xsRXZlbnRzRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpm
bGFnIGZvcktleTpXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZlcmVuY2VLZXldOwor
fQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2ViSW50ZXJuYWwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAppbmRleCA4Yzg2NmViOGE4Li4xN2I2OTY2ZjI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgKQEAgLTY5NCw2ICs2OTQsNyBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBXRUJLSVRfREVQUgogQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgYXN5bmNDbGlwYm9hcmRBUElFbmFibGVkOwogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRSZXNwb25zaXZlSW1hZ2VzRW5hYmxlZDsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljKSBCT09MIGFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRF
bmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgb3ZlcnNjcm9sbEV2ZW50c0VuYWJs
ZWQ7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBx
dWlja0xvb2tEb2N1bWVudFNhdmluZ0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYWQ5YmZkZDUzMi4uNDdhMTM0NDAxZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzAxMiw2ICszMDEyLDkg
QEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAgIHNl
dHRpbmdzLnNldENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWQoW3ByZWZlcmVuY2VzIENTU09N
Vmlld1Njcm9sbGluZ0FQSUVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRDU1NPTVZpZXdTbW9v
dGhTY3JvbGxpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdF
bmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJk
d2FyZVN1cHBvcnQoW3ByZWZlcmVuY2VzIG1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdh
cmVTdXBwb3J0XSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldHRpbmdz
LnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKFtwcmVmZXJlbmNlcyBvdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZF0pOworI2VuZGlmCiAKICAgICBzd2l0Y2ggKFtwcmVmZXJlbmNlcyBzdG9yYWdlQmxv
Y2tpbmdQb2xpY3ldKSB7CiAgICAgY2FzZSBXZWJBbGxvd0FsbFN0b3JhZ2U6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWI0YjY2YzQyMS4uYWY4ZmZkZTkwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA0LTA5ICBDYXRoaWUgQ2hl
biAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igb3Zl
cnNjcm9sbCBldmVudHMgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA4ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRnLDqWTDqXJpYyBX
YW5nLgorCisgICAgICAgIEJhc2VkIG9uIEZyw6lkw6lyaWMgV2FuZydzIHBhdGNoLgorCisgICAg
ICAgIEFkZCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCBXZWJQcmVmZXJlbmNlIHNldHRpbmcuCisK
KyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2Vz
LmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdz
KToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCk6Cisg
ICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQpOgorICAg
ICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAg
IChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDIwLTA1LTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gTmV1dGVyIFdLRnJh
bWVJc0ZyYW1lU2V0KCkgLyBXS1BhZ2VHZXRGcmFtZVNldExhcmdlc3RGcmFtZSgpIEMgQVBJCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaWRsIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbAppbmRleCAwYzdlOTJiYzExLi42NTQwZmEwZTZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTI2Nyw0ICsyNjcsNyBAQCBpbnRlcmZhY2UgSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZTggOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNwogewogICAgIEhS
RVNVTFQgYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbb3V0LCByZXR2YWxdIEJPT0wqIGVu
YWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhbaW5d
IEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChbb3V0
LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVk
KFtpbl0gQk9PTCBlbmFibGVkKTsKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA4MDQ1MzFhNDZiLi4xMTNiZjE1OGYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaApAQCAtMjMwLDMgKzIzMCw1IEBACiAjZGVmaW5lIFdlYktpdEFzcGVjdFJhdGlvT2ZJ
bWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0QXNwZWN0UmF0
aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0V2ViU1FM
RW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFdlYlNRTEVuYWJsZWQiCisKKyNkZWZpbmUgV2Vi
S2l0T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRPdmVyc2Nyb2xs
RXZlbnRzRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlBy
ZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNw
cAppbmRleCBhNjcxYjA5ZmVlLi5lZmVkZjFjOTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0zNTYsNiArMzU2LDggQEAgdm9pZCBXZWJQcmVmZXJl
bmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25hcnlBZGRW
YWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBr
Q0ZCb29sZWFuRmFsc2UpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENG
U1RSKFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xl
YW5GYWxzZSk7CisKICAgICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKICNlbmRpZgogfQpA
QCAtMjQ4Niw2ICsyNDg4LDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFdlYlNRTEVu
YWJsZWQoQk9PTCBlbmFibGVkKQogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlBy
ZWZlcmVuY2VzOjpvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQor
eworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5h
YmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZFByZWZl
cmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2Vz
OjpzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9v
bFZhbHVlKFdlYktpdE92ZXJzY3JvbGxFdmVudHNFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxl
ZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OmFsbG93
VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCogYWxsb3dBY2Nlc3MpCiB7CiAgICAg
aWYgKCFhbGxvd0FjY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5o
CmluZGV4IGY3ZmU3Njg0MmIuLjI0MTZlZWZjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViUHJlZmVyZW5jZXMuaApAQCAtMzA1LDYgKzMwNSw4IEBAIHB1YmxpYzoKICAgICAvLyBJV2Vi
UHJlZmVyZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJM
cyhCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgb3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZChCT09MKTsKIAogICAgIC8vIFdl
YlByZWZlcmVuY2VzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggZmU3Y2I2
YTFkMC4uMzY3Mzc2MjBlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTU2
NzQsNiArNTY3NCwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdl
ZChJV2ViTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybiBocjsKICAg
ICBzZXR0aW5ncy5zZXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCgh
IWVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPm92ZXJzY3JvbGxFdmVudHNFbmFi
bGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOwor
ICAgIHNldHRpbmdzLnNldE92ZXJzY3JvbGxFdmVudHNFbmFibGVkKCEhZW5hYmxlZCk7CisKICAg
ICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDliY2Ri
NWRlNWIuLmU3NzE4YmE3NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTE4MCw2
ICsxODAsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTICJUb2dnbGUgT2Zmc2NyZWVuQ2FudmFzIHN1
cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PUklF
TlRBVElPTl9FVkVOVFMgIlRvZ2dsZSBPcmllbnRhdGlvbiBFdmVudHMgc3VwcG9ydCIgUFJJVkFU
RSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSCAiVG9nZ2xlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzdXBwb3J0IiBQUklWQVRFIE9G
RikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfT1ZFUlNDUk9MTF9FVkVOVFMgIlRv
Z2dsZSBvdmVyc2Nyb2xsIGV2ZW50cyIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCAiVG9nZ2xlIFBheW1lbnQgUmVxdWVzdCBzdXBw
b3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUERGS0lU
X1BMVUdJTiAiVG9nZ2xlIFBERktpdCBwbHVnaW4gc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1BFUklPRElDX01FTU9SWV9NT05JVE9SICJUb2dn
bGUgcGVyaW9kaWNhbCBtZW1vcnkgbW9uaXRvciBzdXBwb3J0IiBQUklWQVRFIE9GRikKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4NTNiYzBlYWQ2
Li4zMzYyNzllZmE0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGll
Y2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBvdmVyc2Nyb2xsIGV2
ZW50cyBwYXJzaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDg4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBGcsOpZMOpcmljIFdhbmcuCisKKyAg
ICAgICAgQmFzZWQgb24gRnLDqWTDqXJpYyBXYW5nJ3MgcGF0Y2guCisKKyAgICAgICAgRGVhbCB3
aXRoIG92ZXJzY3JvbGxFdmVudHNFbmFibGVkLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
VGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25zKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKGVuYWJsZUV4cGVyaW1lbnRh
bEZlYXR1cmVzKToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDIwLTA1LTEzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
cGxhY2UgaXNOdWxsRnVuY3Rpb25Qb2ludGVyIHdpdGggcmVhbCB3ZWFrLWxpbmtpbmcgc3VwcG9y
dApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCmluZGV4IGU3YzU4MzY3ODIuLjZiNjRj
MDJjOWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKQEAgLTE1OCw2ICsxNTgs
OCBAQCBUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGhPclVS
TCwgY29uc3Qgc3RkOjpzdHJpbmcmIGFic29sdQogICAgICAgICAgICAgZW5hYmxlQXNwZWN0UmF0
aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2
YWx1ZSk7CiAgICAgICAgIGVsc2UgaWYgKGtleSA9PSAiYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRh
VVJMcyIpCiAgICAgICAgICAgICBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzID0gcGFyc2VC
b29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJl
eHBlcmltZW50YWw6T3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQiKQorICAgICAgICAgICAgZW5hYmxl
T3ZlcnNjcm9sbEV2ZW50cyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAg
ICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0T3B0aW9ucy5oCmluZGV4IGM1YzhjODU5OTIuLjI3NTExZTIwNWIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE9wdGlvbnMuaApAQCAtNTksNiArNTksNyBAQCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewog
ICAgIGJvb2wgZW5hYmxlQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodCB7IGZhbHNl
IH07CiAgICAgYm9vbCBlbmFibGVXZWJTUUwgeyB0cnVlIH07CiAgICAgYm9vbCBhbGxvd1RvcE5h
dmlnYXRpb25Ub0RhdGFVUkxzIHsgdHJ1ZSB9OworICAgIGJvb2wgZW5hYmxlT3ZlcnNjcm9sbEV2
ZW50cyB7IGZhbHNlIH07CiAgICAgc3RkOjpzdHJpbmcganNjT3B0aW9uczsKICAgICBzdGQ6OnN0
cmluZyBhZGRpdGlvbmFsU3VwcG9ydGVkSW1hZ2VUeXBlczsKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDk3ODk1ZTQwNDAuLmI4YzQ4MmJmZDMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg4Nyw2ICs4
ODcsNyBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyhXZWJQcmVmZXJl
bmNlcyogcHJlZmVyZW5jZXMpCiAgICAgW3ByZWZlcmVuY2VzIHNldENTU1NoYWRvd1BhcnRzRW5h
YmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRo
QW5kSGVpZ2h0RW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRDU1NPTVZpZXdTbW9v
dGhTY3JvbGxpbmdFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldE92ZXJzY3JvbGxF
dmVudHNFbmFibGVkOllFU107CiB9CiAKIC8vIENhbGxlZCBiZWZvcmUgZWFjaCB0ZXN0LgpAQCAt
MTA0Niw2ICsxMDQ3LDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0
aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICBwcmVmZXJlbmNlcy5sYXlvdXRG
b3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCA9IG9wdGlvbnMubGF5b3V0Rm9ybWF0
dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQ7CiAgICAgcHJlZmVyZW5jZXMuYXNwZWN0UmF0
aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZUFzcGVjdFJh
dGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHQ7CiAgICAgcHJlZmVyZW5jZXMuYWxsb3dUb3BOYXZp
Z2F0aW9uVG9EYXRhVVJMcyA9IG9wdGlvbnMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMczsK
KyAgICBwcmVmZXJlbmNlcy5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxl
T3ZlcnNjcm9sbEV2ZW50czsKIH0KIAogLy8gQ2FsbGVkIG9uY2Ugb24gRHVtcFJlbmRlclRyZWUg
c3RhcnR1cC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCBmNzMw
NTE5MTM2Li4yYmUwNjMzMGVmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0
LnBtCkBAIC0xMzcsNiArMTM3LDcgQEAgbXkgKAogICAgICRvZmZzY3JlZW5DYW52YXNTdXBwb3J0
LAogICAgICRvcmllbnRhdGlvbkV2ZW50c1N1cHBvcnQsCiAgICAgJG92ZXJmbG93U2Nyb2xsaW5n
VG91Y2hTdXBwb3J0LAorICAgICRvdmVyc2Nyb2xsRXZlbnRzU3VwcG9ydCwKICAgICAkcGF5bWVu
dFJlcXVlc3RTdXBwb3J0LAogICAgICRwZGZraXRQbHVnaW5TdXBwb3J0LAogICAgICRwaWN0dXJl
SW5QaWN0dXJlQVBJU3VwcG9ydCwKQEAgLTQ2MCw2ICs0NjEsOSBAQCBteSBAZmVhdHVyZXMgPSAo
CiAgICAgeyBvcHRpb24gPT4gIm92ZXJmbG93LXNjcm9sbGluZy10b3VjaCIsIGRlc2MgPT4gIlRv
Z2dsZSBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0giLCB2YWx1ZSA9PiBcJG92ZXJmbG93U2Nyb2xs
aW5nVG91Y2hTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAib3ZlcnNjcm9sbC1ldmVudHMi
LCBkZXNjID0+ICJFbmFibGUgT3ZlcnNjcm9sbCBFdmVudHMgc3VwcG9ydCIsCisgICAgICBkZWZp
bmUgPT4gIkVOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyIsIHZhbHVlID0+IFwkb3ZlcnNjcm9sbEV2
ZW50c1N1cHBvcnQgfSwKKwogICAgIHsgb3B0aW9uID0+ICJwYXltZW50LXJlcXVlc3QiLCBkZXNj
ID0+ICJUb2dnbGUgUGF5bWVudCBSZXF1ZXN0IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJF
TkFCTEVfUEFZTUVOVF9SRVFVRVNUIiwgdmFsdWUgPT4gXCRwYXltZW50UmVxdWVzdFN1cHBvcnQg
fSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggYjRmNzg3OWFlNC4uNTJiY2UzZWFkZSAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0zMDEsNiArMzAxLDggQEAgRU5BQkxFX09GRlNDUkVFTl9D
QU5WQVMgPSA7CiBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIID0gJChFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9PVkVSRkxP
V19TQ1JPTExJTkdfVE9VQ0hfY29jb2F0b3VjaCA9IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdf
VE9VQ0g7CiAKK0VOQUJMRV9PVkVSU0NST0xMX0VWRU5UUyA9IEVOQUJMRV9PVkVSU0NST0xMX0VW
RU5UUzsKKwogRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCA9IEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Q7
CiAKIEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJID0gJChFTkFCTEVfUElDVFVSRV9JTl9Q
SUNUVVJFX0FQSV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKQEAgLTQyNSw0ICs0MjcsNCBAQCBFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJChFTkFCTEVfQVBQTElDQVRJT05f
TUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FRElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfR1BVX1BST0NFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJ
T04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJChFTkFCTEVfT1ZF
UkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQlhSKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
OSkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FRElUQUJMRV9SRUdJT04pICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfR1BVX1BST0NFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5B
QkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNI
RV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1RBTEVf
V0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGU0NS
RUVOX0NBTlZBUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9P
VkVSU0NST0xMX0VWRU5UUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFC
TEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChF
TkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tF
WUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVO
QUJMRV9XRUJYUikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399466</attachid>
            <date>2020-05-15 02:19:10 -0700</date>
            <delta_ts>2020-05-15 02:19:10 -0700</delta_ts>
            <desc>scrollend-programmatic-for-review</desc>
            <filename>scrollend-programmatic-for-review-003.diff</filename>
            <type>text/plain</type>
            <size>47794</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhOWRmMDg3NTkyLi4zOTk0YzJlNDg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2YgcHJvZ3JhbW1hdGljIHNjcm9sbGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgIFRlc3QgZmFpbHMgb24gaU9TIGJlY2F1c2UgdGhlIEZyYW1lVmll
dyBzY3JvbGwgcG9zaXRpb24gaXMgbm8gY2xhbXBlZCwgc2VlIGJ1ZzogMTc5NzM1LgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczogVGVzdCBmYWlscyBvbiBtYWMt
d2sxIGJlY2F1c2UgdGhlIEZyYW1lVmlldyBzbW9vdGggc2Nyb2xsaW5nIGlzIG5vdCBmdW5jdGlv
bmFsLiBTZWUgYnVnOiAxOTEzNTcuCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogRW5hYmxl
IHRoZSB0ZXN0IGZvciBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nIHNjcm9sbGVuZCBldmVudC4KKwog
MjAyMC0wNS0xMyAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXVtXUEVdIE1vdmUgc2hhcmVkIHRhYmxlIHRlc3RzIGV4cGVjdGF0aW9uIGZpbGVzIHRvIGds
aWIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFmNzAzNDk2YWMuLjdkOTZhZDRmNjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMTcxLDcgKzE3MSwxNSBAQCBodHRwL3Rlc3RzL2luLWFwcC1icm93c2Vy
LXByaXZhY3kvIFsgU2tpcCBdCiBmYXN0L2hhcm5lc3MvdWlzY3JpcHRjb250cm9sbGVyIFsgU2tp
cCBdCiAKICMgT25seSBpT1MgaGFzIGFuIGltcGxlbWVudGF0aW9uIG9mIFVJU2NyaXB0Q29udHJv
bGxlcjo6c2VuZEV2ZW50U3RyZWFtKCkuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvc2Nyb2xsaW5nIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL292ZXJzY3JvbGwtZXZlbnQtZmlyZWQtdG8tZG9j
dW1lbnQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL3Njcm9sbGluZy9vdmVyc2Nyb2xsLWV2ZW50LWZpcmVkLXRvLWVsZW1lbnQtd2l0aC1v
dmVyc2Nyb2xsLWJlaGF2aW9yLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by1z
Y3JvbGxlZC1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvb3ZlcnNjcm9sbC1ldmVudC1maXJlZC10by13aW5k
b3cuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtYWZ0ZXItc25hcC5odG1sIFsgU2tp
cCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5n
L3Njcm9sbGVuZC1ldmVudC1maXJlZC10by1kb2N1bWVudC5odG1sIFsgU2tpcCBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1l
dmVudC1maXJlZC10by1lbGVtZW50LXdpdGgtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sIFsgU2tp
cCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5n
L3Njcm9sbGVuZC1ldmVudC1maXJlZC10by1zY3JvbGxlZC1lbGVtZW50Lmh0bWwgWyBTa2lwIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLXRvLXdpbmRvdy5odG1sIFsgU2tpcCBdCiAKICMgVGhpcyB0ZXN0
IG9ubHkgbWFrZXMgc2Vuc2Ugb24gTWFjCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1zdWJ0
aXRsZS1yZXNpemUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggOTBiYzIwYTI5OS4uNmI5NTNkYmZlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDQtMDkgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBp
Z2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY3JvbGxlbmQgZXZlbnQgb2Yg
cHJvZ3JhbW1hdGljIHNjcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA5MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcv
c2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Ny
b2xsZW5kLWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3Lmh0bWw6CisKIDIwMjAtMDUtMTIgIEFsZXhleSBTaHZheWthICA8
c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBAaXNDb25zdHJ1Y3Rv
ciBieXRlY29kZSBpbnRyaW5zaWMgYW5kIGJ5dGVjb2RlIGZvciB0aGF0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Ny
b2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3ItcHJvZ3JhbW1hdGlj
LXNjcm9sbC1leHBlY3RlZC50eHQKaW5kZXggOTU0MWY5NmZjMy4uOTY2YzlmMWFiYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3Jv
bGwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1w
cm9ncmFtbWF0aWMtc2Nyb2xsLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBU
ZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNhbGxpbmcgc2Nyb2xsIGZ1bmN0aW9ucy4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJESVYuc2Nyb2xsVG8gZGlk
IG5vdCByZWNlaXZlIHNjcm9sbGVuZCBldmVudC4iCi1GQUlMIFRlc3RzIHNjcm9sbGVuZCBldmVu
dCBmb3IgY2hhbmdpbmcgc2Nyb2xsIGF0dHJpYnV0ZXMuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiRElWLnNjcm9sbFRvcCBkaWQgbm90IHJlY2VpdmUgc2Ny
b2xsZW5kIGV2ZW50LiIKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBjYWxsaW5nIHNj
cm9sbCBmdW5jdGlvbnMuIAorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIGNoYW5naW5n
IHNjcm9sbCBhdHRyaWJ1dGVzLiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZl
bnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5k
LWV2ZW50LWZpcmVkLWZvci1wcm9ncmFtbWF0aWMtc2Nyb2xsLmh0bWwKaW5kZXggNzliNWY1ZjAx
OC4uMjYzNDQ4ODFhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC1mb3ItcHJvZ3JhbW1hdGljLXNjcm9sbC5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFE
T0NUWVBFIEhUTUw+Cis8IURPQ1RZUEUgSFRNTD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4
cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZD10cnVlIGV4cGVyaW1lbnRhbDpDU1NP
TVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KIDxtZXRhIG5hbWU9InRpbWVv
dXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQt
Zm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50
LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1leHBlY3RlZC50eHQKaW5kZXggMjRjMzdlZWNiOS4u
YmVjNzExZmRlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9y
LXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVu
dC1maXJlZC1mb3Itc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
Ci1GQUlMIFRlc3RzIHNjcm9sbGVuZCBldmVudCBmb3Igc2Nyb2xsSW50b1ZpZXcuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiRElWLnNjcm9sbEludG9WaWV3
ICBkaWQgbm90IHJlY2VpdmUgc2Nyb2xsZW5kIGV2ZW50LiIKLUZBSUwgVGVzdHMgc2Nyb2xsZW5k
IGV2ZW50IGZvciBuZXN0ZWQgc2Nyb2xsSW50b1ZpZXcuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiTmVzdGVkIHNjcm9sbEludG9WaWV3IGRpZCBub3QgcmVj
ZWl2ZSBzY3JvbGxlbmQgZXZlbnQuIgorUEFTUyBUZXN0cyBzY3JvbGxlbmQgZXZlbnQgZm9yIHNj
cm9sbEludG9WaWV3LiAKK1BBU1MgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50IGZvciBuZXN0ZWQgc2Ny
b2xsSW50b1ZpZXcuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJl
ZC1mb3Itc2Nyb2xsSW50b1ZpZXcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVk
LWZvci1zY3JvbGxJbnRvVmlldy5odG1sCmluZGV4IDYzZTFjM2UyMmUuLmMzY2RlMTE1NWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmll
dy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRv
Vmlldy5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIEhUTUw+Cis8IURPQ1RZUEUgSFRN
TD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpPdmVyc2Nyb2xsRXZlbnRz
RW5hYmxlZD10cnVlIGV4cGVyaW1lbnRhbDpDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
PXRydWUgXSAtLT4KIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRv
Vmlldy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQt
ZmlyZWQtZm9yLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwLi40YWJhYTZhMjMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9zY3JvbGxpbmcvc2Nyb2xsZW5kLWV2ZW50LWZpcmVkLWZvci1zY3JvbGxJbnRvVmlldy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK0ZBSUwgVGVzdHMgc2Nyb2xsZW5kIGV2ZW50
IGZvciBzY3JvbGxJbnRvVmlldy4gYXNzZXJ0X2VxdWFsczogSFRNTC5zY3JvbGxJbnRvVmlldyBz
Y3JvbGxMZWZ0IGV4cGVjdGVkIDEwMDAwIGJ1dCBnb3QgMjIwMAorUEFTUyBUZXN0cyBzY3JvbGxl
bmQgZXZlbnQgZm9yIG5lc3RlZCBzY3JvbGxJbnRvVmlldy4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4ZDc4OGViYjNmLi42ODQ3OGMy
N2EyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25z
CkBAIC03NjksNiArNzY5LDggQEAgd2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmkKIHdlYmtpdC5vcmcv
Yi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9z
Y3JvbGwtYmVoYXZpb3ItbWFpbi1mcmFtZS13aW5kb3cuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9y
Zy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3
L3Njcm9sbC1iZWhhdmlvci1zdWJmcmFtZS1yb290Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcv
Yi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9z
Y3JvbGwtYmVoYXZpb3Itc3ViZnJhbWUtd2luZG93Lmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcv
Yi8xOTEzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3Njcm9s
bGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3JvbGwuaHRtbCBb
IFNraXAgXQord2Via2l0Lm9yZy9iLzE5MTM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xs
SW50b1ZpZXcuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMTg5OTA4IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZy53b3Jr
ZXIuaHRtbCBbIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFkMzNiODlhNC4uNmYwY2I5MmFh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDIwLTA0LTA5ICBDYXRoaWUgQ2hlbiAg
PGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xs
ZW5kIGV2ZW50IG9mIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTEzNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggc3VwcG9ydHMgc2Nyb2xsZW5k
IGV2ZW50cyBmb3IgcHJvZ3JhbW1hdGljIHNjcm9sbGluZy4KKyAgICAgICAgVGhlcmUgYXJlIHR3
byBraW5kcyBvZiBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLgorICAgICAgICAxLiBGb3IgaW1tZWRp
YXRlIHNjcm9sbCwgdGhlIHNjcm9sbGVuZCBldmVudHMgd2lsbCBiZSBmaXJlZCBhZnRlciBzY3Jv
bGxQb3NpdGlvbiBvZiBSZW5kZXJMYXllciBvciBGcmFtZVZpZXcgY2hhbmdlZC4KKyAgICAgICAg
VGhvdWdoIHRoZSBGcmFtZVZpZXcgc2Nyb2xsIGlzIGFzeW5jaHJvbm91cywgZm9yIHByb2dyYW1t
YXRpYyBzY3JvbGwgdGhlIHNjcm9sbFBvc2l0aW9uIGlzIHVwZGF0ZWQgd2hpbGUgcmVxdWVzdFNj
cm9sbFBvc2l0aW9uVXBkYXRlLgorICAgICAgICAyLiBGb3Igc21vb3RoIHNjcm9sbCwgd2UgYWRk
IG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQgdG8gU2Nyb2xsQW5pbWF0aW9uLCBhbmQgaXQgZmlyZXMg
c2Nyb2xsZW5kIHRvIHRoaXMgdGFyZ2V0CisgICAgICAgIHdoZW4gc2Nyb2xsQW5pbWF0aW9uIHN0
b3BwZWQuIEVzcGVjaWFsbHkgZm9yIHNjcm9sbFJlY3RJbnRvVmlldyBjb21iaW5lZCBpbW1lZGlh
dGUgc2Nyb2xsIGFuZCBzbW9vdGggc2Nyb2xsLgorICAgICAgICBXaGVuIGZpbmlzaGVzIHNjcm9s
bGluZywgdGhlIFJlbmRlckxheWVyIHdpbGwgY2hlY2sgaWYgaXQncyBhbmNlc3RvciBsYXllcnMg
ZmluaXNoIHNjcm9sbGluZy4gSWYgbm90LAorICAgICAgICBpdCBhZGRzIHRoZSB0YXJnZXQgdG8g
dGhlIGFuY2VzdG9yIGxheWVyJ3Mgc2Nyb2xsQW5pbWF0aW9uLiBJZiBhbGwgYW5jZXN0b3IgbGF5
ZXJzIGZpbmlzaCBzY3JvbGxpbmcsCisgICAgICAgIHRoZW4gZmlyZSB0aGUgc2Nyb2xsZW5kIGV2
ZW50cy4KKyAgICAgICAgVG8gZmlyZSBzY3JvbGxlbmQgZXZlbnRzLCB3ZSBoYXZlIG1fcGVuZGlu
Z1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdCBpbiBEb2N1bWVudCB0byBzdG9yZSBhbGwgdGhlIHNj
cm9sbGVuZCB0YXJnZXRzLgorICAgICAgICBJdCB3aWxsIGRpc3BhdGNoIHNjcm9sbGVuZCBldmVu
dHMgZm9yIHRoZXNlIHRhcmdldHMgYXQgdGhlIGVuZCBvZiBQYWdlOjp1cGRhdGVSZW5kZXJpbmcu
CisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3Njcm9sbGluZy9zY3JvbGxlbmQtZXZlbnQtZmlyZWQtZm9yLXByb2dyYW1tYXRpYy1zY3Jv
bGwuaHRtbAorICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvc2Nyb2xsaW5nL3Njcm9sbGVuZC1ldmVudC1maXJlZC1mb3Itc2Nyb2xsSW50b1Zp
ZXcuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50Ojpjb21tb25UZWFyZG93bik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTogQXBwZW5kIHRoZSB0YXJnZXRzIHRvIG1f
cGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpydW5TY3JvbGxTdGVwcyk6IERpc3BhdGNoIHNjcm9sbGVuZCBldmVudCBmb3IgZWFjaCB0
YXJnZXQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZCBtX3BlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldExpc3Qgd2hpY2gga2VlcHMgdGhlIHNjcm9sbGVuZCBldmVudCB0YXJnZXRzLgor
ICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNl
dFNjcm9sbExlZnQpOiBTZXQgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMgZm9yIEZyYW1lVmll
dyBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsVG9wKTogRGl0
dG8uCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
V2luZG93OjpzY3JvbGxUbyBjb25zdCk6IEFkZCBkb2N1bWVudCB0byB0aGUgc2Nyb2xsZW5kIGxp
c3QgZm9yIHNjcm9sbGluZyB0byAoMCwgMCkgb3B0aW1pemF0aW9uLgorICAgICAgICAqIHBhZ2Uv
RnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24pOiBBZGQgZG9jdW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0IGlmIGl0IHNjcm9sbGVk
KGluc3RhbnQgc2Nyb2xsIG9yIHNtb290aCBzY3JvbGwKKyAgICAgICAgd2l0aG91dCBjaGFuZ2lu
ZyB0aGUgcG9zaXRpb24sIG90aGVyd2lzZSBzZXQgZG9jdW1lbnQgYXMgdGhlIHNjcm9sbEVuZFRh
cmdldCBvZiBzY3JvbGxBbmlhbXRpb24uKS4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KTogQWRkIERvY3VtZW50IHRvIG1fcGVuZGlu
Z1Njcm9sbGVuZEV2ZW50VGFyZ2V0TGlzdCBpbiBEb2N1bWVudC4KKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5oOiBBZGQgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgdG8gaW5kaWNhdGUgRnJh
bWVWaWV3IGlzIHBlcmZvcm1pbmcgYSBhbmltYXRlZCBzY3JvbGxSZWN0SW50b1ZpZXcgc2Nyb2xs
LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0aW9uOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAqIHBsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRpb25TbW9vdGg6OnN0b3ApOiBDYWxsIG5vdGlmeVNjcm9sbEVuZC4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6bm90aWZ5U2Nyb2xsRW5kKTogc2V0RHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3IGZhbHNlLiBJZiB0aGVyZSdzIG1fc2Nyb2xsRW5kRXZlbnRUYXJn
ZXQsIHRyeSB0byBmaW5kIGFuIGFuY2VzdG9yIGxheWVyCisgICAgICAgIGR1cmluZ1Njcm9sbFJl
Y3RJbnRvVmlldyBhbmQgc2V0IHRoZSB0YXJnZXQgdG8gaXQuIE90aGVyd2lzZSwgYWRkIHRoZSB0
YXJnZXQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0aW9uU21vb3RoOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKTogQ2FsbCBub3RpZnlTY3Jv
bGxFbmQgaWYgbm90IGNvbnRpbnVlQW5pbWF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvblNtb290aC5oOiBBZGQgbV9zY3JvbGxFbmRFdmVudFRhcmdldC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KTogU2V0IG1fc2Nyb2xsRW5kRXZlbnRUYXJnZXQg
dG8gU2Nyb2xsQW5pbWF0aW9uU21vb3RoLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1h
dG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDogQWRkIFJlcXVlc3RTY3Jv
bGxFbmRFdmVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24pOiBBZGQgUmVx
dWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpz
ZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOgorICAg
ICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGFibGVBcmVhOjpzZXRTY3JvbGxFbmRUYXJnZXQpOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6YWRkUGVu
ZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVB
cmVhOjpkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YWJsZUFyZWE6OnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxhYmxlQXJlYTo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbik6IEFkZCBl
bGVtZW50IHRvIHRoZSBzY3JvbGxlbmQgbGlzdCBpZiBpdCBzY3JvbGxlZChpbnN0YW50IHNjcm9s
bCBvciBzbW9vdGggc2Nyb2xsCisgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc2l0aW9u
LCBvdGhlcndpc2Ugc2V0IGVsZW1lbnQgYXMgdGhlIHNjcm9sbEVuZFRhcmdldCBvZiBzY3JvbGxB
bmlhbXRpb24uKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9W
aXNpYmxlKTogc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpIGlmIGl0J3MgcGVyZm9y
bWluZyBhIGFuaW1hdGVkIHNjcm9sbGluZy4KKyAgICAgICAgQWZ0ZXIgcGFyZW50TGF5ZXItPnNj
cm9sbFJlY3RUb1Zpc2libGUoKSwgY2hlY2sgaWYgY3VycmVudCBsYXllciBpcyBkdXJpbmdTY3Jv
bGxSZWN0SW50b1ZpZXcsIHNldCB0aGUgZWxlbWVudCBhcyBhbmltYXRpb24ncyBzY3JvbGxlbmQg
VGFyZ2V0LgorICAgICAgICBPdGhlcndpc2UsIGZpbmQgdGhlIGR1cmluZ1Njcm9sbFJlY3RJbnRv
VmlldyBhbmNlc3RvciBsYXllciBhbmQgcGFzcyB0aGUgZWxlbWVudCB0byBhbmNlc3RvciBsYXll
cidzIHNjcm9sbEFuaW1hdGlvbi4KKyAgICAgICAgSWYgbm8gZHVyaW5nU2Nyb2xsUmVjdEludG9W
aWV3IGxheWVyIGZvdW5kLCBhZGQgdGhlIGVsZW1lbnQgdG8gdGhlIHNjcm9sbGVuZCBsaXN0Lgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRh
cmdldCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZmluZEFuY2VzdG9yRHVyaW5n
U2Nyb2xsUmVjdEludG9WaWV3KTogRmluZCB0aGUgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IGFu
Y2VzdG9yIGxheWVyLCBhbmQgY2hlY2sgRnJhbWVWaWV3IGF0IHRoZSBlbmQuIAorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzY3JvbGxSZWN0VG9WaXNp
YmxlKTogQWRkIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzLgorCiAyMDIwLTA0LTA5ICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBm
b3Igb3ZlcnNjcm9sbCBldmVudHMgcGFyc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
YmVmNDg2OTQwMy4uNTFkMWI0YjcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04MDcs
NiArODA3LDEwIEBAIHZvaWQgRG9jdW1lbnQ6OmNvbW1vblRlYXJkb3duKCkKICAgICBpZiAobV90
aW1lbGluZXNDb250cm9sbGVyKQogICAgICAgICBtX3RpbWVsaW5lc0NvbnRyb2xsZXItPmRldGFj
aEZyb21Eb2N1bWVudCgpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIG1f
cGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdCA9IG51bGxwdHI7CisjZW5kaWYKKwogICAg
IG1fdGltZWxpbmUgPSBudWxscHRyOwogfQogCkBAIC00MDk3LDYgKzQxMDEsMjYgQEAgdm9pZCBE
b2N1bWVudDo6YWRkUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmIHRhcmdl
dCkKICAgICB0YXJnZXRzLmFwcGVuZCh0YXJnZXQpOwogfQogCisjaWYgRU5BQkxFKE9WRVJTQ1JP
TExfRVZFTlRTKQordm9pZCBEb2N1bWVudDo6YWRkUGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0
KENvbnRhaW5lck5vZGUmIHRhcmdldCkKK3sKKyAgICBpZiAoIXNldHRpbmdzKCkub3ZlcnNjcm9s
bEV2ZW50c0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3BlbmRpbmdT
Y3JvbGxFbmRFdmVudFRhcmdldExpc3QpCisgICAgICAgIG1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50
VGFyZ2V0TGlzdCA9IG1ha2VVbmlxdWU8UGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdD4oKTsK
KworICAgIGF1dG8mIHRhcmdldHMgPSBtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldExpc3Qt
PnRhcmdldHM7CisgICAgaWYgKHRhcmdldHMuZmluZE1hdGNoaW5nKFsmXSAoYXV0byYgZW50cnkp
IHsgcmV0dXJuIGVudHJ5LnB0cigpID09ICZ0YXJnZXQ7IH0pICE9IG5vdEZvdW5kKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAodGFyZ2V0cy5pc0VtcHR5KCkpCisgICAgICAgIHNjaGVkdWxl
VGltZWRSZW5kZXJpbmdVcGRhdGUoKTsKKworICAgIHRhcmdldHMuYXBwZW5kKHRhcmdldCk7Cit9
CisjZW5kaWYKKwogdm9pZCBEb2N1bWVudDo6c2V0TmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2
ZW50KCkKIHsKICAgICBpZiAoIW1fbmVlZHNWaXN1YWxWaWV3cG9ydFNjcm9sbEV2ZW50KQpAQCAt
NDEyMiw2ICs0MTQ2LDE4IEBAIHZvaWQgRG9jdW1lbnQ6OnJ1blNjcm9sbFN0ZXBzKCkKICAgICAg
ICAgaWYgKGF1dG8qIHdpbmRvdyA9IGRvbVdpbmRvdygpKQogICAgICAgICAgICAgd2luZG93LT52
aXN1YWxWaWV3cG9ydCgpLmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCku
c2Nyb2xsRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpO
bykpOwogICAgIH0KKworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICAvLyBEZWFs
IHdpdGggc2Nyb2xsZW5kIGV2ZW50LgorICAgIGlmIChtX3BlbmRpbmdTY3JvbGxFbmRFdmVudFRh
cmdldExpc3QgJiYgIW1fcGVuZGluZ1Njcm9sbEVuZEV2ZW50VGFyZ2V0TGlzdC0+dGFyZ2V0cy5p
c0VtcHR5KCkpIHsKKyAgICAgICAgTE9HX1dJVEhfU1RSRUFNKEV2ZW50cywgc3RyZWFtIDw8ICJE
b2N1bWVudCIgPDwgdGhpcyA8PCAic2VuZGluZyBzY3JvbGxlbmQgZXZlbnRzIHRvIHBlbmRpbmcg
c2Nyb2xsIGV2ZW50IHRhcmdldHMiKTsKKyAgICAgICAgYXV0byBjdXJyZW50U2Nyb2xsRW5kVGFy
Z2V0cyA9IFdURk1vdmUobV9wZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0LT50YXJnZXRz
KTsKKyAgICAgICAgZm9yIChhdXRvJiB0YXJnZXQgOiBjdXJyZW50U2Nyb2xsRW5kVGFyZ2V0cykg
eworICAgICAgICAgICAgYXV0byBidWJibGVzID0gdGFyZ2V0LT5pc0RvY3VtZW50Tm9kZSgpID8g
RXZlbnQ6OkNhbkJ1YmJsZTo6WWVzIDogRXZlbnQ6OkNhbkJ1YmJsZTo6Tm87CisgICAgICAgICAg
ICB0YXJnZXQtPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc2Nyb2xs
ZW5kRXZlbnQsIGJ1YmJsZXMsIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgICAgIH0K
KyAgICB9CisjZW5kaWYKIH0KIAogdm9pZCBEb2N1bWVudDo6YWRkQXVkaW9Qcm9kdWNlcihNZWRp
YVByb2R1Y2VyJiBhdWRpb1Byb2R1Y2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA3N2VjYjdh
MDMxLi5kMTE0YzdkMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTM3MSw2ICsxMzcxLDkg
QEAgcHVibGljOgogICAgIHZvaWQgcnVuUmVzaXplU3RlcHMoKTsKIAogICAgIHZvaWQgYWRkUGVu
ZGluZ1Njcm9sbEV2ZW50VGFyZ2V0KENvbnRhaW5lck5vZGUmKTsKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoQ29u
dGFpbmVyTm9kZSYpOworI2VuZGlmCiAgICAgdm9pZCBzZXROZWVkc1Zpc3VhbFZpZXdwb3J0U2Ny
b2xsRXZlbnQoKTsKICAgICB2b2lkIHJ1blNjcm9sbFN0ZXBzKCk7CiAKQEAgLTIwNjEsNiArMjA2
NCw5IEBAIHByaXZhdGU6CiAKICAgICBzdHJ1Y3QgUGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlz
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdD4gbV9w
ZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0OworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdD4gbV9w
ZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXRMaXN0OworI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgIEhhc2hTZXQ8SFRNTE1lZGlhRWxlbWVudCo+IG1fbWVkaWFTdHJlYW1T
dGF0ZUNoYW5nZUVsZW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDBiNWFmMmY3NDYu
LjliOWNlNGM4ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyOTUsNyArMTI5NSwxMSBA
QCB2b2lkIEVsZW1lbnQ6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQpCiAgICAgICAgICAgICAv
LyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQogICAg
ICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Ny
b2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0
ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50
IHBvc2l0aW9uKHN0YXRpY19jYXN0PGludD4obmV3TGVmdCAqIGZyYW1lLT5wYWdlWm9vbUZhY3Rv
cigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSksIGZyYW1lLT52aWV3KCktPnNjcm9sbFko
KSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICAgICAgZnJhbWUtPnZp
ZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
LCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICAgICAg
ICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgcmV0
dXJuOwogICAgIH0KQEAgLTEzMTksNyArMTMyMywxMSBAQCB2b2lkIEVsZW1lbnQ6OnNldFNjcm9s
bFRvcChpbnQgbmV3VG9wKQogICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFu
aW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVu
dCgpLmRvY3VtZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNj
cm9sbDo6Tm87CiAgICAgICAgICAgICBJbnRQb2ludCBwb3NpdGlvbihmcmFtZS0+dmlldygpLT5z
Y3JvbGxYKCksIHN0YXRpY19jYXN0PGludD4obmV3VG9wICogZnJhbWUtPnBhZ2Vab29tRmFjdG9y
KCkgKiBmcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpKSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExf
RVZFTlRTKQorICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9z
aXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVu
ZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9s
bFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwor
I2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAppbmRleCAxOGIzODA5MWZhLi44ZDNiMzJiZjc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCkBAIC0xNjk0LDggKzE2OTQsMTUgQEAgdm9pZCBET01XaW5kb3c6OnNjcm9s
bFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBp
bmcKIAogICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIGZvciB0aGUgY29tbW9uIGNhc2Ug
b2Ygc2Nyb2xsaW5nIHRvICgwLCAwKSB3aGVuIHRoZSBzY3JvbGxlciBpcyBhbHJlYWR5IGF0IHRo
ZSBvcmlnaW4uCiAgICAgLy8gSWYgYW4gYW5pbWF0ZWQgc2Nyb2xsIGlzIGluIHByb2dyZXNzLCB0
aGlzIG9wdGltaXphdGlvbiBpcyBza2lwcGVkIHRvIGVuc3VyZSB0aGF0IHRoZSBhbmltYXRlZCBz
Y3JvbGwgaXMgcmVhbGx5IHN0b3BwZWQuCi0gICAgaWYgKHZpZXctPmN1cnJlbnRTY3JvbGxCZWhh
dmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbiAmJiAh
c2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAmJiAhc2Nyb2xsVG9PcHRpb25zLnRvcC52YWx1
ZSgpICYmIHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSA9PSBJbnRQb2ludCgwLCAwKSkK
KyAgICBpZiAodmlldy0+Y3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVo
YXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uCisgICAgICAgICYmICFzY3JvbGxUb09wdGlvbnMu
bGVmdC52YWx1ZSgpCisgICAgICAgICYmICFzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkKKyAg
ICAgICAgJiYgdmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpID09IEludFBvaW50KDAsIDAp
KSB7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgICAgICB2aWV3LT5hZGRQZW5k
aW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CisgICAg
fQogCiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBmNDhhZTZjY2ZjLi4zZjIyMGEx
ZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMjc4LDcgKzIyNzgsNyBAQCB2
b2lkIEZyYW1lVmlldzo6c2Nyb2xsRWxlbWVudFRvUmVjdChjb25zdCBFbGVtZW50JiBlbGVtZW50
LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIHNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KGJv
dW5kcy54KCkgLSBjZW50ZXJpbmdPZmZzZXRYIC0gcmVjdC54KCksIGJvdW5kcy55KCkgLSBjZW50
ZXJpbmdPZmZzZXRZIC0gcmVjdC55KCkpKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9s
bFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBGcmFtZVZpZXc6
OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwg
U2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkLCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQgcmVxdWVzdFNjcm9sbEVuZEV2ZW50KQogewogICAgIExPR19XSVRIX1NU
UkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAi
IDw8IHNjcm9sbFBvc2l0aW9uIDw8ICIgLCBjbGVhcmluZyBhbmNob3IiKTsKIApAQCAtMjI5MSwx
MCArMjI5MSwyMSBAQCB2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbAogICAgIFBhZ2UqIHBhZ2UgPSBm
cmFtZSgpLnBhZ2UoKTsKICAgICBpZiAocGFnZSAmJiBwYWdlLT5pc01vbml0b3JpbmdXaGVlbEV2
ZW50cygpKQogICAgICAgICBzY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRv
cihwYWdlLT53aGVlbEV2ZW50VGVzdE1vbml0b3IoKSk7CisKKyAgICBTY3JvbGxQb3NpdGlvbiBu
ZXdTY3JvbGxQb3NpdGlvbiA9ICghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgJiYgY2xhbXBpbmcgPT0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5n
ZShzY3JvbGxQb3NpdGlvbikgOiBzY3JvbGxQb3NpdGlvbjsKICAgICBpZiAoYW5pbWF0ZWQgPT0g
QW5pbWF0ZWRTY3JvbGw6OlllcykKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9u
KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQb3NpdGlvbiksIGN1cnJlbnRTY3JvbGxU
eXBlKCksIGNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNj
cm9sbE9mZnNldEZyb21Qb3NpdGlvbihuZXdTY3JvbGxQb3NpdGlvbiksIGN1cnJlbnRTY3JvbGxU
eXBlKCksIGNsYW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIFNjcm9sbFZpZXc6OnNldFNjcm9s
bFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBjbGFtcGluZyk7CisgICAgICAgIFNjcm9sbFZpZXc6
OnNldFNjcm9sbFBvc2l0aW9uKG5ld1Njcm9sbFBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQs
IHJlcXVlc3RTY3JvbGxFbmRFdmVudCk7CisKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMp
CisgICAgaWYgKGZyYW1lKCkuc2V0dGluZ3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYm
IHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcykgewor
ICAgICAgICBpZiAobmV3U2Nyb2xsUG9zaXRpb24gPT0gU2Nyb2xsVmlldzo6c2Nyb2xsUG9zaXRp
b24oKSkKKyAgICAgICAgICAgIGFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgpOworICAg
ICAgICBlbHNlIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICAg
ICAgc2V0U2Nyb2xsRW5kVGFyZ2V0KG1ha2VXZWFrUHRyKGZyYW1lKCkuZG9jdW1lbnQoKSkpOwor
ICAgIH0KKyNlbmRpZgogCiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUob2xkU2Nyb2xsVHlwZSk7
CiB9CkBAIC0zNzI4LDYgKzM3MzksMTQgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbFRvT2Zmc2V0
V2l0aEFuaW1hdGlvbihjb25zdCBTY3JvbGxPZmZzZXQmIG9mZnNldCwgU2Nyb2xsVHkKICAgICBz
ZXRDdXJyZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9sbFR5cGUpOwogfQogCisjaWYgRU5BQkxF
KE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBGcmFtZVZpZXc6OmFkZFBlbmRpbmdTY3JvbGxFbmRF
dmVudFRhcmdldCgpCit7CisgICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9j
dW1lbnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdl
dCgqZG9jdW1lbnQpOworfQorI2VuZGlmCisKIGZsb2F0IEZyYW1lVmlldzo6YWRqdXN0U2Nyb2xs
U3RlcEZvckZpeGVkQ29udGVudChmbG9hdCBzdGVwLCBTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmll
bnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkpCiB7CiAgICAgaWYgKGdyYW51
bGFyaXR5ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBIb3Jpem9udGFsU2Nyb2xs
YmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMjgyN2YxMjMwYS4uYTM5ZGE2MGNhNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0yMzEsNyArMjMxLDcgQEAgcHVibGljOgogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEZp
eGVkVmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKSBmaW5hbDsKICNlbmRpZgotICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRp
b24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNj
cm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObykgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3Jv
bGw6Ok5vLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5v
KSBmaW5hbDsKICAgICB2b2lkIHJlc3RvcmVTY3JvbGxiYXIoKTsKICAgICB2b2lkIHNjaGVkdWxl
U2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChTZWxlY3Rpb25SZXZlYWxNb2RlKTsKICAgICB2b2lkIHNj
cm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVlZGVkKCk7CkBAIC02NjksNiArNjY5
LDEyIEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QgZmlu
YWw7CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgdm9pZCBhZGRQZW5kaW5n
U2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBmaW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9sbFJlY3RJ
bnRvVmlldygpIGZpbmFsIHsgcmV0dXJuIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3OyB9Cisg
ICAgdm9pZCBzZXREdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFs
IHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIGV4cGxpY2l0IEZyYW1lVmlldyhGcmFtZSYpOwogCkBAIC05NTQsNiArOTYw
LDEwIEBAIHByaXZhdGU6CiAgICAgLy8gVHJ1ZSBpZiBhdXRvc2l6ZSBoYXMgYmVlbiBydW4gc2lu
Y2UgbV9zaG91bGRBdXRvU2l6ZSB3YXMgc2V0LgogICAgIGJvb2wgbV9kaWRSdW5BdXRvc2l6ZSB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2luVXBkYXRlRW1iZWRkZWRPYmplY3RzIHsgZmFsc2UgfTsK
KworI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBib29sIG1fZHVyaW5nU2Nyb2xs
UmVjdEludG9WaWV3IHsgZmFsc2UgfTsKKyNlbmRpZgogfTsKIAogaW5saW5lIHZvaWQgRnJhbWVW
aWV3OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChjb25zdCBJbnRTaXplJiBz
aXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb24uaAppbmRleCA1MjNh
NzdmMzM1Li5kYjUzZjFkZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxBbmltYXRpb25faAogI2Rl
ZmluZSBTY3JvbGxBbmltYXRpb25faAogCisjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgogI2lu
Y2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDYgKzQ1
LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIHsg
fTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQm
KSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHNlcnZpY2VBbmltYXRpb24oKSB7IH07CisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxFbmRUYXJn
ZXQoV2Vha1B0cjxDb250YWluZXJOb2RlPikgeyB9OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAg
ICBTY3JvbGxBbmltYXRpb24oU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKaW5kZXgg
MmNhNTc4YTMwZi4uNDRlODhhYjA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCkBAIC0yOCw3ICsyOCwxMCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdGlvblNtb290aC5oIgogCisjaW5jbHVk
ZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmxv
YXRQb2ludC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJs
ZUFyZWEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODAsMTAgKzgzLDM5IEBAIHZvaWQg
U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24p
CiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdG9wKCkKIHsKKyNpZiBFTkFCTEUoT1ZF
UlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAg
ICAgICAgbm90aWZ5U2Nyb2xsRW5kKCk7CisjZW5kaWYKKwogICAgIG1fYW5pbWF0aW9uVGltZXIu
c3RvcCgpOwogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Ny
b2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpub3RpZnlTY3JvbGxF
bmQoKQoreworICAgIGlmICghbV9zY3JvbGxFbmRFdmVudFRhcmdldCkgeworICAgICAgICBtX3Nj
cm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxzZSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllciA9
IG1fc2Nyb2xsYWJsZUFyZWEuZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgPyBtX3Njcm9sbGFi
bGVBcmVhLmZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIDogbnVsbHB0cjsK
KyAgICBpZiAoZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXIpCisgICAgICAgIGR1cmluZ1Njcm9s
bGluZ1BhcmVudExheWVyLT5zZXRTY3JvbGxFbmRUYXJnZXQobV9zY3JvbGxFbmRFdmVudFRhcmdl
dCk7CisgICAgZWxzZQorICAgICAgICBtX3Njcm9sbEVuZEV2ZW50VGFyZ2V0LT5kb2N1bWVudCgp
LmFkZFBlbmRpbmdTY3JvbGxFbmRFdmVudFRhcmdldCgqbV9zY3JvbGxFbmRFdmVudFRhcmdldCk7
CisKKyAgICBtX3Njcm9sbGFibGVBcmVhLnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyhmYWxz
ZSk7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJO
b2RlPiB0YXJnZXQpCit7CisgICAgbV9zY3JvbGxFbmRFdmVudFRhcmdldCA9IHRhcmdldDsKK30K
KyNlbmRpZgorCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlVmlzaWJsZUxlbmd0
aHMoKQogewogICAgIG1faG9yaXpvbnRhbERhdGEudmlzaWJsZUxlbmd0aCA9IG1fc2Nyb2xsYWJs
ZUFyZWEudmlzaWJsZVdpZHRoKCk7CkBAIC00MTAsOCArNDQyLDEyIEBAIHZvaWQgU2Nyb2xsQW5p
bWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIAogICAgIGlmIChjb250aW51ZUFu
aW1hdGlvbikKICAgICAgICAgc3RhcnROZXh0VGltZXIoc3RkOjptYXgobWluaW11bVRpbWVySW50
ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpKTsKLSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAg
IG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JT
dGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisg
ICAgICAgIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCisgICAgfQogCiAgICAgbV9ub3RpZnlQ
b3NpdGlvbkNoYW5nZWRGdW5jdGlvbihGbG9hdFBvaW50KG1faG9yaXpvbnRhbERhdGEuY3VycmVu
dFBvc2l0aW9uLCBtX3ZlcnRpY2FsRGF0YS5jdXJyZW50UG9zaXRpb24pKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKaW5kZXggODE3M2Zh
N2UyMC4uMTg0Y2ZhZDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0aW9uU21vb3RoLmgKQEAgLTMxLDYgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIFNjcm9s
bGFibGVBcmVhOwogZW51bSBjbGFzcyBTY3JvbGxDbGFtcGluZyA6IHVpbnQ4X3Q7CkBAIC00OCwx
MCArNDksMTYgQEAgcHVibGljOgogICAgICAgICBCb3VuY2UKICAgICB9OwogCisjaWYgRU5BQkxF
KE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZvaWQgc2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8
Q29udGFpbmVyTm9kZT4pIG92ZXJyaWRlOworI2VuZGlmCiBwcml2YXRlOgogICAgIGJvb2wgc2Ny
b2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwg
ZmxvYXQgbXVsdGlwbGllcikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGwoY29uc3QgRmxvYXRQ
b2ludCYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICB2b2lkIG5vdGlmeVNjcm9sbEVuZCgpOworI2VuZGlmCiAg
ICAgdm9pZCB1cGRhdGVWaXNpYmxlTGVuZ3RocygpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Q3Vy
cmVudFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsKIApAQCAtMTA0LDYgKzEx
MSw5IEBAIHByaXZhdGU6CiAKICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgIFRp
bWVyIG1fYW5pbWF0aW9uVGltZXI7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAg
IFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gbV9zY3JvbGxFbmRFdmVudFRhcmdldDsKKyNlbmRpZgog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3IuY3BwCmluZGV4IDBmYzcyOWU5MTIuLmQ4OTMwMDhhYTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTI4Nyw1ICsyODcsMTAgQEAg
dm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIq
KQogewogICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT51cGRhdGVWaXNpYmxlTGVu
Z3RocygpOwogfQotCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBTY3JvbGxB
bmltYXRvcjo6c2V0U2Nyb2xsRW5kVGFyZ2V0KFdlYWtQdHI8Q29udGFpbmVyTm9kZT4gdGFyZ2V0
KQoreworICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT5zZXRTY3JvbGxFbmRUYXJn
ZXQodGFyZ2V0KTsKK30KKyNlbmRpZgogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggNjYxMTg3YTcxYy4uMGI3NjdjYWVh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCkBAIC0zNyw2ICsz
Nyw3IEBACiAjaW5jbHVkZSAiV2hlZWxFdmVudFRlc3RNb25pdG9yLmgiCiAjaW5jbHVkZSA8d3Rm
L0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHx8IEVOQUJMRShDU1NfU0NS
T0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5oIgpAQCAtNDQsNiArNDUsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBG
bG9hdFBvaW50OwogY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50OwogY2xhc3MgU2Nyb2xsQW5pbWF0
aW9uOwpAQCAtMTQ2LDYgKzE0OCwxMCBAQCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIHZpZXdwb3J0
U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9F
VkVOVFMpCisgICAgdm9pZCBzZXRTY3JvbGxFbmRUYXJnZXQoV2Vha1B0cjxDb250YWluZXJOb2Rl
Pik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3NpdGlv
bkNoYW5nZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSk7CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVT
Y3JvbGxTbmFwSW5kZXhGb3JPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBl
cy5oCmluZGV4IGI5NzVmYjA0MzAuLjU2MjczNDU0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuaApAQCAtNjUsNiArNjUsMTEgQEAgZW51bSBjbGFzcyBBbmltYXRlZFNjcm9s
bCA6IHVpbnQ4X3QgewogICAgIFllcwogfTsKIAorZW51bSBjbGFzcyBSZXF1ZXN0U2Nyb2xsRW5k
RXZlbnQgOiB1aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CisKIGlubGluZSBTY3JvbGxE
aXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rp
b24sIGJvb2wgaXNWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7CiAgICAgc3dpdGNoIChkaXJl
Y3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggM2FlZTNm
OTQ4Zi4uNGFkZTFlZjAzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAK
QEAgLTIxMyw3ICsyMTMsMTEgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBv
c2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXAKICAgICBpZiAocGxh
dGZvcm1XaWRnZXQoKSkKICAgICAgICAgc2V0QWN0dWFsU2Nyb2xsUG9zaXRpb24ocG9zaXRpb24p
OwogI2VuZGlmCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHNldFNjcm9sbFBv
c2l0aW9uKHBvc2l0aW9uLCBjbGFtcGluZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVu
dDo6WWVzKTsKKyNlbHNlCiAgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIGNsYW1waW5n
LCBhbmltYXRlZCk7CisjZW5kaWYKIH0KIAogRmxvYXRSZWN0IFNjcm9sbFZpZXc6OmV4cG9zZWRD
b250ZW50UmVjdCgpIGNvbnN0CkBAIC01MTQsNyArNTE4LDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojpj
b21wbGV0ZVVwZGF0ZXNBZnRlclNjcm9sbFRvKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhKQog
ICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzQWZ0ZXJTY3JvbGxpbmcoKTsKIH0KIAotdm9pZCBT
Y3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xs
UG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbC8qIGFuaW1h
dGVkKi8pCit2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBv
c2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVk
U2Nyb2xsIC8qIGFuaW1hdGVkKi8sIFJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBMT0df
V0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZpZXc6OnNldFNjcm9sbFBv
c2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxW
aWV3LmgKaW5kZXggZTJlZTYxM2U2MS4uZTNjMWQ3ZDEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbFZpZXcuaApAQCAtMjYyLDcgKzI2Miw3IEBAIHB1YmxpYzoKICAgICBTY3JvbGxQb3Np
dGlvbiBjYWNoZWRTY3JvbGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkU2Nyb2xs
UG9zaXRpb247IH0KIAogICAgIC8vIEZ1bmN0aW9ucyBmb3Igc2Nyb2xsaW5nIHRoZSB2aWV3Lgot
ICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xs
ID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObywgUmVxdWVzdFNj
cm9sbEVuZEV2ZW50ID0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpObyk7CiAKICAgICB2b2lkIHNj
cm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsgcmV0dXJuIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9s
bFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHAKaW5kZXggMTNhNGJkOTBjOS4uOGExNjFmYzRiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAKKyNpbmNsdWRlICJDb250
YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkdyYXBoaWNz
Q29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTc4NSw0ICs3ODYsMTEg
QEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgU2Nyb2xsYWJs
ZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogICAgIHJldHVybiB0czsKIH0KIAorI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKK3ZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbEVuZFRhcmdl
dChXZWFrUHRyPENvbnRhaW5lck5vZGU+IHRhcmdldCkKK3sKKyAgICBzY3JvbGxBbmltYXRvcigp
LnNldFNjcm9sbEVuZFRhcmdldCh0YXJnZXQpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDg5
MmQ4ZGU2ZDMuLjBjOTg4Mzc2YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaApAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBUZXh0U3RyZWFtOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xh
c3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgTGF5b3V0UG9pbnQ7CkBAIC0zNTUsNiArMzU2LDE0
IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIFN0cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkg
Y29uc3QgPSAwOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIHZpcnR1YWwg
dm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSB7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KGJvb2wpIHsgfQorICAgIHZpcnR1
YWwgU2Nyb2xsYWJsZUFyZWEqIGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygp
IHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2b2lkIHNldFNjcm9sbEVuZFRhcmdldChXZWFrUHRy
PENvbnRhaW5lck5vZGU+KTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBP
UlQgU2Nyb2xsYWJsZUFyZWEoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5TY3JvbGxh
YmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBhYzdj
OWYxODczLi5kMTFjZWQ4M2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtNjAyLDcgKzYwMiwxMSBAQCB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcgogICAgIGlmICgh
aGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1
cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVO
VFMpCisgICAgbGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUs
IGNsYW1waW5nLCBhbmltYXRlZCwgUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UK
ICAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xh
bXBpbmcsIGFuaW1hdGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckJveDo6YWJzb2x1dGVS
ZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0
ZWRPZmZzZXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCA2ZDlkYjU0NGY3Li5kOGM5MGNjYjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKQEAgLTI1NjIsMjEgKzI1NjIsNDQgQEAgdm9pZCBSZW5kZXJMYXllcjo6
YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpCiB2b2lkIFJlbmRlckxheWVy
OjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxD
bGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgU2Nyb2xs
UG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3JvbGxQb3NpdGlvbi55KCkpOworI2lmIEVOQUJMRShP
VkVSU0NST0xMX0VWRU5UUykKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xs
VHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkLCBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Olllcyk7Cisj
ZWxzZQogICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGlu
ZywgYW5pbWF0ZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBv
c2l0aW9uKGludCB5LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1w
aW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBwb3Np
dGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7CisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZF
TlRTKQorICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGlu
ZywgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVzKTsKKyNlbHNlCiAgICAgc2V0
U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7
CisjZW5kaWYKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENs
YW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5
ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Ny
b2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3Jv
bGwgYW5pbWF0ZWQsIFJlcXVlc3RTY3JvbGxFbmRFdmVudCByZXF1ZXN0U2Nyb2xsRW5kRXZlbnQp
CiB7CisjaWYgIUVOQUJMRShPVkVSU0NST0xMX0VWRU5UUykKKyAgICBVTlVTRURfUEFSQU0ocmVx
dWVzdFNjcm9sbEVuZEV2ZW50KTsKKyNlbmRpZgorCisgICAgYXV0byBvZmZzZXQgPSBzY3JvbGxP
ZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pOworICAgIFNjcm9sbE9mZnNldCBuZXdTY3JvbGxP
ZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xs
T2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7CiAgICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Ny
b2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZz
ZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisgICAgICAg
IHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihuZXdTY3JvbGxPZmZzZXQsIHNjcm9sbFR5cGUs
IGNsYW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9sbE9mZnNl
dEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICAgICAg
c2Nyb2xsVG9PZmZzZXQobmV3U2Nyb2xsT2Zmc2V0LCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisK
KyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgaWYgKHJlbmRlcmVyKCkuc2V0dGlu
Z3MoKS5vdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCgpICYmIHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9
PSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6OlllcykgeworICAgICAgICBpZiAobmV3U2Nyb2xsT2Zm
c2V0ID09IHNjcm9sbE9mZnNldCgpKQorICAgICAgICAgICAgYWRkUGVuZGluZ1Njcm9sbEVuZEV2
ZW50VGFyZ2V0KCk7CisgICAgICAgIGVsc2UgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xs
OjpZZXMpCisgICAgICAgICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIocmVuZGVy
ZXIoKS5lbGVtZW50KCkpKTsKKyAgICB9CisjZW5kaWYKIH0KIAogU2Nyb2xsT2Zmc2V0IFJlbmRl
ckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNl
dCkgY29uc3QKQEAgLTI1OTksMTMgKzI2MjIsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
VG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIFNjcm9sbFR5cGUgc2MK
ICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAKICAgICBTY3Jv
bGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9sbE9mZnNl
dDsKKyAgICBTY3JvbGxQb3NpdGlvbiBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3Np
dGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CiAgICAgaWYgKGNsYW1wZWRTY3Jv
bGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGF1dG8gcHJldmlvdXNTY3JvbGxUeXBlID0gY3VycmVudFNjcm9sbFR5cGUoKTsKICAgICBzZXRD
dXJyZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsKIAotICAgIGlmICghcmVxdWVzdFNjcm9sbFBv
c2l0aW9uVXBkYXRlKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0
KSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQorICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9u
VXBkYXRlKGNsYW1wZWRTY3JvbGxQb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQogICAg
ICAgICBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY2xhbXBlZFNjcm9sbE9mZnNldCwg
Y2xhbXBpbmcpOwogICAgIHNldFNjcm9sbEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3Rh
dHVzOjpOb3RJbkFuaW1hdGlvbik7CiAKQEAgLTI3NzQsMTAgKzI3OTgsMTQgQEAgYm9vbCBSZW5k
ZXJMYXllcjo6YWxsb3dzQ3VycmVudFNjcm9sbCgpIGNvbnN0CiAgICAgcmV0dXJuIGJveC0+aGFz
SG9yaXpvbnRhbE92ZXJmbG93KCkgfHwgYm94LT5oYXNWZXJ0aWNhbE92ZXJmbG93KCk7CiB9CiAK
LXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYg
YWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxl
T3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUo
Y29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBT
Y3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9ucywgUmVxdWVzdFNjcm9sbEVuZEV2ZW50
IHJlcXVlc3RTY3JvbGxFbmRFdmVudCkKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5n
LCBzdHJlYW0gPDwgIkxheWVyICIgPDwgdGhpcyA8PCAiIHNjcm9sbFJlY3RUb1Zpc2libGUgIiA8
PCBhYnNvbHV0ZVJlY3QpOwogCisjaWYgRU5BQkxFKE9WRVJTQ1JPTExfRVZFTlRTKQorICAgIGJv
b2wgb3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQgPSByZW5kZXJlcigpLnNldHRpbmdzKCkub3ZlcnNj
cm9sbEV2ZW50c0VuYWJsZWQoKTsKKyNlbmRpZgorCiAgICAgTGF5b3V0UmVjdCBuZXdSZWN0ID0g
YWJzb2x1dGVSZWN0OwogICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS52aWV3
KCkuZnJhbWVWaWV3KCk7CiAgICAgYXV0byogcGFyZW50TGF5ZXIgPSBlbmNsb3NpbmdDb250YWlu
aW5nQmxvY2tMYXllcigqdGhpcywgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsKQEAgLTI4MDQs
NiArMjgzMiwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgaWYgKGF1
dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2
aW9yLCBib3gtPmVsZW1lbnQoKSkpCiAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRl
ZFNjcm9sbDo6WWVzOwogICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRp
b25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0
aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisjaWYgRU5BQkxFKE9WRVJT
Q1JPTExfRVZFTlRTKQorICAgICAgICAgICAgaWYgKG92ZXJzY3JvbGxFdmVudHNFbmFibGVkICYm
IGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMgJiYgY2xhbXBlZFNjcm9sbE9mZnNldCAh
PSBzY3JvbGxPZmZzZXQoKSkKKyAgICAgICAgICAgICAgICBzZXREdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcodHJ1ZSk7CisjZW5kaWYKICAgICAgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0RGlm
ZmVyZW5jZSA9IGNsYW1wZWRTY3JvbGxPZmZzZXQgLSBvbGRTY3JvbGxPZmZzZXQ7CiAgICAgICAg
ICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CiAgICAg
ICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxv
YXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNlVHJhbnNmb3JtcykuYm91bmRp
bmdCb3goKSk7CkBAIC0yODM2LDYgKzI4NjgsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQK
ICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAg
ICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwg
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKIAorI2lmIEVOQUJMRShPVkVSU0NS
T0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJsZWQg
JiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBzY3JvbGxQb3NpdGlvbiAhPSBm
cmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICBmcmFtZVZp
ZXcuc2V0RHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KHRydWUpOworICAgICAgICAgICAgICAgICAg
ICBpZiAocmVxdWVzdFNjcm9sbEVuZEV2ZW50ID09IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6WWVz
KQorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbEVuZFRhcmdldCht
YWtlV2Vha1B0cihmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpKSk7CisgICAgICAgICAgICAg
ICAgfQorI2VuZGlmCisKICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Ny
b3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olll
cyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoYXV0byogZW5jbG9zaW5nTGF5ZXIgPSBvd25lckVsZW1lbnQtPnJl
bmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJl
bnRMYXllciA9IGVuY2xvc2luZ0xheWVyLT5lbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVk
ZVNlbGZPck5vdDo6SW5jbHVkZVNlbGYsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpObyk7CkBAIC0y
ODgwLDYgKzI5MjAsMTMgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShj
b25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAg
ICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkpCiAg
ICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAg
ICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0
aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworI2lmIEVOQUJMRShPVkVS
U0NST0xMX0VWRU5UUykKKyAgICAgICAgICAgICAgICBpZiAob3ZlcnNjcm9sbEV2ZW50c0VuYWJs
ZWQgJiYgYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcyAmJiBjbGFtcGVkU2Nyb2xsUG9z
aXRpb24gIT0gZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgZnJhbWVWaWV3LnNldER1cmluZ1Njcm9sbFJlY3RJbnRvVmlldyh0cnVlKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHJlcXVlc3RTY3JvbGxFbmRFdmVudCA9PSBSZXF1ZXN0U2Nyb2xsRW5k
RXZlbnQ6OlllcykKKyAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxF
bmRUYXJnZXQobWFrZVdlYWtQdHIoZnJhbWVWaWV3LmZyYW1lKCkuZG9jdW1lbnQoKSkpOworICAg
ICAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBU
aGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3JvbGxp
bmcgdGhpcyB2aWV3IHdlCkBAIC0yODkxLDggKzI5MzgsMjYgQEAgdm9pZCBSZW5kZXJMYXllcjo6
c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wg
aW5zaWQKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBpZiAocGFyZW50TGF5ZXIpCisgICAg
aWYgKHBhcmVudExheWVyKSB7CiAgICAgICAgIHBhcmVudExheWVyLT5zY3JvbGxSZWN0VG9WaXNp
YmxlKG5ld1JlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsKKyNpZiBFTkFCTEUoT1ZFUlNDUk9M
TF9FVkVOVFMpCisgICAgICAgIGlmIChvdmVyc2Nyb2xsRXZlbnRzRW5hYmxlZCAmJiByZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQgPT0gUmVxdWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpIHsKKyAgICAgICAg
ICAgIENvbnRhaW5lck5vZGUqIHRhcmdldCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpOworICAgICAg
ICAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0gdGFy
Z2V0KQorICAgICAgICAgICAgICAgIHRhcmdldCA9ICZyZW5kZXJlcigpLmRvY3VtZW50KCk7CisK
KyAgICAgICAgICAgIGlmIChkdXJpbmdTY3JvbGxSZWN0SW50b1ZpZXcoKSkKKyAgICAgICAgICAg
ICAgICBzZXRTY3JvbGxFbmRUYXJnZXQobWFrZVdlYWtQdHIodGFyZ2V0KSk7CisgICAgICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXll
ciA9IGZpbmRBbmNlc3RvckR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpOworICAgICAgICAgICAg
ICAgIGlmIChkdXJpbmdTY3JvbGxpbmdQYXJlbnRMYXllcikKKyAgICAgICAgICAgICAgICAgICAg
ZHVyaW5nU2Nyb2xsaW5nUGFyZW50TGF5ZXItPnNldFNjcm9sbEVuZFRhcmdldChtYWtlV2Vha1B0
cih0YXJnZXQpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJl
bmRlcmVyKCkuZG9jdW1lbnQoKS5hZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKnRhcmdl
dCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KIH0KIAogdm9pZCBS
ZW5kZXJMYXllcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbCgpCkBAIC03MDEw
LDYgKzcwNzUsMjkgQEAgYm9vbCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uKEV2
ZW50UmVnaW9uSW52YWxpZGF0aW9uUmVhc29uIHJlYXNvbikKICNlbmRpZgogfQogCisjaWYgRU5B
QkxFKE9WRVJTQ1JPTExfRVZFTlRTKQordm9pZCBSZW5kZXJMYXllcjo6YWRkUGVuZGluZ1Njcm9s
bEVuZEV2ZW50VGFyZ2V0KCkKK3sKKyAgICBpZiAoRWxlbWVudCogZWxlbWVudCA9IHJlbmRlcmVy
KCkuZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZFBlbmRpbmdTY3Jv
bGxFbmRFdmVudFRhcmdldCgqZWxlbWVudCk7Cit9CisKK1Njcm9sbGFibGVBcmVhKiBSZW5kZXJM
YXllcjo6ZmluZEFuY2VzdG9yRHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3KCkKK3sKKyAgICBhdXRv
KiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9z
c0ZyYW1lQm91bmRhcmllczo6Tm8pOworICAgIHdoaWxlIChwYXJlbnRMYXllcikgeworICAgICAg
ICBpZiAocGFyZW50TGF5ZXItPmR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpKQorICAgICAgICAg
ICAgcmV0dXJuIHBhcmVudExheWVyOworICAgICAgICBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0Nv
bnRhaW5pbmdCbG9ja0xheWVyKCpwYXJlbnRMYXllciwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5v
KTsKKyAgICB9CisKKyAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IHJlbmRlcmVyKCkudmlldygp
LmZyYW1lVmlldygpOworICAgIGlmIChmcmFtZVZpZXcuZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3
KCkpCisgICAgICAgIHJldHVybiAmZnJhbWVWaWV3OworICAgIHJldHVybiBudWxscHRyOworfQor
I2VuZGlmCisKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiB0cywgQ2xp
cFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlKQogewogICAgIHN3aXRjaCAoY2xpcFJlY3RzVHlwZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA2ZGUwZDAwNzJlLi44
Nzk2OTRjNmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNDUy
LDcgKzQ1Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Nyb2xsVG9YUG9zaXRpb24oaW50IHgs
IFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFu
aW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKICAgICB2b2lkIHNjcm9sbFRvWVBv
c2l0aW9uKGludCB5LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7Ci0gICAgdm9p
ZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUsIFNj
cm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0g
QW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8sIFJlcXVlc3RT
Y3JvbGxFbmRFdmVudCA9IFJlcXVlc3RTY3JvbGxFbmRFdmVudDo6Tm8pOwogCiAgICAgLy8gVGhl
c2UgYXJlIG9ubHkgdXNlZCBieSBtYXJxdWVlLgogICAgIHZvaWQgc2Nyb2xsVG9YT2Zmc2V0KGlu
dCB4KSB7IHNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldCh4LCBzY3JvbGxPZmZzZXQoKS55KCkp
LCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQpOyB9
CkBAIC00NjgsNyArNDY4LDcgQEAgcHVibGljOgogICAgIHZvaWQgYXZhaWxhYmxlQ29udGVudFNp
emVDaGFuZ2VkKEF2YWlsYWJsZVNpemVDaGFuZ2VSZWFzb24pIGZpbmFsOwogCiAgICAgLy8gImFi
c29sdXRlUmVjdCIgaXMgaW4gc2NhbGVkIGRvY3VtZW50IGNvb3JkaW5hdGVzLgotICAgIHZvaWQg
c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wg
aW5zaWRlRml4ZWQsIGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJik7CisgICAgdm9p
ZCBzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9v
bCBpbnNpZGVGaXhlZCwgY29uc3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMmLCBSZXF1ZXN0
U2Nyb2xsRW5kRXZlbnQgPSBSZXF1ZXN0U2Nyb2xsRW5kRXZlbnQ6Ok5vKTsKIAogICAgIGJvb2wg
c2Nyb2xsc092ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNTY3JvbGxhYmxlSG9yaXpvbnRh
bE92ZXJmbG93KCkgY29uc3Q7CkBAIC05MzEsNiArOTMxLDEzIEBAIHB1YmxpYzoKIAogICAgIFN0
cmluZyBkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QgZmluYWw7CiAKKyNpZiBFTkFCTEUoT1ZFUlND
Uk9MTF9FVkVOVFMpCisgICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsRW5kRXZlbnRUYXJnZXQoKSBm
aW5hbDsKKyAgICBib29sIGR1cmluZ1Njcm9sbFJlY3RJbnRvVmlldygpIGZpbmFsIHsgcmV0dXJu
IG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3OyB9CisgICAgdm9pZCBzZXREdXJpbmdTY3JvbGxS
ZWN0SW50b1ZpZXcoYm9vbCBzY3JvbGxpbmcpIGZpbmFsIHsgbV9kdXJpbmdTY3JvbGxSZWN0SW50
b1ZpZXcgPSBzY3JvbGxpbmc7IH0KKyAgICBTY3JvbGxhYmxlQXJlYSogZmluZEFuY2VzdG9yRHVy
aW5nU2Nyb2xsUmVjdEludG9WaWV3KCkgZmluYWw7CisjZW5kaWYKKwogcHJpdmF0ZToKIAogICAg
IHZvaWQgc2V0TmV4dFNpYmxpbmcoUmVuZGVyTGF5ZXIqIG5leHQpIHsgbV9uZXh0ID0gbmV4dDsg
fQpAQCAtMTI5MCw2ICsxMjk3LDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xheWVyTGlzdE11
dGF0aW9uQWxsb3dlZCA6IDE7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSU0NST0xMX0VWRU5U
UykKKyAgICBib29sIG1fZHVyaW5nU2Nyb2xsUmVjdEludG9WaWV3IDogMTsKKyNlbmRpZgorCiAj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICB1bnNpZ25lZCBtX2JsZW5kTW9kZSA6IDU7
IC8vIEJsZW5kTW9kZQogICAgIGJvb2wgbV9oYXNOb3RJc29sYXRlZENvbXBvc2l0ZWRCbGVuZGlu
Z0Rlc2NlbmRhbnRzIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKaW5kZXggODA0NmExZTdlNC4uYjE1NWQ3OTE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTQyOCw3ICs0MjgsMTEgQEAgYm9vbCBSZW5kZXJPYmpl
Y3Q6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBi
b29sIGluc2kKICAgICBpZiAoIWVuY2xvc2luZ0xheWVyKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKKyNpZiBFTkFCTEUoT1ZFUlNDUk9MTF9FVkVOVFMpCisgICAgZW5jbG9zaW5nTGF5ZXItPnNj
cm9sbFJlY3RUb1Zpc2libGUoYWJzb2x1dGVSZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucywgUmVx
dWVzdFNjcm9sbEVuZEV2ZW50OjpZZXMpOworI2Vsc2UKICAgICBlbmNsb3NpbmdMYXllci0+c2Ny
b2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zKTsKKyNl
bmRpZgogICAgIHJldHVybiB0cnVlOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>