<?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>22495</bug_id>
          
          <creation_ts>2008-11-25 13:52:28 -0800</creation_ts>
          <short_desc>Implement MediaQuery evaluation API on the Window object</short_desc>
          <delta_ts>2009-08-07 08:58:34 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100276</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2008-11-25 13:52:28 -0800</bug_when>
    <thetext>implement the method for media query evaluation as defined by:
http://webkit.org/specs/MediaQueriesExtensions.html
&lt;rdar://problem/6401013&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106345</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-01-20 11:10:09 -0800</bug_when>
    <thetext>Actually this is &lt;rdar://problem/6401043&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108791</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2009-02-06 18:25:23 -0800</bug_when>
    <thetext>See http://dev.w3.org/csswg/cssom-view/#the-media-interface

Probably should implement that instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137223</commentid>
    <comment_count>3</comment_count>
      <attachid>34109</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-04 18:34:29 -0700</bug_when>
    <thetext>Created attachment 34109
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137225</commentid>
    <comment_count>4</comment_count>
      <attachid>34110</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-04 18:35:17 -0700</bug_when>
    <thetext>Created attachment 34110
Test file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137258</commentid>
    <comment_count>5</comment_count>
      <attachid>34117</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-04 23:20:31 -0700</bug_when>
    <thetext>Created attachment 34117
Patch, changelog, testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137321</commentid>
    <comment_count>6</comment_count>
      <attachid>34117</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-05 09:30:08 -0700</bug_when>
    <thetext>Comment on attachment 34117
Patch, changelog, testcase

&gt; + * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.

What about 2009?

&gt; +#include &quot;config.h&quot;
&gt; +
&gt; +#include &quot;FrameView.h&quot;
&gt; +#include &quot;Media.h&quot;
&gt; +#include &quot;MediaList.h&quot;
&gt; +#include &quot;MediaQueryEvaluator.h&quot;
&gt; +#include &lt;wtf/RefPtr.h&gt;

The first include after &quot;config.h&quot; always needs to be that file&apos;s own header, in this case Media.h. I don&apos;t think all of these includes are needed. For example, I&apos;m sure the header already takes care of RefPtr.h. Maybe that&apos;s the only unneeded one.

&gt; +String Media::type() const
&gt; +{
&gt; +    if (FrameView* view = m_document-&gt;view())
&gt; +        return view-&gt;mediaType();
&gt; +
&gt; +    return String();
&gt; +}

Even in a short function like this one I prefer to use early exit for the failure case. But I know that gets in the way of scoping the &quot;view&quot; local variable. I don&apos;t feel too strongly about this.

&gt; +bool Media::matchMedium(const String&amp; query)
&gt; +{
&gt; +    MediaQueryEvaluator screenEval(type(), document()-&gt;frame(), 0);

What about when frame() is 0? What will happen in that case? Did you make a test to cover that?

Since you enhanced MediaQueryEvaluator to work without a RenderStyle*, then I think you need to overload the constructor to not require one, or use a default argument. The use of &quot;0&quot; here is unnecessarily confusing.

&gt; +    RefPtr&lt;MediaList&gt; media = MediaList::create(query, false);

Oh how I hate boolean arguments. Wonder what that false means.

&gt; +    if (media-&gt;mediaText() == &quot;invalid&quot;)
&gt; +        return false;

Is there some better way to test for invalid than a string compare? This seems weak.

&gt; +#include &quot;Document.h&quot;
&gt; +#include &lt;wtf/PassRefPtr.h&gt;
&gt; +#include &lt;wtf/RefCounted.h&gt;
&gt; +#include &lt;wtf/RefPtr.h&gt;
&gt; +#include &quot;PlatformString.h&quot;

You don&apos;t need all these includes, and they&apos;re not sorted properly.

&gt; +class Media : public RefCounted&lt;Media&gt; {
&gt; +public:
&gt; +    static PassRefPtr&lt;Media&gt; create(Document* document)
&gt; +    {
&gt; +        return adoptRef(new Media(document));
&gt; +    }
&gt; +
&gt; +    Document* document() const { return m_document; }
&gt; +
&gt; +    String type() const;
&gt; +
&gt; +    bool matchMedium(const String&amp;);
&gt; +    
&gt; +private:
&gt; +    Media(Document*);
&gt; +
&gt; +    Document* m_document;
&gt; +
&gt; +};

There is an extra blank line here.

Why is it OK here to use a raw pointer? Doesn&apos;t the Media need to ref-count the Document object? What prevents it from outlasting the document?

&gt; +        RefPtr&lt;RenderStyle&gt; style = m_style;
&gt; +        if (!style)
&gt; +            style = RenderStyle::create();

This gets slightly more efficient if you use ? : I think, with a bit less reference count churn:

    RefPtr&lt;RenderStyle&gt; style = m_style ? m_style : RenderStyle::create();

Does that compile?

I really do prefer to make the error case be the early out, so you should reverse that if and put the return false earlier.

review- because of the document lifetime issue, at least</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137354</commentid>
    <comment_count>7</comment_count>
      <attachid>34154</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-05 11:34:07 -0700</bug_when>
    <thetext>Created attachment 34154
Revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137398</commentid>
    <comment_count>8</comment_count>
      <attachid>34154</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-05 13:03:08 -0700</bug_when>
    <thetext>Comment on attachment 34154
Revised patch

&gt; +++ b/WebCore/css/Media.cpp
&gt; @@ -0,0 +1,67 @@
&gt; +/*
&gt; + * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.

Still no 2009 here. Why are there any other years listed? Isn&apos;t this newly-published code?

&gt; +String Media::type() const
&gt; +{
&gt; +    if (!m_document-&gt;view())
&gt; +        return String();
&gt; +
&gt; +    return m_document-&gt;view()-&gt;mediaType();
&gt; +}

I would normally use a local variable for something like this to make the connection between the null check and the code below more clear.

&gt; +    CSSStyleSelector* styleSelector = m_document-&gt;styleSelector();
&gt; +    if (!styleSelector || !m_document-&gt;documentElement() || !document()-&gt;frame())
&gt; +        return false;

Same comment.

&gt; +    RefPtr&lt;RenderStyle&gt; rootStyle = styleSelector-&gt;styleForElement(m_document-&gt;documentElement(), 0/*defaultParent*/, false /*allowSharing*/, true /*resolveForRootDefault*/);

