<?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>91097</bug_id>
          
          <creation_ts>2012-07-12 08:26:49 -0700</creation_ts>
          <short_desc>[CSSRegions]Auto height is not working for regions</short_desc>
          <delta_ts>2021-04-02 00:31:05 -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>CSS</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>96267</dependson>
    
    <dependson>97533</dependson>
    
    <dependson>99952</dependson>
    
    <dependson>100749</dependson>
          <blocked>66645</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Mihnea Ovidenie">mihnea</assigned_to>
          <cc>dennisfrank78</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>eoconnor</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>667799</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-07-12 08:26:49 -0700</bug_when>
    <thetext>If a region does not have a specified height, it should compute its height based on: http://dev.w3.org/csswg/css3-regions/#regions-visual-formatting-steps. Currently, its height is computed to 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685336</commentid>
    <comment_count>1</comment_count>
      <attachid>156074</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-08-02 07:09:47 -0700</bug_when>
    <thetext>Created attachment 156074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685342</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-02 07:13:03 -0700</bug_when>
    <thetext>Attachment 156074 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
LayoutTests/ChangeLog:10:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
LayoutTests/ChangeLog:11:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
LayoutTests/ChangeLog:12:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
LayoutTests/ChangeLog:13:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 4 in 49 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691520</commentid>
    <comment_count>3</comment_count>
      <attachid>156074</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-08-09 09:51:23 -0700</bug_when>
    <thetext>Comment on attachment 156074
Patch

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

You really have to split this patch. 76k is not something anyone can review properly.

&gt; LayoutTests/fast/regions/region-auto-height-01.html:7
&gt; +            #red { width: 50px; height: 50px; background-color: red; }

maybe factoring the width / height into a div selector would make it more obvious what you are expecting.

&gt; Source/WebCore/ChangeLog:35
&gt; +               fast/regions/region-auto-height-18.html

I hate such naming for tests. Unless you have written the tests, the difference between 01 and 18 is unknown. When you have 2 - 3 tests, it&apos;s possible to look at them and find the difference but when you have 18, not so much.

&gt; Source/WebCore/rendering/RenderRegion.h:104
&gt; +            &amp;&amp; style()-&gt;logicalTop().isSpecified()
&gt; +            &amp;&amp; style()-&gt;logicalBottom().isSpecified();

Shouldn&apos;t you also check that the logical left or right are specified too?

&gt; Source/WebCore/rendering/RenderRegion.h:117
&gt; +    LayoutUnit computedAutoHeight() const { return m_computedAutoHeight; }
&gt; +    void setComputedAutoHeight(LayoutUnit computedAutoHeight)
&gt; +    {
&gt; +        m_computedAutoHeight = computedAutoHeight;
&gt; +        m_hasComputedAutoHeight = true;
&gt; +    }

Couldn&apos;t this reuse the overrideLogicalHeight logic instead of re-implementing it?