You should be consistent about whether there&apos;s a space before &quot;/*&quot; or not.

&gt; +++ b/WebCore/css/Media.h
&gt; @@ -0,0 +1,57 @@
&gt; +/*
&gt; + * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.

Same copyright issue.

&gt; +#include &quot;Document.h&quot;
&gt; +#include &lt;wtf/PassRefPtr.h&gt;
&gt; +#include &lt;wtf/RefCounted.h&gt;
&gt; +#include &quot;PlatformString.h&quot;

There are extra includes here. I&apos;m sure Document.h includes PassRefPtr.h and RefCounted.h and perhaps it includes PlatformString.h as well.

Alternatively, you could implement an explicit destructor and then this header wouldn&apos;t need to include Document.h.

&gt; + * Copyright (C) 2009 Apple Inc.  All rights reserved.

Extra space here after the period. Sorry, I am in super-picky mode.

Is it correct for the media object to be attached to a specific document, even though you get it from a DOMWindow object? What happens if you get the object and then navigate (within the same domain, so cross-site issues don&apos;t come up)?

No substantive complains, so r=me but please consider my comments and question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137440</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-05 14:28:17 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 34154 [details])
&gt; &gt; +++ b/WebCore/css/Media.cpp
&gt; &gt; @@ -0,0 +1,67 @@
&gt; &gt; +/*
&gt; &gt; + * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
&gt; 
&gt; Still no 2009 here. Why are there any other years listed? Isn&apos;t this
&gt; newly-published code?

Fixed.

&gt; I would normally use a local variable for something like this to make the
&gt; connection between the null check and the code below more clear.
&gt; 
&gt; Same comment.
&gt; 
&gt; You should be consistent about whether there&apos;s a space before &quot;/*&quot; or not.

All fixed.

&gt; There are extra includes here. I&apos;m sure Document.h includes PassRefPtr.h and
&gt; RefCounted.h and perhaps it includes PlatformString.h as well.

Fixed.

&gt; Is it correct for the media object to be attached to a specific document, even
&gt; though you get it from a DOMWindow object? What happens if you get the object
&gt; and then navigate (within the same domain, so cross-site issues don&apos;t come up)?

I changed Media to reference a DOMWindow, which solves this issue.

http://trac.webkit.org/changeset/46816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137488</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-08-05 17:13:38 -0700</bug_when>
    <thetext>I rolled this out in r46823 as it broke many tests for the audio and video elements that used &quot;media&quot; as a variable name in the global scope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137489</commentid>
    <comment_count>11</comment_count>
      <attachid>34154</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-08-05 17:14:03 -0700</bug_when>
    <thetext>Comment on attachment 34154
Revised patch

Marking as r- as it needs revision to address the test breakages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137911</commentid>
    <comment_count>12</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-08-07 08:58:34 -0700</bug_when>
    <thetext>Revision landed as http://trac.webkit.org/changeset/46874, with V8 bindings build fix as http://trac.webkit.org/changeset/46894.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34109</attachid>
            <date>2009-08-04 18:34:29 -0700</date>
            <delta_ts>2009-08-05 10:35:39 -0700</delta_ts>
            <desc>Work in progress</desc>
            <filename>22495_wip_patch.txt</filename>
            <type>text/plain</type>
            <size>15166</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCAyYzk0ZGYwLi5hMDFlOTU3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xNzUsNiArMTc1LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgSW5zcGVjdG9yQmFja2VuZCBc
CiAgICAgS2V5Ym9hcmRFdmVudCBcCiAgICAgTG9jYXRpb24gXAorICAgIE1lZGlhIFwKICAgICBN
ZWRpYUVycm9yIFwKICAgICBNZWRpYUxpc3QgXAogICAgIE1lc3NhZ2VDaGFubmVsIFwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjkyNTI1My4uODgwMGY1
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3MSw2
ICsxNzEsMTIgQEAKIAkJMEZDRjMzMkQwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYlRpbGVkTGF5ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0YzMzI5
MEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJUaWxlZExheWVyLmggKi87IH07CiAJCTBGQ0YzMzJFMEYy
QjlBMjUwMDRCNjc5NSAvKiBXZWJMYXllci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0YzMzJBMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJMYXllci5t
bSAqLzsgfTsKIAkJMEZDRjMzMkYwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYkxheWVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyQjBGMkI5QTI1
MDA0QjY3OTUgLyogV2ViTGF5ZXIuaCAqLzsgfTsKKwkJMEZENDJEQzIxMDI5MEJGNzAwNDE2QjZB
IC8qIEpTTWVkaWEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZENDJEQzAxMDI5MEJGNzAwNDE2QjZBIC8qIEpTTWVkaWEuY3BwICovOyB9OworCQkw
RkQ0MkRDMzEwMjkwQkY3MDA0MTZCNkEgLyogSlNNZWRpYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENDJEQzExMDI5MEJGNzAwNDE2QjZBIC8qIEpT
TWVkaWEuaCAqLzsgfTsKKwkJMEZENDJEQ0IxMDI5MEMzQTAwNDE2QjZBIC8qIERPTU1lZGlhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ0MkRDOTEw
MjkwQzNBMDA0MTZCNkEgLyogRE9NTWVkaWEuaCAqLzsgfTsKKwkJMEZENDJEQ0MxMDI5MEMzQTAw
NDE2QjZBIC8qIERPTU1lZGlhLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZENDJEQ0ExMDI5MEMzQTAwNDE2QjZBIC8qIERPTU1lZGlhLm1tICovOyB9
OworCQkwRkQ0MkREMjEwMjkwQzY5MDA0MTZCNkEgLyogTWVkaWEuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENDJERDAxMDI5MEM2OTAwNDE2QjZB
IC8qIE1lZGlhLmNwcCAqLzsgfTsKKwkJMEZENDJERDMxMDI5MEM2OTAwNDE2QjZBIC8qIE1lZGlh
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ0MkRE
MTEwMjkwQzY5MDA0MTZCNkEgLyogTWVkaWEuaCAqLzsgfTsKIAkJMEZENzIzODIwRUM4QkQ5MzAw
Q0E1REQ3IC8qIEZsb2F0UXVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZENzIzODAwRUM4QkQ5MzAwQ0E1REQ3IC8qIEZsb2F0UXVhZC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGRDcyMzgzMEVD
OEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENzIzODEwRUM4QkQ5MzAwQ0E1REQ3IC8qIEZsb2F0UXVh
ZC5jcHAgKi87IH07CiAJCTE0MDI2NDVFMEFGREMxOUIwMDU5MTlFMiAvKiBMb2dnaW5nTWFjLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQwMjY0NUQw
QUZEQzE5QjAwNTkxOUUyIC8qIExvZ2dpbmdNYWMubW0gKi87IH07CkBAIC01MTAyLDYgKzUxMDgs
MTMgQEAKIAkJMEZDRjMzMjkwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYlRpbGVkTGF5ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVGlsZWRMYXllci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkNGMzMyQTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJMYXllci5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDRjMzMkIwRjJCOUEyNTAwNEI2Nzk1IC8q
IFdlYkxheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkxheWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDQyREI4MTAyOTBCNUYwMDQxNkI2QSAv
KiBNZWRpYS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWEuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkQ0MkRDMDEwMjkwQkY3MDA0MTZCNkEgLyogSlNNZWRpYS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZENDJEQzExMDI5MEJGNzAwNDE2QjZBIC8qIEpT
TWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ0MkRDOTEwMjkwQzNBMDA0MTZCNkEgLyogRE9N
TWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTWVkaWEuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZENDJEQ0ExMDI5MEMzQTAwNDE2QjZBIC8qIERP
TU1lZGlhLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NTWVk
aWEubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDQyREQwMTAyOTBDNjkwMDQx
NkI2QSAvKiBNZWRpYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
ZWRpYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDQyREQxMTAyOTBDNjkw
MDQxNkI2QSAvKiBNZWRpYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRp
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3MjM4MDBFQzhCRDkzMDBDQTVE
RDcgLyogRmxvYXRRdWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsb2F0
UXVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3MjM4MTBFQzhCRDkzMDBD
QTVERDcgLyogRmxvYXRRdWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEZsb2F0UXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0MDI2NDVE
MEFGREMxOUIwMDU5MTlFMiAvKiBMb2dnaW5nTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IExvZ2dpbmdNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMDUzMSw2ICsxMDU0NCw4IEBACiAJCTg1MDY1NzA0MEFBQjQ3NkMwMDJEMTVDMCAv
KiBTdHlsZVNoZWV0cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CisJCQkJMEZENDJEQzkxMDI5MEMzQTAwNDE2QjZBIC8qIERPTU1lZGlhLmggKi8sCisJCQkJMEZE
NDJEQ0ExMDI5MEMzQTAwNDE2QjZBIC8qIERPTU1lZGlhLm1tICovLAogCQkJCTg1MDY1NkY4MEFB
QjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QuaCAqLywKIAkJCQk4NTA2NTZGOTBBQUI0NzYz
MDAyRDE1QzAgLyogRE9NTWVkaWFMaXN0Lm1tICovLAogCQkJCTg1MDY1NkZBMEFBQjQ3NjMwMDJE
MTVDMCAvKiBET01TdHlsZVNoZWV0LmggKi8sCkBAIC0xMjAxNSw2ICsxMjAzMCw3IEBACiAJCQkJ
QTc3OTc5MTMwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgKi8sCiAJCQkJQTc3OTc5
MTQwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oICovLAogCQkJCUE3Nzk3OTE1MEQ2QjlE
MEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovLAorCQkJCTBGRDQyREI4MTAyOTBCNUYwMDQx
NkI2QSAvKiBNZWRpYS5pZGwgKi8sCiAJCQkJRTQ0NjEzOUIwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1l
ZGlhRXJyb3IuaCAqLywKIAkJCQlFNDQ2MTM5QzBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFFcnJv
ci5pZGwgKi8sCiAJCQkJRTRENEFCRTAwRDc1NDJGMDAwRjk2ODY5IC8qIFByZWxvYWRTY2FubmVy
LmNwcCAqLywKQEAgLTEyNTUzLDYgKzEyNTY5LDggQEAKIAkJCQlCQzY4NkM3OTBFMEMzMzAxMDBE
RThBMDggLyogSlNDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbi5oICovLAogCQkJCUJDNjg2QzdBMEUw
QzMzMDEwMERFOEEwOCAvKiBKU0NTU1ZhcmlhYmxlc1J1bGUuY3BwICovLAogCQkJCUJDNjg2QzdC
MEUwQzMzMDEwMERFOEEwOCAvKiBKU0NTU1ZhcmlhYmxlc1J1bGUuaCAqLywKKwkJCQkwRkQ0MkRD
MDEwMjkwQkY3MDA0MTZCNkEgLyogSlNNZWRpYS5jcHAgKi8sCisJCQkJMEZENDJEQzExMDI5MEJG
NzAwNDE2QjZBIC8qIEpTTWVkaWEuaCAqLywKIAkJCQlCQzNDMzlCNDBDMEQzRDhEMDA1RjREN0Eg
LyogSlNNZWRpYUxpc3QuY3BwICovLAogCQkJCUJDM0MzOUI1MEMwRDNEOEQwMDVGNEQ3QSAvKiBK
U01lZGlhTGlzdC5oICovLAogCQkJCUJDRkUyRjBGMEMxQjU4MzcwMDIwMjM1RiAvKiBKU1JlY3Qu
Y3BwICovLApAQCAtMTQzMDYsNiArMTQzMjQsOCBAQAogCQkJCTkzQ0E0QzlEMDlERjkzRkEwMERG
ODY3NyAvKiBtYWtldmFsdWVzLnBsICovLAogCQkJCTA3MEREOEY1MEYwMTg2ODAwMDcyN0RFQiAv
KiBtZWRpYUNvbnRyb2xzLmNzcyAqLywKIAkJCQkwN0FGRTU5MDBGMTQ0NkJEMDA4NDE2MTcgLyog
bWVkaWFDb250cm9sc1FULmNzcyAqLywKKwkJCQkwRkQ0MkREMDEwMjkwQzY5MDA0MTZCNkEgLyog
TWVkaWEuY3BwICovLAorCQkJCTBGRDQyREQxMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5oICov
LAogCQkJCTRFMTk1OTFGMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAg
Ki8sCiAJCQkJNEUxOTU5MjAwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmgg
Ki8sCiAJCQkJQThFQTgwMDEwQTE5NTE2RTAwQThFRjVGIC8qIE1lZGlhTGlzdC5jcHAgKi8sCkBA
IC0xNzA4NCw2ICsxNzEwNCw5IEBACiAJCQkJNDFBM0Q1OEYxMDFDMTUyRDAwMzE2RDA3IC8qIERl
ZGljYXRlZFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0EyNDU4N0MxMDIxRUFG
NDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA5
RkM0RTEwMjVERUUzMDA1OUNEQkEgLyogQWNjZXNzaWJpbGl0eVNsaWRlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEZENDJEQzMxMDI5MEJGNzAwNDE2QjZBIC8qIEpTTWVkaWEuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTBGRDQyRENCMTAyOTBDM0EwMDQxNkI2QSAvKiBET01NZWRpYS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZENDJERDMxMDI5MEM2OTAwNDE2QjZBIC8qIE1lZGlhLmggaW4gSGVhZGVy
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTE5MTI5LDYgKzE5MTUyLDkgQEAKIAkJCQk0MUEzRDU4RTEwMUMxNTJEMDAzMTZE
MDcgLyogRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBMjQ1
ODdCMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0b3JET01BZ2VudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwNzA5RkM0QzEwMjVERUQ4MDA1OUNEQkEgLyogQWNjZXNzaWJpbGl0eVNsaWRlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkQ0MkRDMjEwMjkwQkY3MDA0MTZCNkEgLyogSlNNZWRp
YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkQ0MkRDQzEwMjkwQzNBMDA0MTZCNkEgLyogRE9N
TWVkaWEubW0gaW4gU291cmNlcyAqLywKKwkJCQkwRkQ0MkREMjEwMjkwQzY5MDA0MTZCNkEgLyog
TWVkaWEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYS5j
cHAgYi9XZWJDb3JlL2Nzcy9NZWRpYS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZDUyNWU3ZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhLmNwcApA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIk1lZGlhLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK01lZGlhOjpNZWRpYShjb25zdCBTdHJpbmcmIHR5cGUpCisgICAg
OiBtX3R5cGUodHlwZSkKK3sKK30KKworYm9vbCBNZWRpYTo6bWF0Y2hNZWRpdW0oY29uc3QgU3Ry
aW5nJiBxdWVyeSkKK3sKKyAgICBNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvcihtX3R5cGUp
OworICAgIHJldHVybiBldmFsdWF0b3IubWVkaWFUeXBlTWF0Y2gocXVlcnkpOyAgICAgLy8gb3Ig
bWVkaWFUeXBlTWF0Y2hTcGVjaWZpYyA/Cit9CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhLmggYi9XZWJDb3JlL2Nzcy9NZWRpYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjRjMzRkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYS5o
CkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIE1lZGlhX2gKKyNkZWZp
bmUgTWVkaWFfaAorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworCitjbGFzcyBNZWRpYSA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhPiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWE+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IHR5cGUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhKHR5cGUpKTsK
KyAgICB9CisKKyAgICBjb25zdCBTdHJpbmcmIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7
IH0KKworICAgIGJvb2wgbWF0Y2hNZWRpdW0oY29uc3QgU3RyaW5nJik7CisgICAgCitwcml2YXRl
OgorICAgIE1lZGlhKGNvbnN0IFN0cmluZyYgdHlwZSk7CisKKyAgICBTdHJpbmcgbV90eXBlOwor
Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gTWVkaWFfaApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL01lZGlhLmlkbCBiL1dlYkNvcmUvaHRtbC9NZWRpYS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJiMzg0MQotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvaHRtbC9NZWRpYS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUg
dmlldyB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvciwKKyAg
ICBdIE1lZGlhIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwor
ICAgICAgICBib29sZWFuIG1hdGNoTWVkaXVtKGluIERPTVN0cmluZyBtZWRpYXF1ZXJ5KTsKKyAg
ICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Fic3RyYWN0Vmlldy5pZGwgYi9XZWJD
b3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbAppbmRleCA1YjdjZTg5Li4zNjg2NWRlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvQWJz
dHJhY3RWaWV3LmlkbApAQCAtMzEsNiArMzEsNyBAQCBtb2R1bGUgdmlld3MgewogICAgICAgICBP
YmpDQ3VzdG9tSW1wbGVtZW50YXRpb24KICAgICBdIEFic3RyYWN0VmlldyB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBkb2N1bWVudDsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIE1lZGlhIG1lZGlhOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZThmOTAw
NC4uYWUyOTk2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJI
aXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkxv
Y2F0aW9uLmgiCisjaW5jbHVkZSAiTWVkaWEuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIK
ICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0xMDAyLDYgKzEw
MDMsMTUgQEAgRG9jdW1lbnQqIERPTVdpbmRvdzo6ZG9jdW1lbnQoKSBjb25zdAogICAgIHJldHVy
biBtX2ZyYW1lLT5kb2N1bWVudCgpOwogfQogCitQYXNzUmVmUHRyPE1lZGlhPiBET01XaW5kb3c6
Om1lZGlhKCkgY29uc3QKK3sKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLT52aWV3KCk7
CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBNZWRpYTo6
Y3JlYXRlKHZpZXctPm1lZGlhVHlwZSgpKTsKK30KKwogUGFzc1JlZlB0cjxDU1NTdHlsZURlY2xh
cmF0aW9uPiBET01XaW5kb3c6OmdldENvbXB1dGVkU3R5bGUoRWxlbWVudCogZWx0LCBjb25zdCBT
dHJpbmcmKSBjb25zdAogewogICAgIGlmICghZWx0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGVhYzkzNmYuLjll
ZTUzN2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmgKQEAgLTUyLDYgKzUyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIEhpc3Rvcnk7CiAgICAgY2xhc3MgTG9jYXRpb247
CisgICAgY2xhc3MgTWVkaWE7CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xhc3MgTmF2
aWdhdG9yOwogICAgIGNsYXNzIE5vZGU7CkBAIC0xNzEsNiArMTcyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIC8vIERPTSBMZXZlbCAyIEFic3RyYWN0VmlldyBJbnRlcmZhY2UK
ICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Q7CisgICAgICAgIC8vIENTU09NIFZp
ZXcgTW9kdWxlCisgICAgICAgIFBhc3NSZWZQdHI8TWVkaWE+IG1lZGlhKCkgY29uc3Q7CiAKICAg
ICAgICAgLy8gRE9NIExldmVsIDIgU3R5bGUgSW50ZXJmYWNlCiAgICAgICAgIFBhc3NSZWZQdHI8
Q1NTU3R5bGVEZWNsYXJhdGlvbj4gZ2V0Q29tcHV0ZWRTdHlsZShFbGVtZW50KiwgY29uc3QgU3Ry
aW5nJiBwc2V1ZG9FbHQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBlMWM5ZmYwLi5lOTYwYmI4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbApAQCAtMTM5LDYgKzEzOSw5IEBAIG1vZHVsZSB3aW5kb3cgewogICAg
ICAgICAvLyBET00gTGV2ZWwgMiBBYnN0cmFjdFZpZXcgSW50ZXJmYWNlCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBkb2N1bWVudDsKIAorICAgICAgICAvLyBDU1NPTSBWaWV3
IE1vZHVsZQorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWEgbWVkaWE7CisKICAgICAg
ICAgLy8gRE9NIExldmVsIDIgU3R5bGUgSW50ZXJmYWNlCiAgICAgICAgIENTU1N0eWxlRGVjbGFy
YXRpb24gZ2V0Q29tcHV0ZWRTdHlsZShpbiBFbGVtZW50IGVsZW1lbnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01TdHJpbmcgcHNldWRvRWxlbWVu
dCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>34110</attachid>
            <date>2009-08-04 18:35:17 -0700</date>
            <delta_ts>2009-08-04 18:35:17 -0700</delta_ts>
            <desc>Test file</desc>
            <filename>media-query-testing.html</filename>
            <type>text/html</type>
            <size>687</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+TWVkaWEgcXVlcnkgdGVzdGVy
PC90aXRsZT4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgi
PgogICAgZnVuY3Rpb24gdGVzdFF1ZXJ5KHZhbHVlKQogICAgewogICAgICB2YXIgaXNUcnVlID0g
ZG9jdW1lbnQuZGVmYXVsdFZpZXcubWVkaWEubWF0Y2hNZWRpdW0odmFsdWUpOwoKICAgICAgdmFy
IHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKTsKICAgICAgcmVzdWx0
LmlubmVySFRNTCA9IHZhbHVlICsgJyBldmFsdWF0ZXMgdG8gJyArIChpc1RydWUgPyAnVFJVRScg
OiAnRkFMU0UnKTsKICAgIH0KICA8L3NjcmlwdD4KICAKPC9oZWFkPgo8Ym9keT4KClR5cGUgeW91
ciBxdWVyeSBoZXJlOjxpbnB1dCBvbmlucHV0PSJ0ZXN0UXVlcnkodGhpcy52YWx1ZSkiIHR5cGU9
InRleHQiIHNpemU9IjYwIj4KCjxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cgo8L2JvZHk+CjwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34117</attachid>
            <date>2009-08-04 23:20:31 -0700</date>
            <delta_ts>2009-08-05 11:34:07 -0700</delta_ts>
            <desc>Patch, changelog, testcase</desc>
            <filename>22495_patch.txt</filename>
            <type>text/plain</type>
            <size>40360</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjU0ZWVjLi43NjI2Yzk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDgt
MDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBtYXRjaE1l
ZGl1bSBtZXRob2Qgb24gdGhlIE1lZGlhIGludGVyZmFjZSBkZXNjcmliZWQgaW4gdGhlIENTU09N
IFZpZXcgTW9kdWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0OTUKKworICAgICAgICAqIGZhc3QvbWVkaWEvbWF0Y2htZWRpdW0tcXVlcnktYXBp
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYS9tYXRjaG1lZGl1bS1x
dWVyeS1hcGkuaHRtbDogQWRkZWQuCisKIDIwMDktMDgtMDQgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWF0Y2htZWRpdW0tcXVlcnktYXBpLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWF0Y2htZWRpdW0tcXVlcnktYXBp
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ2YjAz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tYXRjaG1lZGl1bS1x
dWVyeS1hcGktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgdGhlIG1lZGlhIGlu
dGVyZmFjZTogaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20tdmlldy8jdGhlLW1lZGlhLWlu
dGVyZmFjZS4KKworInNjcmVlbiIgZXZhbHVhdGVzIHRvIHRydWU6IFBBU1MKKyJwcm9qZWN0aW9u
IiBldmFsdWF0ZXMgdG8gZmFsc2U6IFBBU1MKKyJhbGwgYW5kIChjb2xvcikiIGV2YWx1YXRlcyB0
byB0cnVlOiBQQVNTCisibm90IHByb2plY3Rpb24gYW5kIChjb2xvcikiIGV2YWx1YXRlcyB0byB0
cnVlOiBQQVNTCisiKGNvbG9yKSIgZXZhbHVhdGVzIHRvIHRydWU6IFBBU1MKKyIoY29sb3IiIGV2
YWx1YXRlcyB0byBmYWxzZTogUEFTUworImNvbG9yIiBldmFsdWF0ZXMgdG8gZmFsc2U6IFBBU1MK
KyJnYXJiYWdlIiBldmFsdWF0ZXMgdG8gZmFsc2U6IFBBU1MKKyIobWluLWRldmljZS13aWR0aDog
MTAwcHgpIiBldmFsdWF0ZXMgdG8gdHJ1ZTogUEFTUworIihtaW4tZGV2aWNlLXdpZHRoOiA1MDAw
MHB4KSIgZXZhbHVhdGVzIHRvIGZhbHNlOiBQQVNTCisiKC13ZWJraXQtYW5pbWF0aW9uOiAxKSIg
ZXZhbHVhdGVzIHRvIHRydWU6IFBBU1MKKyIoLXdlYmtpdC10cmFuc2Zvcm0tMmQpIiBldmFsdWF0
ZXMgdG8gdHJ1ZTogUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21h
dGNobWVkaXVtLXF1ZXJ5LWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tYXRjaG1l
ZGl1bS1xdWVyeS1hcGkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45
NjM1M2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tYXRjaG1l
ZGl1bS1xdWVyeS1hcGkuaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorPHRp
dGxlPlRlc3QgQ1NTT00gVmlldyBtb2R1bGU6IE1lZGlhIGludGVyZmFjZTwvdGl0bGU+Cis8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorCis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIAorICBmdW5jdGlv
biBsb2cobSkKKyAgeworICAgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Jlc3VsdHMnKTsKKyAgICByZXN1bHRzLmlubmVySFRNTCArPSBtICsgJzxicj4nOworICB9Cisg
IAorICBmdW5jdGlvbiB0ZXN0UXVlcnkocXVlcnksIGV4cGVjdGVkKQorICB7CisgICAgdmFyIGlz
VHJ1ZSA9IGRvY3VtZW50LmRlZmF1bHRWaWV3Lm1lZGlhLm1hdGNoTWVkaXVtKHF1ZXJ5KTsKKwor
ICAgIHZhciBtZXNzYWdlID0gJ1wiJyArIHF1ZXJ5ICsgJ1wiIGV2YWx1YXRlcyB0byAnICsgKGlz
VHJ1ZSA/ICd0cnVlJyA6ICdmYWxzZScpOworICAgIG1lc3NhZ2UgKz0gKGlzVHJ1ZSA9PSBleHBl
Y3RlZCkgPyAnOiBQQVNTJyA6ICc6IEZBSUwnOworICAgIGxvZyhtZXNzYWdlKTsKKyAgfQorICAK
KyAgZnVuY3Rpb24gcnVuVGVzdHMoKQorICB7CisgICAgdGVzdFF1ZXJ5KCdzY3JlZW4nLCB0cnVl
KTsKKyAgICB0ZXN0UXVlcnkoJ3Byb2plY3Rpb24nLCBmYWxzZSk7CisKKyAgICB0ZXN0UXVlcnko
J2FsbCBhbmQgKGNvbG9yKScsIHRydWUpOworICAgIHRlc3RRdWVyeSgnbm90IHByb2plY3Rpb24g
YW5kIChjb2xvciknLCB0cnVlKTsKKyAgICB0ZXN0UXVlcnkoJyhjb2xvciknLCB0cnVlKTsKKyAg
ICB0ZXN0UXVlcnkoJyhjb2xvcicsIGZhbHNlKTsKKyAgICB0ZXN0UXVlcnkoJ2NvbG9yJywgZmFs
c2UpOworCisgICAgdGVzdFF1ZXJ5KCdnYXJiYWdlJywgZmFsc2UpOworCisgICAgdGVzdFF1ZXJ5
KCcobWluLWRldmljZS13aWR0aDogMTAwcHgpJywgdHJ1ZSk7CisgICAgdGVzdFF1ZXJ5KCcobWlu
LWRldmljZS13aWR0aDogNTAwMDBweCknLCBmYWxzZSk7CisKKyAgICB0ZXN0UXVlcnkoJygtd2Vi
a2l0LWFuaW1hdGlvbjogMSknLCB0cnVlKTsKKyAgICB0ZXN0UXVlcnkoJygtd2Via2l0LXRyYW5z
Zm9ybS0yZCknLCB0cnVlKTsKKyAgfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0icnVuVGVzdHMoKSI+CisgIDxwPlRlc3QgdGhlIG1lZGlhIGludGVyZmFjZTogPGEgaHJlZj0i
aHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20tdmlldy8jdGhlLW1lZGlhLWludGVyZmFjZSIg
dGl0bGU9IkNTU09NIFZpZXcgTW9kdWxlIj5odHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS12
aWV3LyN0aGUtbWVkaWEtaW50ZXJmYWNlPC9hPi48L3A+CisgIDxkaXYgaWQ9InJlc3VsdHMiPgor
ICAgIAorICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU0MzZlMS4uMDk2YWZlMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NSBAQAorMjAwOS0wOC0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBs
ZW1lbnQgdGhlIG1hdGNoTWVkaXVtIG1ldGhvZCBvbiB0aGUgTWVkaWEgaW50ZXJmYWNlIGRlc2Ny
aWJlZCBpbiB0aGUgQ1NTT00gVmlldyBNb2R1bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5NQorICAgICAgICAKKyAgICAgICAgQWRkIGEgbmV3
IE1lZGlhIGludGVyZmFjZSwgb2J0YWluYWJsZSB2aWEgdGhlIEFic3RyYWN0VmlldywgdGhhdCBj
YW4KKyAgICAgICAgZXZhbHVhdGUgcXVlcmllcyB2aWEgaXRzIG1hdGNoZXNNZWRpdW0oKSBtZXRo
b2QuCisgICAgICAgIAorICAgICAgICBUZXN0OiBmYXN0L21lZGlhL21hdGNobWVkaXVtLXF1ZXJ5
LWFwaS5odG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFdlYkNvcmVTb3VyY2VzLmJrbDoKKyAgICAgICAgQWRkIE1l
ZGlhLiogZmlsZXMgdG8gdGhlIGJ1aWxkLgorICAgICAgICAKKyAgICAgICAgKiBjc3MvTWVkaWEu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvTWVkaWEuaDogQWRkZWQuCisgICAgICAgICogY3Nz
L01lZGlhLmlkbDogQWRkZWQuCisgICAgICAgIE1lZGlhOjptYXRjaE1lZGl1bSgpIHVzZXMgYSBN
ZWRpYVF1ZXJ5RXZhbHVhdG9yKCkgdG8gdGVzdCB0aGUgcXVlcnkuCisKKyAgICAgICAgKiBjc3Mv
TWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXZh
bHVhdG9yOjpldmFsKToKKyAgICAgICAgRG9uJ3QgYmFpbCBpZiB0aGUgc3R5bGUgaXMgbnVsbCwg
YmVjYXVzZSB0aGF0IHByZXZlbnRzIHVzIGZyb20gcnVubmluZyBxdWVyaWVzCisgICAgICAgIHZp
YSB0aGUgTWVkaWEgb2JqZWN0OyBpbnN0ZWFkLCBtYWtlIGEgZGVmYXVsdCBSZW5kZXJTdHlsZS4K
KyAgICAgICAgCisgICAgICAgICogcGFnZS9BYnN0cmFjdFZpZXcuaWRsOgorICAgICAgICBBZGQg
YSByZWFkb25seSBhdHRyaWJ1dGUgZm9yIE1lZGlhLgorCisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjptZWRpYSk6IE1ldGhvZCB0aGF0
IHJldHVybnMgYSBNZWRpYSBvYmplY3QuCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgQWRkIG1lZGlhIHByb3BlcnR5
IGFuZCBnZXR0ZXIuCisKIDIwMDktMDgtMDQgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KIAogICAgICAgICBCdWcgMjc5OTQgLSBXQUktQVJJQTogYXJpYS12YWx1ZXRleHQg
bmVlZHMgdG8gYmUgaW1wbGVtZW50ZWQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMTQ1NTA2MC4uZmFiMDYx
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKQEAgLTE0OSw2ICsxNDksNyBAQAogI2luY2x1ZGUgIkpTSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50LmNwcCIKICNpbmNs
dWRlICJKU0xvY2F0aW9uLmNwcCIKKyNpbmNsdWRlICJKU01lZGlhLmNwcCIKICNpbmNsdWRlICJK
U01lZGlhRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFMaXN0LmNwcCIKICNpbmNsdWRlICJK
U01lc3NhZ2VDaGFubmVsLmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyYzk0ZGYwLi5hMDFlOTU3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNzUsNiArMTc1LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgSW5zcGVjdG9yQmFja2VuZCBcCiAgICAgS2V5Ym9hcmRFdmVudCBcCiAgICAgTG9jYXRpb24g
XAorICAgIE1lZGlhIFwKICAgICBNZWRpYUVycm9yIFwKICAgICBNZWRpYUxpc3QgXAogICAgIE1l
c3NhZ2VDaGFubmVsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDFmMWExYjAuLjgyMjZjYmUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtOTks
NiArOTksNyBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlc0Rl
Y2xhcmF0aW9uLmlkbCBcCiAJV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVzUnVsZS5pZGwgXAogCVdl
YkNvcmUvY3NzL0NvdW50ZXIuaWRsIFwKKwlXZWJDb3JlL2Nzcy9NZWRpYS5pZGwgXAogCVdlYkNv
cmUvY3NzL01lZGlhTGlzdC5pZGwgXAogCVdlYkNvcmUvY3NzL1JHQkNvbG9yLmlkbCBcCiAJV2Vi
Q29yZS9jc3MvUmVjdC5pZGwgXApAQCAtNTc5LDYgKzU4MCw4IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJV2ViQ29yZS9jc3MvRm9udFZhbHVlLmggXAogCVdlYkNvcmUvY3NzL01lZGlhRmVhdHVy
ZU5hbWVzLmNwcCBcCiAJV2ViQ29yZS9jc3MvTWVkaWFGZWF0dXJlTmFtZXMuaCBcCisJV2ViQ29y
ZS9jc3MvTWVkaWEuY3BwIFwKKwlXZWJDb3JlL2Nzcy9NZWRpYS5oIFwKIAlXZWJDb3JlL2Nzcy9N
ZWRpYUxpc3QuY3BwIFwKIAlXZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaCBcCiAJV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlZWU1YzQ2Li44YWQyNjMxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjAsNiArMjAs
NyBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NWYXJpYWJsZXNEZWNsYXJhdGlvbi5pZGwnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NWYXJpYWJsZXNSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0Nv
dW50ZXIuaWRsJywKKyAgICAgICAgICAgICdjc3MvTWVkaWEuaWRsJywKICAgICAgICAgICAgICdj
c3MvTWVkaWFMaXN0LmlkbCcsCiAgICAgICAgICAgICAnY3NzL1JHQkNvbG9yLmlkbCcsCiAgICAg
ICAgICAgICAnY3NzL1JlY3QuaWRsJywKQEAgLTg2NCw2ICs4NjUsOCBAQAogICAgICAgICAgICAg
J2Nzcy9Gb250VmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL01lZGlhRmVhdHVyZU5hbWVzLmNw
cCcsCiAgICAgICAgICAgICAnY3NzL01lZGlhRmVhdHVyZU5hbWVzLmgnLAorICAgICAgICAgICAg
J2Nzcy9NZWRpYS5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9NZWRpYS5oJywKICAgICAgICAgICAg
ICdjc3MvTWVkaWFMaXN0LmNwcCcsCiAgICAgICAgICAgICAnY3NzL01lZGlhTGlzdC5oJywKICAg
ICAgICAgICAgICdjc3MvTWVkaWFRdWVyeS5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZjNjYzgzNS4uMDM1N2U4MCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBA
IC0yODYsNiArMjg2LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBjc3MvQ1NTVmFsdWVMaXN0
LmlkbCBcCiAgICAgY3NzL0NTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmlkbCBcCiAgICAgY3NzL0NT
U1ZhcmlhYmxlc1J1bGUuaWRsIFwKKyAgICBjc3MvTWVkaWEuaWRsIFwKICAgICBjc3MvTWVkaWFM
aXN0LmlkbCBcCiAgICAgY3NzL1JHQkNvbG9yLmlkbCBcCiAgICAgY3NzL1JlY3QuaWRsIFwKQEAg
LTYwOCw2ICs2MDksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvRm9udEZhbWlseVZhbHVlLmNw
cCBcCiAgICAgY3NzL0ZvbnRWYWx1ZS5jcHAgXAogICAgIGNzcy9NZWRpYUZlYXR1cmVOYW1lcy5j
cHAgXAorICAgIGNzcy9NZWRpYS5jcHAgXAogICAgIGNzcy9NZWRpYUxpc3QuY3BwIFwKICAgICBj
c3MvTWVkaWFRdWVyeS5jcHAgXAogICAgIGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBcCkBA
IC0xMjY2LDYgKzEyNjgsNyBAQCBIRUFERVJTICs9IFwKICAgICBjc3MvRm9udEZhbWlseVZhbHVl
LmggXAogICAgIGNzcy9Gb250VmFsdWUuaCBcCiAgICAgY3NzL01lZGlhRmVhdHVyZU5hbWVzLmgg
XAorICAgIGNzcy9NZWRpYS5oIFwKICAgICBjc3MvTWVkaWFMaXN0LmggXAogICAgIGNzcy9NZWRp
YVF1ZXJ5RXZhbHVhdG9yLmggXAogICAgIGNzcy9NZWRpYVF1ZXJ5RXhwLmggXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMjY2OGUwMy4uZWVkNDY3MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02NTcxLDYgKzY1NzEsMTQgQEAKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhLmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZWRpYS5jcHAiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZWRpYUVycm9yLmNwcCIKIAkJ
CQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0yMTg2MCw2ICsyMTg2OCwxNCBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcTWVkaWEu
Y3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxj
c3NcTWVkaWEuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5cY3NzXE1lZGlhRmVhdHVyZU5hbWVzLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYxN2NkZDEuLjVkOGE3
MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzEs
NiArMTcxLDEyIEBACiAJCTBGQ0YzMzJEMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJUaWxlZExheWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMy
OTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViVGlsZWRMYXllci5oICovOyB9OwogCQkwRkNGMzMyRTBG
MkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyQTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIu
bW0gKi87IH07CiAJCTBGQ0YzMzJGMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJMYXllci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRjMzMkIwRjJCOUEy
NTAwNEI2Nzk1IC8qIFdlYkxheWVyLmggKi87IH07CisJCTBGRDQyREMyMTAyOTBCRjcwMDQxNkI2
QSAvKiBKU01lZGlhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRDQyREMwMTAyOTBCRjcwMDQxNkI2QSAvKiBKU01lZGlhLmNwcCAqLzsgfTsKKwkJ
MEZENDJEQzMxMDI5MEJGNzAwNDE2QjZBIC8qIEpTTWVkaWEuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDQyREMxMTAyOTBCRjcwMDQxNkI2QSAvKiBK
U01lZGlhLmggKi87IH07CisJCTBGRDQyRENCMTAyOTBDM0EwMDQxNkI2QSAvKiBET01NZWRpYS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENDJEQzkx
MDI5MEMzQTAwNDE2QjZBIC8qIERPTU1lZGlhLmggKi87IH07CisJCTBGRDQyRENDMTAyOTBDM0Ew
MDQxNkI2QSAvKiBET01NZWRpYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRDQyRENBMTAyOTBDM0EwMDQxNkI2QSAvKiBET01NZWRpYS5tbSAqLzsg
fTsKKwkJMEZENDJERDIxMDI5MEM2OTAwNDE2QjZBIC8qIE1lZGlhLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDQyREQwMTAyOTBDNjkwMDQxNkI2
QSAvKiBNZWRpYS5jcHAgKi87IH07CisJCTBGRDQyREQzMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRp
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENDJE
RDExMDI5MEM2OTAwNDE2QjZBIC8qIE1lZGlhLmggKi87IH07CiAJCTBGRDcyMzgyMEVDOEJEOTMw
MENBNURENyAvKiBGbG9hdFF1YWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRDcyMzgwMEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkQ3MjM4MzBF
QzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDcyMzgxMEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1
YWQuY3BwICovOyB9OwogCQkxNDAyNjQ1RTBBRkRDMTlCMDA1OTE5RTIgLyogTG9nZ2luZ01hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MDI2NDVE
MEFGREMxOUIwMDU5MTlFMiAvKiBMb2dnaW5nTWFjLm1tICovOyB9OwpAQCAtMjA2LDcgKzIxMiw2
IEBACiAJCTE0RTgzNzhFMDlGODVENEYwMEI4NUFFNCAvKiBKU0V2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEU4Mzc4RDA5Rjg1RDRGMDBCODVB
RTQgLyogSlNFdmVudC5oICovOyB9OwogCQkxNEZGRTMxRDBBRTE5NjMzMDAxMzZCRjUgLyogSFRN
TEZyYW1lRWxlbWVudEJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDE0RkZFMzFCMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVtZW50QmFz
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE0
RkZFMzFFMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZGRTMxQzBBRTE5NjMz
MDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwICovOyB9OwotCQkxNUM3NzA4QzEw
MEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDg5MTAwRDNDNkEwMDVCQTI2NyAvKiBW
YWxpZGl0eVN0YXRlLmlkbCAqLzsgfTsKIAkJMTVDNzcwOEQxMDBEM0M2QjAwNUJBMjY3IC8qIFZh
bGlkaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE1Qzc3MDhBMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmggKi87IH07CiAJ
CTE1Qzc3MDhFMTAwRDNDNkIwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDhCMTAwRDNDNkEwMDVC
QTI2NyAvKiBWYWxpZGl0eVN0YXRlLmNwcCAqLzsgfTsKIAkJMTVDNzcwOTMxMDBEM0NBODAwNUJB
MjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTVDNzcwOTExMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0
ZS5oICovOyB9OwpAQCAtNTg2LDcgKzU5MSw2IEBACiAJCTJFQ0Y3QUREMTAxNjJCMzgwMDQyN0RF
NyAvKiBKU0Vycm9yRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJFQ0Y3QURCMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZlbnQuaCAqLzsg
fTsKIAkJMkVDRjdBRTExMDE2MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVDRjdBREUxMDE2MkI1ODAw
NDI3REU3IC8qIEVycm9yRXZlbnQuY3BwICovOyB9OwogCQkyRUNGN0FFMjEwMTYyQjU4MDA0MjdE
RTcgLyogRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkVDRjdBREYxMDE2MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQuaCAqLzsgfTsK
LQkJMkVDRjdBRTMxMDE2MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQuaWRsIGluIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUNGN0FFMDEwMTYyQjU4MDA0
MjdERTcgLyogRXJyb3JFdmVudC5pZGwgKi87IH07CiAJCTMxMjg4RTcyMEUzMDA1RDYwMDM2MTlB
RSAvKiBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzEyODhFNkUwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENT
U0tleWZyYW1lUnVsZS5jcHAgKi87IH07CiAJCTMxMjg4RTczMEUzMDA1RDYwMDM2MTlBRSAvKiBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxMjg4RTZGMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlmcmFt
ZVJ1bGUuaCAqLzsgfTsKIAkJMzEyODhFNzQwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tl
eWZyYW1lc1J1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzEyODhFNzAwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tleWZyYW1lc1J1bGUu
Y3BwICovOyB9OwpAQCAtNjY1LDcgKzY2OSw2IEBACiAJCTQxNUI3QzYzMEZGNUE3NjcwMDY3NzBG
NyAvKiBKU1NoYXJlZFdvcmtlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTVCN0M2MjBGRjVBNzY3MDA2NzcwRjcgLyogSlNTaGFy
ZWRXb3JrZXJDb25zdHJ1Y3Rvci5oICovOyB9OwogCQk0MTYyQTQ1MDEwMTE0NUFFMDBERkYzRUQg
LyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ0RDEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVk
V29ya2VyQ29udGV4dC5jcHAgKi87IH07CiAJCTQxNjJBNDUxMTAxMTQ1QUUwMERGRjNFRCAvKiBE
ZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTYyQTQ0RTEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2Vy
Q29udGV4dC5oICovOyB9OwotCQk0MTYyQTQ1MjEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVk
V29ya2VyQ29udGV4dC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxNjJBNDRGMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250
ZXh0LmlkbCAqLzsgfTsKIAkJNDE2MkE0NTQxMDExNDVFMzAwREZGM0VEIC8qIEpTRGVkaWNhdGVk
V29ya2VyQ29udGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTYyQTQ1MzEwMTE0NUUzMDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJNDE2MkE0NTcxMDExNDY0NzAwREZGM0VEIC8q
IEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ1NTEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0
ZWRXb3JrZXJDb250ZXh0LmNwcCAqLzsgfTsKIAkJNDE2MkE0NTgxMDExNDY0NzAwREZGM0VEIC8q
IEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NTYxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVk
V29ya2VyQ29udGV4dC5oICovOyB9OwpAQCAtNjkwLDEwICs2OTMsOCBAQAogCQk0MUQwN0E3RjBG
RjkzNUNBMDA5NUVEQ0UgLyogSlNTaGFyZWRXb3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDA3QTdEMEZGOTM1Q0EwMDk1RURDRSAvKiBKU1No
YXJlZFdvcmtlci5oICovOyB9OwogCQk0MUUxQjFEMDBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJh
Y3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCAqLzsgfTsK
IAkJNDFFMUIxRDEwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUUxQjFDQjBGRjU5ODY5MDA1
NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaCAqLzsgfTsKLQkJNDFFMUIxRDIwRkY1OTg2OTAwNTc2
QjNCIC8qIEFic3RyYWN0V29ya2VyLmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0MwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29y
a2VyLmlkbCAqLzsgfTsKIAkJNDFFMUIxRDMwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUUx
QjFDRDBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmNwcCAqLzsgfTsKIAkJNDFFMUIx
RDQwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0UwRkY1OTg2OTAwNTc2QjNCIC8qIFNo
YXJlZFdvcmtlci5oICovOyB9OwotCQk0MUUxQjFENTBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVk
V29ya2VyLmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFFMUIxQ0YwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5pZGwgKi87IH07CiAJ
CTQxRjA2MENEMEY1RUVCMkIwMEEwN0VBQyAvKiBKU0luc3BlY3RvckJhY2tlbmQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGMDYwQ0IwRjVFRUIy
QjAwQTA3RUFDIC8qIEpTSW5zcGVjdG9yQmFja2VuZC5jcHAgKi87IH07CiAJCTQxRjA2MENFMEY1
RUVCMkIwMEEwN0VBQyAvKiBKU0luc3BlY3RvckJhY2tlbmQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MENDMEY1RUVCMkIwMEEwN0VBQyAvKiBK
U0luc3BlY3RvckJhY2tlbmQuaCAqLzsgfTsKIAkJNDFGMDYxNzQwRjVGMDBBQzAwQTA3RUFDIC8q
IEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGMDYxNzIwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3Rv
ckRPTVN0b3JhZ2VSZXNvdXJjZS5oICovOyB9OwpAQCAtMTAzMiw3ICsxMDMzLDYgQEAKIAkJN0Ey
NDU4N0MxMDIxRUFGNDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTI0NTg3QTEwMjFFQUY0MDAwQTAw
QUEgLyogSW5zcGVjdG9yRE9NQWdlbnQuaCAqLzsgfTsKIAkJN0E2NzRCREIwRjlFQkY0RTAwNkNG
MDk5IC8qIFBhZ2VHcm91cExvYWREZWZlcnJlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTY3NEJEOTBGOUVCRjRFMDA2Q0YwOTkgLyogUGFnZUdy
b3VwTG9hZERlZmVycmVyLmNwcCAqLzsgfTsKIAkJN0E2NzRCREMwRjlFQkY0RTAwNkNGMDk5IC8q
IFBhZ2VHcm91cExvYWREZWZlcnJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0E2NzRCREEwRjlFQkY0RTAwNkNGMDk5IC8qIFBhZ2VHcm91cExvYWRE
ZWZlcnJlci5oICovOyB9OwotCQk3QTc0RUNCNzEwMTgzOTlBMDBCRjkzOUUgLyogSW5zcGVjdG9y
QmFja2VuZC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdBNzRFQ0I2MTAxODM5OUEwMEJGOTM5RSAvKiBJbnNwZWN0b3JCYWNrZW5kLmlkbCAqLzsg
fTsKIAkJN0E3NEVDQkExMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckJhY2tlbmQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E3NEVDQjgxMDE4
MzlBNTAwQkY5MzlFIC8qIEluc3BlY3RvckJhY2tlbmQuY3BwICovOyB9OwogCQk3QTc0RUNCQjEw
MTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E3NEVDQjkxMDE4MzlBNjAwQkY5MzlFIC8qIElu
c3BlY3RvckJhY2tlbmQuaCAqLzsgfTsKIAkJN0E3NEVDQkQxMDE4MzlEQTAwQkY5MzlFIC8qIEpT
SW5zcGVjdG9yQmFja2VuZEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QTc0RUNCQzEwMTgzOURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JC
YWNrZW5kQ3VzdG9tLmNwcCAqLzsgfTsKQEAgLTM4ODUsNyArMzg4NSw2IEBACiAJCUJDMURFQTRG
MEUyNjhFQjYwMDgzQTczRiAvKiBKU0RvY3VtZW50RnJhZ21lbnRDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxREVBNEUwRTI2OEVCNjAw
ODNBNzNGIC8qIEpTRG9jdW1lbnRGcmFnbWVudEN1c3RvbS5jcHAgKi87IH07CiAJCUJDMjBGQjdG
MEMwRThFNkMwMEQxNDQ3RiAvKiBKU0NTU1ZhbHVlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjBGQjdFMEMwRThFNkMwMEQxNDQ3RiAv
KiBKU0NTU1ZhbHVlQ3VzdG9tLmNwcCAqLzsgfTsKIAkJQkMyMTJBMUYwRkU4MzMzMjAwRUMzNzA4
IC8qIEhUTUxEYXRhR3JpZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDMjEyQTFFMEZFODMzMzIwMEVDMzcwOCAvKiBIVE1MRGF0YUdyaWRF
bGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJQkMyMTJBMjQwRkU4MzQ1RDAwRUMzNzA4IC8qIEhUTUxEYXRhR3JpZEVsZW1lbnQuaWRsIGlu
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzIxMkEyMzBG
RTgzNDVEMDBFQzM3MDggLyogSFRNTERhdGFHcmlkRWxlbWVudC5pZGwgKi87IH07CiAJCUJDMjEy
QTQxMEZFODNBMTgwMEVDMzcwOCAvKiBKU0hUTUxEYXRhR3JpZEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyMTJBM0YwRkU4M0ExODAw
RUMzNzA4IC8qIEpTSFRNTERhdGFHcmlkRWxlbWVudC5jcHAgKi87IH07CiAJCUJDMjEyQTQyMEZF
ODNBMTgwMEVDMzcwOCAvKiBKU0hUTUxEYXRhR3JpZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjEyQTQwMEZFODNBMTgwMEVDMzcwOCAv
KiBKU0hUTUxEYXRhR3JpZEVsZW1lbnQuaCAqLzsgfTsKIAkJQkMyMjcyODcwRTgyRTcwNzAwRTdG
OTc1IC8qIFN0eWxlUmVmbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMyMjcyODYwRTgyRTcwNzAwRTdGOTc1IC8qIFN0eWxlUmVmbGVjdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00
MDc3LDI0ICs0MDc2LDE5IEBACiAJCUJDNzcyQzRGMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlw
ZVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzc3MkM0RDBDNEVCMzA0MDA4MzI4NUYgLyogTUlNRVR5cGVSZWdpc3RyeS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNzcyQzVFMEM0RUIz
NDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3NzJDNUQwQzRFQjM0NDAwODMyODVGIC8qIE1J
TUVUeXBlUmVnaXN0cnlNYWMubW0gKi87IH07CiAJCUJDNzdDQjg3MEZFQkY1QUYwMDcwODg3QiAv
KiBIVE1MRGF0YUdyaWRDb2xFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0I4NjBGRUJGNUFGMDA3MDg4N0IgLyogSFRNTERhdGFHcmlk
Q29sRWxlbWVudC5oICovOyB9OwotCQlCQzc3Q0I4OTBGRUJGNUJBMDA3MDg4N0IgLyogSFRNTERh
dGFHcmlkQ29sRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDNzdDQjg4MEZFQkY1QkEwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDb2xF
bGVtZW50LmlkbCAqLzsgfTsKIAkJQkM3N0NCQUEwRkVCRjZDOTAwNzA4ODdCIC8qIEhUTUxEYXRh
R3JpZENvbEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkM3N0NCQTkwRkVCRjZDOTAwNzA4ODdCIC8qIEhUTUxEYXRhR3JpZENvbEVsZW1l
bnQuY3BwICovOyB9OwogCQlCQzc3Q0JEMzBGRUJGODMxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdy
aWRDb2xFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDNzdDQkQxMEZFQkY4MzEwMDcwODg3QiAvKiBKU0hUTUxEYXRhR3JpZENvbEVsZW1l
bnQuY3BwICovOyB9OwogCQlCQzc3Q0JENDBGRUJGODMxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdy
aWRDb2xFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzc3Q0JEMjBGRUJGODMxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRDb2xFbGVtZW50
LmggKi87IH07Ci0JCUJDNzdDQzZDMEZFQzNENUYwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRSb3dF
bGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkM3N0NDNkIwRkVDM0Q1RjAwNzA4ODdCIC8qIEhUTUxEYXRhR3JpZFJvd0VsZW1lbnQuaWRs
ICovOyB9OwogCQlCQzc3Q0NFRTBGRUZERTZDMDA3MDg4N0IgLyogSFRNTERhdGFHcmlkUm93RWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3
N0NDRUQwRkVGREU2QzAwNzA4ODdCIC8qIEhUTUxEYXRhR3JpZFJvd0VsZW1lbnQuaCAqLzsgfTsK
IAkJQkM3N0NENDIwRkVGRTBDNDAwNzA4ODdCIC8qIEhUTUxEYXRhR3JpZFJvd0VsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3N0NENDEw
RkVGRTBDNDAwNzA4ODdCIC8qIEhUTUxEYXRhR3JpZFJvd0VsZW1lbnQuY3BwICovOyB9OwogCQlC
Qzc3Q0Q0RTBGRUZFMTYxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRSb3dFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzdDRDRDMEZF
RkUxNjEwMDcwODg3QiAvKiBKU0hUTUxEYXRhR3JpZFJvd0VsZW1lbnQuY3BwICovOyB9OwogCQlC
Qzc3Q0Q0RjBGRUZFMTYxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRSb3dFbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0Q0RDBGRUZF
MTYxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRSb3dFbGVtZW50LmggKi87IH07Ci0JCUJDNzdD
REEzMEZFRkVCNTMwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDZWxsRWxlbWVudC5pZGwgaW4gUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzdDREEyMEZFRkVC
NTMwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDZWxsRWxlbWVudC5pZGwgKi87IH07CiAJCUJDNzdD
REI4MEZFRkYxMjEwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDZWxsRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0RCNzBGRUZGMTIx
MDA3MDg4N0IgLyogSFRNTERhdGFHcmlkQ2VsbEVsZW1lbnQuY3BwICovOyB9OwogCQlCQzc3Q0RC
QzBGRUZGMTQyMDA3MDg4N0IgLyogSFRNTERhdGFHcmlkQ2VsbEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzdDREJCMEZFRkYxNDIwMDcw
ODg3QiAvKiBIVE1MRGF0YUdyaWRDZWxsRWxlbWVudC5oICovOyB9OwogCQlCQzc3Q0RDRTBGRUZG
MzNCMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0RDQzBGRUZGMzNCMDA3MDg4
N0IgLyogSlNIVE1MRGF0YUdyaWRDZWxsRWxlbWVudC5jcHAgKi87IH07CiAJCUJDNzdDRENGMEZF
RkYzM0IwMDcwODg3QiAvKiBKU0hUTUxEYXRhR3JpZENlbGxFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0RDRDBGRUZGMzNCMDA3MDg4
N0IgLyogSlNIVE1MRGF0YUdyaWRDZWxsRWxlbWVudC5oICovOyB9OwogCQlCQzc3Q0VCMzBGRjAx
N0YyMDA3MDg4N0IgLyogUmVuZGVyRGF0YUdyaWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzdDRUIyMEZGMDE3RjIwMDcwODg3QiAvKiBSZW5kZXJE
YXRhR3JpZC5oICovOyB9OwogCQlCQzc3Q0VDODBGRjAxQ0JFMDA3MDg4N0IgLyogUmVuZGVyRGF0
YUdyaWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM3N0NFQzcwRkYwMUNCRTAwNzA4ODdCIC8qIFJlbmRlckRhdGFHcmlkLmNwcCAqLzsgfTsKLQkJ
QkM3N0NGOTkwRkYxNzI0MjAwNzA4ODdCIC8qIERhdGFHcmlkQ29sdW1uTGlzdC5pZGwgaW4gUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzdDRjk4MEZGMTcy
NDIwMDcwODg3QiAvKiBEYXRhR3JpZENvbHVtbkxpc3QuaWRsICovOyB9OwotCQlCQzc3Q0Y5RjBG
RjE3MkIzMDA3MDg4N0IgLyogRGF0YUdyaWRDb2x1bW4uaWRsIGluIFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0Y5RTBGRjE3MkIzMDA3MDg4N0IgLyog
RGF0YUdyaWRDb2x1bW4uaWRsICovOyB9OwogCQlCQzc3Q0ZBQzBGRjE3M0QzMDA3MDg4N0IgLyog
RGF0YUdyaWRDb2x1bW5MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzc3Q0ZBQjBGRjE3M0QzMDA3MDg4N0IgLyogRGF0YUdyaWRDb2x1bW5MaXN0
LmggKi87IH07CiAJCUJDNzdDRkMyMEZGMTc1NTUwMDcwODg3QiAvKiBEYXRhR3JpZENvbHVtbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3N0NGQzEw
RkYxNzU1NTAwNzA4ODdCIC8qIERhdGFHcmlkQ29sdW1uLmggKi87IH07CiAJCUJDNzdEMTUyMEZG
MTlDNzMwMDcwODg3QiAvKiBKU0RhdGFHcmlkQ29sdW1uTGlzdEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3RDE1MTBGRjE5QzczMDA3
MDg4N0IgLyogSlNEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwICovOyB9OwpAQCAtNDUwOCw3
ICs0NTAyLDYgQEAKIAkJRjlGMEVEN0EwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudC5oICovOyB9OwogCQlGRTZGRDQ4NzBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0
ODQwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0ODgw
RjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4NTBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRp
bmF0ZXMuaCAqLzsgfTsKLQkJRkU2RkQ0ODkwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVz
LmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2
RkQ0ODYwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmlkbCAqLzsgfTsKIAkJRkU2RkQ0
OEQwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8q
IEpTQ29vcmRpbmF0ZXMuY3BwICovOyB9OwogCQlGRTZGRDQ4RTBGNjc2RTkzMDAwOTI4NzMgLyog
SlNDb29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkU2RkQ0OEMwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCAqLzsgfTsK
IAkJRkU3MDBERDEwRjkyRDgxQTAwOEUyQkZFIC8qIEpTQ29vcmRpbmF0ZXNDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU3MDBERDAwRjky
RDgxQTAwOEUyQkZFIC8qIEpTQ29vcmRpbmF0ZXNDdXN0b20uY3BwICovOyB9OwpAQCAtNTEwMiw4
ICs1MDk1LDE1IEBACiAJCTBGQ0YzMzI5MEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJUaWxlZExheWVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlRpbGVkTGF5ZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDRjMzMkEwRjJCOUEyNTAwNEI2Nzk1IC8qIFdl
YkxheWVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViTGF5
ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQ0YzMzJCMEYyQjlBMjUwMDRC
Njc5NSAvKiBXZWJMYXllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJM
YXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ0MkRDMDEwMjkwQkY3MDA0
MTZCNkEgLyogSlNNZWRpYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU01lZGlhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZENDJEQzExMDI5
MEJGNzAwNDE2QjZBIC8qIEpTTWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNNZWRpYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ0MkRDOTEwMjkw
QzNBMDA0MTZCNkEgLyogRE9NTWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NTWVkaWEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZENDJEQ0ExMDI5
MEMzQTAwNDE2QjZBIC8qIERPTU1lZGlhLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gRE9NTWVkaWEubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RDQyREQwMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNZWRpYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGRDQyREQxMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNZWRpYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3
MjM4MDBFQzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZsb2F0UXVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RkQ3MjM4MTBFQzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsb2F0UXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGRkUzQTg4MTAyOTVBN0YwMDI5QUMyOSAvKiBNZWRpYS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTWVkaWEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
NDAyNjQ1RDBBRkRDMTlCMDA1OTE5RTIgLyogTG9nZ2luZ01hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2dnaW5nTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxNDAzQjkwQzA5RUIxMjQ1MDA3OTdDN0YgLyogRE9NV2luZG93LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01XaW5kb3cuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNDAzQjk5NTA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvdy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTA1MzEsNiArMTA1MzEsOCBAQAogCQk4NTA2NTcwNDBBQUI0NzZDMDAy
RDE1QzAgLyogU3R5bGVTaGVldHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAorCQkJCTBGRDQyREM5MTAyOTBDM0EwMDQxNkI2QSAvKiBET01NZWRpYS5oICovLAor
CQkJCTBGRDQyRENBMTAyOTBDM0EwMDQxNkI2QSAvKiBET01NZWRpYS5tbSAqLywKIAkJCQk4NTA2
NTZGODBBQUI0NzYzMDAyRDE1QzAgLyogRE9NTWVkaWFMaXN0LmggKi8sCiAJCQkJODUwNjU2Rjkw
QUFCNDc2MzAwMkQxNUMwIC8qIERPTU1lZGlhTGlzdC5tbSAqLywKIAkJCQk4NTA2NTZGQTBBQUI0
NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldC5oICovLApAQCAtMTI1NTMsNiArMTI1NTUsOCBA
QAogCQkJCUJDNjg2Qzc5MEUwQzMzMDEwMERFOEEwOCAvKiBKU0NTU1ZhcmlhYmxlc0RlY2xhcmF0
aW9uLmggKi8sCiAJCQkJQkM2ODZDN0EwRTBDMzMwMTAwREU4QTA4IC8qIEpTQ1NTVmFyaWFibGVz
UnVsZS5jcHAgKi8sCiAJCQkJQkM2ODZDN0IwRTBDMzMwMTAwREU4QTA4IC8qIEpTQ1NTVmFyaWFi
bGVzUnVsZS5oICovLAorCQkJCTBGRDQyREMwMTAyOTBCRjcwMDQxNkI2QSAvKiBKU01lZGlhLmNw
cCAqLywKKwkJCQkwRkQ0MkRDMTEwMjkwQkY3MDA0MTZCNkEgLyogSlNNZWRpYS5oICovLAogCQkJ
CUJDM0MzOUI0MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01lZGlhTGlzdC5jcHAgKi8sCiAJCQkJQkMz
QzM5QjUwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8sCiAJCQkJQkNGRTJGMEYw
QzFCNTgzNzAwMjAyMzVGIC8qIEpTUmVjdC5jcHAgKi8sCkBAIC0xNDMwNiw2ICsxNDMxMCw5IEBA
CiAJCQkJOTNDQTRDOUQwOURGOTNGQTAwREY4Njc3IC8qIG1ha2V2YWx1ZXMucGwgKi8sCiAJCQkJ
MDcwREQ4RjUwRjAxODY4MDAwNzI3REVCIC8qIG1lZGlhQ29udHJvbHMuY3NzICovLAogCQkJCTA3
QUZFNTkwMEYxNDQ2QkQwMDg0MTYxNyAvKiBtZWRpYUNvbnRyb2xzUVQuY3NzICovLAorCQkJCTBG
RDQyREQwMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5jcHAgKi8sCisJCQkJMEZENDJERDExMDI5
MEM2OTAwNDE2QjZBIC8qIE1lZGlhLmggKi8sCisJCQkJMEZGRTNBODgxMDI5NUE3RjAwMjlBQzI5
IC8qIE1lZGlhLmlkbCAqLywKIAkJCQk0RTE5NTkxRjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFG
ZWF0dXJlTmFtZXMuY3BwICovLAogCQkJCTRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRp
YUZlYXR1cmVOYW1lcy5oICovLAogCQkJCUE4RUE4MDAxMEExOTUxNkUwMEE4RUY1RiAvKiBNZWRp
YUxpc3QuY3BwICovLApAQCAtMTcwODQsNiArMTcwOTEsOSBAQAogCQkJCTQxQTNENThGMTAxQzE1
MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdBMjQ1ODdDMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0b3JET01BZ2VudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDcwOUZDNEUxMDI1REVFMzAwNTlDREJBIC8qIEFjY2Vzc2liaWxpdHlTbGlk
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRDQyREMzMTAyOTBCRjcwMDQxNkI2QSAvKiBKU01l
ZGlhLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkQ0MkRDQjEwMjkwQzNBMDA0MTZCNkEgLyogRE9N
TWVkaWEuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRDQyREQzMTAyOTBDNjkwMDQxNkI2QSAvKiBN
ZWRpYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xNzE1NSwyMCArMTcxNjUsMTMgQEAKIAkJCQk0NkY5
RDVERDBCMEQ2MDE3MDAyOEVFMzYgLyogYWxpYXNDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywK
IAkJCQk0NkQ0RjI0OTBBRjk3RTgxMDAzNTM4NUEgLyogY2VsbEN1cnNvci5wbmcgaW4gUmVzb3Vy
Y2VzICovLAogCQkJCTQ2RDRGMjRBMEFGOTdFODEwMDM1Mzg1QSAvKiBjb250ZXh0TWVudUN1cnNv
ci5wbmcgaW4gUmVzb3VyY2VzICovLAotCQkJCUZFNkZENDg5MEY2NzZFNTcwMDA5Mjg3MyAvKiBD
b29yZGluYXRlcy5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJCTQ2MTRBMUZFMEIyM0E4RDYwMDQ0
NkUxQyAvKiBjb3B5Q3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJNDY0RUEyNzMwQjhB
MzUwQjAwQThFNkUzIC8qIGNyb3NzSGFpckN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAotCQkJ
CUJDNzdDRjlGMEZGMTcyQjMwMDcwODg3QiAvKiBEYXRhR3JpZENvbHVtbi5pZGwgaW4gUmVzb3Vy
Y2VzICovLAotCQkJCUJDNzdDRjk5MEZGMTcyNDIwMDcwODg3QiAvKiBEYXRhR3JpZENvbHVtbkxp
c3QuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCQkxQzE0RTc2QzBBRDhDODFDMDBCNjE1OEIgLyog
ZGVsZXRlQnV0dG9uLnRpZmYgaW4gUmVzb3VyY2VzICovLAogCQkJCTFDMTRFNzZCMEFEOEM4MUMw
MEI2MTU4QiAvKiBkZWxldGVCdXR0b25QcmVzc2VkLnRpZmYgaW4gUmVzb3VyY2VzICovLAogCQkJ
CTg1MTM2Qzk5MEFFRDY2NTkwMEY5MEEzRCAvKiBlYXN0UmVzaXplQ3Vyc29yLnBuZyBpbiBSZXNv
dXJjZXMgKi8sCiAJCQkJODUxMzZDOUEwQUVENjY1OTAwRjkwQTNEIC8qIGVhc3RXZXN0UmVzaXpl
Q3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJODUxMzZDOUIwQUVENjY1OTAwRjkwQTNE
IC8qIGhlbHBDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKLQkJCQlCQzc3Q0RBMzBGRUZFQjUz
MDA3MDg4N0IgLyogSFRNTERhdGFHcmlkQ2VsbEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywK
LQkJCQlCQzc3Q0I4OTBGRUJGNUJBMDA3MDg4N0IgLyogSFRNTERhdGFHcmlkQ29sRWxlbWVudC5p
ZGwgaW4gUmVzb3VyY2VzICovLAotCQkJCUJDMjEyQTI0MEZFODM0NUQwMEVDMzcwOCAvKiBIVE1M
RGF0YUdyaWRFbGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8sCi0JCQkJQkM3N0NDNkMwRkVDM0Q1
RjAwNzA4ODdCIC8qIEhUTUxEYXRhR3JpZFJvd0VsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywK
IAkJCQk4NTEzNkM5QzBBRUQ2NjU5MDBGOTBBM0QgLyogbGlua0N1cnNvci5wbmcgaW4gUmVzb3Vy
Y2VzICovLAogCQkJCTFDREMxNDA1MEREMzkzNEMwMDZFQUNEMyAvKiBsb2NhbGl6ZWRTdHJpbmdz
LmpzIGluIFJlc291cmNlcyAqLywKIAkJCQlBQjQyNjFEODBBMkY2Qzk3MDBCREQxN0QgLyogbWlz
c2luZ0ltYWdlLnRpZmYgaW4gUmVzb3VyY2VzICovLApAQCAtMTcxOTIsMTIgKzE3MTk1LDYgQEAK
IAkJCQk4NTEzNkNBODBBRUQ2NjU5MDBGOTBBM0QgLyogd2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4g
UmVzb3VyY2VzICovLAogCQkJCTFBQjFBRTdBMEMwNTFGREUwMDEzOUY0RiAvKiB6b29tSW5DdXJz
b3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYgLyog
em9vbU91dEN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAotCQkJCTQxRTFCMUQyMEZGNTk4Njkw
MDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5pZGwgaW4gUmVzb3VyY2VzICovLAotCQkJCTQxRTFC
MUQ1MEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaWRsIGluIFJlc291cmNlcyAqLywK
LQkJCQkxNUM3NzA4QzEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5pZGwgaW4gUmVz
b3VyY2VzICovLAotCQkJCTQxNjJBNDUyMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0LmlkbCBpbiBSZXNvdXJjZXMgKi8sCi0JCQkJMkVDRjdBRTMxMDE2MkI1ODAwNDI3
REU3IC8qIEVycm9yRXZlbnQuaWRsIGluIFJlc291cmNlcyAqLywKLQkJCQk3QTc0RUNCNzEwMTgz
OTlBMDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MTkxMjksNiArMTkxMjYsOSBAQAogCQkJCTQxQTNENThFMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0EyNDU4N0IxMDIxRUFG
NDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3
MDlGQzRDMTAyNURFRDgwMDU5Q0RCQSAvKiBBY2Nlc3NpYmlsaXR5U2xpZGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGRDQyREMyMTAyOTBCRjcwMDQxNkI2QSAvKiBKU01lZGlhLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGRDQyRENDMTAyOTBDM0EwMDQxNkI2QSAvKiBET01NZWRpYS5tbSBp
biBTb3VyY2VzICovLAorCQkJCTBGRDQyREQyMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsIGIv
V2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKaW5kZXggYjZhYjdhOS4uMTkyZGEyZSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKKysrIGIvV2ViQ29yZS9XZWJDb3JlU291
cmNlcy5ia2wKQEAgLTIxOCw2ICsyMTgsNyBAQCBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGxpc3Qg
b2YgZmlsZXMgbmVlZGVkIHRvIGJ1aWxkIFdlYkNvcmUuCiAgICAgICAgIGNzcy9Gb250RmFtaWx5
VmFsdWUuY3BwCiAgICAgICAgIGNzcy9Gb250VmFsdWUuY3BwCiAgICAgICAgIGNzcy9NZWRpYUZl
YXR1cmVOYW1lcy5jcHAKKyAgICAgICAgY3NzL01lZGlhLmNwcAogICAgICAgICBjc3MvTWVkaWFM
aXN0LmNwcAogICAgICAgICBjc3MvTWVkaWFRdWVyeS5jcHAKICAgICAgICAgY3NzL01lZGlhUXVl
cnlFdmFsdWF0b3IuY3BwCkBAIC0zNTgsNiArMzU5LDcgQEAgVGhpcyBmaWxlIGNvbnRhaW5zIHRo
ZSBsaXN0IG9mIGZpbGVzIG5lZWRlZCB0byBidWlsZCBXZWJDb3JlLgogICAgICAgICBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKICAgICAgICAgRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuY3BwCiAgICAgICAgIERlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5jcHAKKyAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhLmNwcAogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0
LmNwcAogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVzc2FnZUNoYW5uZWwuY3Bw
CiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXNzYWdlRXZlbnQuY3BwCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYS5jcHAgYi9XZWJDb3JlL2Nzcy9NZWRpYS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZmZmM4MQotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvY3NzL01lZGlhLmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVk
ZSAiTWVkaWEuaCIKKyNpbmNsdWRlICJNZWRpYUxpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK01lZGlhOjpNZWRpYShEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50
KGRvY3VtZW50KQoreworfQorCitTdHJpbmcgTWVkaWE6OnR5cGUoKSBjb25zdAoreworICAgIGlm
IChGcmFtZVZpZXcqIHZpZXcgPSBtX2RvY3VtZW50LT52aWV3KCkpCisgICAgICAgIHJldHVybiB2
aWV3LT5tZWRpYVR5cGUoKTsKKworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKworYm9vbCBNZWRp
YTo6bWF0Y2hNZWRpdW0oY29uc3QgU3RyaW5nJiBxdWVyeSkKK3sKKyAgICBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHNjcmVlbkV2YWwodHlwZSgpLCBkb2N1bWVudCgpLT5mcmFtZSgpLCAwKTsKKyAgICBS
ZWZQdHI8TWVkaWFMaXN0PiBtZWRpYSA9IE1lZGlhTGlzdDo6Y3JlYXRlKHF1ZXJ5LCBmYWxzZSk7
CisKKyAgICBpZiAobWVkaWEtPm1lZGlhVGV4dCgpID09ICJpbnZhbGlkIikKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHNjcmVlbkV2YWwuZXZhbChtZWRpYS5nZXQoKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlh
LmggYi9XZWJDb3JlL2Nzcy9NZWRpYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmY1OGE1YjEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYS5oCkBAIC0w
LDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIE1lZGlhX2gKKyNkZWZpbmUgTWVk
aWFfaAorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgTWVkaWEgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYT4geworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE1lZGlhPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYShkb2N1bWVudCkpOworICAgIH0KKworICAg
IERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKworICAg
IFN0cmluZyB0eXBlKCkgY29uc3Q7CisKKyAgICBib29sIG1hdGNoTWVkaXVtKGNvbnN0IFN0cmlu
ZyYpOworICAgIAorcHJpdmF0ZToKKyAgICBNZWRpYShEb2N1bWVudCopOworCisgICAgRG9jdW1l
bnQqIG1fZG9jdW1lbnQ7CisKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBNZWRp
YV9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYS5pZGwgYi9XZWJDb3JlL2Nzcy9NZWRp
YS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJiMzg0MQotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKK21vZHVsZSB2aWV3IHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBHZW5lcmF0ZUNv
bnN0cnVjdG9yLAorICAgIF0gTWVkaWEgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHR5cGU7CisgICAgICAgIGJvb2xlYW4gbWF0Y2hNZWRpdW0oaW4gRE9NU3RyaW5nIG1l
ZGlhcXVlcnkpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
RXZhbHVhdG9yLmNwcCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCmluZGV4
IDQ5NjNlZDQuLmRkZDQ2NjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFs
dWF0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC01
MDQsNyArNTA0LDcgQEAgc3RhdGljIHZvaWQgY3JlYXRlRnVuY3Rpb25NYXAoKQogCiBib29sIE1l
ZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWwoY29uc3QgTWVkaWFRdWVyeUV4cCogZXhwcikgY29uc3QK
IHsKLSAgICBpZiAoIW1fZnJhbWUgfHwgIW1fc3R5bGUpCisgICAgaWYgKCFtX2ZyYW1lKQogICAg
ICAgICByZXR1cm4gbV9leHBSZXN1bHQ7CiAKICAgICBpZiAoIWdGdW5jdGlvbk1hcCkKQEAgLTUx
NCw4ICs1MTQsMTIgQEAgYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsKGNvbnN0IE1lZGlh
UXVlcnlFeHAqIGV4cHIpIGNvbnN0CiAgICAgLy8gYW5kIGxldCB0cmFtcG9saW5lIGZ1bmN0aW9u
cyBvdmVycmlkZSB0aGUgcHJlZml4IGlmIHByZWZpeCBpcwogICAgIC8vIHVzZWQKICAgICBFdmFs
RnVuYyBmdW5jID0gZ0Z1bmN0aW9uTWFwLT5nZXQoZXhwci0+bWVkaWFGZWF0dXJlKCkuaW1wbCgp
KTsKLSAgICBpZiAoZnVuYykKLSAgICAgICAgcmV0dXJuIGZ1bmMoZXhwci0+dmFsdWUoKSwgbV9z
dHlsZSwgbV9mcmFtZSwgTm9QcmVmaXgpOworICAgIGlmIChmdW5jKSB7CisgICAgICAgIFJlZlB0
cjxSZW5kZXJTdHlsZT4gc3R5bGUgPSBtX3N0eWxlOworICAgICAgICBpZiAoIXN0eWxlKQorICAg
ICAgICAgICAgc3R5bGUgPSBSZW5kZXJTdHlsZTo6Y3JlYXRlKCk7CisgICAgICAgIHJldHVybiBm
dW5jKGV4cHItPnZhbHVlKCksIHN0eWxlLmdldCgpLCBtX2ZyYW1lLCBOb1ByZWZpeCk7CisgICAg
fQogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Fic3Ry
YWN0Vmlldy5pZGwgYi9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbAppbmRleCA1YjdjZTg5
Li4zNjg2NWRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbAorKysg
Yi9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbApAQCAtMzEsNiArMzEsNyBAQCBtb2R1bGUg
dmlld3MgewogICAgICAgICBPYmpDQ3VzdG9tSW1wbGVtZW50YXRpb24KICAgICBdIEFic3RyYWN0
VmlldyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBkb2N1bWVudDsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhIG1lZGlhOwogICAgIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKaW5kZXggZThmOTAwNC4uMDRmYTY1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTUxLDYgKzUx
LDcgQEAKICNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCisjaW5jbHVkZSAiTWVkaWEuaCIKICNpbmNsdWRl
ICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKICNpbmNsdWRlICJQYWdl
LmgiCkBAIC0xMDAyLDYgKzEwMDMsMTEgQEAgRG9jdW1lbnQqIERPTVdpbmRvdzo6ZG9jdW1lbnQo
KSBjb25zdAogICAgIHJldHVybiBtX2ZyYW1lLT5kb2N1bWVudCgpOwogfQogCitQYXNzUmVmUHRy
PE1lZGlhPiBET01XaW5kb3c6Om1lZGlhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTWVkaWE6OmNy
ZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpKTsKK30KKwogUGFzc1JlZlB0cjxDU1NTdHlsZURlY2xh
cmF0aW9uPiBET01XaW5kb3c6OmdldENvbXB1dGVkU3R5bGUoRWxlbWVudCogZWx0LCBjb25zdCBT
dHJpbmcmKSBjb25zdAogewogICAgIGlmICghZWx0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGVhYzkzNmYuLjll
ZTUzN2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmgKQEAgLTUyLDYgKzUyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIEhpc3Rvcnk7CiAgICAgY2xhc3MgTG9jYXRpb247
CisgICAgY2xhc3MgTWVkaWE7CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xhc3MgTmF2
aWdhdG9yOwogICAgIGNsYXNzIE5vZGU7CkBAIC0xNzEsNiArMTcyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIC8vIERPTSBMZXZlbCAyIEFic3RyYWN0VmlldyBJbnRlcmZhY2UK
ICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Q7CisgICAgICAgIC8vIENTU09NIFZp
ZXcgTW9kdWxlCisgICAgICAgIFBhc3NSZWZQdHI8TWVkaWE+IG1lZGlhKCkgY29uc3Q7CiAKICAg
ICAgICAgLy8gRE9NIExldmVsIDIgU3R5bGUgSW50ZXJmYWNlCiAgICAgICAgIFBhc3NSZWZQdHI8
Q1NTU3R5bGVEZWNsYXJhdGlvbj4gZ2V0Q29tcHV0ZWRTdHlsZShFbGVtZW50KiwgY29uc3QgU3Ry
aW5nJiBwc2V1ZG9FbHQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBlMWM5ZmYwLi5lOTYwYmI4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbApAQCAtMTM5LDYgKzEzOSw5IEBAIG1vZHVsZSB3aW5kb3cgewogICAg
ICAgICAvLyBET00gTGV2ZWwgMiBBYnN0cmFjdFZpZXcgSW50ZXJmYWNlCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBkb2N1bWVudDsKIAorICAgICAgICAvLyBDU1NPTSBWaWV3
IE1vZHVsZQorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWEgbWVkaWE7CisKICAgICAg
ICAgLy8gRE9NIExldmVsIDIgU3R5bGUgSW50ZXJmYWNlCiAgICAgICAgIENTU1N0eWxlRGVjbGFy
YXRpb24gZ2V0Q29tcHV0ZWRTdHlsZShpbiBFbGVtZW50IGVsZW1lbnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01TdHJpbmcgcHNldWRvRWxlbWVu
dCk7Cg==
</data>
<flag name="review"
          id="18281"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34154</attachid>
            <date>2009-08-05 11:34:07 -0700</date>
            <delta_ts>2009-08-05 17:14:03 -0700</delta_ts>
            <desc>Revised patch</desc>
            <filename>22495_patch.txt</filename>
            <type>text/plain</type>
            <size>39568</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyODI0NzZkLi42MDg5Yzc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDgt
MDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBtYXRjaE1l
ZGl1bSBtZXRob2Qgb24gdGhlIE1lZGlhIGludGVyZmFjZSBkZXNjcmliZWQgaW4gdGhlIENTU09N
IFZpZXcgTW9kdWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0OTUKKworICAgICAgICAqIGZhc3QvbWVkaWEvbWF0Y2htZWRpdW0tcXVlcnktYXBp
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYS9tYXRjaG1lZGl1bS1x
dWVyeS1hcGkuaHRtbDogQWRkZWQuCisKIDIwMDktMDgtMDQgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWF0Y2htZWRpdW0tcXVlcnktYXBpLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWF0Y2htZWRpdW0tcXVlcnktYXBpLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ2YjAzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tYXRjaG1lZGl1bS1xdWVyeS1h
cGktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgdGhlIG1lZGlhIGludGVyZmFj
ZTogaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20tdmlldy8jdGhlLW1lZGlhLWludGVyZmFj
ZS4KKworInNjcmVlbiIgZXZhbHVhdGVzIHRvIHRydWU6IFBBU1MKKyJwcm9qZWN0aW9uIiBldmFs
dWF0ZXMgdG8gZmFsc2U6IFBBU1MKKyJhbGwgYW5kIChjb2xvcikiIGV2YWx1YXRlcyB0byB0cnVl
OiBQQVNTCisibm90IHByb2plY3Rpb24gYW5kIChjb2xvcikiIGV2YWx1YXRlcyB0byB0cnVlOiBQ
QVNTCisiKGNvbG9yKSIgZXZhbHVhdGVzIHRvIHRydWU6IFBBU1MKKyIoY29sb3IiIGV2YWx1YXRl
cyB0byBmYWxzZTogUEFTUworImNvbG9yIiBldmFsdWF0ZXMgdG8gZmFsc2U6IFBBU1MKKyJnYXJi
YWdlIiBldmFsdWF0ZXMgdG8gZmFsc2U6IFBBU1MKKyIobWluLWRldmljZS13aWR0aDogMTAwcHgp
IiBldmFsdWF0ZXMgdG8gdHJ1ZTogUEFTUworIihtaW4tZGV2aWNlLXdpZHRoOiA1MDAwMHB4KSIg
ZXZhbHVhdGVzIHRvIGZhbHNlOiBQQVNTCisiKC13ZWJraXQtYW5pbWF0aW9uOiAxKSIgZXZhbHVh
dGVzIHRvIHRydWU6IFBBU1MKKyIoLXdlYmtpdC10cmFuc2Zvcm0tMmQpIiBldmFsdWF0ZXMgdG8g
dHJ1ZTogUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21hdGNobWVk
aXVtLXF1ZXJ5LWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tYXRjaG1lZGl1bS1x
dWVyeS1hcGkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjM1M2Y4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tYXRjaG1lZGl1bS1x
dWVyeS1hcGkuaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRl
c3QgQ1NTT00gVmlldyBtb2R1bGU6IE1lZGlhIGludGVyZmFjZTwvdGl0bGU+Cis8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgorCis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IGNoYXJzZXQ9InV0Zi04Ij4KKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIAorICBmdW5jdGlvbiBsb2co
bSkKKyAgeworICAgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3Vs
dHMnKTsKKyAgICByZXN1bHRzLmlubmVySFRNTCArPSBtICsgJzxicj4nOworICB9CisgIAorICBm
dW5jdGlvbiB0ZXN0UXVlcnkocXVlcnksIGV4cGVjdGVkKQorICB7CisgICAgdmFyIGlzVHJ1ZSA9
IGRvY3VtZW50LmRlZmF1bHRWaWV3Lm1lZGlhLm1hdGNoTWVkaXVtKHF1ZXJ5KTsKKworICAgIHZh
ciBtZXNzYWdlID0gJ1wiJyArIHF1ZXJ5ICsgJ1wiIGV2YWx1YXRlcyB0byAnICsgKGlzVHJ1ZSA/
ICd0cnVlJyA6ICdmYWxzZScpOworICAgIG1lc3NhZ2UgKz0gKGlzVHJ1ZSA9PSBleHBlY3RlZCkg
PyAnOiBQQVNTJyA6ICc6IEZBSUwnOworICAgIGxvZyhtZXNzYWdlKTsKKyAgfQorICAKKyAgZnVu
Y3Rpb24gcnVuVGVzdHMoKQorICB7CisgICAgdGVzdFF1ZXJ5KCdzY3JlZW4nLCB0cnVlKTsKKyAg
ICB0ZXN0UXVlcnkoJ3Byb2plY3Rpb24nLCBmYWxzZSk7CisKKyAgICB0ZXN0UXVlcnkoJ2FsbCBh
bmQgKGNvbG9yKScsIHRydWUpOworICAgIHRlc3RRdWVyeSgnbm90IHByb2plY3Rpb24gYW5kIChj
b2xvciknLCB0cnVlKTsKKyAgICB0ZXN0UXVlcnkoJyhjb2xvciknLCB0cnVlKTsKKyAgICB0ZXN0
UXVlcnkoJyhjb2xvcicsIGZhbHNlKTsKKyAgICB0ZXN0UXVlcnkoJ2NvbG9yJywgZmFsc2UpOwor
CisgICAgdGVzdFF1ZXJ5KCdnYXJiYWdlJywgZmFsc2UpOworCisgICAgdGVzdFF1ZXJ5KCcobWlu
LWRldmljZS13aWR0aDogMTAwcHgpJywgdHJ1ZSk7CisgICAgdGVzdFF1ZXJ5KCcobWluLWRldmlj
ZS13aWR0aDogNTAwMDBweCknLCBmYWxzZSk7CisKKyAgICB0ZXN0UXVlcnkoJygtd2Via2l0LWFu
aW1hdGlvbjogMSknLCB0cnVlKTsKKyAgICB0ZXN0UXVlcnkoJygtd2Via2l0LXRyYW5zZm9ybS0y
ZCknLCB0cnVlKTsKKyAgfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdHMoKSI+CisgIDxwPlRlc3QgdGhlIG1lZGlhIGludGVyZmFjZTogPGEgaHJlZj0iaHR0cDov
L2Rldi53My5vcmcvY3Nzd2cvY3Nzb20tdmlldy8jdGhlLW1lZGlhLWludGVyZmFjZSIgdGl0bGU9
IkNTU09NIFZpZXcgTW9kdWxlIj5odHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS12aWV3LyN0
aGUtbWVkaWEtaW50ZXJmYWNlPC9hPi48L3A+CisgIDxkaXYgaWQ9InJlc3VsdHMiPgorICAgIAor
ICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGRiNTlmOC4uOGQ1ODY5NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBA
QAorMjAwOS0wOC0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQg
dGhlIG1hdGNoTWVkaXVtIG1ldGhvZCBvbiB0aGUgTWVkaWEgaW50ZXJmYWNlIGRlc2NyaWJlZCBp
biB0aGUgQ1NTT00gVmlldyBNb2R1bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ5NQorICAgICAgICAKKyAgICAgICAgQWRkIGEgbmV3IE1lZGlh
IGludGVyZmFjZSwgb2J0YWluYWJsZSB2aWEgdGhlIEFic3RyYWN0VmlldywgdGhhdCBjYW4KKyAg
ICAgICAgZXZhbHVhdGUgcXVlcmllcyB2aWEgaXRzIG1hdGNoZXNNZWRpdW0oKSBtZXRob2QuCisK
KyAgICAgICAgVGVzdDogZmFzdC9tZWRpYS9tYXRjaG1lZGl1bS1xdWVyeS1hcGkuaHRtbAorCisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlU291cmNlcy5ia2w6CisgICAgICAgIEFkZCBNZWRpYS4qIGZpbGVzIHRv
IHRoZSBidWlsZC4KKworICAgICAgICAqIGNzcy9NZWRpYS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWE6Ok1lZGlhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhOjp0eXBlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhOjptYXRjaE1lZGl1bSk6CisgICAgICAgICogY3NzL01l
ZGlhLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWE6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYTo6ZG9jdW1lbnQpOgorICAgICAgICAqIGNzcy9NZWRpYS5pZGw6IEFk
ZGVkLgorICAgICAgICBNZWRpYTo6bWF0Y2hNZWRpdW0oKSB1c2VzIGEgTWVkaWFRdWVyeUV2YWx1
YXRvcigpIHRvIHRlc3QgdGhlIHF1ZXJ5LgorCisgICAgICAgICogcGFnZS9BYnN0cmFjdFZpZXcu
aWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6bWVkaWEpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICog
cGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICBBZGQgYSByZWFkb25seSBhdHRyaWJ1dGUgZm9y
IE1lZGlhLgorCiAyMDA5LTA4LTA1ICBBbmRyYXMgQmVjc2kgIDxiZWNzaS5hbmRyYXNAc3R1ZC51
LXN6ZWdlZC5odT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKaW5kZXggMTQ1NTA2MC4uZmFiMDYxNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTE0OSw2ICsx
NDksNyBAQAogI2luY2x1ZGUgIkpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAi
SlNLZXlib2FyZEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0xvY2F0aW9uLmNwcCIKKyNpbmNsdWRl
ICJKU01lZGlhLmNwcCIKICNpbmNsdWRlICJKU01lZGlhRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpT
TWVkaWFMaXN0LmNwcCIKICNpbmNsdWRlICJKU01lc3NhZ2VDaGFubmVsLmNwcCIKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCAyYzk0ZGYwLi5hMDFlOTU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNzUsNiAr
MTc1LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgSW5zcGVjdG9yQmFja2VuZCBcCiAgICAgS2V5
Ym9hcmRFdmVudCBcCiAgICAgTG9jYXRpb24gXAorICAgIE1lZGlhIFwKICAgICBNZWRpYUVycm9y
IFwKICAgICBNZWRpYUxpc3QgXAogICAgIE1lc3NhZ2VDaGFubmVsIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDFmMWEx
YjAuLjgyMjZjYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtOTksNiArOTksNyBAQCBJRExfQklORElOR1MgKz0gXAog
CVdlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmlkbCBcCiAJV2ViQ29yZS9jc3Mv
Q1NTVmFyaWFibGVzUnVsZS5pZGwgXAogCVdlYkNvcmUvY3NzL0NvdW50ZXIuaWRsIFwKKwlXZWJD
b3JlL2Nzcy9NZWRpYS5pZGwgXAogCVdlYkNvcmUvY3NzL01lZGlhTGlzdC5pZGwgXAogCVdlYkNv
cmUvY3NzL1JHQkNvbG9yLmlkbCBcCiAJV2ViQ29yZS9jc3MvUmVjdC5pZGwgXApAQCAtNTc5LDYg
KzU4MCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9jc3MvRm9udFZhbHVlLmgg
XAogCVdlYkNvcmUvY3NzL01lZGlhRmVhdHVyZU5hbWVzLmNwcCBcCiAJV2ViQ29yZS9jc3MvTWVk
aWFGZWF0dXJlTmFtZXMuaCBcCisJV2ViQ29yZS9jc3MvTWVkaWEuY3BwIFwKKwlXZWJDb3JlL2Nz
cy9NZWRpYS5oIFwKIAlXZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwIFwKIAlXZWJDb3JlL2Nzcy9N
ZWRpYUxpc3QuaCBcCiAJV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5jcHAgXApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlZWU1YzQ2
Li44YWQyNjMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtMjAsNiArMjAsNyBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NWYXJp
YWJsZXNEZWNsYXJhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NWYXJpYWJsZXNSdWxl
LmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NvdW50ZXIuaWRsJywKKyAgICAgICAgICAgICdjc3Mv
TWVkaWEuaWRsJywKICAgICAgICAgICAgICdjc3MvTWVkaWFMaXN0LmlkbCcsCiAgICAgICAgICAg
ICAnY3NzL1JHQkNvbG9yLmlkbCcsCiAgICAgICAgICAgICAnY3NzL1JlY3QuaWRsJywKQEAgLTg2
NCw2ICs4NjUsOCBAQAogICAgICAgICAgICAgJ2Nzcy9Gb250VmFsdWUuaCcsCiAgICAgICAgICAg
ICAnY3NzL01lZGlhRmVhdHVyZU5hbWVzLmNwcCcsCiAgICAgICAgICAgICAnY3NzL01lZGlhRmVh
dHVyZU5hbWVzLmgnLAorICAgICAgICAgICAgJ2Nzcy9NZWRpYS5jcHAnLAorICAgICAgICAgICAg
J2Nzcy9NZWRpYS5oJywKICAgICAgICAgICAgICdjc3MvTWVkaWFMaXN0LmNwcCcsCiAgICAgICAg
ICAgICAnY3NzL01lZGlhTGlzdC5oJywKICAgICAgICAgICAgICdjc3MvTWVkaWFRdWVyeS5jcHAn
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8K
aW5kZXggYjYyMDNjYy4uZDRiM2E5NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybwor
KysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yODYsNiArMjg2LDcgQEAgSURMX0JJTkRJTkdT
ICs9IFwKICAgICBjc3MvQ1NTVmFsdWVMaXN0LmlkbCBcCiAgICAgY3NzL0NTU1ZhcmlhYmxlc0Rl
Y2xhcmF0aW9uLmlkbCBcCiAgICAgY3NzL0NTU1ZhcmlhYmxlc1J1bGUuaWRsIFwKKyAgICBjc3Mv
TWVkaWEuaWRsIFwKICAgICBjc3MvTWVkaWFMaXN0LmlkbCBcCiAgICAgY3NzL1JHQkNvbG9yLmlk
bCBcCiAgICAgY3NzL1JlY3QuaWRsIFwKQEAgLTYwOCw2ICs2MDksNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBjc3MvRm9udEZhbWlseVZhbHVlLmNwcCBcCiAgICAgY3NzL0ZvbnRWYWx1ZS5jcHAgXAog
ICAgIGNzcy9NZWRpYUZlYXR1cmVOYW1lcy5jcHAgXAorICAgIGNzcy9NZWRpYS5jcHAgXAogICAg
IGNzcy9NZWRpYUxpc3QuY3BwIFwKICAgICBjc3MvTWVkaWFRdWVyeS5jcHAgXAogICAgIGNzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBcCkBAIC0xMjY2LDYgKzEyNjgsNyBAQCBIRUFERVJTICs9
IFwKICAgICBjc3MvRm9udEZhbWlseVZhbHVlLmggXAogICAgIGNzcy9Gb250VmFsdWUuaCBcCiAg
ICAgY3NzL01lZGlhRmVhdHVyZU5hbWVzLmggXAorICAgIGNzcy9NZWRpYS5oIFwKICAgICBjc3Mv
TWVkaWFMaXN0LmggXAogICAgIGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggXAogICAgIGNzcy9N
ZWRpYVF1ZXJ5RXhwLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
MjY2OGUwMy4uZWVkNDY3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBA
IC02NTcxLDYgKzY1NzEsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU01lZGlhLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNNZWRpYS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNNZWRpYUVycm9yLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBA
IC0yMTg2MCw2ICsyMTg2OCwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxjc3NcTWVkaWEuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcTWVkaWEuaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXE1lZGlhRmVhdHVyZU5hbWVzLmNw
cCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDYxN2NkZDEuLjVkOGE3MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzEsNiArMTcxLDEyIEBACiAJCTBGQ0YzMzJEMEYyQjlB
MjUwMDRCNjc5NSAvKiBXZWJUaWxlZExheWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyOTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViVGlsZWRM
YXllci5oICovOyB9OwogCQkwRkNGMzMyRTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyQTBG
MkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIubW0gKi87IH07CiAJCTBGQ0YzMzJGMEYyQjlBMjUw
MDRCNjc5NSAvKiBXZWJMYXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDRjMzMkIwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYkxheWVyLmggKi87IH07
CisJCTBGRDQyREMyMTAyOTBCRjcwMDQxNkI2QSAvKiBKU01lZGlhLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDQyREMwMTAyOTBCRjcwMDQxNkI2
QSAvKiBKU01lZGlhLmNwcCAqLzsgfTsKKwkJMEZENDJEQzMxMDI5MEJGNzAwNDE2QjZBIC8qIEpT
TWVkaWEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RDQyREMxMTAyOTBCRjcwMDQxNkI2QSAvKiBKU01lZGlhLmggKi87IH07CisJCTBGRDQyRENCMTAy
OTBDM0EwMDQxNkI2QSAvKiBET01NZWRpYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZENDJEQzkxMDI5MEMzQTAwNDE2QjZBIC8qIERPTU1lZGlhLmgg
Ki87IH07CisJCTBGRDQyRENDMTAyOTBDM0EwMDQxNkI2QSAvKiBET01NZWRpYS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDQyRENBMTAyOTBDM0Ew
MDQxNkI2QSAvKiBET01NZWRpYS5tbSAqLzsgfTsKKwkJMEZENDJERDIxMDI5MEM2OTAwNDE2QjZB
IC8qIE1lZGlhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRDQyREQwMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5jcHAgKi87IH07CisJCTBGRDQy
REQzMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENDJERDExMDI5MEM2OTAwNDE2QjZBIC8qIE1lZGlhLmgg
Ki87IH07CiAJCTBGRDcyMzgyMEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDcyMzgwMEVDOEJEOTMw
MENBNURENyAvKiBGbG9hdFF1YWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkwRkQ3MjM4MzBFQzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDcyMzgx
MEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuY3BwICovOyB9OwogCQkxNDAyNjQ1RTBBRkRD
MTlCMDA1OTE5RTIgLyogTG9nZ2luZ01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MDI2NDVEMEFGREMxOUIwMDU5MTlFMiAvKiBMb2dnaW5nTWFj
Lm1tICovOyB9OwpAQCAtMjA2LDcgKzIxMiw2IEBACiAJCTE0RTgzNzhFMDlGODVENEYwMEI4NUFF
NCAvKiBKU0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNEU4Mzc4RDA5Rjg1RDRGMDBCODVBRTQgLyogSlNFdmVudC5oICovOyB9OwogCQkxNEZG
RTMxRDBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RkZFMzFCMEFFMTk2MzMwMDEz
NkJGNSAvKiBIVE1MRnJhbWVFbGVtZW50QmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE0RkZFMzFFMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1M
RnJhbWVFbGVtZW50QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNEZGRTMxQzBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJh
c2UuY3BwICovOyB9OwotCQkxNUM3NzA4QzEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0
ZS5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1
Qzc3MDg5MTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmlkbCAqLzsgfTsKIAkJMTVD
NzcwOEQxMDBEM0M2QjAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDhBMTAwRDNDNkEwMDVCQTI2NyAv
KiBWYWxpZGl0eVN0YXRlLmggKi87IH07CiAJCTE1Qzc3MDhFMTAwRDNDNkIwMDVCQTI2NyAvKiBW
YWxpZGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE1Qzc3MDhCMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmNwcCAqLzsg
fTsKIAkJMTVDNzcwOTMxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwOTExMDBEM0NB
ODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5oICovOyB9OwpAQCAtNTg2LDcgKzU5MSw2IEBA
CiAJCTJFQ0Y3QUREMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0Y3QURCMTAxNjJCMzgwMDQy
N0RFNyAvKiBKU0Vycm9yRXZlbnQuaCAqLzsgfTsKIAkJMkVDRjdBRTExMDE2MkI1ODAwNDI3REU3
IC8qIEVycm9yRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkVDRjdBREUxMDE2MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQuY3BwICovOyB9
OwogCQkyRUNGN0FFMjEwMTYyQjU4MDA0MjdERTcgLyogRXJyb3JFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVDRjdBREYxMDE2MkI1ODAwNDI3
REU3IC8qIEVycm9yRXZlbnQuaCAqLzsgfTsKLQkJMkVDRjdBRTMxMDE2MkI1ODAwNDI3REU3IC8q
IEVycm9yRXZlbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRUNGN0FFMDEwMTYyQjU4MDA0MjdERTcgLyogRXJyb3JFdmVudC5pZGwgKi87IH07
CiAJCTMxMjg4RTcyMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEyODhFNkUw
RTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgKi87IH07CiAJCTMx
Mjg4RTczMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMjg4RTZGMEUzMDA1RDYw
MDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCAqLzsgfTsKIAkJMzEyODhFNzQwRTMw
MDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEyODhFNzAwRTMwMDVENjAwMzYxOUFF
IC8qIFdlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwICovOyB9OwpAQCAtNjY1LDcgKzY2OSw2IEBA
CiAJCTQxNUI3QzYzMEZGNUE3NjcwMDY3NzBGNyAvKiBKU1NoYXJlZFdvcmtlckNvbnN0cnVjdG9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTVCN0M2
MjBGRjVBNzY3MDA2NzcwRjcgLyogSlNTaGFyZWRXb3JrZXJDb25zdHJ1Y3Rvci5oICovOyB9Owog
CQk0MTYyQTQ1MDEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ0RDEw
MTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgKi87IH07CiAJCTQx
NjJBNDUxMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ0RTEwMTE0NUFF
MDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oICovOyB9OwotCQk0MTYyQTQ1MjEw
MTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGwgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNjJBNDRGMTAxMTQ1QUUwMERG
RjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbCAqLzsgfTsKIAkJNDE2MkE0NTQxMDEx
NDVFMzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ1MzEwMTE0NUUz
MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJ
NDE2MkE0NTcxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ1NTEw
MTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmNwcCAqLzsgfTsKIAkJ
NDE2MkE0NTgxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NTYxMDEx
NDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oICovOyB9OwpAQCAtNjkw
LDEwICs2OTMsOCBAQAogCQk0MUQwN0E3RjBGRjkzNUNBMDA5NUVEQ0UgLyogSlNTaGFyZWRXb3Jr
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDA3
QTdEMEZGOTM1Q0EwMDk1RURDRSAvKiBKU1NoYXJlZFdvcmtlci5oICovOyB9OwogCQk0MUUxQjFE
MDBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8q
IEFic3RyYWN0V29ya2VyLmNwcCAqLzsgfTsKIAkJNDFFMUIxRDEwRkY1OTg2OTAwNTc2QjNCIC8q
IEFic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaCAqLzsg
fTsKLQkJNDFFMUIxRDIwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmlkbCBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0MwRkY1
OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmlkbCAqLzsgfTsKIAkJNDFFMUIxRDMwRkY1
OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUUxQjFDRDBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVk
V29ya2VyLmNwcCAqLzsgfTsKIAkJNDFFMUIxRDQwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdv
cmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFF
MUIxQ0UwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5oICovOyB9OwotCQk0MUUxQjFE
NTBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0YwRkY1OTg2OTAwNTc2QjNCIC8q
IFNoYXJlZFdvcmtlci5pZGwgKi87IH07CiAJCTQxRjA2MENEMEY1RUVCMkIwMEEwN0VBQyAvKiBK
U0luc3BlY3RvckJhY2tlbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFGMDYwQ0IwRjVFRUIyQjAwQTA3RUFDIC8qIEpTSW5zcGVjdG9yQmFja2Vu
ZC5jcHAgKi87IH07CiAJCTQxRjA2MENFMEY1RUVCMkIwMEEwN0VBQyAvKiBKU0luc3BlY3RvckJh
Y2tlbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
RjA2MENDMEY1RUVCMkIwMEEwN0VBQyAvKiBKU0luc3BlY3RvckJhY2tlbmQuaCAqLzsgfTsKIAkJ
NDFGMDYxNzQwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGMDYxNzIw
RjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oICovOyB9OwpA
QCAtMTAzMiw3ICsxMDMzLDYgQEAKIAkJN0EyNDU4N0MxMDIxRUFGNDAwMEEwMEFBIC8qIEluc3Bl
Y3RvckRPTUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QTI0NTg3QTEwMjFFQUY0MDAwQTAwQUEgLyogSW5zcGVjdG9yRE9NQWdlbnQuaCAqLzsg
fTsKIAkJN0E2NzRCREIwRjlFQkY0RTAwNkNGMDk5IC8qIFBhZ2VHcm91cExvYWREZWZlcnJlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTY3NEJE
OTBGOUVCRjRFMDA2Q0YwOTkgLyogUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcCAqLzsgfTsKIAkJ
N0E2NzRCREMwRjlFQkY0RTAwNkNGMDk5IC8qIFBhZ2VHcm91cExvYWREZWZlcnJlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E2NzRCREEwRjlFQkY0
RTAwNkNGMDk5IC8qIFBhZ2VHcm91cExvYWREZWZlcnJlci5oICovOyB9OwotCQk3QTc0RUNCNzEw
MTgzOTlBMDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5pZGwgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBNzRFQ0I2MTAxODM5OUEwMEJGOTM5RSAv
KiBJbnNwZWN0b3JCYWNrZW5kLmlkbCAqLzsgfTsKIAkJN0E3NEVDQkExMDE4MzlBNjAwQkY5MzlF
IC8qIEluc3BlY3RvckJhY2tlbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0E3NEVDQjgxMDE4MzlBNTAwQkY5MzlFIC8qIEluc3BlY3RvckJhY2tl
bmQuY3BwICovOyB9OwogCQk3QTc0RUNCQjEwMTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yQmFj
a2VuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E3
NEVDQjkxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckJhY2tlbmQuaCAqLzsgfTsKIAkJN0E3
NEVDQkQxMDE4MzlEQTAwQkY5MzlFIC8qIEpTSW5zcGVjdG9yQmFja2VuZEN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTc0RUNCQzEwMTgz
OURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JCYWNrZW5kQ3VzdG9tLmNwcCAqLzsgfTsKQEAgLTM4
ODUsNyArMzg4NSw2IEBACiAJCUJDMURFQTRGMEUyNjhFQjYwMDgzQTczRiAvKiBKU0RvY3VtZW50
RnJhZ21lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkMxREVBNEUwRTI2OEVCNjAwODNBNzNGIC8qIEpTRG9jdW1lbnRGcmFnbWVudEN1
c3RvbS5jcHAgKi87IH07CiAJCUJDMjBGQjdGMEMwRThFNkMwMEQxNDQ3RiAvKiBKU0NTU1ZhbHVl
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDMjBGQjdFMEMwRThFNkMwMEQxNDQ3RiAvKiBKU0NTU1ZhbHVlQ3VzdG9tLmNwcCAqLzsgfTsK
IAkJQkMyMTJBMUYwRkU4MzMzMjAwRUMzNzA4IC8qIEhUTUxEYXRhR3JpZEVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjEyQTFFMEZFODMz
MzIwMEVDMzcwOCAvKiBIVE1MRGF0YUdyaWRFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkMyMTJBMjQwRkU4MzQ1RDAwRUMzNzA4IC8q
IEhUTUxEYXRhR3JpZEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzIxMkEyMzBGRTgzNDVEMDBFQzM3MDggLyogSFRNTERhdGFHcmlk
RWxlbWVudC5pZGwgKi87IH07CiAJCUJDMjEyQTQxMEZFODNBMTgwMEVDMzcwOCAvKiBKU0hUTUxE
YXRhR3JpZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkMyMTJBM0YwRkU4M0ExODAwRUMzNzA4IC8qIEpTSFRNTERhdGFHcmlkRWxlbWVu
dC5jcHAgKi87IH07CiAJCUJDMjEyQTQyMEZFODNBMTgwMEVDMzcwOCAvKiBKU0hUTUxEYXRhR3Jp
ZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDMjEyQTQwMEZFODNBMTgwMEVDMzcwOCAvKiBKU0hUTUxEYXRhR3JpZEVsZW1lbnQuaCAqLzsg
fTsKIAkJQkMyMjcyODcwRTgyRTcwNzAwRTdGOTc1IC8qIFN0eWxlUmVmbGVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyMjcyODYwRTgyRTcw
NzAwRTdGOTc1IC8qIFN0eWxlUmVmbGVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00MDc3LDI0ICs0MDc2LDE5IEBACiAJCUJDNzcyQzRG
MEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkM0RDBDNEVCMzA0MDA4MzI4NUYgLyog
TUlNRVR5cGVSZWdpc3RyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUJDNzcyQzVFMEM0RUIzNDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3
NzJDNUQwQzRFQjM0NDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnlNYWMubW0gKi87IH07CiAJ
CUJDNzdDQjg3MEZFQkY1QUYwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDb2xFbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0I4NjBGRUJG
NUFGMDA3MDg4N0IgLyogSFRNTERhdGFHcmlkQ29sRWxlbWVudC5oICovOyB9OwotCQlCQzc3Q0I4
OTBGRUJGNUJBMDA3MDg4N0IgLyogSFRNTERhdGFHcmlkQ29sRWxlbWVudC5pZGwgaW4gUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzdDQjg4MEZFQkY1QkEw
MDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDb2xFbGVtZW50LmlkbCAqLzsgfTsKIAkJQkM3N0NCQUEw
RkVCRjZDOTAwNzA4ODdCIC8qIEhUTUxEYXRhR3JpZENvbEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3N0NCQTkwRkVCRjZDOTAwNzA4
ODdCIC8qIEhUTUxEYXRhR3JpZENvbEVsZW1lbnQuY3BwICovOyB9OwogCQlCQzc3Q0JEMzBGRUJG
ODMxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRDb2xFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzdDQkQxMEZFQkY4MzEwMDcwODg3
QiAvKiBKU0hUTUxEYXRhR3JpZENvbEVsZW1lbnQuY3BwICovOyB9OwogCQlCQzc3Q0JENDBGRUJG
ODMxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRDb2xFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0JEMjBGRUJGODMxMDA3MDg4N0Ig
LyogSlNIVE1MRGF0YUdyaWRDb2xFbGVtZW50LmggKi87IH07Ci0JCUJDNzdDQzZDMEZFQzNENUYw
MDcwODg3QiAvKiBIVE1MRGF0YUdyaWRSb3dFbGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3N0NDNkIwRkVDM0Q1RjAwNzA4ODdCIC8q
IEhUTUxEYXRhR3JpZFJvd0VsZW1lbnQuaWRsICovOyB9OwogCQlCQzc3Q0NFRTBGRUZERTZDMDA3
MDg4N0IgLyogSFRNTERhdGFHcmlkUm93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3N0NDRUQwRkVGREU2QzAwNzA4ODdCIC8qIEhUTUxE
YXRhR3JpZFJvd0VsZW1lbnQuaCAqLzsgfTsKIAkJQkM3N0NENDIwRkVGRTBDNDAwNzA4ODdCIC8q
IEhUTUxEYXRhR3JpZFJvd0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM3N0NENDEwRkVGRTBDNDAwNzA4ODdCIC8qIEhUTUxEYXRhR3Jp
ZFJvd0VsZW1lbnQuY3BwICovOyB9OwogCQlCQzc3Q0Q0RTBGRUZFMTYxMDA3MDg4N0IgLyogSlNI
VE1MRGF0YUdyaWRSb3dFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDNzdDRDRDMEZFRkUxNjEwMDcwODg3QiAvKiBKU0hUTUxEYXRhR3Jp
ZFJvd0VsZW1lbnQuY3BwICovOyB9OwogCQlCQzc3Q0Q0RjBGRUZFMTYxMDA3MDg4N0IgLyogSlNI
VE1MRGF0YUdyaWRSb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzc3Q0Q0RDBGRUZFMTYxMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRS
b3dFbGVtZW50LmggKi87IH07Ci0JCUJDNzdDREEzMEZFRkVCNTMwMDcwODg3QiAvKiBIVE1MRGF0
YUdyaWRDZWxsRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDNzdDREEyMEZFRkVCNTMwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDZWxs
RWxlbWVudC5pZGwgKi87IH07CiAJCUJDNzdDREI4MEZFRkYxMjEwMDcwODg3QiAvKiBIVE1MRGF0
YUdyaWRDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzc3Q0RCNzBGRUZGMTIxMDA3MDg4N0IgLyogSFRNTERhdGFHcmlkQ2VsbEVs
ZW1lbnQuY3BwICovOyB9OwogCQlCQzc3Q0RCQzBGRUZGMTQyMDA3MDg4N0IgLyogSFRNTERhdGFH
cmlkQ2VsbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDNzdDREJCMEZFRkYxNDIwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDZWxsRWxlbWVu
dC5oICovOyB9OwogCQlCQzc3Q0RDRTBGRUZGMzNCMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRD
ZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzc3Q0RDQzBGRUZGMzNCMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRDZWxsRWxlbWVu
dC5jcHAgKi87IH07CiAJCUJDNzdDRENGMEZFRkYzM0IwMDcwODg3QiAvKiBKU0hUTUxEYXRhR3Jp
ZENlbGxFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzc3Q0RDRDBGRUZGMzNCMDA3MDg4N0IgLyogSlNIVE1MRGF0YUdyaWRDZWxsRWxlbWVu
dC5oICovOyB9OwogCQlCQzc3Q0VCMzBGRjAxN0YyMDA3MDg4N0IgLyogUmVuZGVyRGF0YUdyaWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzdDRUIy
MEZGMDE3RjIwMDcwODg3QiAvKiBSZW5kZXJEYXRhR3JpZC5oICovOyB9OwogCQlCQzc3Q0VDODBG
RjAxQ0JFMDA3MDg4N0IgLyogUmVuZGVyRGF0YUdyaWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3N0NFQzcwRkYwMUNCRTAwNzA4ODdCIC8qIFJl
bmRlckRhdGFHcmlkLmNwcCAqLzsgfTsKLQkJQkM3N0NGOTkwRkYxNzI0MjAwNzA4ODdCIC8qIERh
dGFHcmlkQ29sdW1uTGlzdC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDNzdDRjk4MEZGMTcyNDIwMDcwODg3QiAvKiBEYXRhR3JpZENvbHVtbkxp
c3QuaWRsICovOyB9OwotCQlCQzc3Q0Y5RjBGRjE3MkIzMDA3MDg4N0IgLyogRGF0YUdyaWRDb2x1
bW4uaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Qzc3Q0Y5RTBGRjE3MkIzMDA3MDg4N0IgLyogRGF0YUdyaWRDb2x1bW4uaWRsICovOyB9OwogCQlC
Qzc3Q0ZBQzBGRjE3M0QzMDA3MDg4N0IgLyogRGF0YUdyaWRDb2x1bW5MaXN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3Q0ZBQjBGRjE3M0QzMDA3
MDg4N0IgLyogRGF0YUdyaWRDb2x1bW5MaXN0LmggKi87IH07CiAJCUJDNzdDRkMyMEZGMTc1NTUw
MDcwODg3QiAvKiBEYXRhR3JpZENvbHVtbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM3N0NGQzEwRkYxNzU1NTAwNzA4ODdCIC8qIERhdGFHcmlkQ29s
dW1uLmggKi87IH07CiAJCUJDNzdEMTUyMEZGMTlDNzMwMDcwODg3QiAvKiBKU0RhdGFHcmlkQ29s
dW1uTGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzc3RDE1MTBGRjE5QzczMDA3MDg4N0IgLyogSlNEYXRhR3JpZENvbHVtbkxpc3RD
dXN0b20uY3BwICovOyB9OwpAQCAtNDUwOCw3ICs0NTAyLDYgQEAKIAkJRjlGMEVEN0EwREI1MENB
MjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjlGMEVENzcwREI1MENBMjAwRDE2REI5
IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9OwogCQlGRTZGRDQ4NzBGNjc2
RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0ODQwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5h
dGVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0ODgwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4
NTBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaCAqLzsgfTsKLQkJRkU2RkQ0ODkwRjY3
NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0ODYwRjY3NkU1NzAwMDkyODczIC8qIENvb3Jk
aW5hdGVzLmlkbCAqLzsgfTsKIAkJRkU2RkQ0OEQwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRp
bmF0ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovOyB9OwogCQlG
RTZGRDQ4RTBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0OEMwRjY3NkU5MzAwMDkyODcz
IC8qIEpTQ29vcmRpbmF0ZXMuaCAqLzsgfTsKIAkJRkU3MDBERDEwRjkyRDgxQTAwOEUyQkZFIC8q
IEpTQ29vcmRpbmF0ZXNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkU3MDBERDAwRjkyRDgxQTAwOEUyQkZFIC8qIEpTQ29vcmRpbmF0ZXND
dXN0b20uY3BwICovOyB9OwpAQCAtNTEwMiw4ICs1MDk1LDE1IEBACiAJCTBGQ0YzMzI5MEYyQjlB
MjUwMDRCNjc5NSAvKiBXZWJUaWxlZExheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYlRpbGVkTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZD
RjMzMkEwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYkxheWVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViTGF5ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTBGQ0YzMzJCMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJMYXllci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkQ0MkRDMDEwMjkwQkY3MDA0MTZCNkEgLyogSlNNZWRpYS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZENDJEQzExMDI5MEJGNzAwNDE2QjZBIC8qIEpTTWVkaWEuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkQ0MkRDOTEwMjkwQzNBMDA0MTZCNkEgLyogRE9NTWVkaWEuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTWVkaWEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZENDJEQ0ExMDI5MEMzQTAwNDE2QjZBIC8qIERPTU1lZGlhLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NTWVkaWEubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDQyREQwMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRp
YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDQyREQxMTAyOTBDNjkwMDQxNkI2QSAvKiBN
ZWRpYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3MjM4MDBFQzhCRDkzMDBDQTVERDcgLyogRmxvYXRR
dWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsb2F0UXVhZC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3MjM4MTBFQzhCRDkzMDBDQTVERDcgLyogRmxv
YXRRdWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsb2F0UXVh
ZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRkUzQTg4MTAyOTVBN0YwMDI5
QUMyOSAvKiBNZWRpYS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWEuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDAyNjQ1RDBBRkRDMTlCMDA1OTE5RTIgLyogTG9n
Z2luZ01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2dn
aW5nTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDAzQjkwQzA5RUIxMjQ1
MDA3OTdDN0YgLyogRE9NV2luZG93LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01XaW5k
b3cuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDAzQjk5NTA5RUIxM0FGMDA3
OTdDN0YgLyogRE9NV2luZG93LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVdpbmRvdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA1MzEsNiArMTA1MzEs
OCBAQAogCQk4NTA2NTcwNDBBQUI0NzZDMDAyRDE1QzAgLyogU3R5bGVTaGVldHMgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTBGRDQyREM5MTAyOTBDM0Ew
MDQxNkI2QSAvKiBET01NZWRpYS5oICovLAorCQkJCTBGRDQyRENBMTAyOTBDM0EwMDQxNkI2QSAv
KiBET01NZWRpYS5tbSAqLywKIAkJCQk4NTA2NTZGODBBQUI0NzYzMDAyRDE1QzAgLyogRE9NTWVk
aWFMaXN0LmggKi8sCiAJCQkJODUwNjU2RjkwQUFCNDc2MzAwMkQxNUMwIC8qIERPTU1lZGlhTGlz
dC5tbSAqLywKIAkJCQk4NTA2NTZGQTBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldC5o
ICovLApAQCAtMTI1NTMsNiArMTI1NTUsOCBAQAogCQkJCUJDNjg2Qzc5MEUwQzMzMDEwMERFOEEw
OCAvKiBKU0NTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmggKi8sCiAJCQkJQkM2ODZDN0EwRTBDMzMw
MTAwREU4QTA4IC8qIEpTQ1NTVmFyaWFibGVzUnVsZS5jcHAgKi8sCiAJCQkJQkM2ODZDN0IwRTBD
MzMwMTAwREU4QTA4IC8qIEpTQ1NTVmFyaWFibGVzUnVsZS5oICovLAorCQkJCTBGRDQyREMwMTAy
OTBCRjcwMDQxNkI2QSAvKiBKU01lZGlhLmNwcCAqLywKKwkJCQkwRkQ0MkRDMTEwMjkwQkY3MDA0
MTZCNkEgLyogSlNNZWRpYS5oICovLAogCQkJCUJDM0MzOUI0MEMwRDNEOEQwMDVGNEQ3QSAvKiBK
U01lZGlhTGlzdC5jcHAgKi8sCiAJCQkJQkMzQzM5QjUwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVk
aWFMaXN0LmggKi8sCiAJCQkJQkNGRTJGMEYwQzFCNTgzNzAwMjAyMzVGIC8qIEpTUmVjdC5jcHAg
Ki8sCkBAIC0xNDMwNiw2ICsxNDMxMCw5IEBACiAJCQkJOTNDQTRDOUQwOURGOTNGQTAwREY4Njc3
IC8qIG1ha2V2YWx1ZXMucGwgKi8sCiAJCQkJMDcwREQ4RjUwRjAxODY4MDAwNzI3REVCIC8qIG1l
ZGlhQ29udHJvbHMuY3NzICovLAogCQkJCTA3QUZFNTkwMEYxNDQ2QkQwMDg0MTYxNyAvKiBtZWRp
YUNvbnRyb2xzUVQuY3NzICovLAorCQkJCTBGRDQyREQwMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRp
YS5jcHAgKi8sCisJCQkJMEZENDJERDExMDI5MEM2OTAwNDE2QjZBIC8qIE1lZGlhLmggKi8sCisJ
CQkJMEZGRTNBODgxMDI5NUE3RjAwMjlBQzI5IC8qIE1lZGlhLmlkbCAqLywKIAkJCQk0RTE5NTkx
RjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwICovLAogCQkJCTRFMTk1
OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICovLAogCQkJCUE4RUE4
MDAxMEExOTUxNkUwMEE4RUY1RiAvKiBNZWRpYUxpc3QuY3BwICovLApAQCAtMTcwODQsNiArMTcw
OTEsOSBAQAogCQkJCTQxQTNENThGMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBMjQ1ODdDMTAyMUVBRjQwMDBBMDBBQSAvKiBJ
bnNwZWN0b3JET01BZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwOUZDNEUxMDI1REVFMzAw
NTlDREJBIC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRDQy
REMzMTAyOTBCRjcwMDQxNkI2QSAvKiBKU01lZGlhLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkQ0
MkRDQjEwMjkwQzNBMDA0MTZCNkEgLyogRE9NTWVkaWEuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
RDQyREQzMTAyOTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xNzE1
NSwyMCArMTcxNjUsMTMgQEAKIAkJCQk0NkY5RDVERDBCMEQ2MDE3MDAyOEVFMzYgLyogYWxpYXND
dXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQk0NkQ0RjI0OTBBRjk3RTgxMDAzNTM4NUEg
LyogY2VsbEN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTQ2RDRGMjRBMEFGOTdFODEw
MDM1Mzg1QSAvKiBjb250ZXh0TWVudUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAotCQkJCUZF
NkZENDg5MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgaW4gUmVzb3VyY2VzICov
LAogCQkJCTQ2MTRBMUZFMEIyM0E4RDYwMDQ0NkUxQyAvKiBjb3B5Q3Vyc29yLnBuZyBpbiBSZXNv
dXJjZXMgKi8sCiAJCQkJNDY0RUEyNzMwQjhBMzUwQjAwQThFNkUzIC8qIGNyb3NzSGFpckN1cnNv
ci5wbmcgaW4gUmVzb3VyY2VzICovLAotCQkJCUJDNzdDRjlGMEZGMTcyQjMwMDcwODg3QiAvKiBE
YXRhR3JpZENvbHVtbi5pZGwgaW4gUmVzb3VyY2VzICovLAotCQkJCUJDNzdDRjk5MEZGMTcyNDIw
MDcwODg3QiAvKiBEYXRhR3JpZENvbHVtbkxpc3QuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCQkx
QzE0RTc2QzBBRDhDODFDMDBCNjE1OEIgLyogZGVsZXRlQnV0dG9uLnRpZmYgaW4gUmVzb3VyY2Vz
ICovLAogCQkJCTFDMTRFNzZCMEFEOEM4MUMwMEI2MTU4QiAvKiBkZWxldGVCdXR0b25QcmVzc2Vk
LnRpZmYgaW4gUmVzb3VyY2VzICovLAogCQkJCTg1MTM2Qzk5MEFFRDY2NTkwMEY5MEEzRCAvKiBl
YXN0UmVzaXplQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJODUxMzZDOUEwQUVENjY1
OTAwRjkwQTNEIC8qIGVhc3RXZXN0UmVzaXplQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJ
CQkJODUxMzZDOUIwQUVENjY1OTAwRjkwQTNEIC8qIGhlbHBDdXJzb3IucG5nIGluIFJlc291cmNl
cyAqLywKLQkJCQlCQzc3Q0RBMzBGRUZFQjUzMDA3MDg4N0IgLyogSFRNTERhdGFHcmlkQ2VsbEVs
ZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywKLQkJCQlCQzc3Q0I4OTBGRUJGNUJBMDA3MDg4N0Ig
LyogSFRNTERhdGFHcmlkQ29sRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovLAotCQkJCUJDMjEy
QTI0MEZFODM0NUQwMEVDMzcwOCAvKiBIVE1MRGF0YUdyaWRFbGVtZW50LmlkbCBpbiBSZXNvdXJj
ZXMgKi8sCi0JCQkJQkM3N0NDNkMwRkVDM0Q1RjAwNzA4ODdCIC8qIEhUTUxEYXRhR3JpZFJvd0Vs
ZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCQk4NTEzNkM5QzBBRUQ2NjU5MDBGOTBBM0Qg
LyogbGlua0N1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTFDREMxNDA1MEREMzkzNEMw
MDZFQUNEMyAvKiBsb2NhbGl6ZWRTdHJpbmdzLmpzIGluIFJlc291cmNlcyAqLywKIAkJCQlBQjQy
NjFEODBBMkY2Qzk3MDBCREQxN0QgLyogbWlzc2luZ0ltYWdlLnRpZmYgaW4gUmVzb3VyY2VzICov
LApAQCAtMTcxOTIsMTIgKzE3MTk1LDYgQEAKIAkJCQk4NTEzNkNBODBBRUQ2NjU5MDBGOTBBM0Qg
Lyogd2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTFBQjFBRTdBMEMw
NTFGREUwMDEzOUY0RiAvKiB6b29tSW5DdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkx
QUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYgLyogem9vbU91dEN1cnNvci5wbmcgaW4gUmVzb3VyY2Vz
ICovLAotCQkJCTQxRTFCMUQyMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5pZGwg
aW4gUmVzb3VyY2VzICovLAotCQkJCTQxRTFCMUQ1MEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRX
b3JrZXIuaWRsIGluIFJlc291cmNlcyAqLywKLQkJCQkxNUM3NzA4QzEwMEQzQzZBMDA1QkEyNjcg
LyogVmFsaWRpdHlTdGF0ZS5pZGwgaW4gUmVzb3VyY2VzICovLAotCQkJCTQxNjJBNDUyMTAxMTQ1
QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbCBpbiBSZXNvdXJjZXMgKi8s
Ci0JCQkJMkVDRjdBRTMxMDE2MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQuaWRsIGluIFJlc291
cmNlcyAqLywKLQkJCQk3QTc0RUNCNzEwMTgzOTlBMDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2Vu
ZC5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTkxMjksNiArMTkxMjYsOSBAQAogCQkJCTQxQTNE
NThFMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0EyNDU4N0IxMDIxRUFGNDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MDlGQzRDMTAyNURFRDgwMDU5Q0RCQSAvKiBBY2Nl
c3NpYmlsaXR5U2xpZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDQyREMyMTAyOTBCRjcw
MDQxNkI2QSAvKiBKU01lZGlhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRDQyRENDMTAyOTBD
M0EwMDQxNkI2QSAvKiBET01NZWRpYS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTBGRDQyREQyMTAy
OTBDNjkwMDQxNkI2QSAvKiBNZWRpYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsIGIvV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKaW5k
ZXggYjZhYjdhOS4uMTkyZGEyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlU291cmNlcy5i
a2wKKysrIGIvV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKQEAgLTIxOCw2ICsyMTgsNyBAQCBU
aGlzIGZpbGUgY29udGFpbnMgdGhlIGxpc3Qgb2YgZmlsZXMgbmVlZGVkIHRvIGJ1aWxkIFdlYkNv
cmUuCiAgICAgICAgIGNzcy9Gb250RmFtaWx5VmFsdWUuY3BwCiAgICAgICAgIGNzcy9Gb250VmFs
dWUuY3BwCiAgICAgICAgIGNzcy9NZWRpYUZlYXR1cmVOYW1lcy5jcHAKKyAgICAgICAgY3NzL01l
ZGlhLmNwcAogICAgICAgICBjc3MvTWVkaWFMaXN0LmNwcAogICAgICAgICBjc3MvTWVkaWFRdWVy
eS5jcHAKICAgICAgICAgY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC0zNTgsNiArMzU5
LDcgQEAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGZpbGVzIG5lZWRlZCB0byBidWls
ZCBXZWJDb3JlLgogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHAKICAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZl
bnQuY3BwCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5jcHAKKyAg
ICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhLmNwcAogICAgICAgICBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0LmNwcAogICAgICAgICBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTWVzc2FnZUNoYW5uZWwuY3BwCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNZXNzYWdlRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYS5jcHAg
Yi9XZWJDb3JlL2Nzcy9NZWRpYS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNDNiMTU3OAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhLmNwcApAQCAt
MCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5j
bHVkZSAiTWVkaWEuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCisjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCisjaW5jbHVkZSAiTWVkaWFRdWVy
eUV2YWx1YXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhOjpNZWRpYShEb2N1
bWVudCogZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQoreworfQorCitTdHJp
bmcgTWVkaWE6OnR5cGUoKSBjb25zdAoreworICAgIGlmICghbV9kb2N1bWVudC0+dmlldygpKQor
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICByZXR1cm4gbV9kb2N1bWVudC0+dmlldygp
LT5tZWRpYVR5cGUoKTsKK30KKworYm9vbCBNZWRpYTo6bWF0Y2hNZWRpdW0oY29uc3QgU3RyaW5n
JiBxdWVyeSkKK3sKKyAgICBDU1NTdHlsZVNlbGVjdG9yKiBzdHlsZVNlbGVjdG9yID0gbV9kb2N1
bWVudC0+c3R5bGVTZWxlY3RvcigpOworICAgIGlmICghc3R5bGVTZWxlY3RvciB8fCAhbV9kb2N1
bWVudC0+ZG9jdW1lbnRFbGVtZW50KCkgfHwgIWRvY3VtZW50KCktPmZyYW1lKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gcm9vdFN0eWxlID0gc3R5
bGVTZWxlY3Rvci0+c3R5bGVGb3JFbGVtZW50KG1fZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgp
LCAwLypkZWZhdWx0UGFyZW50Ki8sIGZhbHNlIC8qYWxsb3dTaGFyaW5nKi8sIHRydWUgLypyZXNv
bHZlRm9yUm9vdERlZmF1bHQqLyk7CisgICAgUmVmUHRyPE1lZGlhTGlzdD4gbWVkaWEgPSBNZWRp
YUxpc3Q6OmNyZWF0ZSgpOworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgbWVkaWEt
PnNldE1lZGlhVGV4dChxdWVyeSwgZWMpOworICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgTWVkaWFRdWVyeUV2YWx1YXRvciBzY3JlZW5FdmFsKHR5cGUoKSwgZG9jdW1l
bnQoKS0+ZnJhbWUoKSwgcm9vdFN0eWxlLmdldCgpKTsKKyAgICByZXR1cm4gc2NyZWVuRXZhbC5l
dmFsKG1lZGlhLmdldCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvTWVkaWEuaCBiL1dlYkNvcmUvY3NzL01lZGlhLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZlNGNhMAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvY3NzL01lZGlhLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
NywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYg
TWVkaWFfaAorI2RlZmluZSBNZWRpYV9oCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1l
ZGlhIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxNZWRpYT4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWEoZG9jdW1lbnQpKTsKKyAgICB9CisgICAgCisgICAg
RG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudC5nZXQoKTsgfQor
CisgICAgU3RyaW5nIHR5cGUoKSBjb25zdDsKKworICAgIGJvb2wgbWF0Y2hNZWRpdW0oY29uc3Qg
U3RyaW5nJik7CisgICAgCitwcml2YXRlOgorICAgIE1lZGlhKERvY3VtZW50Kik7CisKKyAgICBS
ZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5k
aWYgLy8gTWVkaWFfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWEuaWRsIGIvV2ViQ29y
ZS9jc3MvTWVkaWEuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyYjM4
NDEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYS5pZGwKQEAgLTAsMCArMSwz
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCittb2R1bGUgdmlldyB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAg
R2VuZXJhdGVDb25zdHJ1Y3RvciwKKyAgICBdIE1lZGlhIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyB0eXBlOworICAgICAgICBib29sZWFuIG1hdGNoTWVkaXVtKGluIERP
TVN0cmluZyBtZWRpYXF1ZXJ5KTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0Fic3RyYWN0Vmlldy5pZGwgYi9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbAppbmRleCA1
YjdjZTg5Li4zNjg2NWRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3Lmlk
bAorKysgYi9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbApAQCAtMzEsNiArMzEsNyBAQCBt
b2R1bGUgdmlld3MgewogICAgICAgICBPYmpDQ3VzdG9tSW1wbGVtZW50YXRpb24KICAgICBdIEFi
c3RyYWN0VmlldyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBkb2N1bWVu
dDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhIG1lZGlhOwogICAgIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKaW5kZXggZThmOTAwNC4uMDRmYTY1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTUx
LDYgKzUxLDcgQEAKICNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCisjaW5jbHVkZSAiTWVkaWEuaCIKICNp
bmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCkBAIC0xMDAyLDYgKzEwMDMsMTEgQEAgRG9jdW1lbnQqIERPTVdpbmRvdzo6ZG9j
dW1lbnQoKSBjb25zdAogICAgIHJldHVybiBtX2ZyYW1lLT5kb2N1bWVudCgpOwogfQogCitQYXNz
UmVmUHRyPE1lZGlhPiBET01XaW5kb3c6Om1lZGlhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTWVk
aWE6OmNyZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpKTsKK30KKwogUGFzc1JlZlB0cjxDU1NTdHls
ZURlY2xhcmF0aW9uPiBET01XaW5kb3c6OmdldENvbXB1dGVkU3R5bGUoRWxlbWVudCogZWx0LCBj
b25zdCBTdHJpbmcmKSBjb25zdAogewogICAgIGlmICghZWx0KQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGVhYzkz
NmYuLjllZTUzN2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTUyLDYgKzUyLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIEhpc3Rvcnk7CiAgICAgY2xhc3MgTG9j
YXRpb247CisgICAgY2xhc3MgTWVkaWE7CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xh
c3MgTmF2aWdhdG9yOwogICAgIGNsYXNzIE5vZGU7CkBAIC0xNzEsNiArMTcyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIERPTSBMZXZlbCAyIEFic3RyYWN0VmlldyBJbnRl
cmZhY2UKICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Q7CisgICAgICAgIC8vIENT
U09NIFZpZXcgTW9kdWxlCisgICAgICAgIFBhc3NSZWZQdHI8TWVkaWE+IG1lZGlhKCkgY29uc3Q7
CiAKICAgICAgICAgLy8gRE9NIExldmVsIDIgU3R5bGUgSW50ZXJmYWNlCiAgICAgICAgIFBhc3NS
ZWZQdHI8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gZ2V0Q29tcHV0ZWRTdHlsZShFbGVtZW50KiwgY29u
c3QgU3RyaW5nJiBwc2V1ZG9FbHQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBlMWM5ZmYwLi5l
OTYwYmI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTM5LDYgKzEzOSw5IEBAIG1vZHVsZSB3aW5kb3cg
ewogICAgICAgICAvLyBET00gTGV2ZWwgMiBBYnN0cmFjdFZpZXcgSW50ZXJmYWNlCiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBkb2N1bWVudDsKIAorICAgICAgICAvLyBDU1NP
TSBWaWV3IE1vZHVsZQorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWEgbWVkaWE7CisK
ICAgICAgICAgLy8gRE9NIExldmVsIDIgU3R5bGUgSW50ZXJmYWNlCiAgICAgICAgIENTU1N0eWxl
RGVjbGFyYXRpb24gZ2V0Q29tcHV0ZWRTdHlsZShpbiBFbGVtZW50IGVsZW1lbnQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01TdHJpbmcgcHNldWRv
RWxlbWVudCk7Cg==
</data>
<flag name="review"
          id="18315"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>