&gt; Source/WebCore/rendering/RenderView.cpp:170
&gt; +    if (inFirstLayoutPhaseAutoHeightRegions()) {

This is really a poor&apos;s man implementation of multi-phase layout. On top of duplicating the code, it removes a lot of the safety that you usually get from doing a full layout (see the ASSERT below for example). I am not supportive of such a hack.

If you want to do multiple-phase layout then you should patch FrameView::layout to actually call RenderView::layout several time as needed for regions. You can also implement a proper state machine in RenderView in this case.

Btw, how does this code deal with subtree layout?

&gt; Source/WebCore/rendering/RenderView.cpp:175
&gt; +        if (hasRenderNamedFlowThreads() &amp;&amp; hasAutoHeightRegions())
&gt; +            flowThreadController()-&gt;markAutoHeightRegionsForSecondLayoutPhase();

Globally calling setNeedsLayout during layout is a bad idea. Here you can probably get away with it but I would rather that this get moved outside layout.

&gt; Source/WebCore/rendering/RenderView.h:191
&gt; +    enum AutoHeightRegionsLayoutPhase { AutoHeightRegionsFirstLayoutPhase, AutoHeightRegionsSecondLayoutPhase };
&gt; +    bool inFirstLayoutPhaseAutoHeightRegions() const { return m_autoHeightRegionsLayoutPhase == AutoHeightRegionsFirstLayoutPhase; }
&gt; +    bool needsSecondPassLayoutForRegionsAutoHeight() const;

This is poorly named. first vs second layout don&apos;t give much information about *what* you are doing. The first layout is unconstrained vs the second one is properly breaking.

&gt; Source/WebCore/rendering/RenderView.h:311
&gt; +    AutoHeightRegionsLayoutPhase m_autoHeightRegionsLayoutPhase;
&gt; +    unsigned m_autoHeightRegionsCount;

Shouldn&apos;t those be on the FlowThreadController and not on the RenderView?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691543</commentid>
    <comment_count>4</comment_count>
      <attachid>156074</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-08-09 10:15:11 -0700</bug_when>
    <thetext>Comment on attachment 156074
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderView.cpp:170
&gt;&gt; +    if (inFirstLayoutPhaseAutoHeightRegions()) {
&gt; 
&gt; This is really a poor&apos;s man implementation of multi-phase layout. On top of duplicating the code, it removes a lot of the safety that you usually get from doing a full layout (see the ASSERT below for example). I am not supportive of such a hack.
&gt; 
&gt; If you want to do multiple-phase layout then you should patch FrameView::layout to actually call RenderView::layout several time as needed for regions. You can also implement a proper state machine in RenderView in this case.
&gt; 
&gt; Btw, how does this code deal with subtree layout?

Also a comment about repainting, this will likely cause spurious repaintings due to the LayoutRepainter logic assuming a single phase layout (see for example bug 92800). This is currently an open problem in WebKit but you should be aware of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699566</commentid>
    <comment_count>5</comment_count>
      <attachid>156074</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-20 09:04:56 -0700</bug_when>
    <thetext>Comment on attachment 156074
Patch

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

&gt; Source/WebCore/rendering/RenderRegion.h:102
&gt; +        bool hasAnchoredTopAndBottom = (isOutOfFlowPositioned() || isRelPositioned())

You should remove isRelPositioned from this. You only should be checking isOutOfFlowPositioned, and as Julien says, in vertical writing mode left/right could be the ones giving you height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700824</commentid>
    <comment_count>6</comment_count>
      <attachid>156074</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-21 09:20:49 -0700</bug_when>
    <thetext>Comment on attachment 156074
Patch

I disagree with Julien that this needs to be outside the RenderObjects. This two-pass &quot;auto height regions including breaks&quot; algorithm does need to originate at renderers. Don&apos;t think of it as some global multi-pass layout algorithm. Note that pagination already has numerous multi-pass layout systems right in the renderers, so I don&apos;t think pulling this outside of the RenderObject tree is what we want to do, especially given it has to work originating at multi-column blocks for the new multi-column layout.

I think it&apos;s pretty much fine as is, although I do agree that the two phases should be more descriptive and elaborate on what they are actually doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758331</commentid>
    <comment_count>7</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-11-05 01:40:28 -0800</bug_when>
    <thetext>Support for auto-height regions has landed in trunk, i have added the relevant bugs as dependencies.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156074</attachid>
            <date>2012-08-02 07:09:47 -0700</date>
            <delta_ts>2012-08-21 09:20:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>91097.patch</filename>
            <type>text/plain</type>
            <size>78453</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOTY2Y2I4Li41MjllMmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTItMDgt
MDIgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0aGF0IHRoZSBjb21wdXRh
dGlvbiBvZiBoZWlnaHQgZm9yIHJlZ2lvbnMgd2l0aCBoZWlnaHQ9YXV0byBpcyBkb25lIHByb3Bl
cmx5LgorICAgICAgICBUaGUgdGVzdHMgaW5jbHVkZToKKyAgICAgICAgKiByZWdpb24gd2l0aCBo
ZWlnaHQ9YXV0byBpbiBub3JtYWwgZG9jdW1lbnQgZmxvdy9vdXQtb2YtZmxvdworICAgICAgICAq
IHJlZ2lvbiB3aXRoIGhlaWdodD1hdXRvIHdpdGggZGlmZmVyZW50IHdyaXRpbmcgbW9kZXMKKyAg
ICAgICAgKiByZWdpb24gd2l0aCBoZWlnaHQ9YXV0byBpbiBjb21iaW5hdGlvbiB3aXRoIG1pbi1o
ZWlnaHQgYW5kIG1heC1oZWlnaHQKKyAgICAgICAgKiByZWdpb24gd2l0aCBoZWlnaHQ9YXV0bywg
ZmxvdyB0aHJlYWQgd2l0aCBlbGVtZW50cyB3aXRoIGZvcmNlZCBicmVha3MKKworICAgICAgICBB
bHNvIGZpeGVkIHNvbWUgcHJldmlvdXMgdGVzdHMgdGhhdCB3ZXJlIHVzaW5nIGhlaWdodD1hdXRv
IHRoYXQgY29tcHV0ZWQgdG8gMC4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9ib3R0b20tb3Zl
cmZsb3ctb3V0LW9mLWZpcnN0LXJlZ2lvbi5odG1sOgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9y
ZWdpb24tYXV0by1oZWlnaHQtMDEtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTAyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDIuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMy1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTAz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQt
MDQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1h
dXRvLWhlaWdodC0wNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVnaW9u
LWF1dG8taGVpZ2h0LTA1LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVn
aW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9y
ZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wNi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDctZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wNy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA4LWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1o
ZWlnaHQtMDguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRv
LWhlaWdodC0wOS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
cmVnaW9uLWF1dG8taGVpZ2h0LTA5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9u
cy9yZWdpb24tYXV0by1oZWlnaHQtMTAtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xMC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTExLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xMi1leHBlY3Rl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0
LTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWln
aHQtMTMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lv
bi1hdXRvLWhlaWdodC0xMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVn
aW9uLWF1dG8taGVpZ2h0LTE0LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
cmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xNS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTE1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTYtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTE3
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0
by1oZWlnaHQtMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1h
dXRvLWhlaWdodC0xOC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lv
bnMvcmVnaW9uLWF1dG8taGVpZ2h0LTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVn
aW9ucy90b3Atb3ZlcmZsb3ctb3V0LW9mLXNlY29uZC1yZWdpb24uaHRtbDoKKwogMjAxMi0wOC0w
MiAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtD
aHJvbWl1bV0gVW5yZXZpZXdlZCwgbWFyayBhY2Nlc3NpYmlsaXR5L2xvYWRpbmctaWZyYW1lLXVw
ZGF0ZXMtYXh0cmVlLmh0bWwgYXMgY3Jhc2h5IG9uIE1hYy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9ib3R0b20tb3ZlcmZsb3ctb3V0LW9mLWZpcnN0LXJlZ2lvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2JvdHRvbS1vdmVyZmxvdy1vdXQtb2YtZmlyc3Qt
cmVnaW9uLmh0bWwKaW5kZXggZGY3MzIyYS4uMzk1ZDkyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL2JvdHRvbS1vdmVyZmxvdy1vdXQtb2YtZmlyc3QtcmVnaW9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2JvdHRvbS1vdmVyZmxvdy1vdXQtb2YtZmly
c3QtcmVnaW9uLmh0bWwKQEAgLTMzLDYgKzMzLDExIEBACiAgICAgICAgIGhlaWdodDogMTAwcHg7
CiAgICAgfQogCisgICAgI3JlZ2lvbjMgeworICAgICAgICB3aWR0aDogMHB4OworICAgICAgICBo
ZWlnaHQ6IDBweDsKKyAgICB9CisKIDwvc3R5bGU+CiAKIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMS1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMS1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiODVhNjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0
LTAxLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI2dyZWVuIHsgd2lk
dGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9y
IDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTA5NyI+
IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48L3A+CisgICAgICAg
IDxwPlRoZSByZWdpb24gaXMgYSBibG9jayBlbGVtZW50IGluIG5vcm1hbCBmbG93LjwvcD4KKyAg
ICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBub3Qgc2VlIGEgcmVkIHJlY3RhbmdsZSBi
ZWxvdy48L3A+CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuIj48L2Rpdj4KKyAgICA8Ym9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1o
ZWlnaHQtMDEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWln
aHQtMDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTdhOTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhl
aWdodC0wMS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNhcnRpY2xlIHsgLXdlYmtp
dC1mbG93LWludG86IGZsb3c7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206
IGZsb3c7IHdpZHRoOiA1MHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLTUwcHg7IH0KKyAg
ICAgICAgICAgICNyZWQgeyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25z
PC9hPi48L3A+CisgICAgICAgIDxwPlRoZSByZWdpb24gaXMgYSBibG9jayBlbGVtZW50IGluIG5v
cm1hbCBmbG93LjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBub3Qgc2Vl
IGEgcmVkIHJlY3RhbmdsZSBiZWxvdy48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdp
b24iPjwvZGl2PgorICAgIDxib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMi1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMi1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViMjc1NGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTAyLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI2dyZWVuIHsgd2lkdGg6IDUwcHg7
IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBhYnNvbHV0
ZTsgdG9wOiAxMDBweDsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJl
Z2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQs
IGFic29sdXRlbHkgcG9zaXRpb25lZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBz
aG91bGQgbm90IHNlZSBhIHJlZCByZWN0YW5nbGUgYmVsb3cuPC9wPgorICAgICAgICA8ZGl2IGlk
PSJncmVlbiI+PC9kaXY+CisgICAgPGJvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTAyLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTAyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYTJkYmMyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDIuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICAjYXJ0aWNsZSB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0aDog
NTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICAg
ICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogNTBweDsgcG9zaXRp
b246IGFic29sdXRlOyB0b3A6IDEwMHB4OyB9CisgICAgICAgICAgICAjcmVkIHsgd2lkdGg6IDUw
cHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyBwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogMTAwcHg7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciBy
ZWdpb25zPC9hPi48L3A+CisgICAgICAgIDxwPlRoZSByZWdpb24gaXMgYSBibG9jayBlbGVtZW50
LCBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ug
c2hvdWxkIG5vdCBzZWUgYSByZWQgcmVjdGFuZ2xlIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBp
ZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iYXJ0aWNsZSI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMy1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMy1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwYzcxMWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8t
aGVpZ2h0LTAzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYm9keSB7
IG1hcmdpbjogMTBweDsgfQorICAgICAgICAgICAgI2dyZWVuIHsgd2lkdGg6IDUwcHg7IGhlaWdo
dDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9w
OiAxNTBweDsgbGVmdDogNjBweDsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcg
Zm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVs
ZW1lbnQsIHJpZ2h0IGZsb2F0aW5nLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNo
b3VsZCBub3Qgc2VlIGEgcmVkIHJlY3RhbmdsZSBiZWxvdy48L3A+CisgICAgICAgIDxkaXYgaWQ9
ImdyZWVuIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTAzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZGM5MjRhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDMuaHRtbApAQCAtMCwwICsxLDIy
IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBib2R5IHsgbWFyZ2luOiAxMHB4OyB9CisgICAgICAgICAgICAjYXJ0aWNs
ZSB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICAgICAgI2NvbnRhaW5lciB7IHBvc2l0
aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyB9
CisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IHdpZHRoOiA1
MHB4OyBmbG9hdDogcmlnaHQ7IH0KKyAgICAgICAgICAgICNyZWQgeyB3aWR0aDogNTBweDsgaGVp
Z2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9w
OiAxNTBweDsgbGVmdDogNjBweDsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcg
Zm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVs
ZW1lbnQsIHJpZ2h0IGZsb2F0aW5nLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNo
b3VsZCBub3Qgc2VlIGEgcmVkIHJlY3RhbmdsZSBiZWxvdy48L3A+CisgICAgICAgIDxkaXYgaWQ9
InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4K
KyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wNC1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wNC1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2NGY5MWYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA0
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI2dyZWVuIHsgd2lkdGg6
IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxh
IGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTA5NyI+IEF1
dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48L3A+CisgICAgICAgIDxw
PlRoZSByZWdpb24gaXMgYW4gaW5saW5lLWJsb2NrIGVsZW1lbnQgaW4gbm9ybWFsIGZsb3c8L3A+
CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgbm90IHNlZSBhIHJlZCByZWN0YW5n
bGUgYmVsb3cuPC9wPgorICAgICAgICA8ZGl2IGlkPSJncmVlbiI+PC9kaXY+CisgICAgPGJvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1
dG8taGVpZ2h0LTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8t
aGVpZ2h0LTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTllOTI5
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0
by1oZWlnaHQtMDQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjYXJ0aWNsZSB7IC13
ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1m
cm9tOiBmbG93OyB3aWR0aDogNTBweDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IC01MHB4OyBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KKyAgICAgICAgICAgICNyZWQgeyB3aWR0aDogNTBweDsg
aGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0
IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48L3A+CisgICAgICAgIDxwPlRoZSByZWdp
b24gaXMgYW4gaW5saW5lLWJsb2NrIGVsZW1lbnQgaW4gbm9ybWFsIGZsb3c8L3A+CisgICAgICAg
IDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgbm90IHNlZSBhIHJlZCByZWN0YW5nbGUgYmVsb3cu
PC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJhcnRp
Y2xlIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8Ym9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0
by1oZWlnaHQtMDUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdp
b24tYXV0by1oZWlnaHQtMDUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5lYmU0ZjZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wNS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQg
QEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgI2dyZWVuIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IGhlaWdo
dDogNTBweDsgdG9wOiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjpncmVlbjsgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0
byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+
VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQgaW4gbm9ybWFsIGZsb3csIGhhdmluZyBtYXgt
aGVpZ2h0IHNwZWNpZmllZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQg
c2VlIDEgZ3JlZW4gbGluZS48L3A+CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
cmVnaW9uLWF1dG8taGVpZ2h0LTA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVn
aW9uLWF1dG8taGVpZ2h0LTA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZGMwOTA1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9y
ZWdpb24tYXV0by1oZWlnaHQtMDUuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IWRvY3R5cGUgaHRt
bD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjYXJ0
aWNsZSB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBmb250LXNpemU6IDUwcHg7IHRleHQtYWxp
Z246IGp1c3RpZnk7IGxpbmUtaGVpZ2h0OiAyOyBjb2xvcjogZ3JlZW47IGZvbnQtZmFtaWx5OiBB
aGVtOyBwYWRkaW5nLXRvcDogMjVweDsgfQorICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQt
Zmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMjAwcHg7IG1heC1oZWlnaHQ6IDEwMHB4OyBvdmVyZmxv
dzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IH0KKyAgICAgICAgICAg
ICNyZWQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiA1MHB4OyB0
b3A6IDE1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJlZDsgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQgaXMg
bm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+VGhlIHJlZ2lvbiBp
cyBhIGJsb2NrIGVsZW1lbnQgaW4gbm9ybWFsIGZsb3csIGhhdmluZyBtYXgtaGVpZ2h0IHNwZWNp
ZmllZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDEgZ3JlZW4g
bGluZS48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImFydGljbGUiPgorICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdy
ZWVuIj4KKyAgICAgICAgICAgICAgICBhYWFhIGFhYWEgYWFhYQorICAgICAgICAgICAgPC9zcGFu
PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVn
aW9uLWF1dG8taGVpZ2h0LTA2LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA2LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uODkyZjhjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDYtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICAjZ3JlZW4geyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAy
MDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHRvcDogMTUwcHg7
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxw
PlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48L3A+
CisgICAgICAgIDxwPlRoZSByZWdpb24gaXMgYSBibG9jayBlbGVtZW50LCBoYXZpbmcgbWluLWhl
aWdodCBzcGVjaWZpZWQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNl
ZSAxIGdyZWVuIHJlY3RhbmdsZS48L3A+CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
cmVnaW9uLWF1dG8taGVpZ2h0LTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNGUwNjlmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9yZWdpb24tYXV0by1oZWlnaHQtMDYuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IWRvY3R5cGUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAj
YXJ0aWNsZSB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBmb250LXNpemU6IDUwcHg7IHRleHQt
YWxpZ246IGp1c3RpZnk7IGxpbmUtaGVpZ2h0OiAyOyBjb2xvcjogZ3JlZW47IGZvbnQtZmFtaWx5
OiBBaGVtOyBwYWRkaW5nLXRvcDogMjVweDsgfQorICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMjAwcHg7IG1pbi1oZWlnaHQ6IDIwMHB4OyBwb3Np
dGlvbjogYWJzb2x1dGU7IHRvcDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9Cisg
ICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IGhlaWdo
dDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgdG9wOiAxNTBweDsgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0
byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+
VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQsIGhhdmluZyBtaW4taGVpZ2h0IHNwZWNpZmll
ZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDEgZ3JlZW4gcmVj
dGFuZ2xlLjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iYXJ0aWNsZSI+CisgICAgICAgICAgICA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW4iPgorICAgICAgICAgICAgICAgIGFhYWEKKyAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRv
LWhlaWdodC0wNy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lv
bi1hdXRvLWhlaWdodC0wNy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjhiNThmZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA3LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IGhv
cml6b250YWwtYnQ7Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
Ym9keSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IH0KKyAgICAgICAgICAgIC5ncmVlbkJveCB7
IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAjZ3JlZW4geyBib3R0b206IDEyNXB4OyB9
CisgICAgICAgICAgICAjZ3JlZW4xIHsgYm90dG9tOiAyMjVweDsgfQorICAgICAgICAgICAgI2dy
ZWVuMiB7IGJvdHRvbTogMzI1cHg7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5n
IGZvciByZWdpb25zPC9hPi48L3A+CisgICAgICAgIDxwPlRoZSByZWdpb24gaXMgYSBibG9jayBl
bGVtZW50LCB3cml0aW5nIG1vZGUgaG9yaXpvbnRhbC1idC48L3A+CisgICAgICAgIDxwPk9uIHN1
Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDMgZ3JlZW4gcmVjdGFuZ2xlcy48L3A+CisgICAgICAgIDxk
aXYgaWQ9ImdyZWVuIiBjbGFzcz0iZ3JlZW5Cb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJn
cmVlbjEiIGNsYXNzPSJncmVlbkJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuMiIg
Y2xhc3M9ImdyZWVuQm94Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkwMzIxZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDcuaHRtbApAQCAt
MCwwICsxLDI4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIHN0eWxlPSItd2Via2l0LXdyaXRp
bmctbW9kZTogaG9yaXpvbnRhbC1idDsiPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQorICAgICAgICAgICAg
I2FydGljbGUgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgZm9udC1zaXplOiA1MHB4OyB0ZXh0
LWFsaWduOiBqdXN0aWZ5OyBsaW5lLWhlaWdodDogMjsgY29sb3I6IGdyZWVuOyBmb250LWZhbWls
eTogQWhlbTsgfQorICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93
OyB3aWR0aDogMjAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAxMDBweDsgfQorICAg
ICAgICAgICAgLnJlZEJveCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDIwMHB4OyBoZWln
aHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgI3JlZCB7IGJv
dHRvbTogMTI1cHg7IH0KKyAgICAgICAgICAgICNyZWQxIHsgYm90dG9tOiAyMjVweDsgfQorICAg
ICAgICAgICAgI3JlZDIgeyBib3R0b206IDMyNXB4OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEwOTciPiBBdXRvIGhlaWdodCBpcyBu
b3Qgd29ya2luZyBmb3IgcmVnaW9uczwvYT4uPC9wPgorICAgICAgICA8cD5UaGUgcmVnaW9uIGlz
IGEgYmxvY2sgZWxlbWVudCwgd3JpdGluZyBtb2RlIGhvcml6b250YWwtYnQuPC9wPgorICAgICAg
ICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIGdyZWVuIHJlY3RhbmdsZXMuPC9wPgor
ICAgICAgICA8ZGl2IGlkPSJyZWQiIGNsYXNzPSJyZWRCb3giPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJyZWQxIiBjbGFzcz0icmVkQm94Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkMiIg
Y2xhc3M9InJlZEJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAg
ICAgICAgPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuIj4KKyAgICAgICAgICAg
ICAgICBhYWFhIGFhYWEgYWFhYQorICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICA8L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA4
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVp
Z2h0LTA4LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MWM1OGY3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdp
b24tYXV0by1oZWlnaHQtMDgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IWRvY3R5
cGUgaHRtbD4KKzxodG1sIHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYm9keSB7IGZvbnQt
ZmFtaWx5OiBtb25vc3BhY2U7IH0KKyAgICAgICAgICAgIC5ncmVlbkJveCB7IHBvc2l0aW9uOiBh
YnNvbHV0ZTsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDIw
MHB4OyB9CisgICAgICAgICAgICAjZ3JlZW4geyBsZWZ0OiAxMjVweDsgfQorICAgICAgICAgICAg
I2dyZWVuMSB7IGxlZnQ6IDIyNXB4OyB9CisgICAgICAgICAgICAjZ3JlZW4yIHsgbGVmdDogMzI1
cHg7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48
L3A+CisgICAgICAgIDxwPlRoZSByZWdpb24gaXMgYSBibG9jayBlbGVtZW50LCB3cml0aW5nIG1v
ZGUgdmVydGljYWwtbHIuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNl
ZSAzIGdyZWVuIHJlY3RhbmdsZXMuPC9wPgorICAgICAgICA8ZGl2IGlkPSJncmVlbiIgY2xhc3M9
ImdyZWVuQm94Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZ3JlZW4xIiBjbGFzcz0iZ3JlZW5C
b3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJncmVlbjIiIGNsYXNzPSJncmVlbkJveCI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wOC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjY0MzY1NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA4Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbCBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxy
OyI+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJvZHkgeyBmb250
LWZhbWlseTogbW9ub3NwYWNlOyB9CisgICAgICAgICAgICAjYXJ0aWNsZSB7IC13ZWJraXQtZmxv
dy1pbnRvOiBmbG93OyBmb250LXNpemU6IDUwcHg7IHRleHQtYWxpZ246IGp1c3RpZnk7IGxpbmUt
aGVpZ2h0OiAyOyBjb2xvcjogZ3JlZW47IGZvbnQtZmFtaWx5OiBBaGVtOyB9CisgICAgICAgICAg
ICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IGhlaWdodDogMjAwcHg7IHBvc2l0
aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTAwcHg7IH0KKyAgICAgICAgICAgIC5yZWRCb3ggeyBwb3Np
dGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgd2lkdGg6IDUwcHg7IGhlaWdo
dDogMjAwcHg7IH0KKyAgICAgICAgICAgICNyZWQgeyBsZWZ0OiAxMjVweDsgfQorICAgICAgICAg
ICAgI3JlZDEgeyBsZWZ0OiAyMjVweDsgfQorICAgICAgICAgICAgI3JlZDIgeyBsZWZ0OiAzMjVw
eDsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+Ljwv
cD4KKyAgICAgICAgPHA+VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQsIHdyaXRpbmcgbW9k
ZSB2ZXJ0aWNhbC1sci48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2Vl
IDMgZ3JlZW4gcmVjdGFuZ2xlcy48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCIgY2xhc3M9InJl
ZEJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZDEiIGNsYXNzPSJyZWRCb3giPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJyZWQyIiBjbGFzcz0icmVkQm94Ij48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iYXJ0aWNsZSI+CisgICAgICAgICAgICA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW4iPgorICAgICAgICAgICAgICAgIGFhYWEgYWFhYSBhYWFhCisgICAgICAgICAg
ICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDktZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDktZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjIzZGY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wOS1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMjAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWwgc3R5bGU9Ii13ZWJraXQt
d3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQorICAgICAgICAg
ICAgLmdyZWVuQm94IHsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsgd2lkdGg6IDUwcHg7IGhlaWdodDogMjAwcHg7IH0KKyAgICAgICAgICAgICNncmVlbiB7IHJp
Z2h0OiAxMjVweDsgfQorICAgICAgICAgICAgI2dyZWVuMSB7IHJpZ2h0OiAyMjVweDsgfQorICAg
ICAgICAgICAgI2dyZWVuMiB7IHJpZ2h0OiAzMjVweDsgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQgaXMg
bm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+VGhlIHJlZ2lvbiBp
cyBhIGJsb2NrIGVsZW1lbnQsIHdyaXRpbmcgbW9kZSB2ZXJ0aWNhbC1ybC48L3A+CisgICAgICAg
IDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDMgZ3JlZW4gcmVjdGFuZ2xlcy48L3A+Cisg
ICAgICAgIDxkaXYgaWQ9ImdyZWVuIiBjbGFzcz0iZ3JlZW5Cb3giPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJncmVlbjEiIGNsYXNzPSJncmVlbkJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImdyZWVuMiIgY2xhc3M9ImdyZWVuQm94Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE4ZTU2OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDku
aHRtbApAQCAtMCwwICsxLDI4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIHN0eWxlPSItd2Vi
a2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYm9keSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IH0KKyAgICAg
ICAgICAgICNhcnRpY2xlIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IGZvbnQtc2l6ZTogNTBw
eDsgdGV4dC1hbGlnbjoganVzdGlmeTsgbGluZS1oZWlnaHQ6IDI7IGNvbG9yOiBncmVlbjsgZm9u
dC1mYW1pbHk6IEFoZW07IH0KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJv
bTogZmxvdzsgaGVpZ2h0OiAyMDBweDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMTAwcHg7
IH0KKyAgICAgICAgICAgIC5yZWRCb3ggeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQt
Y29sb3I6IHJlZDsgd2lkdGg6IDUwcHg7IGhlaWdodDogMjAwcHg7IH0KKyAgICAgICAgICAgICNy
ZWQgeyByaWdodDogMTI1cHg7IH0KKyAgICAgICAgICAgICNyZWQxIHsgcmlnaHQ6IDIyNXB4OyB9
CisgICAgICAgICAgICAjcmVkMiB7IHJpZ2h0OiAzMjVweDsgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQg
aXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+VGhlIHJlZ2lv
biBpcyBhIGJsb2NrIGVsZW1lbnQsIHdyaXRpbmcgbW9kZSB2ZXJ0aWNhbC1ybC48L3A+CisgICAg
ICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDMgZ3JlZW4gcmVjdGFuZ2xlcy48L3A+
CisgICAgICAgIDxkaXYgaWQ9InJlZCIgY2xhc3M9InJlZEJveCI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9InJlZDEiIGNsYXNzPSJyZWRCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWQy
IiBjbGFzcz0icmVkQm94Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iYXJ0aWNsZSI+CisgICAg
ICAgICAgICA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4iPgorICAgICAgICAg
ICAgICAgIGFhYWEgYWFhYSBhYWFhCisgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQt
MTAtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1o
ZWlnaHQtMTAtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5hOTRhNDk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jl
Z2lvbi1hdXRvLWhlaWdodC0xMC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhZG9j
dHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgICAuZ3JlZW5Cb3ggeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAyMDBweDsgaGVpZ2h0
OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICAgICAgICNncmVlbiB7
IHRvcDogMTUwcHg7IH0KKyAgICAgICAgICAgICAjZ3JlZW4xIHsgdG9wOiAyNTBweDsgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBm
b3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3
Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAg
ICAgPHA+VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQuIFRoZSBmbG93IGhhcyBhIGZvcmNl
ZCBicmVhayBpbnNpZGUgaXQgdGhhdCB3aWxsIGRldGVybWluZSB0aGUgcmVnaW9uIGhlaWdodC48
L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDIgZ3JlZW4gbGluZXMu
PC9wPgorICAgICAgICA8ZGl2IGlkPSJncmVlbiIgY2xhc3M9ImdyZWVuQm94Ij48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iZ3JlZW4xIiBjbGFzcz0iZ3JlZW5Cb3giPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24t
YXV0by1oZWlnaHQtMTAuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0
by1oZWlnaHQtMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2U2
ZWM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1h
dXRvLWhlaWdodC0xMC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICAjYXJ0aWNsZSB7
IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBmb250LXNpemU6IDUwcHg7IHRleHQtYWxpZ246IGp1
c3RpZnk7IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogZ3JlZW47IGZvbnQtZmFtaWx5OiBBaGVtOyB9
CisgICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDog
MjAwcHg7IC13ZWJraXQtcmVnaW9uLW92ZXJmbG93OiBicmVhazsgb3ZlcmZsb3c6IGhpZGRlbjsg
cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4O30KKyAgICAgICAgICAgICAjcDIgeyAtd2Vi
a2l0LXJlZ2lvbi1icmVhay1hZnRlcjogYWx3YXlzOyB9CisgICAgICAgICAgICAgLnJlZEJveCB7
IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91
bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgICNyZWQgeyB0b3A6IDE1MHB4OyB9CisgICAg
ICAgICAgICAgI3JlZDEgeyB0b3A6IDI1MHB4OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEwOTciPiBBdXRvIGhlaWdodCBpcyBub3Qg
d29ya2luZyBmb3IgcmVnaW9uczwvYT4uPC9wPgorICAgICAgICA8cD5UaGUgcmVnaW9uIGlzIGEg
YmxvY2sgZWxlbWVudC4gVGhlIGZsb3cgaGFzIGEgZm9yY2VkIGJyZWFrIGluc2lkZSBpdCB0aGF0
IHdpbGwgZGV0ZXJtaW5lIHRoZSByZWdpb24gaGVpZ2h0LjwvcD4KKyAgICAgICAgPHA+T24gc3Vj
Y2VzcywgeW91IHNob3VsZCBzZWUgMiBncmVlbiBsaW5lcy48L3A+CisgICAgICAgIDxkaXYgaWQ9
InJlZCIgY2xhc3M9InJlZEJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZDEiIGNsYXNz
PSJyZWRCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJhcnRpY2xlIj4KKyAgICAgICAgICAg
IDxwIGlkPSJwMSI+YWFhYTwvcD4KKyAgICAgICAgICAgIDxwIGlkPSJwMiI+YWFhYTwvcD4KKyAg
ICAgICAgICAgIDxwIGlkPSJwMyI+YWFhYTwvcD4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAg
PGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTExLWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTExLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA0MjE3Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1o
ZWlnaHQtMTEtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAgLmdyZWVu
Qm94IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgICAgICAjZ3JlZW4geyB0b3A6IDE1MHB4
OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8
cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTEwOTciPiBBdXRvIGhlaWdodCBpcyBub3Qgd29ya2luZyBmb3IgcmVnaW9uczwvYT4uPC9w
PgorICAgICAgICA8cD5UaGUgcmVnaW9uIGlzIGEgYmxvY2sgZWxlbWVudC4gVGhlIGZsb3cgaGFz
IGEgZm9yY2VkIGJyZWFrIGluc2lkZSBpdCBidXQgdGhlIHJlZ2lvbiBoYXMgYSBtYXgtaGVpZ2h0
IHZhbHVlIGxlc3MgdGhhbiB0aGUgcG9zaXRpb24gb2YgdGhlIGZvcmNlZCBicmVhay48L3A+Cisg
ICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDEgZ3JlZW4gbGluZS48L3A+Cisg
ICAgICAgIDxkaXYgaWQ9ImdyZWVuIiBjbGFzcz0iZ3JlZW5Cb3giPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24t
YXV0by1oZWlnaHQtMTEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0
by1oZWlnaHQtMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDQ3
ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1h
dXRvLWhlaWdodC0xMS5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICAjYXJ0aWNsZSB7
IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBmb250LXNpemU6IDUwcHg7IHRleHQtYWxpZ246IGp1
c3RpZnk7IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogZ3JlZW47IGZvbnQtZmFtaWx5OiBBaGVtOyB9
CisgICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDog
MjAwcHg7IC13ZWJraXQtcmVnaW9uLW92ZXJmbG93OiBicmVhazsgb3ZlcmZsb3c6IGhpZGRlbjsg
cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyBtYXgtaGVpZ2h0OiAxMDBweDsgfQorICAg
ICAgICAgICAgICNwMSB7IC13ZWJraXQtcmVnaW9uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH0KKyAg
ICAgICAgICAgICAucmVkQm94IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IGhl
aWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAgI3JlZCB7
IHRvcDogMTUwcHg7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdp
b25zPC9hPi48L3A+CisgICAgICAgIDxwPlRoZSByZWdpb24gaXMgYSBibG9jayBlbGVtZW50LiBU
aGUgZmxvdyBoYXMgYSBmb3JjZWQgYnJlYWsgaW5zaWRlIGl0IGJ1dCB0aGUgcmVnaW9uIGhhcyBh
IG1heC1oZWlnaHQgdmFsdWUgbGVzcyB0aGFuIHRoZSBwb3NpdGlvbiBvZiB0aGUgZm9yY2VkIGJy
ZWFrLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgMSBncmVlbiBs
aW5lLjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIiBjbGFzcz0icmVkQm94Ij48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iYXJ0aWNsZSI+CisgICAgICAgICAgICA8cCBpZD0icDEiPmFhYWE8L3A+
CisgICAgICAgICAgICA8cCBpZD0icDIiPmFhYWE8L3A+CisgICAgICAgICAgICA8cCBpZD0icDMi
PmFhYWE8L3A+CisgICAgICAgIDwvZGl2PgorCisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xMi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xMi1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5YTViZDAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTEyLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgIC5ncmVlbkJveCB7IHBvc2l0aW9uOiBhYnNv
bHV0ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OyB9CisgICAgICAgICAgICAgI2dyZWVuIHsgdG9wOiAxNTBweDsgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3Ij4gQXV0byBoZWln
aHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAgICAgPHA+VGhlIHJl
Z2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQuIFRoZSBmbG93IGhhcyBhIGZvcmNlZCBicmVhayBpbnNp
ZGUgaXQgKGJyZWFrIGJlZm9yZSkgdGhhdCB3aWxsIGRldGVybWluZSB0aGUgcmVnaW9uIGhlaWdo
dC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDEgZ3JlZW4gbGlu
ZS48L3A+CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuIiBjbGFzcz0iZ3JlZW5Cb3giPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9yZWdpb24tYXV0by1oZWlnaHQtMTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9y
ZWdpb24tYXV0by1oZWlnaHQtMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4xOTAwNjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3JlZ2lvbi1hdXRvLWhlaWdodC0xMi5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICAj
YXJ0aWNsZSB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBmb250LXNpemU6IDUwcHg7IHRleHQt
YWxpZ246IGp1c3RpZnk7IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogZ3JlZW47IGZvbnQtZmFtaWx5
OiBBaGVtOyB9CisgICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93
OyB3aWR0aDogMjAwcHg7IC13ZWJraXQtcmVnaW9uLW92ZXJmbG93OiBicmVhazsgb3ZlcmZsb3c6
IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyB9CisgICAgICAgICAgICAg
LnJlZEJveCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7
IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgICNyZWQgeyB0b3A6IDE1MHB4
OyB9CisgICAgICAgICAgICAgI3AyIHsgLXdlYmtpdC1yZWdpb24tYnJlYWstYmVmb3JlOiBhbHdh
eXM7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48
L3A+CisgICAgICAgIDxwPlRoZSByZWdpb24gaXMgYSBibG9jayBlbGVtZW50LiBUaGUgZmxvdyBo
YXMgYSBmb3JjZWQgYnJlYWsgaW5zaWRlIGl0IChicmVhayBiZWZvcmUpIHRoYXQgd2lsbCBkZXRl
cm1pbmUgdGhlIHJlZ2lvbiBoZWlnaHQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ug
c2hvdWxkIHNlZSAxIGdyZWVuIGxpbmUuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiIGNsYXNz
PSJyZWRCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJhcnRpY2xlIj4KKyAgICAgICAgICAg
IDxwIGlkPSJwMSI+YWFhYTwvcD4KKyAgICAgICAgICAgIDxwIGlkPSJwMiI+YWFhYTwvcD4KKyAg
ICAgICAgICAgIDxwIGlkPSJwMyI+YWFhYTwvcD4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAg
PGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTEzLWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTEzLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ1MjM4MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1o
ZWlnaHQtMTMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAgLmdyZWVu
Qm94IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAgI2dyZWVuIHsgdG9wOiAxNTBw
eDsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+Ljwv
cD4KKyAgICAgICAgPHA+VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQuIFRoZSBmbG93IGhh
cyBhIGZvcmNlZCBicmVhayBpbnNpZGUgaXQgKGJyZWFrIGJlZm9yZSkgYnV0IGFsc28gYSBtaW4t
aGVpZ2h0IHZhbHVlIChiaWdnZXIgdGhhbiB0aGUgYnJlYWsgb2Zmc2V0KSB0aGF0IGlzIHVzZWQg
dG8gZGV0ZXJtaW5lIHRoZSByZWdpb24gaGVpZ2h0LjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2Vz
cywgeW91IHNob3VsZCBzZWUgMSBncmVlbiByZWN0YW5nbGUuPC9wPgorICAgICAgICA8ZGl2IGlk
PSJncmVlbiIgY2xhc3M9ImdyZWVuQm94Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTEz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTEzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDAzMDU4MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTMu
aHRtbApAQCAtMCwwICsxLDI0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAgI2FydGljbGUgeyAtd2Via2l0LWZsb3ct
aW50bzogZmxvdzsgZm9udC1zaXplOiA1MHB4OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBsaW5lLWhl
aWdodDogMTsgY29sb3I6IGdyZWVuOyBmb250LWZhbWlseTogQWhlbTsgfQorICAgICAgICAgICAg
ICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgd2lkdGg6IDIwMHB4OyAtd2Via2l0
LXJlZ2lvbi1vdmVyZmxvdzogYnJlYWs7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNv
bHV0ZTsgdG9wOiAxNTBweDsgbWluLWhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOyB9CisgICAgICAgICAgICAgLnJlZEJveCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6
IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAg
ICAgICAjcmVkIHsgdG9wOiAxNTBweDsgfQorICAgICAgICAgICAgICNwMiB7IC13ZWJraXQtcmVn
aW9uLWJyZWFrLWJlZm9yZTogYWx3YXlzOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEwOTciPiBBdXRvIGhlaWdodCBpcyBub3Qgd29y
a2luZyBmb3IgcmVnaW9uczwvYT4uPC9wPgorICAgICAgICA8cD5UaGUgcmVnaW9uIGlzIGEgYmxv
Y2sgZWxlbWVudC4gVGhlIGZsb3cgaGFzIGEgZm9yY2VkIGJyZWFrIGluc2lkZSBpdCAoYnJlYWsg
YmVmb3JlKSBidXQgYWxzbyBhIG1pbi1oZWlnaHQgdmFsdWUgKGJpZ2dlciB0aGFuIHRoZSBicmVh
ayBvZmZzZXQpIHRoYXQgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHJlZ2lvbiBoZWlnaHQuPC9w
PgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAxIGdyZWVuIHJlY3Rhbmds
ZS48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCIgY2xhc3M9InJlZEJveCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAgICAgICAgPHAgaWQ9InAxIj5hYWFhPC9wPgor
ICAgICAgICAgICAgPHAgaWQ9InAyIj5hYWFhPC9wPgorICAgICAgICAgICAgPHAgaWQ9InAzIj5h
YWFhPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvcmVnaW9uLWF1dG8taGVpZ2h0LTE0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTE0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ViYWZkMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTQtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDE5IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICAgLmdyZWVuQm94IHsgcG9zaXRpb246IGFic29sdXRl
OyB3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0K
KyAgICAgICAgICAgICAjZ3JlZW4geyB0b3A6IDE1MHB4OyB9CisgICAgICAgICAgICAgI2dyZWVu
MSB7IHRvcDogMjUwcHg7IH0KKyAgICAgICAgICAgICAjZ3JlZW4yIHsgdG9wOiAzNTBweDsgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVz
dCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkx
MDk3Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAg
ICAgICAgPHA+VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQuIFRoZSBmbG93IGhhcyBhIGZv
cmNlZCBicmVhayBpbnNpZGUgaXQgKGJyZWFrIGJlZm9yZSkgYnV0IHRoZSByZWdpb24gaXMgdGhl
IGxhc3QgcmVnaW9uIGluIHRoZSBjaGFpbiBhbmQgaXRzIHJlZ2lvbi1vdmVyZmxvdyBwcm9wZXJ0
eSBpcyBhdXRvLiBBbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBmbG93IGNvbnRyaWJ1dGUgdG8gdGhl
IGhlaWdodCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNo
b3VsZCBzZWUgMyBncmVlbiBsaW5lcy48L3A+CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuIiBjbGFz
cz0iZ3JlZW5Cb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJncmVlbjEiIGNsYXNzPSJncmVl
bkJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuMiIgY2xhc3M9ImdyZWVuQm94Ij48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uY2ViYTUyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTQuaHRtbApAQCAtMCwwICsxLDI4IEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICAgI2FydGljbGUgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgZm9udC1zaXplOiA1MHB4
OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBsaW5lLWhlaWdodDogMTsgY29sb3I6IGdyZWVuOyBmb250
LWZhbWlseTogQWhlbTsgfQorICAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJv
bTogZmxvdzsgd2lkdGg6IDIwMHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogMTAwcHg7IH0KKyAgICAgICAgICAgICAucmVkQm94IHsgcG9zaXRpb246IGFic29s
dXRlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9
CisgICAgICAgICAgICAgI3JlZCB7IHRvcDogMTUwcHg7IH0KKyAgICAgICAgICAgICAjcmVkMSB7
IHRvcDogMjUwcHg7IH0KKyAgICAgICAgICAgICAjcmVkMiB7IHRvcDogMzUwcHg7IH0KKyAgICAg
ICAgICAgICAjcDIgeyAtd2Via2l0LXJlZ2lvbi1icmVhay1iZWZvcmU6IGFsd2F5czsgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBm
b3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDk3
Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8L2E+LjwvcD4KKyAgICAg
ICAgPHA+VGhlIHJlZ2lvbiBpcyBhIGJsb2NrIGVsZW1lbnQuIFRoZSBmbG93IGhhcyBhIGZvcmNl
ZCBicmVhayBpbnNpZGUgaXQgKGJyZWFrIGJlZm9yZSkgYnV0IHRoZSByZWdpb24gaXMgdGhlIGxh
c3QgcmVnaW9uIGluIHRoZSBjaGFpbiBhbmQgaXRzIHJlZ2lvbi1vdmVyZmxvdyBwcm9wZXJ0eSBp
cyBhdXRvLiBBbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBmbG93IGNvbnRyaWJ1dGUgdG8gdGhlIGhl
aWdodCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3Vs
ZCBzZWUgMyBncmVlbiBsaW5lcy48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCIgY2xhc3M9InJl
ZEJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZDEiIGNsYXNzPSJyZWRCb3giPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJyZWQyIiBjbGFzcz0icmVkQm94Ij48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iYXJ0aWNsZSI+CisgICAgICAgICAgICA8cCBpZD0icDEiPmFhYWE8L3A+CisgICAg
ICAgICAgICA8cCBpZD0icDIiPmFhYWE8L3A+CisgICAgICAgICAgICA8cCBpZD0icDMiPmFhYWE8
L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9y
ZWdpb24tYXV0by1oZWlnaHQtMTUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5lNWNjNDRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xNS1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMjAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgICAuZ3JlZW5Cb3ggeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdp
ZHRoOiAyMDBweDsgaGVpZ2h0OiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAg
ICAgICAgICAgICAuZ3JlZW5Cb3gyIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7
IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgICAgICAj
Z3JlZW4geyB0b3A6IDE1MHB4OyB9CisgICAgICAgICAgICAgI2dyZWVuMSB7IHRvcDogMTUwcHg7
IGxlZnQ6IDI1MHB4OyB9CisgICAgICAgICAgICAgI2dyZWVuMiB7IHRvcDogMjUwcHg7IGxlZnQ6
IDI1MHB4OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAg
ICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTEwOTciPiBBdXRvIGhlaWdodCBpcyBub3Qgd29ya2luZyBmb3IgcmVnaW9uczwv
YT4uPC9wPgorICAgICAgICA8cD5UaGUgZmlyc3QgcmVnaW9uIGlzIGF1dG8taGVpZ2h0IGFuZCB0
aGUgc2Vjb25kIHJlZ2lvbiBoYXMgc3BlY2lmaWVkIGhlaWdodC4gVGhlIGhlaWdodCBvZiB0aGUg
Zmlyc3QgcmVnaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIGJyZWFrIGZyb20gdGhlIHNlY29uZCBw
YXJhZ3JhcGggaW4gdGhlIGZsb3cuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hv
dWxkIHNlZSAxIGdyZWVuIHJlY3RhbmdsZSBhbmQgMiBncmVlbiBsaW5lcy48L3A+CisgICAgICAg
IDxkaXYgaWQ9ImdyZWVuIiBjbGFzcz0iZ3JlZW5Cb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJncmVlbjEiIGNsYXNzPSJncmVlbkJveDIiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJncmVl
bjIiIGNsYXNzPSJncmVlbkJveDIiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWEzMGVjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xNS5odG1s
CkBAIC0wLDAgKzEsMzEgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICAjYXJ0aWNsZSB7IC13ZWJraXQtZmxvdy1pbnRv
OiBmbG93OyBmb250LXNpemU6IDUwcHg7IHRleHQtYWxpZ246IGp1c3RpZnk7IGxpbmUtaGVpZ2h0
OiAxOyBjb2xvcjogZ3JlZW47IGZvbnQtZmFtaWx5OiBBaGVtOyB9CisgICAgICAgICAgICAgI3Jl
Z2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMjAwcHg7IG92ZXJmbG93OiBo
aWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47IH0KKyAgICAgICAgICAgICAjcmVnaW9uMiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93
OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAx
NTBweDsgbGVmdDogMjUwcHg7IH0KKyAgICAgICAgICAgICAucmVkQm94IHsgcG9zaXRpb246IGFi
c29sdXRlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJl
ZDsgfQorICAgICAgICAgICAgIC5yZWRCb3gyIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDog
MjAwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAg
ICAgI3JlZCB7IHRvcDogMTUwcHg7IH0KKyAgICAgICAgICAgICAjcmVkMSB7IHRvcDogMTUwcHg7
IGxlZnQ6IDI1MHB4OyB9CisgICAgICAgICAgICAgI3JlZDIgeyB0b3A6IDI1MHB4OyBsZWZ0OiAy
NTBweDsgfQorICAgICAgICAgICAgICNwMiB7IC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZTog
YWx3YXlzOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAg
ICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTEwOTciPiBBdXRvIGhlaWdodCBpcyBub3Qgd29ya2luZyBmb3IgcmVnaW9uczwv
YT4uPC9wPgorICAgICAgICA8cD5UaGUgZmlyc3QgcmVnaW9uIGlzIGF1dG8taGVpZ2h0IGFuZCB0
aGUgc2Vjb25kIHJlZ2lvbiBoYXMgc3BlY2lmaWVkIGhlaWdodC4gVGhlIGhlaWdodCBvZiB0aGUg
Zmlyc3QgcmVnaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIGJyZWFrIGZyb20gdGhlIHNlY29uZCBw
YXJhZ3JhcGggaW4gdGhlIGZsb3cuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hv
dWxkIHNlZSAxIGdyZWVuIHJlY3RhbmdsZSBhbmQgMiBncmVlbiBsaW5lcy48L3A+CisgICAgICAg
IDxkaXYgaWQ9InJlZCIgY2xhc3M9InJlZEJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJl
ZDEiIGNsYXNzPSJyZWRCb3gyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkMiIgY2xhc3M9
InJlZEJveDIiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJhcnRpY2xlIj4KKyAgICAgICAgICAg
IDxwIGlkPSJwMSI+YWFhYTwvcD4KKyAgICAgICAgICAgIDxwIGlkPSJwMiI+YWFhYTwvcD4KKyAg
ICAgICAgICAgIDxwIGlkPSJwMyI+YWFhYTwvcD4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbjIiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9yZWdpb24tYXV0by1oZWlnaHQtMTYtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTYtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTY5YjdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xNi1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMjAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgICAuZ3JlZW5Cb3ggeyBwb3NpdGlvbjogYWJzb2x1dGU7
IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0K
KyAgICAgICAgICAgICAuZ3JlZW5Cb3gyIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAw
cHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgICAg
ICAjZ3JlZW4geyB0b3A6IDIwMHB4OyB9CisgICAgICAgICAgICAgI2dyZWVuMSB7IHRvcDogMzAw
cHg7IH0KKyAgICAgICAgICAgICAjZ3JlZW4yIHsgdG9wOiAxNTBweDsgbGVmdDogMjUwcHg7IH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRl
c3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48L3A+Cisg
ICAgICAgIDxwPlRoZSBmaXJzdCByZWdpb24gaGFzIHNwZWNpZmllZCBoZWlnaHQgYW5kIHRoZSBz
ZWNvbmQgcmVnaW9uIGlzIGF1dG8taGVpZ2h0LiBUaGUgaGVpZ2h0IG9mIHRoZSBzZWNvbmQgcmVn
aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJlbWFpbmluZyBjb250ZW50IGZyb20gdGhlIGZsb3cg
dGhhdCBkaWQgbm90IGZpdCBpbiB0aGUgZmlyc3QgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+T24g
c3VjY2VzcywgeW91IHNob3VsZCBzZWUgMiBncmVlbiBsaW5lcyBhbmQgMSBncmVlbiByZWN0YW5n
bGUuPC9wPgorICAgICAgICA8ZGl2IGlkPSJncmVlbiIgY2xhc3M9ImdyZWVuQm94MiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuMSIgY2xhc3M9ImdyZWVuQm94MiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImdyZWVuMiIgY2xhc3M9ImdyZWVuQm94Ij48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1
dG8taGVpZ2h0LTE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8t
aGVpZ2h0LTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZkMjA5
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0
by1oZWlnaHQtMTYuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAgI2FydGljbGUgeyAt
d2Via2l0LWZsb3ctaW50bzogZmxvdzsgZm9udC1zaXplOiA1MHB4OyB0ZXh0LWFsaWduOiBqdXN0
aWZ5OyBsaW5lLWhlaWdodDogMTsgY29sb3I6IGdyZWVuOyBmb250LWZhbWlseTogQWhlbTsgfQor
ICAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgd2lkdGg6IDIw
MHB4OyBoZWlnaHQ6IDIwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTUwcHg7IH0KKyAg
ICAgICAgICAgICAjcmVnaW9uMiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMjAw
cHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IGxlZnQ6IDI1MHB4OyB9CisgICAgICAgICAgICAgLnJlZEJv
eCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDE1MHB4OyBiYWNr
Z3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAgICAucmVkQm94MiB7IHBvc2l0aW9uOiBh
YnNvbHV0ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJl
ZDsgfQorICAgICAgICAgICAgICNyZWQgeyB0b3A6IDIwMHB4OyB9CisgICAgICAgICAgICAgI3Jl
ZDEgeyB0b3A6IDMwMHB4OyB9CisgICAgICAgICAgICAgI3JlZDIgeyB0b3A6IDE1MHB4OyBsZWZ0
OiAyNTBweDsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkxMDk3Ij4gQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9yIHJlZ2lvbnM8
L2E+LjwvcD4KKyAgICAgICAgPHA+VGhlIGZpcnN0IHJlZ2lvbiBoYXMgc3BlY2lmaWVkIGhlaWdo
dCBhbmQgdGhlIHNlY29uZCByZWdpb24gaXMgYXV0by1oZWlnaHQuIFRoZSBoZWlnaHQgb2YgdGhl
IHNlY29uZCByZWdpb24gaXMgZGV0ZXJtaW5lZCBieSB0aGUgcmVtYWluaW5nIGNvbnRlbnQgZnJv
bSB0aGUgZmxvdyB0aGF0IGRpZCBub3QgZml0IGluIHRoZSBmaXJzdCByZWdpb24uPC9wPgorICAg
ICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAyIGdyZWVuIGxpbmVzIGFuZCAxIGdy
ZWVuIHJlY3RhbmdsZS48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCIgY2xhc3M9InJlZEJveDIi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWQxIiBjbGFzcz0icmVkQm94MiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9InJlZDIiIGNsYXNzPSJyZWRCb3giPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJhcnRpY2xlIj4KKyAgICAgICAgICAgIDxwIGlkPSJwMSI+YWFhYTwvcD4KKyAgICAgICAg
ICAgIDxwIGlkPSJwMiI+YWFhYTwvcD4KKyAgICAgICAgICAgIDxwIGlkPSJwMyI+YWFhYTwvcD4K
KyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9InJlZ2lvbjIiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTctZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTct
ZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzQ4M2I4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRv
LWhlaWdodC0xNy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICAuZ3Jl
ZW5Cb3ggeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAxNTBweDsg
YmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgICAgICAuZ3JlZW5Cb3gyIHsgcG9z
aXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW47IH0KKyAgICAgICAgICAgICAjZ3JlZW4geyB0b3A6IDIwMHB4OyB9CisgICAg
ICAgICAgICAgI2dyZWVuMSB7IHRvcDogMjAwcHg7IGxlZnQ6IDUwMHB4OyB9CisgICAgICAgICAg
ICAgI2dyZWVuMiB7IHRvcDogMTUwcHg7IGxlZnQ6IDI1MHB4OyB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEwOTciPiBBdXRvIGhlaWdo
dCBpcyBub3Qgd29ya2luZyBmb3IgcmVnaW9uczwvYT4uPC9wPgorICAgICAgICA8cD5UaGUgZmly
c3QgcmVnaW9uIGhhcyBzcGVjaWZpZWQgaGVpZ2h0LHRoZSBzZWNvbmQgcmVnaW9uIGlzIGF1dG8t
aGVpZ2h0IGFuZCB0aGUgdGhpcmQgcmVnaW9uIGhhcyBzcGVjaWZpZWQgaGVpZ2h0LiBUaGUgaGVp
Z2h0IG9mIHRoZSBzZWNvbmQgcmVnaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIGJyZWFrIGZyb20g
dGhlIHNlY29uZCBwYXJhZ3JhcGguPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hv
dWxkIHNlZSAyIGdyZWVuIGxpbmVzIGFuZCAxIGdyZWVuIHJlY3RhbmdsZS48L3A+CisgICAgICAg
IDxkaXYgaWQ9ImdyZWVuIiBjbGFzcz0iZ3JlZW5Cb3gyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iZ3JlZW4xIiBjbGFzcz0iZ3JlZW5Cb3gyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZ3Jl
ZW4yIiBjbGFzcz0iZ3JlZW5Cb3giPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTcuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjU5MjVjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xNy5odG1s
CkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICAjYXJ0aWNsZSB7IC13ZWJraXQtZmxvdy1pbnRv
OiBmbG93OyBmb250LXNpemU6IDUwcHg7IHRleHQtYWxpZ246IGp1c3RpZnk7IGxpbmUtaGVpZ2h0
OiAxOyBjb2xvcjogZ3JlZW47IGZvbnQtZmFtaWx5OiBBaGVtOyB9CisgICAgICAgICAgICAgI3Jl
Z2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMTAw
cHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgfQorICAgICAgICAgICAgICNyZWdp
b24yIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IHdpZHRoOiAyMDBweDsgb3ZlcmZsb3c6IGhp
ZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsgbGVmdDogMjUwcHg7IH0KKyAgICAgICAgICAgICAjcmVnaW9uMyB7IC13ZWJraXQtZmxv
dy1mcm9tOiBmbG93OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMTAwcHg7IHBvc2l0aW9uOiBhYnNv
bHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogNTAwcHg7IH0KKyAgICAgICAgICAgICAucmVkQm94IHsg
cG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMTUwcHg7IGJhY2tncm91
bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgIC5yZWRCb3gyIHsgcG9zaXRpb246IGFic29s
dXRlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9
CisgICAgICAgICAgICAgI3JlZCB7IHRvcDogMjAwcHg7IH0KKyAgICAgICAgICAgICAjcmVkMSB7
IHRvcDogMjAwcHg7IGxlZnQ6IDUwMHB4OyB9CisgICAgICAgICAgICAgI3JlZDIgeyB0b3A6IDE1
MHB4OyBsZWZ0OiAyNTBweDsgfQorICAgICAgICAgICAgICNwMiB7IC13ZWJraXQtcmVnaW9uLWJy
ZWFrLWFmdGVyOiBhbHdheXM7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0IGlzIG5vdCB3b3JraW5nIGZv
ciByZWdpb25zPC9hPi48L3A+CisgICAgICAgIDxwPlRoZSBmaXJzdCByZWdpb24gaGFzIHNwZWNp
ZmllZCBoZWlnaHQsdGhlIHNlY29uZCByZWdpb24gaXMgYXV0by1oZWlnaHQgYW5kIHRoZSB0aGly
ZCByZWdpb24gaGFzIHNwZWNpZmllZCBoZWlnaHQuIFRoZSBoZWlnaHQgb2YgdGhlIHNlY29uZCBy
ZWdpb24gaXMgZGV0ZXJtaW5lZCBieSB0aGUgYnJlYWsgZnJvbSB0aGUgc2Vjb25kIHBhcmFncmFw
aC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDIgZ3JlZW4gbGlu
ZXMgYW5kIDEgZ3JlZW4gcmVjdGFuZ2xlLjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIiBjbGFz
cz0icmVkQm94MiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZDEiIGNsYXNzPSJyZWRCb3gy
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkMiIgY2xhc3M9InJlZEJveCI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAgICAgICAgPHAgaWQ9InAxIj5hYWFhPC9w
PgorICAgICAgICAgICAgPHAgaWQ9InAyIj5hYWFhPC9wPgorICAgICAgICAgICAgPHAgaWQ9InAz
Ij5hYWFhPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJl
Z2lvbjMiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTgtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTgtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTI4NzYyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xOC1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICAuZ3JlZW5Cb3ggeyBwb3Np
dGlvbjogYWJzb2x1dGU7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsgfQorICAgICAgICAgICAgICNncmVlbiB7IHRvcDogMjAwcHg7IH0KKyAgICAg
ICAgICAgICAjZ3JlZW4xIHsgdG9wOiAyMDBweDsgbGVmdDogNTAwcHg7IH0KKyAgICAgICAgICAg
ICAjZ3JlZW4yIHsgdG9wOiAyMDBweDsgbGVmdDogMjUwcHg7IH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTA5NyI+IEF1dG8gaGVpZ2h0
IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48L3A+CisgICAgICAgIDxwPlRoZSB0aHJl
ZSByZWdpb25zIGluIHRoZSByZWdpb24gY2hhaW4gYWxsIGhhdmUgYXV0by1oZWlnaHQuIFRoZWly
IGhlaWdodCBpcyBjb21wdXRlZCB0YWtpbmcgcmVnaW9ucyBicmVha3MgaW50byBhY2NvdW50Ljwv
cD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgMyBncmVlbiBsaW5lcy48
L3A+CisgICAgICAgIDxkaXYgaWQ9ImdyZWVuIiBjbGFzcz0iZ3JlZW5Cb3giPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJncmVlbjEiIGNsYXNzPSJncmVlbkJveCI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImdyZWVuMiIgY2xhc3M9ImdyZWVuQm94Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVp
Z2h0LTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0
LTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZjNmIwOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWln
aHQtMTguaHRtbApAQCAtMCwwICsxLDMyIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAgI2FydGljbGUgeyAtd2Via2l0
LWZsb3ctaW50bzogZmxvdzsgZm9udC1zaXplOiA1MHB4OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBs
aW5lLWhlaWdodDogMTsgY29sb3I6IGdyZWVuOyBmb250LWZhbWlseTogQWhlbTsgfQorICAgICAg
ICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgd2lkdGg6IDIwMHB4OyBw
b3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTUwcHg7IH0KKyAgICAgICAgICAgICAjcmVnaW9uMiB7
IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMjAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0
ZTsgdG9wOiAxNTBweDsgbGVmdDogMjUwcHg7IH0KKyAgICAgICAgICAgICAjcmVnaW9uMyB7IC13
ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMjAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsg
dG9wOiAxNTBweDsgbGVmdDogNTAwcHg7IGdyZWVuOyB9CisgICAgICAgICAgICAgLnJlZEJveCB7
IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91
bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgICNyZWQgeyB0b3A6IDIwMHB4OyB9CisgICAg
ICAgICAgICAgI3JlZDEgeyB0b3A6IDIwMHB4OyBsZWZ0OiA1MDBweDsgfQorICAgICAgICAgICAg
ICNyZWQyIHsgdG9wOiAyMDBweDsgbGVmdDogMjUwcHg7IH0KKyAgICAgICAgICAgICAjcDEsICNw
MiB7IC13ZWJraXQtcmVnaW9uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTA5NyI+IEF1dG8gaGVp
Z2h0IGlzIG5vdCB3b3JraW5nIGZvciByZWdpb25zPC9hPi48L3A+CisgICAgICAgIDxwPlRoZSB0
aHJlZSByZWdpb25zIGluIHRoZSByZWdpb24gY2hhaW4gYWxsIGhhdmUgYXV0by1oZWlnaHQuIFRo
ZWlyIGhlaWdodCBpcyBjb21wdXRlZCB0YWtpbmcgcmVnaW9ucyBicmVha3MgaW50byBhY2NvdW50
LjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgMyBncmVlbiBsaW5l
cy48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCIgY2xhc3M9InJlZEJveCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9InJlZDEiIGNsYXNzPSJyZWRCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJyZWQyIiBjbGFzcz0icmVkQm94Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iYXJ0aWNsZSI+
CisgICAgICAgICAgICA8cCBpZD0icDEiPmFhYWE8L3A+CisgICAgICAgICAgICA8cCBpZD0icDIi
PmFhYWE8L3A+CisgICAgICAgICAgICA8cCBpZD0icDMiPmFhYWE8L3A+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdp
b24yIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMyI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3RvcC1vdmVy
Zmxvdy1vdXQtb2Ytc2Vjb25kLXJlZ2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3RvcC1vdmVyZmxvdy1vdXQtb2Ytc2Vjb25kLXJlZ2lvbi5odG1sCmluZGV4IDRhYTU4ZDIuLjE3
ODgwZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy90b3Atb3ZlcmZsb3ct
b3V0LW9mLXNlY29uZC1yZWdpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
dG9wLW92ZXJmbG93LW91dC1vZi1zZWNvbmQtcmVnaW9uLmh0bWwKQEAgLTMzLDYgKzMzLDExIEBA
CiAgICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgfQogCisgICAgI3JlZ2lvbjMgeworICAgICAg
ICB3aWR0aDogMHB4OworICAgICAgICBoZWlnaHQ6IDBweDsKKyAgICB9CisKIDwvc3R5bGU+CiAK
IDxib2R5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBmZjRlNWEuLjRiNDc4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDAgQEAKKzIwMTItMDgtMDIgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5j
b20+CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdQXV0byBoZWlnaHQgaXMgbm90IHdvcmtpbmcgZm9y
IHJlZ2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkxMDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SWYgdGhlIGZsb3cgdGhyZWFkIGNvbnRhaW5zIHJlZ2lvbnMgd2l0aCBoZWlnaHQ9YXV0bywgdGhl
IGxheW91dCBvZiBmbG93IHRocmVhZCBpbiByZWdpb25zIGlzIGRvbmUgaW4gMiBzdGVwczoKKyAg
ICAgICAgUGhhc2UgMTogV2UgbGF5IG91dCB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdp
b25zLiBJZiBhIHJlZ2lvbiBoYXMgaGVpZ2h0PWF1dG8sIHRoZW4gdGhlIHJlZ2lvbiBkaXNwbGF5
cyBzbyBtdWNoCisgICAgICAgIGNvbnRlbnQgZnJvbSB0aGUgZmxvdyB0aHJlYWQgdW50aWwgdGhl
cmUgaXMgYSByZWdpb24gYnJlYWsgKHRha2luZyBtaW4vbWF4LWhlaWdodCBpbnRvIGFjY291bnQp
LiBUaGUgYW1vdW50IG9mCisgICAgICAgIGNvbnRlbnQgZnJvbSB0aGUgZmxvdyB0aHJlYWQgYWNj
b21tb2RhdGVkIGJ5IGEgcmVnaW9uIHdpdGggaGVpZ2h0PWF1dG8gaXMgY29uc2lkZXJlZCB0byBi
ZSB0aGUgY29tcHV0ZWQgYXV0by1oZWlnaHQuCisgICAgICAgIEF0IHRoZSBlbmQgb2YgdGhpcyBw
aGFzZSwgYWxsIHRoZSBhdXRvLWhlaWdodCByZWdpb25zIGhhdmUgYSBjb21wdXRlZCBhdXRvLWhl
aWdodCB2YWx1ZS4KKworICAgICAgICBQaGFzZSAyOiBBZ2Fpbiwgd2UgbGF5IG9mIHRoZSBmbG93
IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIEZvciByZWdpb25zIHdpdGggaGVpZ2h0PWF1dG8s
IHdlIHVzZSB0aGUgcmVnaW9uIGNvbXB1dGVkCisgICAgICAgIGhlaWdodCBmcm9tIHBoYXNlIDEg
dG8gc2V0IHRoZSByZWdpb24gaGVpZ2h0LiBCZWNhdXNlIHdlIGhhdmUgaGVpZ2h0IGZvciBhbGwg
dGhlIHJlZ2lvbnMsIHdlIGFyZSBhYmxlIHRvIGxheSBvdXQgdGhlCisgICAgICAgIGZsb3cgdGhy
ZWFkIGNvbnRlbnQgcHJvcGVybHkgaW4gdGhlIHJlZ2lvbiBjaGFpbi4KKworICAgICAgICBUZXN0
czogZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wMS5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTAyLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDMuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wNC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA1Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvcmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDYuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC9yZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0wNy5odG1sCisgICAgICAgICAgICAgICBmYXN0
L3JlZ2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTA4Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qv
cmVnaW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMDkuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9y
ZWdpb25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xMC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3Jl
Z2lvbnMvcmVnaW9uLWF1dG8taGVpZ2h0LTExLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVn
aW9ucy9yZWdpb24tYXV0by1oZWlnaHQtMTIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdp
b25zL3JlZ2lvbi1hdXRvLWhlaWdodC0xMy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlZ2lv
bnMvcmVnaW9uLWF1dG8taGVpZ2h0LTE0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVnaW9u
cy9yZWdpb24tYXV0by1oZWlnaHQtMTUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdpb25z
L3JlZ2lvbi1hdXRvLWhlaWdodC0xNi5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMv
cmVnaW9uLWF1dG8taGVpZ2h0LTE3Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVnaW9ucy9y
ZWdpb24tYXV0by1oZWlnaHQtMTguaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0Zsb3dUaHJl
YWRDb250cm9sbGVyLmNwcDogRm9yd2FyZCBjYWxsIHRvIGluZGl2aWR1YWwgZmxvdyB0aHJlYWRz
LgorICAgICAgICAoV2ViQ29yZTo6Rmxvd1RocmVhZENvbnRyb2xsZXI6OnJlc2V0QXV0b0hlaWdo
dFJlZ2lvbnNDb21wdXRlZEF1dG9IZWlnaHQpOgorICAgICAgICBSZXR1cm5zIHRydWUgaWYgd2Ug
aGF2ZSBhdCBsZWFzdCBvbmUgZmxvdyB0aHJlYWQgd2l0aCBhbiBhdXRvIGhlaWdodCByZWdpb24u
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZsb3dUaHJlYWRDb250cm9s
bGVyOjptYXJrQXV0b0hlaWdodFJlZ2lvbnNGb3JTZWNvbmRMYXlvdXRQaGFzZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmg6CisgICAgICAgIChGbG93VGhyZWFk
Q29udHJvbGxlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDogSWYgd2Ug
ZW5jb3VudGVyIHJlZ2lvbiBicmVha3MsIHRyeSB0byBzZWUgaWYgd2UgY2FuCisgICAgICAgIHVz
ZSBpdCB0byBkZXRlcm1pbmUgYW4gYXV0by1oZWlnaHQgcmVnaW9uIGNvbXB1dGVkIGhlaWdodC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphcHBseUJlZm9yZUJyZWFrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphcHBseUFmdGVyQnJlYWspOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
b3dUaHJlYWQ6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpj
b21wdXRlTG9naWNhbEhlaWdodCk6CisgICAgICAgIElmIHdlIGhhdmUgYW4gYXV0by1oZWlnaHQg
cmVnaW9uIGZvciB3aGljaCB3ZSBkaWQgbm90IGNvbXB1dGUgdGhlIGF1dG8taGVpZ2h0IHZhbHVl
LAorICAgICAgICBiYWlsIG91dCBlYXJseSBzaW5jZSB3ZSBjYW5ub3QgY29tcHV0ZSB0aGUgZmxv
dyBsb2dpY2FsIGhlaWdodC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OnJl
bmRlclJlZ2lvbkZvckxpbmUpOgorICAgICAgICBJZiB3ZSBlbmNvdW50ZXIgYW4gYXV0by1oZWln
aHQgcmVnaW9uIGZvciB3aGljaCB3ZSBkaWQgbm90IGNvbXB1dGUgdGhlIGhlaWdodCwKKyAgICAg
ICAgd2UgY29uc2lkZXIgdGhlIHJlZ2lvbiB0YWxsIGVub3VnaCB0byBhY2NvbW9kYXRlIGFsbCB0
aGUgY29udGVudC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkxv
Z2ljYWxIZWlnaHRGb3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6
OnJlZ2lvblJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckZsb3dUaHJlYWQ6OmNvbXB1dGVPdmVyZmxvd1N0YXRlRm9yUmVnaW9ucyk6CisgICAg
ICAgIEFkZCBhIGZvcmNlZCByZWdpb24gYnJlYWsgZm9yIHRoZSByZWdpb24gY2hhaW4gYXQgdGhl
IGVuZCBvZiBjb250ZW50LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJGbG93VGhyZWFkOjphZGRGb3JjZWRSZWdpb25CcmVhayk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbG93VGhyZWFkOjpyZXNldEF1dG9IZWlnaHRSZWdpb25zQ29tcHV0ZWRBdXRvSGVp
Z2h0KToKKyAgICAgICAgQ2hlY2sgd2hldGhlciB3ZSBoYXZlIHJlZ2lvbiB3aXRoIGhlaWdodD1h
dXRvIGFuZCBpZiBzbywgY2xlYXIgdGhlaXIKKyAgICAgICAgImNvbXB1dGVkIGF1dG8gaGVpZ2h0
IiB2YWx1ZXMgYW5kIG1hcmsgdGhlbSBhcyBuZWVkaW5nIGxheW91dC4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckZsb3dUaHJlYWQ6Om1hcmtBdXRvSGVpZ2h0UmVnaW9uc0ZvclNlY29uZExheW91
dFBoYXNlKToKKyAgICAgICAgTWFyayBhbGwgYXV0by1oZWlnaHQgcmVnaW9ucyBhcmUgbmVlZGlu
ZyBsYXlvdXQuIElmIGEgZmxvdyB0aHJlYWQgaGFzIHN1Y2gKKyAgICAgICAgcmVnaW9ucywgbWFy
ayB0aGUgZmxvdyB0aHJlYWQgYXMgbmVlZGluZyBsYXlvdXQuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJGbG93VGhyZWFkOjp1cGRhdGVSZWdpb25zUmVjdHMpOgorICAgICAgICBDb2RlIHRha2Vu
IG91dCBvZiBwcmV2aW91cyBSZW5kZXJGbG93VGhyZWFkOjpsYXlvdXQgbWV0aG9kLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OlJlbmRlclJl
Z2lvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OnN0eWxlRGlkQ2hhbmdlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6ZGV0YWNoUmVnaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQpOgorICAgICAgICBG
b3IgYXV0by1oZWlnaHQgcmVnaW9ucyBpbiBwaGFzZSAyLCB0YWtlICJjb21wdXRlZCBhdXRvIGhl
aWdodCIgdmFsdWUgaW50byBhY2NvdW50CisgICAgICAgIHRvIHNldCB0aGUgbG9naWNhbCBoZWln
aHQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVnaW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246Omhhc0F1dG9IZWlnaHRTdHlsZSk6
CisgICAgICAgIChSZW5kZXJSZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9u
Ojp1c2VzQXV0b0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246Omhhc0Nv
bXB1dGVkQXV0b0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246Om5lZWRz
QXV0b0hlaWdodENvbXB1dGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6
Y29tcHV0ZWRBdXRvSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6c2V0
Q29tcHV0ZWRBdXRvSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6cmVz
ZXRDb21wdXRlZEF1dG9IZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OlJlbmRlclZpZXcpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVmlldzo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Vmlldy5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6aW5GaXJzdExheW91dFBoYXNl
QXV0b0hlaWdodFJlZ2lvbnMpOgorICAgICAgICAoUmVuZGVyVmlldyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWV3OjpoYXNBdXRvSGVpZ2h0UmVnaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJWaWV3OjppbmNyZW1lbnRBdXRvSGVpZ2h0UmVnaW9ucyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWV3OjpkZWNyZW1lbnRBdXRvSGVpZ2h0UmVnaW9ucyk6CisKIDIwMTItMDgt
MDIgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogcmVtb3ZlIGV4dHJhT2JqZWN0U2l6ZSBwYXJhbWV0ZXIgZnJvbSBNZW1vcnlD
bGFzc0luZm8gY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxv
d1RocmVhZENvbnRyb2xsZXIuY3BwCmluZGV4IGRjOTQzMmMuLjlkNmZhMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcApAQCAtMTM1
LDQgKzEzNSwyNCBAQCB2b2lkIEZsb3dUaHJlYWRDb250cm9sbGVyOjpyZW1vdmVGbG93VGhyZWFk
KFJlbmRlck5hbWVkRmxvd1RocmVhZCogZmxvd1RocmVhZCkKICAgICBzZXRJc1JlbmRlck5hbWVk
Rmxvd1RocmVhZE9yZGVyRGlydHkodHJ1ZSk7CiB9CiAKK2Jvb2wgRmxvd1RocmVhZENvbnRyb2xs
ZXI6OnJlc2V0QXV0b0hlaWdodFJlZ2lvbnNDb21wdXRlZEF1dG9IZWlnaHQoKQoreworICAgIGJv
b2wgaGFkRmxvd3NXaXRoQXV0b0hlaWdodFJlZ2lvbnMgPSBmYWxzZTsKKyAgICBmb3IgKFJlbmRl
ck5hbWVkRmxvd1RocmVhZExpc3Q6Oml0ZXJhdG9yIGl0ZXIgPSBtX3JlbmRlck5hbWVkRmxvd1Ro
cmVhZExpc3QtPmJlZ2luKCk7IGl0ZXIgIT0gbV9yZW5kZXJOYW1lZEZsb3dUaHJlYWRMaXN0LT5l
bmQoKTsgKytpdGVyKSB7CisgICAgICAgIFJlbmRlck5hbWVkRmxvd1RocmVhZCogZmxvd1JlbmRl
cmVyID0gKml0ZXI7CisgICAgICAgIGlmIChmbG93UmVuZGVyZXItPnJlc2V0QXV0b0hlaWdodFJl
Z2lvbnNDb21wdXRlZEF1dG9IZWlnaHQoKSkKKyAgICAgICAgICAgIGhhZEZsb3dzV2l0aEF1dG9I
ZWlnaHRSZWdpb25zID0gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gaGFkRmxvd3NXaXRoQXV0
b0hlaWdodFJlZ2lvbnM7Cit9CisKK3ZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6Om1hcmtBdXRv
SGVpZ2h0UmVnaW9uc0ZvclNlY29uZExheW91dFBoYXNlKCkKK3sKKyAgICBmb3IgKFJlbmRlck5h
bWVkRmxvd1RocmVhZExpc3Q6Oml0ZXJhdG9yIGl0ZXIgPSBtX3JlbmRlck5hbWVkRmxvd1RocmVh
ZExpc3QtPmJlZ2luKCk7IGl0ZXIgIT0gbV9yZW5kZXJOYW1lZEZsb3dUaHJlYWRMaXN0LT5lbmQo
KTsgKytpdGVyKSB7CisgICAgICAgIFJlbmRlck5hbWVkRmxvd1RocmVhZCogZmxvd1JlbmRlcmVy
ID0gKml0ZXI7CisgICAgICAgIGZsb3dSZW5kZXJlci0+bWFya0F1dG9IZWlnaHRSZWdpb25zRm9y
U2Vjb25kTGF5b3V0UGhhc2UoKTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmgKaW5k
ZXggZDQ4Yzg3OS4uMWRiNTg5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0Zsb3dUaHJlYWRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zs
b3dUaHJlYWRDb250cm9sbGVyLmgKQEAgLTY3LDYgKzY3LDkgQEAgcHVibGljOgogICAgIAogICAg
IHZvaWQgcmVtb3ZlRmxvd1RocmVhZChSZW5kZXJOYW1lZEZsb3dUaHJlYWQqKTsKIAorICAgIGJv
b2wgcmVzZXRBdXRvSGVpZ2h0UmVnaW9uc0NvbXB1dGVkQXV0b0hlaWdodCgpOworICAgIHZvaWQg
bWFya0F1dG9IZWlnaHRSZWdpb25zRm9yU2Vjb25kTGF5b3V0UGhhc2UoKTsKKwogcHJvdGVjdGVk
OgogICAgIEZsb3dUaHJlYWRDb250cm9sbGVyKFJlbmRlclZpZXcqKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNTZjMmIyNC4uMjlkNjMyYSAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC02ODM0LDYgKzY4MzQsMTEg
QEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6YXBwbHlCZWZvcmVCcmVhayhSZW5kZXJCb3gqIGNo
aWxkLCBMYXlvdXRVbml0IGxvZ2ljYWxPZmYKICAgICBpZiAoY2hlY2tCZWZvcmVBbHdheXMgJiYg
aW5Ob3JtYWxGbG93KGNoaWxkKSAmJiBoYXNOZXh0UGFnZShsb2dpY2FsT2Zmc2V0LCBJbmNsdWRl
UGFnZUJvdW5kYXJ5KSkgewogICAgICAgICBpZiAoY2hlY2tDb2x1bW5CcmVha3MpCiAgICAgICAg
ICAgICB2aWV3KCktPmxheW91dFN0YXRlKCktPmFkZEZvcmNlZENvbHVtbkJyZWFrKGNoaWxkLCBs
b2dpY2FsT2Zmc2V0KTsKKyAgICAgICAgaWYgKGNoZWNrUmVnaW9uQnJlYWtzKSB7CisgICAgICAg
ICAgICBMYXlvdXRVbml0IG9mZnNldEJyZWFrQWRqdXN0bWVudDsKKyAgICAgICAgICAgIGlmIChl
bmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkKCktPmFkZEZvcmNlZFJlZ2lvbkJyZWFrKG9mZnNldEZy
b21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSArIGxvZ2ljYWxPZmZzZXQsIGNoaWxkLCB0cnVlLCAm
b2Zmc2V0QnJlYWtBZGp1c3RtZW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbG9naWNhbE9m
ZnNldCArIG9mZnNldEJyZWFrQWRqdXN0bWVudDsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4g
bmV4dFBhZ2VMb2dpY2FsVG9wKGxvZ2ljYWxPZmZzZXQsIEluY2x1ZGVQYWdlQm91bmRhcnkpOwog
ICAgIH0KICAgICByZXR1cm4gbG9naWNhbE9mZnNldDsKQEAgLTY4NTEsNiArNjg1NiwxMiBAQCBM
YXlvdXRVbml0IFJlbmRlckJsb2NrOjphcHBseUFmdGVyQnJlYWsoUmVuZGVyQm94KiBjaGlsZCwg
TGF5b3V0VW5pdCBsb2dpY2FsT2ZmcwogICAgICAgICBtYXJnaW5JbmZvLnNldE1hcmdpbkFmdGVy
UXVpcmsodHJ1ZSk7IC8vIENhdXNlIG1hcmdpbnMgdG8gYmUgZGlzY2FyZGVkIGZvciBhbnkgZm9s
bG93aW5nIGNvbnRlbnQuCiAgICAgICAgIGlmIChjaGVja0NvbHVtbkJyZWFrcykKICAgICAgICAg
ICAgIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+YWRkRm9yY2VkQ29sdW1uQnJlYWsoY2hpbGQsIGxv
Z2ljYWxPZmZzZXQpOworICAgICAgICBpZiAoY2hlY2tSZWdpb25CcmVha3MpIHsKKyAgICAgICAg
ICAgIExheW91dFVuaXQgbWFyZ2luT2Zmc2V0ID0gbWFyZ2luSW5mby5jYW5Db2xsYXBzZVdpdGhN
YXJnaW5CZWZvcmUoKSA/IFpFUk9fTEFZT1VUX1VOSVQgOiBtYXJnaW5JbmZvLm1hcmdpbigpOwor
ICAgICAgICAgICAgTGF5b3V0VW5pdCBvZmZzZXRCcmVha0FkanVzdG1lbnQ7CisgICAgICAgICAg
ICBpZiAoZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCgpLT5hZGRGb3JjZWRSZWdpb25CcmVhayhv
ZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBsb2dpY2FsT2Zmc2V0ICsgbWFyZ2lu
T2Zmc2V0LCBjaGlsZCwgZmFsc2UsICZvZmZzZXRCcmVha0FkanVzdG1lbnQpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBsb2dpY2FsT2Zmc2V0ICsgb2Zmc2V0QnJlYWtBZGp1c3RtZW50OworICAg
ICAgICB9CiAgICAgICAgIHJldHVybiBuZXh0UGFnZUxvZ2ljYWxUb3AobG9naWNhbE9mZnNldCwg
SW5jbHVkZVBhZ2VCb3VuZGFyeSk7CiAgICAgfQogICAgIHJldHVybiBsb2dpY2FsT2Zmc2V0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDYw
Y2JhMDcuLjVhZjA4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxv
d1RocmVhZC5jcHAKQEAgLTE1MCw2ICsxNTAsOSBAQCBwcml2YXRlOgogCiB2b2lkIFJlbmRlckZs
b3dUaHJlYWQ6OmxheW91dCgpCiB7CisgICAgbV9icmVha0JlZm9yZVRvUmVnaW9uTWFwLmNsZWFy
KCk7CisgICAgbV9icmVha0FmdGVyVG9SZWdpb25NYXAuY2xlYXIoKTsKKwogICAgIGJvb2wgcmVn
aW9uc0NoYW5nZWQgPSBtX3JlZ2lvbnNJbnZhbGlkYXRlZCAmJiBldmVySGFkTGF5b3V0KCk7CiAg
ICAgaWYgKG1fcmVnaW9uc0ludmFsaWRhdGVkKSB7CiAgICAgICAgIG1fcmVnaW9uc0ludmFsaWRh
dGVkID0gZmFsc2U7CkBAIC0xODQsMjAgKzE4Nyw3IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6
bGF5b3V0KCkKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgY29tcHV0
ZUxvZ2ljYWxXaWR0aCgpOyAvLyBDYWxsZWQgdG8gZ2V0IHRoZSBtYXhpbXVtIGxvZ2ljYWwgd2lk
dGggZm9yIHRoZSByZWdpb24uCi0gICAgICAgICAgICAKLSAgICAgICAgICAgIExheW91dFVuaXQg
bG9naWNhbEhlaWdodCA9IDA7Ci0gICAgICAgICAgICBmb3IgKFJlbmRlclJlZ2lvbkxpc3Q6Oml0
ZXJhdG9yIGl0ZXIgPSBtX3JlZ2lvbkxpc3QuYmVnaW4oKTsgaXRlciAhPSBtX3JlZ2lvbkxpc3Qu
ZW5kKCk7ICsraXRlcikgewotICAgICAgICAgICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0g
Kml0ZXI7Ci0gICAgICAgICAgICAgICAgaWYgKCFyZWdpb24tPmlzVmFsaWQoKSkKLSAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgIExheW91dFVuaXQgcmVnaW9uTG9naWNhbFdpZHRoID0gcmVnaW9uLT5sb2dpY2FsV2lkdGhG
b3JGbG93VGhyZWFkQ29udGVudCgpOwotICAgICAgICAgICAgICAgIExheW91dFVuaXQgcmVnaW9u
TG9naWNhbEhlaWdodCA9IHJlZ2lvbi0+bG9naWNhbEhlaWdodEZvckZsb3dUaHJlYWRDb250ZW50
KCk7Ci0gICAgCi0gICAgICAgICAgICAgICAgTGF5b3V0UmVjdCByZWdpb25SZWN0KHN0eWxlKCkt
PmRpcmVjdGlvbigpID09IExUUiA/IFpFUk9fTEFZT1VUX1VOSVQgOiBsb2dpY2FsV2lkdGgoKSAt
IHJlZ2lvbkxvZ2ljYWxXaWR0aCwgbG9naWNhbEhlaWdodCwgcmVnaW9uTG9naWNhbFdpZHRoLCBy
ZWdpb25Mb2dpY2FsSGVpZ2h0KTsKLSAgICAgICAgICAgICAgICByZWdpb24tPnNldFJlZ2lvblJl
Y3QoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJlZ2lvblJlY3QgOiByZWdpb25SZWN0LnRy
YW5zcG9zZWRSZWN0KCkpOwotICAgICAgICAgICAgICAgIGxvZ2ljYWxIZWlnaHQgKz0gcmVnaW9u
TG9naWNhbEhlaWdodDsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHVwZGF0ZVJlZ2lvbnNS
ZWN0cygpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0yNDUsNiArMjM1LDExIEBAIHZvaWQgUmVu
ZGVyRmxvd1RocmVhZDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKQogICAgICAgICBpZiAoIXJlZ2lv
bi0+aXNWYWxpZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIEFTU0VSVCghcmVn
aW9uLT5uZWVkc0xheW91dCgpKTsKKworICAgICAgICBpZiAocmVnaW9uLT5uZWVkc0F1dG9IZWln
aHRDb21wdXRhdGlvbigpKQorICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhdXRvIGhlaWdodCBy
ZWdpb25zIHdlIGNhbm5vdCBrbm93IGZvciBzdXJlIHRoZSBoZWlnaHQgb2YgdGhpcyBmbG93Lgor
ICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIGxvZ2ljYWxIZWlnaHQgKz0gcmVnaW9uLT5s
b2dpY2FsSGVpZ2h0Rm9yRmxvd1RocmVhZENvbnRlbnQoKTsKICAgICB9CiAKQEAgLTM3Miw2ICsz
NjcsOCBAQCBSZW5kZXJSZWdpb24qIFJlbmRlckZsb3dUaHJlYWQ6OnJlbmRlclJlZ2lvbkZvckxp
bmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9vbCBleAogICAgIC8vIElmIG5vIHJlZ2lvbiBtYXRj
aGVzIHRoZSBwb3NpdGlvbiBhbmQgZXh0ZW5kTGFzdFJlZ2lvbiBpcyB0cnVlLCBpdCB3aWxsIHJl
dHVybgogICAgIC8vIHRoZSBsYXN0IHZhbGlkIHJlZ2lvbi4gSXQgaXMgc2ltaWxhciB0byBhdXRv
IGV4dGVuZGluZyB0aGUgc2l6ZSBvZiB0aGUgbGFzdCByZWdpb24uIAogICAgIFJlbmRlclJlZ2lv
biogbGFzdFZhbGlkUmVnaW9uID0gMDsKKworICAgIExheW91dFVuaXQgYWNjdW11bGF0ZWRMb2dp
Y2FsSGVpZ2h0ID0gMDsKICAgICAKICAgICAvLyBGSVhNRTogVGhlIHJlZ2lvbnMgYXJlIGFsd2F5
cyBpbiBvcmRlciwgb3B0aW1pemUgdGhpcyBzZWFyY2guCiAgICAgYm9vbCB1c2VIb3Jpem9udGFs
V3JpdGluZ01vZGUgPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwpAQCAtMzgzLDEzICszODAs
MjggQEAgUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93VGhyZWFkOjpyZW5kZXJSZWdpb25Gb3JMaW5l
KExheW91dFVuaXQgcG9zaXRpb24sIGJvb2wgZXgKICAgICAgICAgaWYgKHBvc2l0aW9uIDw9IDAp
CiAgICAgICAgICAgICByZXR1cm4gcmVnaW9uOwogCisgICAgICAgIGlmIChleHRlbmRMYXN0UmVn
aW9uKQorICAgICAgICAgICAgbGFzdFZhbGlkUmVnaW9uID0gcmVnaW9uOworCisgICAgICAgIGlm
ICh2aWV3KCktPmluRmlyc3RMYXlvdXRQaGFzZUF1dG9IZWlnaHRSZWdpb25zKCkpIHsKKyAgICAg
ICAgICAgIC8vIElmIHdlIGRpZCBub3QgY29tcHV0ZSB0aGUgcmVnaW9uJ3MgaGVpZ2h0LCB3ZSBz
aG91bGQgY29uc2lkZXIKKyAgICAgICAgICAgIC8vIHRoaXMgcmVnaW9uIHRhbGwgZW5vdWdoIHRv
IGFjY29tb2RhdGUgYWxsIHRoZSBjb250ZW50LgorICAgICAgICAgICAgaWYgKHJlZ2lvbi0+bmVl
ZHNBdXRvSGVpZ2h0Q29tcHV0YXRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVnaW9u
OworCisgICAgICAgICAgICBpZiAocmVnaW9uLT51c2VzQXV0b0hlaWdodCgpKSB7CisgICAgICAg
ICAgICAgICAgYWNjdW11bGF0ZWRMb2dpY2FsSGVpZ2h0ICs9IHJlZ2lvbi0+Y29tcHV0ZWRBdXRv
SGVpZ2h0KCk7CisgICAgICAgICAgICAgICAgaWYgKHBvc2l0aW9uIDwgYWNjdW11bGF0ZWRMb2dp
Y2FsSGVpZ2h0KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVnaW9uOworICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgTGF5
b3V0UmVjdCByZWdpb25SZWN0ID0gcmVnaW9uLT5yZWdpb25SZWN0KCk7CiAKLSAgICAgICAgaWYg
KCh1c2VIb3Jpem9udGFsV3JpdGluZ01vZGUgJiYgcG9zaXRpb24gPCByZWdpb25SZWN0Lm1heFko
KSkgfHwgKCF1c2VIb3Jpem9udGFsV3JpdGluZ01vZGUgJiYgcG9zaXRpb24gPCByZWdpb25SZWN0
Lm1heFgoKSkpCisgICAgICAgIGFjY3VtdWxhdGVkTG9naWNhbEhlaWdodCArPSB1c2VIb3Jpem9u
dGFsV3JpdGluZ01vZGUgPyByZWdpb25SZWN0LmhlaWdodCgpIDogcmVnaW9uUmVjdC53aWR0aCgp
OworICAgICAgICBpZiAocG9zaXRpb24gPCBhY2N1bXVsYXRlZExvZ2ljYWxIZWlnaHQpCiAgICAg
ICAgICAgICByZXR1cm4gcmVnaW9uOwotCi0gICAgICAgIGlmIChleHRlbmRMYXN0UmVnaW9uKQot
ICAgICAgICAgICAgbGFzdFZhbGlkUmVnaW9uID0gcmVnaW9uOwogICAgIH0KIAogICAgIHJldHVy
biBsYXN0VmFsaWRSZWdpb247CkBAIC00MTYsNiArNDI4LDggQEAgTGF5b3V0VW5pdCBSZW5kZXJG
bG93VGhyZWFkOjpyZWdpb25Mb2dpY2FsSGVpZ2h0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9u
KSBjb24KICAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHJlbmRlclJlZ2lvbkZvckxpbmUocG9z
aXRpb24pOwogICAgIGlmICghcmVnaW9uKQogICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAodmll
dygpLT5pbkZpcnN0TGF5b3V0UGhhc2VBdXRvSGVpZ2h0UmVnaW9ucygpICYmIHJlZ2lvbi0+bmVl
ZHNBdXRvSGVpZ2h0Q29tcHV0YXRpb24oKSkKKyAgICAgICAgcmV0dXJuIE1BWF9MQVlPVVRfVU5J
VCAvIDI7CiAgICAgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByZWdpb24tPnJl
Z2lvblJlY3QoKS5oZWlnaHQoKSA6IHJlZ2lvbi0+cmVnaW9uUmVjdCgpLndpZHRoKCk7CiB9CiAK
QEAgLTQyNSw2ICs0MzksOSBAQCBMYXlvdXRVbml0IFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvblJl
bWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JMaW5lKExheW91dFVuaXQgcG9zaQogICAgIGlmICghcmVn
aW9uKQogICAgICAgICByZXR1cm4gMDsKIAorICAgIGlmICh2aWV3KCktPmluRmlyc3RMYXlvdXRQ
aGFzZUF1dG9IZWlnaHRSZWdpb25zKCkgJiYgcmVnaW9uLT5uZWVkc0F1dG9IZWlnaHRDb21wdXRh
dGlvbigpKQorICAgICAgICByZXR1cm4gTUFYX0xBWU9VVF9VTklUIC8gMjsKKwogICAgIExheW91
dFVuaXQgcmVnaW9uTG9naWNhbEJvdHRvbSA9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBy
ZWdpb24tPnJlZ2lvblJlY3QoKS5tYXhZKCkgOiByZWdpb24tPnJlZ2lvblJlY3QoKS5tYXhYKCk7
CiAgICAgTGF5b3V0VW5pdCByZW1haW5pbmdIZWlnaHQgPSByZWdpb25Mb2dpY2FsQm90dG9tIC0g
cG9zaXRpb247CiAgICAgaWYgKHBhZ2VCb3VuZGFyeVJ1bGUgPT0gSW5jbHVkZVBhZ2VCb3VuZGFy
eSkgewpAQCAtNjc0LDYgKzY5MSw4IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6Z2V0UmVnaW9u
UmFuZ2VGb3JCb3goY29uc3QgUmVuZGVyQm94KiBib3gsIFJlbmRlclJlZ2lvbiomCiB2b2lkIFJl
bmRlckZsb3dUaHJlYWQ6OmNvbXB1dGVPdmVyZmxvd1N0YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0
IG9sZENsaWVudEFmdGVyRWRnZSkKIHsKICAgICBMYXlvdXRVbml0IGhlaWdodCA9IG9sZENsaWVu
dEFmdGVyRWRnZTsKKyAgICBhZGRGb3JjZWRSZWdpb25CcmVhayhoZWlnaHQsIHRoaXMsIGZhbHNl
KTsKKwogICAgIC8vIEZJWE1FOiB0aGUgdmlzdWFsIG92ZXJmbG93IG9mIG1pZGRsZSByZWdpb24g
KGlmIGl0IGlzIHRoZSBsYXN0IG9uZSB0byBjb250YWluIGFueSBjb250ZW50IGluIGEgcmVuZGVy
IGZsb3cgdGhyZWFkKQogICAgIC8vIG1pZ2h0IG5vdCBiZSB0YWtlbiBpbnRvIGFjY291bnQgYmVj
YXVzZSB0aGUgcmVuZGVyIGZsb3cgdGhyZWFkIGhlaWdodCBpcyBncmVhdGVyIHRoYXQgdGhhdCBy
ZWdpb25zIGhlaWdodCArIGl0cyB2aXN1YWwgb3ZlcmZsb3cKICAgICAvLyBiZWNhdXNlIG9mIGhv
dyBjb21wdXRlTG9naWNhbEhlaWdodCBpcyBpbXBsZW1lbnRlZCBmb3IgUmVuZGVyRmxvd1RocmVh
ZCAoYXMgYSBzdW0gb2YgYWxsIHJlZ2lvbnMgaGVpZ2h0KS4KQEAgLTc5Miw0ICs4MTEsMTQzIEBA
IGJvb2wgUmVuZGVyRmxvd1RocmVhZDo6b2JqZWN0SW5GbG93UmVnaW9uKGNvbnN0IFJlbmRlck9i
amVjdCogb2JqZWN0LCBjb25zdCBSZW5kCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisvLyBFdmVu
IGlmIHdlIHJlcXVpcmUgdGhlIGJyZWFrIHRvIG9jY3VyIGF0IG9mZnNldEJyZWFrSW5GbG93VGhy
ZWFkLCBiZWNhdXNlIHJlZ2lvbnMgbWF5IGhhdmUgbWluL21heC1oZWlnaHQgdmFsdWVzLCBpdCBp
cyBwb3NzaWJsZQorLy8gdGhhdCB0aGUgYnJlYWsgd2lsbCBvY2N1ciBhdCBhIGRpZmZlcmVudCBv
ZmZzZXQgdGhhbiB0aGUgb3JpZ2luYWwgb25lIHJlcXVpcmVkLiBvZmZzZXRCcmVha0FkanVzdG1l
bnQgbWVhc3VyZXMgdGhlIGRpZmZlcmVudCBiZXR3ZWVuCisvLyB0aGUgcmVxdWVzdGVkIGJyZWFr
IG9mZnNldCBhbmQgdGhlIGN1cnJlbnQgYnJlYWsgb2Zmc2V0LgorYm9vbCBSZW5kZXJGbG93VGhy
ZWFkOjphZGRGb3JjZWRSZWdpb25CcmVhayhMYXlvdXRVbml0IG9mZnNldEJyZWFrSW5GbG93VGhy
ZWFkLCBSZW5kZXJPYmplY3QqIGJyZWFrQ2hpbGQsIGJvb2wgaXNCZWZvcmUsIExheW91dFVuaXQq
IG9mZnNldEJyZWFrQWRqdXN0bWVudCkKK3sKKyAgICBpZiAoIXZpZXcoKS0+aW5GaXJzdExheW91
dFBoYXNlQXV0b0hlaWdodFJlZ2lvbnMoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Ly8gQnJlYWtzIGNhbiBjb21lIGJlZm9yZSBvciBhZnRlciBzb21lIG9iamVjdHMuIFdlIG5lZWQg
dG8gdHJhY2sgdGhlc2Ugb2JqZWN0cywgc28gdGhhdCBpZiB3ZSBnZXQKKyAgICAvLyBtdWx0aXBs
ZSBicmVha3MgZm9yIHRoZSBzYW1lIG9iamVjdCAoZm9yIGV4YW1wbGUgYmVjYXVzZSBvZiBtdWx0
aXBsZSBsYXlvdXRzIG9uIHRoZSBzYW1lIG9iamVjdCksCisgICAgLy8gd2UgbmVlZCB0byBpbnZh
bGlkYXRlIGV2ZXJ5IG90aGVyIHJlZ2lvbiBhZnRlciB0aGUgb2xkIG9uZSBhbmQgc3RhcnQgY29t
cHV0aW5nIGZyb20gZnJlc2guCisgICAgUmVuZGVyT2JqZWN0VG9SZWdpb25NYXAmIG1hcFRvVXNl
ID0gaXNCZWZvcmUgPyBtX2JyZWFrQmVmb3JlVG9SZWdpb25NYXAgOiBtX2JyZWFrQWZ0ZXJUb1Jl
Z2lvbk1hcDsKKyAgICBSZW5kZXJPYmplY3RUb1JlZ2lvbk1hcDo6aXRlcmF0b3IgaXRlciA9IG1h
cFRvVXNlLmZpbmQoYnJlYWtDaGlsZCk7CisgICAgaWYgKGl0ZXIgIT0gbWFwVG9Vc2UuZW5kKCkp
IHsKKyAgICAgICAgUmVuZGVyUmVnaW9uTGlzdDo6aXRlcmF0b3IgcmVnaW9uSXRlciA9IG1fcmVn
aW9uTGlzdC5maW5kKGl0ZXItPnNlY29uZCk7CisgICAgICAgIEFTU0VSVChyZWdpb25JdGVyICE9
IG1fcmVnaW9uTGlzdC5lbmQoKSk7CisgICAgICAgIGZvciAoOyByZWdpb25JdGVyICE9IG1fcmVn
aW9uTGlzdC5lbmQoKTsgKytyZWdpb25JdGVyKSB7CisgICAgICAgICAgICBSZW5kZXJSZWdpb24q
IHJlZ2lvbiA9ICpyZWdpb25JdGVyOworICAgICAgICAgICAgaWYgKCFyZWdpb24tPmlzVmFsaWQo
KSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmIChyZWdpb24tPnVz
ZXNBdXRvSGVpZ2h0KCkpCisgICAgICAgICAgICAgICAgcmVnaW9uLT5yZXNldENvbXB1dGVkQXV0
b0hlaWdodCgpOworICAgICAgICB9CisgICAgICAgIHVwZGF0ZVJlZ2lvbnNSZWN0cygpOworICAg
IH0KKworICAgIFJlbmRlclJlZ2lvbiogc3RhcnRSZWdpb24gPSByZW5kZXJSZWdpb25Gb3JMaW5l
KG9mZnNldEJyZWFrSW5GbG93VGhyZWFkKTsKKyAgICBpZiAoIXN0YXJ0UmVnaW9uKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIHVzZUhvcml6b250YWxXcml0aW5nTW9kZSA9IGlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CisgICAgTGF5b3V0VW5pdCBjdXJyZW50UmVnaW9uT2Zm
c2V0SW5GbG93VGhyZWFkID0gdXNlSG9yaXpvbnRhbFdyaXRpbmdNb2RlID8gc3RhcnRSZWdpb24t
PnJlZ2lvblJlY3QoKS55KCkgOiBzdGFydFJlZ2lvbi0+cmVnaW9uUmVjdCgpLngoKTsKKyAgICBM
YXlvdXRVbml0IG9mZnNldEJyZWFrSW5DdXJyZW50UmVnaW9uID0gb2Zmc2V0QnJlYWtJbkZsb3dU
aHJlYWQgLSBjdXJyZW50UmVnaW9uT2Zmc2V0SW5GbG93VGhyZWFkOworCisgICAgLy8gV2Ugd2Fu
dCB0byBkaXN0cmlidXRlIHRoZSBvZmZzZXRJblJlZ2lvbiBhbW9uZyB0aGUgbmV4dCByZWdpb25z
IGFmdGVyIHN0YXJ0LgorICAgIGJvb2wgY29tcHV0ZWRBdExlYXN0T25lSGVpZ2h0ID0gZmFsc2U7
CisKKyAgICBSZW5kZXJSZWdpb25MaXN0OjppdGVyYXRvciByZWdpb25JdGVyID0gbV9yZWdpb25M
aXN0LmZpbmQoc3RhcnRSZWdpb24pOworICAgIEFTU0VSVChyZWdpb25JdGVyICE9IG1fcmVnaW9u
TGlzdC5lbmQoKSk7CisgICAgZm9yICg7IHJlZ2lvbkl0ZXIgIT0gbV9yZWdpb25MaXN0LmVuZCgp
OyArK3JlZ2lvbkl0ZXIpIHsKKyAgICAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSAqcmVnaW9u
SXRlcjsKKyAgICAgICAgaWYgKCFyZWdpb24tPmlzVmFsaWQoKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgIGlmIChyZWdpb24tPm5lZWRzQXV0b0hlaWdodENvbXB1dGF0aW9uKCkp
IHsKKyAgICAgICAgICAgIG1hcFRvVXNlLnNldChicmVha0NoaWxkLCByZWdpb24pOworCisgICAg
ICAgICAgICBjb21wdXRlZEF0TGVhc3RPbmVIZWlnaHQgPSB0cnVlOworCisgICAgICAgICAgICAv
LyBDb21wdXRlIHRoZSByZWdpb24gaGVpZ2h0IHByZXRlbmRpbmcgdGhhdCB0aGUgb2Zmc2V0QnJl
YWtJbkN1cnJlbnRSZWdpb24gaXMgdGhlIGxvZ2ljYWxIZWlnaHQgZm9yIHRoZSBhdXRvLWhlaWdo
dCByZWdpb24uCisgICAgICAgICAgICBMYXlvdXRVbml0IHJlZ2lvbkNvbXB1dGVkSGVpZ2h0ID0g
cmVnaW9uLT5jb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0UmVzcGVjdGluZ01pbk1heEhlaWdo
dChvZmZzZXRCcmVha0luQ3VycmVudFJlZ2lvbik7CisgICAgICAgICAgICByZWdpb24tPnNldENv
bXB1dGVkQXV0b0hlaWdodChyZWdpb25Db21wdXRlZEhlaWdodCk7CisKKyAgICAgICAgICAgIG9m
ZnNldEJyZWFrSW5DdXJyZW50UmVnaW9uIC09IHJlZ2lvbkNvbXB1dGVkSGVpZ2h0OworCisgICAg
ICAgICAgICBjdXJyZW50UmVnaW9uT2Zmc2V0SW5GbG93VGhyZWFkICs9IHJlZ2lvbkNvbXB1dGVk
SGVpZ2h0OworICAgICAgICAgICAgaWYgKGN1cnJlbnRSZWdpb25PZmZzZXRJbkZsb3dUaHJlYWQg
Pj0gb2Zmc2V0QnJlYWtJbkZsb3dUaHJlYWQpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBjdXJyZW50UmVnaW9uT2Zmc2V0SW5GbG93VGhyZWFk
ICs9IHVzZUhvcml6b250YWxXcml0aW5nTW9kZSA/IHJlZ2lvbi0+cmVnaW9uUmVjdCgpLmhlaWdo
dCgpIDogcmVnaW9uLT5yZWdpb25SZWN0KCkud2lkdGgoKTsKKyAgICAgICAgICAgIGlmIChjdXJy
ZW50UmVnaW9uT2Zmc2V0SW5GbG93VGhyZWFkID49IG9mZnNldEJyZWFrSW5GbG93VGhyZWFkKQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGNvbXB1
dGVkQXRMZWFzdE9uZUhlaWdodCkKKyAgICAgICAgdXBkYXRlUmVnaW9uc1JlY3RzKCk7CisKKyAg
ICBpZiAob2Zmc2V0QnJlYWtBZGp1c3RtZW50KQorICAgICAgICAqb2Zmc2V0QnJlYWtBZGp1c3Rt
ZW50ID0gbWF4PExheW91dFVuaXQ+KFpFUk9fTEFZT1VUX1VOSVQsIGN1cnJlbnRSZWdpb25PZmZz
ZXRJbkZsb3dUaHJlYWQgLSBvZmZzZXRCcmVha0luRmxvd1RocmVhZCk7CisKKyAgICByZXR1cm4g
Y29tcHV0ZWRBdExlYXN0T25lSGVpZ2h0OworfQorCitib29sIFJlbmRlckZsb3dUaHJlYWQ6OnJl
c2V0QXV0b0hlaWdodFJlZ2lvbnNDb21wdXRlZEF1dG9IZWlnaHQoKQoreworICAgIEFTU0VSVCgh
dmlldygpLT5pbkZpcnN0TGF5b3V0UGhhc2VBdXRvSGVpZ2h0UmVnaW9ucygpKTsKKyAgICAvLyBX
ZSBuZWVkIHRvIHJlc2V0IHRoZSByZWdpb25zIGF1dG8taGVpZ2h0IG9ubHkgaWYgdGhlIGZsb3cg
aXRzZWxmIG5lZWRzIGxheW91dC4KKyAgICBpZiAoIXNlbGZOZWVkc0xheW91dCgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIGhhZEF1dG9IZWlnaHRSZWdpb25zID0gZmFsc2U7
CisgICAgZm9yIChSZW5kZXJSZWdpb25MaXN0OjppdGVyYXRvciBpdGVyID0gbV9yZWdpb25MaXN0
LmJlZ2luKCk7IGl0ZXIgIT0gbV9yZWdpb25MaXN0LmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAg
UmVuZGVyUmVnaW9uKiByZWdpb24gPSAqaXRlcjsKKyAgICAgICAgaWYgKCFyZWdpb24tPmlzVmFs
aWQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoIXJlZ2lvbi0+dXNlc0F1
dG9IZWlnaHQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGhhZEF1dG9IZWln
aHRSZWdpb25zID0gdHJ1ZTsKKworICAgICAgICByZWdpb24tPnJlc2V0Q29tcHV0ZWRBdXRvSGVp
Z2h0KCk7CisgICAgICAgIHJlZ2lvbi0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7CisgICAgfQorCisg
ICAgcmV0dXJuIGhhZEF1dG9IZWlnaHRSZWdpb25zOworfQorCit2b2lkIFJlbmRlckZsb3dUaHJl
YWQ6Om1hcmtBdXRvSGVpZ2h0UmVnaW9uc0ZvclNlY29uZExheW91dFBoYXNlKCkKK3sKKyAgICBm
b3IgKFJlbmRlclJlZ2lvbkxpc3Q6Oml0ZXJhdG9yIGl0ZXIgPSBtX3JlZ2lvbkxpc3QuYmVnaW4o
KTsgaXRlciAhPSBtX3JlZ2lvbkxpc3QuZW5kKCk7ICsraXRlcikgeworICAgICAgICBSZW5kZXJS
ZWdpb24qIHJlZ2lvbiA9ICppdGVyOworICAgICAgICBpZiAoIXJlZ2lvbi0+aXNWYWxpZCgpKQor
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmICghcmVnaW9uLT51c2VzQXV0b0hlaWdo
dCgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgcmVnaW9uLT5zZXROZWVkc0xh
eW91dCh0cnVlKTsKKyAgICB9CisKKyAgICBtX3JlZ2lvbnNJbnZhbGlkYXRlZCA9IHRydWU7Cisg
ICAgc2V0TmVlZHNMYXlvdXQodHJ1ZSk7Cit9CisKK3ZvaWQgUmVuZGVyRmxvd1RocmVhZDo6dXBk
YXRlUmVnaW9uc1JlY3RzKCkKK3sKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwOwor
ICAgIGZvciAoUmVuZGVyUmVnaW9uTGlzdDo6aXRlcmF0b3IgaXRlciA9IG1fcmVnaW9uTGlzdC5i
ZWdpbigpOyBpdGVyICE9IG1fcmVnaW9uTGlzdC5lbmQoKTsgKytpdGVyKSB7CisgICAgICAgIFJl
bmRlclJlZ2lvbiogcmVnaW9uID0gKml0ZXI7CisgICAgICAgIGlmICghcmVnaW9uLT5pc1ZhbGlk
KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBMYXlvdXRVbml0IHJlZ2lvbkxv
Z2ljYWxXaWR0aCA9IHJlZ2lvbi0+bG9naWNhbFdpZHRoRm9yRmxvd1RocmVhZENvbnRlbnQoKTsK
KyAgICAgICAgTGF5b3V0VW5pdCByZWdpb25Mb2dpY2FsSGVpZ2h0ID0gcmVnaW9uLT5sb2dpY2Fs
SGVpZ2h0Rm9yRmxvd1RocmVhZENvbnRlbnQoKTsKKworICAgICAgICBMYXlvdXRSZWN0IHJlZ2lv
blJlY3Qoc3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gTFRSID8gWkVST19MQVlPVVRfVU5JVCA6IGxv
Z2ljYWxXaWR0aCgpIC0gcmVnaW9uTG9naWNhbFdpZHRoLCBsb2dpY2FsSGVpZ2h0LCByZWdpb25M
b2dpY2FsV2lkdGgsIHJlZ2lvbkxvZ2ljYWxIZWlnaHQpOworCisgICAgICAgIGlmICh2aWV3KCkt
PmluRmlyc3RMYXlvdXRQaGFzZUF1dG9IZWlnaHRSZWdpb25zKCkpIHsKKyAgICAgICAgICAgIGlm
IChyZWdpb24tPmhhc0NvbXB1dGVkQXV0b0hlaWdodCgpKSB7CisgICAgICAgICAgICAgICAgcmVn
aW9uTG9naWNhbEhlaWdodCA9IHJlZ2lvbi0+Y29tcHV0ZWRBdXRvSGVpZ2h0KCk7CisgICAgICAg
ICAgICAgICAgcmVnaW9uUmVjdC5zZXRIZWlnaHQocmVnaW9uTG9naWNhbEhlaWdodCk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZWdpb24tPnNldFJlZ2lvblJlY3QoaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJlZ2lvblJlY3QgOiByZWdpb25SZWN0LnRyYW5zcG9z
ZWRSZWN0KCkpOworICAgICAgICBsb2dpY2FsSGVpZ2h0ICs9IHJlZ2lvbkxvZ2ljYWxIZWlnaHQ7
CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCA0NzMwYmU4Li42YmYwNTdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTEyOSw5ICsxMjks
MTUgQEAgcHVibGljOgogICAgIC8vIENoZWNrIGlmIHRoZSBvYmplY3QgaXMgaW4gcmVnaW9uIGFu
ZCB0aGUgcmVnaW9uIGlzIHBhcnQgb2YgdGhpcyBmbG93IHRocmVhZC4KICAgICBib29sIG9iamVj
dEluRmxvd1JlZ2lvbihjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJSZWdpb24qKSBj
b25zdDsKIAorICAgIGJvb2wgcmVzZXRBdXRvSGVpZ2h0UmVnaW9uc0NvbXB1dGVkQXV0b0hlaWdo
dCgpOworICAgIHZvaWQgbWFya0F1dG9IZWlnaHRSZWdpb25zRm9yU2Vjb25kTGF5b3V0UGhhc2Uo
KTsKKworICAgIGJvb2wgYWRkRm9yY2VkUmVnaW9uQnJlYWsoTGF5b3V0VW5pdCwgUmVuZGVyT2Jq
ZWN0KiBicmVha0NoaWxkLCBib29sIGlzQmVmb3JlLCBMYXlvdXRVbml0KiBvZmZzZXRCcmVha0Fk
anVzdG1lbnQgPSAwKTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVu
ZGVyTmFtZSgpIGNvbnN0ID0gMDsKIAorICAgIHZvaWQgdXBkYXRlUmVnaW9uc1JlY3RzKCk7CiAg
ICAgYm9vbCBzaG91bGRSZXBhaW50KGNvbnN0IExheW91dFJlY3QmKSBjb25zdDsKICAgICBib29s
IHJlZ2lvbkluUmFuZ2UoY29uc3QgUmVuZGVyUmVnaW9uKiB0YXJnZXRSZWdpb24sIGNvbnN0IFJl
bmRlclJlZ2lvbiogc3RhcnRSZWdpb24sIGNvbnN0IFJlbmRlclJlZ2lvbiogZW5kUmVnaW9uKSBj
b25zdDsKICAgICAKQEAgLTE3Myw2ICsxNzksMTAgQEAgcHJvdGVjdGVkOgogICAgIHR5cGVkZWYg
SGFzaE1hcDxjb25zdCBSZW5kZXJCb3gqLCBSZW5kZXJSZWdpb25SYW5nZT4gUmVuZGVyUmVnaW9u
UmFuZ2VNYXA7CiAgICAgUmVuZGVyUmVnaW9uUmFuZ2VNYXAgbV9yZWdpb25SYW5nZU1hcDsKIAor
ICAgIHR5cGVkZWYgSGFzaE1hcDxSZW5kZXJPYmplY3QqLCBSZW5kZXJSZWdpb24qPiBSZW5kZXJP
YmplY3RUb1JlZ2lvbk1hcDsKKyAgICBSZW5kZXJPYmplY3RUb1JlZ2lvbk1hcCBtX2JyZWFrQmVm
b3JlVG9SZWdpb25NYXA7CisgICAgUmVuZGVyT2JqZWN0VG9SZWdpb25NYXAgbV9icmVha0FmdGVy
VG9SZWdpb25NYXA7CisKICAgICBib29sIG1faGFzVmFsaWRSZWdpb25zOwogICAgIGJvb2wgbV9y
ZWdpb25zSW52YWxpZGF0ZWQ7CiAgICAgYm9vbCBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxX
aWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKaW5kZXggYzY4
NjM2Ni4uOGQzM2FlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5j
cHAKQEAgLTQ5LDYgKzQ5LDEwIEBAIFJlbmRlclJlZ2lvbjo6UmVuZGVyUmVnaW9uKE5vZGUqIG5v
ZGUsIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQpCiAgICAgLCBtX2lzVmFsaWQoZmFsc2Up
CiAgICAgLCBtX2hhc0N1c3RvbVJlZ2lvblN0eWxlKGZhbHNlKQogICAgICwgbV9yZWdpb25TdGF0
ZShSZWdpb25VbmRlZmluZWQpCisgICAgLCBtX2Rpc3BhdGNoUmVnaW9uTGF5b3V0VXBkYXRlRXZl
bnQoZmFsc2UpCisgICAgLCBtX2NvbXB1dGVkQXV0b0hlaWdodCgwKQorICAgICwgbV9oYXNDb21w
dXRlZEF1dG9IZWlnaHQoZmFsc2UpCisgICAgLCBtX3VzZXNBdXRvSGVpZ2h0KGZhbHNlKQogewog
fQogCkBAIC0xNTksNiArMTYzLDE2IEBAIHZvaWQgUmVuZGVyUmVnaW9uOjpzdHlsZURpZENoYW5n
ZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0CiAgICAgfQog
ICAgIHNldEhhc0N1c3RvbVJlZ2lvblN0eWxlKGN1c3RvbVJlZ2lvblN0eWxlKTsKICAgICBtX2Zs
b3dUaHJlYWQtPmNoZWNrUmVnaW9uc1dpdGhTdHlsaW5nKCk7CisKKyAgICBib29sIGRpZFVzZUF1
dG9IZWlnaHQgPSBtX3VzZXNBdXRvSGVpZ2h0OworICAgIG1fdXNlc0F1dG9IZWlnaHQgPSBoYXNB
dXRvSGVpZ2h0U3R5bGUoKTsKKyAgICBpZiAobV9mbG93VGhyZWFkICYmIGRpZFVzZUF1dG9IZWln
aHQgIT0gbV91c2VzQXV0b0hlaWdodCkgeworICAgICAgICBpZiAobV91c2VzQXV0b0hlaWdodCkK
KyAgICAgICAgICAgIHZpZXcoKS0+aW5jcmVtZW50QXV0b0hlaWdodFJlZ2lvbnMoKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdmlldygpLT5kZWNyZW1lbnRBdXRvSGVpZ2h0UmVnaW9ucygp
OworICAgICAgICBzZXROZWVkc0xheW91dCh0cnVlKTsKKyAgICB9CiB9CiAKIHZvaWQgUmVuZGVy
UmVnaW9uOjpsYXlvdXQoKQpAQCAtMjI0LDggKzIzOCwxMSBAQCB2b2lkIFJlbmRlclJlZ2lvbjo6
YXR0YWNoUmVnaW9uKCkKIAogdm9pZCBSZW5kZXJSZWdpb246OmRldGFjaFJlZ2lvbigpCiB7Ci0g
ICAgaWYgKG1fZmxvd1RocmVhZCkKKyAgICBpZiAobV9mbG93VGhyZWFkKSB7CiAgICAgICAgIG1f
Zmxvd1RocmVhZC0+cmVtb3ZlUmVnaW9uRnJvbVRocmVhZCh0aGlzKTsKKyAgICAgICAgaWYgKHVz
ZXNBdXRvSGVpZ2h0KCkpCisgICAgICAgICAgICB2aWV3KCktPmRlY3JlbWVudEF1dG9IZWlnaHRS
ZWdpb25zKCk7CisgICAgfQogICAgIG1fZmxvd1RocmVhZCA9IDA7CiB9CiAKQEAgLTQxNiw0ICs0
MzMsMTcgQEAgdm9pZCBSZW5kZXJSZWdpb246OmNsZWFyT2JqZWN0U3R5bGVJblJlZ2lvbihjb25z
dCBSZW5kZXJPYmplY3QqIG9iamVjdCkKICAgICAgICAgY2xlYXJPYmplY3RTdHlsZUluUmVnaW9u
KGNoaWxkKTsKIH0KIAordm9pZCBSZW5kZXJSZWdpb246OmNvbXB1dGVMb2dpY2FsSGVpZ2h0KCkK
K3sKKyAgICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKKworICAgIGlm
ICghdmlldygpLT5pbkZpcnN0TGF5b3V0UGhhc2VBdXRvSGVpZ2h0UmVnaW9ucygpKSB7CisgICAg
ICAgIGlmICh1c2VzQXV0b0hlaWdodCgpICYmIGhhc0NvbXB1dGVkQXV0b0hlaWdodCgpKSB7Cisg
ICAgICAgICAgICBMYXlvdXRVbml0IG5ld0xvZ2ljYWxIZWlnaHQgPSBjb21wdXRlZEF1dG9IZWln
aHQoKSArIGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsSGVpZ2h0KCk7CisgICAgICAgICAgICBpZiAo
bmV3TG9naWNhbEhlaWdodCA+IGxvZ2ljYWxIZWlnaHQoKSkKKyAgICAgICAgICAgICAgICBzZXRM
b2dpY2FsSGVpZ2h0KG5ld0xvZ2ljYWxIZWlnaHQpOworICAgICAgICB9CisgICAgfQorfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUmVnaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9u
LmgKaW5kZXggNWI5NjhiNS4uMTU2YTQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZWdpb24uaApAQCAtOTcsNiArOTcsMzMgQEAgcHVibGljOgogICAgIHZpcnR1YWwgTGF5b3V0
VW5pdCBsb2dpY2FsV2lkdGhGb3JGbG93VGhyZWFkQ29udGVudCgpIGNvbnN0OwogICAgIHZpcnR1
YWwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0Rm9yRmxvd1RocmVhZENvbnRlbnQoKSBjb25zdDsK
IAorICAgIGJvb2wgaGFzQXV0b0hlaWdodFN0eWxlKCkgY29uc3QKKyAgICB7CisgICAgICAgIGJv
b2wgaGFzQW5jaG9yZWRUb3BBbmRCb3R0b20gPSAoaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwg
aXNSZWxQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICAmJiBzdHlsZSgpLT5sb2dpY2FsVG9wKCku
aXNTcGVjaWZpZWQoKQorICAgICAgICAgICAgJiYgc3R5bGUoKS0+bG9naWNhbEJvdHRvbSgpLmlz
U3BlY2lmaWVkKCk7CisgICAgICAgIHJldHVybiAhaGFzQW5jaG9yZWRUb3BBbmRCb3R0b20gJiYg
c3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLmlzQXV0bygpOworICAgIH0KKworICAgIGJvb2wgdXNl
c0F1dG9IZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX3VzZXNBdXRvSGVpZ2h0OyB9CisgICAgYm9v
bCBoYXNDb21wdXRlZEF1dG9IZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hhc0NvbXB1dGVkQXV0
b0hlaWdodDsgfQorICAgIGJvb2wgbmVlZHNBdXRvSGVpZ2h0Q29tcHV0YXRpb24oKSBjb25zdCB7
IHJldHVybiB1c2VzQXV0b0hlaWdodCgpICYmICFoYXNDb21wdXRlZEF1dG9IZWlnaHQoKTsgfQor
CisgICAgTGF5b3V0VW5pdCBjb21wdXRlZEF1dG9IZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2Nv
bXB1dGVkQXV0b0hlaWdodDsgfQorICAgIHZvaWQgc2V0Q29tcHV0ZWRBdXRvSGVpZ2h0KExheW91
dFVuaXQgY29tcHV0ZWRBdXRvSGVpZ2h0KQorICAgIHsKKyAgICAgICAgbV9jb21wdXRlZEF1dG9I
ZWlnaHQgPSBjb21wdXRlZEF1dG9IZWlnaHQ7CisgICAgICAgIG1faGFzQ29tcHV0ZWRBdXRvSGVp
Z2h0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHJlc2V0Q29tcHV0ZWRBdXRvSGVpZ2h0KCkK
KyAgICB7CisgICAgICAgIG1fY29tcHV0ZWRBdXRvSGVpZ2h0ID0gMDsKKyAgICAgICAgbV9oYXND
b21wdXRlZEF1dG9IZWlnaHQgPSBmYWxzZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgY29t
cHV0ZUxvZ2ljYWxIZWlnaHQoKTsKKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIq
IHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyUmVnaW9uIjsgfQogCkBAIC0xMzcs
NiArMTY0LDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzVmFsaWQ7CiAgICAgYm9vbCBtX2hh
c0N1c3RvbVJlZ2lvblN0eWxlOwogICAgIFJlZ2lvblN0YXRlIG1fcmVnaW9uU3RhdGU7CisgICAg
Ym9vbCBtX2Rpc3BhdGNoUmVnaW9uTGF5b3V0VXBkYXRlRXZlbnQ7CisKKyAgICBMYXlvdXRVbml0
IG1fY29tcHV0ZWRBdXRvSGVpZ2h0OworICAgIGJvb2wgbV9oYXNDb21wdXRlZEF1dG9IZWlnaHQ7
CisgICAgYm9vbCBtX3VzZXNBdXRvSGVpZ2h0OwogfTsKIAogaW5saW5lIFJlbmRlclJlZ2lvbiog
dG9SZW5kZXJSZWdpb24oUmVuZGVyT2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKaW5kZXggOGJkNDljYy4uZjdmMjRmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtNjIsNiArNjIsOCBAQCBSZW5kZXJWaWV3OjpS
ZW5kZXJWaWV3KE5vZGUqIG5vZGUsIEZyYW1lVmlldyogdmlldykKICAgICAsIG1fcGFnZUxvZ2lj
YWxIZWlnaHRDaGFuZ2VkKGZhbHNlKQogICAgICwgbV9sYXlvdXRTdGF0ZSgwKQogICAgICwgbV9s
YXlvdXRTdGF0ZURpc2FibGVDb3VudCgwKQorICAgICwgbV9hdXRvSGVpZ2h0UmVnaW9uc0xheW91
dFBoYXNlKEF1dG9IZWlnaHRSZWdpb25zU2Vjb25kTGF5b3V0UGhhc2UpCisgICAgLCBtX2F1dG9I
ZWlnaHRSZWdpb25zQ291bnQoMCkKICAgICAsIG1fcmVuZGVyUXVvdGVDb3VudCgwKQogICAgICwg
bV9yZW5kZXJDb3VudGVyQ291bnQoMCkKIHsKQEAgLTE1MiwxMiArMTU0LDMzIEBAIHZvaWQgUmVu
ZGVyVmlldzo6bGF5b3V0KCkKICAgICBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCA9IGZhbHNl
OwogICAgIG1fbGF5b3V0U3RhdGUgPSAmc3RhdGU7CiAKKyAgICAvLyBJZiBvbmUgb2YgdGhlIHJl
bmRlciBmbG93IHRocmVhZHMgaGFzIGEgcmVnaW9uIHdpdGggYXV0by1oZWlnaHQKKyAgICAvLyB0
aGVuIHdlIG5lZWQgYSBzZWNvbmQgcGFzcyBsYXlvdXQuCiAgICAgaWYgKG5lZWRzTGF5b3V0KCkp
IHsKKyAgICAgICAgaWYgKGhhc1JlbmRlck5hbWVkRmxvd1RocmVhZHMoKQorICAgICAgICAgICAg
JiYgaGFzQXV0b0hlaWdodFJlZ2lvbnMoKQorICAgICAgICAgICAgJiYgZmxvd1RocmVhZENvbnRy
b2xsZXIoKS0+cmVzZXRBdXRvSGVpZ2h0UmVnaW9uc0NvbXB1dGVkQXV0b0hlaWdodCgpKQorICAg
ICAgICAgICAgbV9hdXRvSGVpZ2h0UmVnaW9uc0xheW91dFBoYXNlID0gQXV0b0hlaWdodFJlZ2lv
bnNGaXJzdExheW91dFBoYXNlOworCiAgICAgICAgIFJlbmRlckJsb2NrOjpsYXlvdXQoKTsKICAg
ICAgICAgaWYgKGhhc1JlbmRlck5hbWVkRmxvd1RocmVhZHMoKSkKICAgICAgICAgICAgIGZsb3dU
aHJlYWRDb250cm9sbGVyKCktPmxheW91dFJlbmRlck5hbWVkRmxvd1RocmVhZHMoKTsKICAgICB9
CiAKKyAgICBpZiAoaW5GaXJzdExheW91dFBoYXNlQXV0b0hlaWdodFJlZ2lvbnMoKSkgeworICAg
ICAgICBtX2F1dG9IZWlnaHRSZWdpb25zTGF5b3V0UGhhc2UgPSBBdXRvSGVpZ2h0UmVnaW9uc1Nl
Y29uZExheW91dFBoYXNlOworICAgICAgICBzZXROZWVkc0xheW91dChmYWxzZSk7CisKKyAgICAg
ICAgaWYgKGhhc1JlbmRlck5hbWVkRmxvd1RocmVhZHMoKSAmJiBoYXNBdXRvSGVpZ2h0UmVnaW9u
cygpKQorICAgICAgICAgICAgZmxvd1RocmVhZENvbnRyb2xsZXIoKS0+bWFya0F1dG9IZWlnaHRS
ZWdpb25zRm9yU2Vjb25kTGF5b3V0UGhhc2UoKTsKKworICAgICAgICBpZiAobmVlZHNMYXlvdXQo
KSkgeworICAgICAgICAgICAgUmVuZGVyQmxvY2s6OmxheW91dCgpOworICAgICAgICAgICAgaWYg
KGhhc1JlbmRlck5hbWVkRmxvd1RocmVhZHMoKSkKKyAgICAgICAgICAgICAgICBmbG93VGhyZWFk
Q29udHJvbGxlcigpLT5sYXlvdXRSZW5kZXJOYW1lZEZsb3dUaHJlYWRzKCk7CisgICAgICAgIH0K
KyAgICB9CisKICAgICBBU1NFUlQobGF5b3V0RGVsdGEoKSA9PSBMYXlvdXRTaXplKCkpOwogICAg
IEFTU0VSVChtX2xheW91dFN0YXRlRGlzYWJsZUNvdW50ID09IDApOwogICAgIEFTU0VSVChtX2xh
eW91dFN0YXRlID09ICZzdGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApp
bmRleCAwNGE4MDZlLi41OWZiNmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmgKQEAgLTE4Niw2ICsxODYsMTQgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUmVuZGVyTmFtZWRG
bG93VGhyZWFkcygpIGNvbnN0OwogICAgIEZsb3dUaHJlYWRDb250cm9sbGVyKiBmbG93VGhyZWFk
Q29udHJvbGxlcigpOwogCisgICAgZW51bSBBdXRvSGVpZ2h0UmVnaW9uc0xheW91dFBoYXNlIHsg
QXV0b0hlaWdodFJlZ2lvbnNGaXJzdExheW91dFBoYXNlLCBBdXRvSGVpZ2h0UmVnaW9uc1NlY29u
ZExheW91dFBoYXNlIH07CisgICAgYm9vbCBpbkZpcnN0TGF5b3V0UGhhc2VBdXRvSGVpZ2h0UmVn
aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b0hlaWdodFJlZ2lvbnNMYXlvdXRQaGFzZSA9PSBB
dXRvSGVpZ2h0UmVnaW9uc0ZpcnN0TGF5b3V0UGhhc2U7IH0KKyAgICBib29sIG5lZWRzU2Vjb25k
UGFzc0xheW91dEZvclJlZ2lvbnNBdXRvSGVpZ2h0KCkgY29uc3Q7CisKKyAgICBib29sIGhhc0F1
dG9IZWlnaHRSZWdpb25zKCkgY29uc3QgeyByZXR1cm4gbV9hdXRvSGVpZ2h0UmVnaW9uc0NvdW50
OyB9CisgICAgdm9pZCBpbmNyZW1lbnRBdXRvSGVpZ2h0UmVnaW9ucygpIHsgKyttX2F1dG9IZWln
aHRSZWdpb25zQ291bnQ7IH0KKyAgICB2b2lkIGRlY3JlbWVudEF1dG9IZWlnaHRSZWdpb25zKCkg
eyBBU1NFUlQobV9hdXRvSGVpZ2h0UmVnaW9uc0NvdW50ID4gMCk7IC0tbV9hdXRvSGVpZ2h0UmVn
aW9uc0NvdW50OyB9CisKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwg
Y29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKIAogICAgIEludGVydmFsQXJlbmEqIGludGVy
dmFsQXJlbmEoKTsKQEAgLTI5OSw2ICszMDcsOSBAQCBwcml2YXRlOgogICAgIE93blB0cjxDdXN0
b21GaWx0ZXJHbG9iYWxDb250ZXh0PiBtX2N1c3RvbUZpbHRlckdsb2JhbENvbnRleHQ7CiAjZW5k
aWYKICAgICBPd25QdHI8Rmxvd1RocmVhZENvbnRyb2xsZXI+IG1fZmxvd1RocmVhZENvbnRyb2xs
ZXI7CisgICAgQXV0b0hlaWdodFJlZ2lvbnNMYXlvdXRQaGFzZSBtX2F1dG9IZWlnaHRSZWdpb25z
TGF5b3V0UGhhc2U7CisgICAgdW5zaWduZWQgbV9hdXRvSGVpZ2h0UmVnaW9uc0NvdW50OworCiAg
ICAgUmVmUHRyPEludGVydmFsQXJlbmE+IG1faW50ZXJ2YWxBcmVuYTsKIAogICAgIHVuc2lnbmVk
IG1fcmVuZGVyUXVvdGVDb3VudDsK
</data>
<flag name="review"
          id="165682"
          type_id="1"
          status="-"
          setter="jchaffraix"
    />
          </attachment>
      

    </bug>

</bugzilla>