<?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>22324</bug_id>
          
          <creation_ts>2008-11-17 14:09:13 -0800</creation_ts>
          <short_desc>Add basic subset of WML elements</short_desc>
          <delta_ts>2008-11-17 16:27:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>20393</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>99108</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-17 14:09:13 -0800</bug_when>
    <thetext>The WML support should be added in a few reviewable chunks.
Based on the patches living in bug 20393, a new simpler patch will be created only adding a few WML elements (&lt;card&gt; / &lt;p&gt; / &lt;a&gt;) - but with a new design. WML elements don&apos;t inherit from HTML* elements anymore, CSS integratin is much simpler, no need for a new WMLTokenizer class etc.

Stay tuned, uploading patches soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99110</commentid>
    <comment_count>1</comment_count>
      <attachid>25226</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-17 14:16:38 -0800</bug_when>
    <thetext>Created attachment 25226
1) Add WML tests (LayoutTests/fast/wml &amp; WebCore/manual-tests/wml)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99111</commentid>
    <comment_count>2</comment_count>
      <attachid>25227</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-17 14:17:18 -0800</bug_when>
    <thetext>Created attachment 25227
2) Add WML build support (WebKitTools/Scripts/ changes)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99112</commentid>
    <comment_count>3</comment_count>
      <attachid>25228</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-17 14:17:56 -0800</bug_when>
    <thetext>Created attachment 25228
3) Add basic WML support &amp; WebCore integration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99121</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-17 16:05:20 -0800</bug_when>
    <thetext>Landed in r38541.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99122</commentid>
    <comment_count>5</comment_count>
      <attachid>25228</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-11-17 16:20:53 -0800</bug_when>
    <thetext>Comment on attachment 25228
3) Add basic WML support &amp; WebCore integration

The .pro changes read as though WML will be enabled unless explicitly disabled.  Given that this is primarily intended for mobile devices, does it make sense for this to be the default behaviour?

A bunch of this code uses the incorrect &quot;Wml&quot; capitalization in method and variable names.

The use of ENABLE to wrap code for a specific library is not consistent with existing patterns: USE should be used instead.

Putting code wrapped in ENABLE(WBXML) directly in the cross-platform MainResourceLoader.cpp is not desirable.  The code should be refactored so that this isn&apos;t necessary.

The Torch Mobile copyright line appears to have two different forms. Is that intentional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99123</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-17 16:27:01 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 25228 [review])
&gt; The .pro changes read as though WML will be enabled unless explicitly disabled.
&gt;  Given that this is primarily intended for mobile devices, does it make sense
&gt; for this to be the default behaviour?
Just noticed and fixed - just an oversight.
 
&gt; A bunch of this code uses the incorrect &quot;Wml&quot; capitalization in method and
&gt; variable names.
I wasn&apos;t aware of this requirement. Will fix.

&gt; The use of ENABLE to wrap code for a specific library is not consistent with
&gt; existing patterns: USE should be used instead.
&gt; 
&gt; Putting code wrapped in ENABLE(WBXML) directly in the cross-platform
&gt; MainResourceLoader.cpp is not desirable.  The code should be refactored so that
&gt; this isn&apos;t necessary.
Okay, I&apos;ll join IRC to discuss :-)
 
&gt; The Torch Mobile copyright line appears to have two different forms. Is that
&gt; intentional?
Not sure, will have to pass that question to George.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25226</attachid>
            <date>2008-11-17 14:16:38 -0800</date>
            <delta_ts>2008-11-17 15:51:08 -0800</delta_ts>
            <desc>1) Add WML tests (LayoutTests/fast/wml &amp; WebCore/manual-tests/wml)</desc>
            <filename>01-tests.diff</filename>
            <type>text/plain</type>
            <size>59216</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzODUyNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDcgQEAKKzIwMDgtMTEtMTcgIE5pa29sYXMgWmltbWVybWFubiAgPG5pa29sYXMu
emltbWVybWFubkB0b3JjaG1vYmlsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGluaXRpYWwgc2V0IG9mIG1hbnVhbCBXTUwgdGVzdHMu
CisKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sOiBBZGRlZC4KKyAgICAgICAgKiBtYW51YWwt
dGVzdHMvd21sL2EtYnItZWxlbWVudC53bWw6IEFkZGVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0
cy93bWwvYS1lbGVtZW50LndtbDogQWRkZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9h
LWltZy1lbGVtZW50LndtbDogQWRkZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9hY2Nl
c3MtdGFyZ2V0LndtbDogQWRkZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9hbmNob3It
YnItZWxlbWVudC53bWw6IEFkZGVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvYW5jaG9y
LWVsZW1lbnQud21sOiBBZGRlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL2FuY2hvci1p
bWctZWxlbWVudC53bWw6IEFkZGVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvY2FyZC1u
ZXdjb250ZXh0LWF0dHIud21sOiBBZGRlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL2Nh
cmQtb25lbnRlcmJhY2t3YXJkLndtbDogQWRkZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dt
bC9jYXJkLW9uZW50ZXJmb3J3YXJkLndtbDogQWRkZWQuCisgICAgICAgICogbWFudWFsLXRlc3Rz
L3dtbC9jYXJkLW9udGltZXIud21sOiBBZGRlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21s
L2RlY2stYWNjZXNzLWNvbnRyb2wud21sOiBBZGRlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMv
d21sL2dvLWVsZW1lbnQud21sOiBBZGRlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL2lu
cHV0LWVtcHR5b2sud21sOiBBZGRlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL2lucHV0
LWZvcm1hdC53bWw6IEFkZGVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvb25ldmVudC1n
by53bWw6IEFkZGVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvb25ldmVudC1ub29wLndt
bDogQWRkZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50LXByZXYud21sOiBB
ZGRlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL29uZXZlbnQtcmVmcmVzaC53bWw6IEFk
ZGVkLgorICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvb25ldmVudC1zaGFkb3cud21sOiBBZGRl
ZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL3Bvc3RmaWVsZC1nZXQud21sOiBBZGRlZC4K
KyAgICAgICAgKiBtYW51YWwtdGVzdHMvd21sL3Bvc3RmaWVsZC1wb3N0LndtbDogQWRkZWQuCisg
ICAgICAgICogbWFudWFsLXRlc3RzL3dtbC9zZWxlY3QtZWxlbWVudC53bWw6IEFkZGVkLgorICAg
ICAgICAqIG1hbnVhbC10ZXN0cy93bWwvc2VsZWN0LW9ucGljay1ldmVudC53bWw6IEFkZGVkLgor
ICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvc2V0dmFyLWVsZW1lbnQud21sOiBBZGRlZC4KKyAg
ICAgICAgKiBtYW51YWwtdGVzdHMvd21sL3RhcmdldGRlY2sud21sOiBBZGRlZC4KKyAgICAgICAg
KiBtYW51YWwtdGVzdHMvd21sL3Rhc2stZ28taW4tYW5jaG9yLndtbDogQWRkZWQuCisgICAgICAg
ICogbWFudWFsLXRlc3RzL3dtbC90YXNrLW5vb3AtaW4tZG8ud21sOiBBZGRlZC4KKyAgICAgICAg
KiBtYW51YWwtdGVzdHMvd21sL3Rhc2stbm9vcC1pbi1vbmV2ZW50LndtbDogQWRkZWQuCisgICAg
ICAgICogbWFudWFsLXRlc3RzL3dtbC90YXNrLXByZXYtaW4tYW5jaG9yLndtbDogQWRkZWQuCisg
ICAgICAgICogbWFudWFsLXRlc3RzL3dtbC90YXNrLXJlZnJlc2gtaW4tYW5jaG9yLndtbDogQWRk
ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL3dtbC90ZW1wbGF0ZS1nby53bWw6IEFkZGVkLgor
ICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvdGVtcGxhdGUtb25ldmVudC53bWw6IEFkZGVkLgor
ICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvdGVtcGxhdGUtb250aW1lci53bWw6IEFkZGVkLgor
ICAgICAgICAqIG1hbnVhbC10ZXN0cy93bWwvdGltZXIud21sOiBBZGRlZC4KKyAgICAgICAgKiBt
YW51YWwtdGVzdHMvd21sL3ZhcmlhYmxlLXN1YnN0aXR1dGlvbi53bWw6IEFkZGVkLgorCiAyMDA4
LTExLTE3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hLWJy
LWVsZW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hLWJy
LWVsZW1lbnQud21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2Et
YnItZWxlbWVudC53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNp
b249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEu
MS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4K
KyA8Y2FyZCB0aXRsZT0iQSBlbGVtZW50IFRlc3QiPgorICA8cD5UZXN0IGZvciBBIGVsZW1lbnQg
aW5jbHVkaW5nIEJSIGVsZW1lbnQ8L3A+CisgIDxwPgorICAgIk5leHQgUGFnZSIgd2lsbCBiZSBi
cm9rZW4gYnkgQlIgZWxlbWVudCBiZXR3ZWVuIHRoZW08YnIvPgorICAgPGEgaHJlZj0iLi4vdGVz
dC53bWwiPk5leHQgPGJyLz4gcGFnZTwvYT4KKyAgPC9wPgorIDwvY2FyZD4KKzwvd21sPiAKKwpJ
bmRleDogV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2EtZWxlbWVudC53bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2EtZWxlbWVudC53bWwJKHJldmlzaW9uIDApCisr
KyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYS1lbGVtZW50LndtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJ
QyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3Jn
L0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorIDxjYXJkIHRpdGxlPSJBIGVsZW1lbnQgVGVzdCI+
CisgIDxwPlRlc3QgZm9yIEEgZWxlbWVudC4gPGJyLz5XaGVuIG1vdXNlIG1vdmVzIGludG8gbGlu
aywgImdvIHRvIHRlc3Qud21sIiB3aWxsIGFwcGVhciwgY2xpY2sgdGhlIGxpbmssIHdpbGwganVt
cCB0byB0ZXN0LndtbDwvcD4KKyAgCisgIDxwPgorICAgPGEgaHJlZj0iLi4vdGVzdC53bWwiIHRp
dGxlPSJnbyB0byB0ZXN0LndtbCIgPk5leHQgcGFnZTwvYT4KKyAgPC9wPgorIDwvY2FyZD4KKzwv
d21sPiAKKwpJbmRleDogV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2EtaW1nLWVsZW1lbnQud21s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hLWltZy1lbGVtZW50Lndt
bAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hLWltZy1lbGVtZW50
LndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+
Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0
dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorIDxjYXJkIHRp
dGxlPSJBIGVsZW1lbnQgVGVzdCI+CisgIDxwPlRlc3QgZm9yIEEgZWxlbWVudCBpbmNsdWRpbmcg
aW1nIGVsZW1lbnQuIDwvcD4KKyAgPHA+CisgICA8YSBocmVmPSIuLi90ZXN0LndtbCIgdGl0bGU9
Ik5leHQgUGFnZSI+PGltZyBzcmM9Ii4uL3Jlc291cmNlcy9zbWlsZS5naWYiLz48L2E+CisgIDwv
cD4KKyA8L2NhcmQ+Cis8L3dtbD4gCisKSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9h
Y2Nlc3MtdGFyZ2V0LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwv
YWNjZXNzLXRhcmdldC53bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93
bWwvYWNjZXNzLXRhcmdldC53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1s
IHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQg
V01MIDEuMS8vRU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4K
KworPHdtbD4KKzxjYXJkIG9udGltZXI9Ii4vdGFyZ2V0ZGVjay53bWwiPgorPHRpbWVyIG5hbWU9
InQxIiB2YWx1ZT0iMzAiLz4KKzxwPiBUZXN0IGZvciBEZWNrIEFjY2VzcyBjb250cm9sIGluIFdN
TC4gPC9wPgorPHA+IElmIHRoZSB0ZXN0IHBhc3NlcywgdGhpcyBkZWNrIHdpbGwganVtcCB0byAi
dGFyZ2V0ZGVjay53bWwiIGFmdGVyIDMgc2Vjb25kPC9wPgorPC9jYXJkPgorPC93bWw+CkluZGV4
OiBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9yLWJyLWVsZW1lbnQud21sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hbmNob3ItYnItZWxlbWVudC53bWwJKHJl
dmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9yLWJyLWVsZW1lbnQu
d21sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+
Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIKKyJo
dHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorCis8d21sPgorPGNhcmQg
dGl0bGU9IkFuY2hvciBUYWciPgorPHA+IFRlc3QgZm9yIGJyIGVsZW1lbnQgZW5jbG9zZWQgd2l0
aCBhbmNob3IgZWxlbWVudCA8L3A+Cis8cD4KKzxhbmNob3I+PGdvIGhyZWY9Ii4uL3Rlc3Qud21s
Ii8+R28gdG8gPGJyLz50ZXN0LndtbDwvYW5jaG9yPgorPC9wPgorPC9jYXJkPgorPC93bWw+Cklu
ZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9yLWVsZW1lbnQud21sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hbmNob3ItZWxlbWVudC53bWwJKHJldmlz
aW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvYW5jaG9yLWVsZW1lbnQud21sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9D
VFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3
dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKzx3bWw+CisgPGNhcmQgdGl0bGU9IkFu
Y2hvciBUYWciPgorICA8cD4KKyAgVGhpcyBpcyBhbiBhbmNob3IgYm91bmQgdG8gZ28gdGFzazxi
ci8+CisgICA8YW5jaG9yPk5leHQgcGFnZQorICA8Z28gaHJlZj0iY2FyZHMud21sIi8+CisgICA8
L2FuY2hvcj4KKyAgPC9wPgorCisgICA8cD4KKyAgIFRoaXMgYW4gYW5jaG9yIGJvdW5kIHRvIHBy
ZXYgdGFzazxici8+CisgICA8YW5jaG9yIHRpdGxlPSJQcmV2aW91cyIgPlByZXYgcGFnZQorICAg
PHByZXYvPgorICAgPC9hbmNob3I+CisgIDwvcD4KKworICAgPHA+CisgICAgVGhpcyBhbiBhbmNo
b3IgYm91bmQgdG8gcmVmcmVzaCB0YXNrPGJyLz4KKyAgICA8YW5jaG9yIHRpdGxlPSJSZWZyZXNo
Ij5SZWZyZXNoICR2YXIKKyAgICA8cmVmcmVzaD4gCisgICAgPHNldHZhciBuYW1lPSJ2YXIiIHZh
bHVlPSJtZSIvPgorICAgIDwvcmVmcmVzaD4KKyAgICA8L2FuY2hvcj4KKyAgPC9wPgorCisgICA8
cD4KKyAgIFRoaXMgaXMgYW4gYW5jaG9yIGNvbnRhaW5zIGltZyBlbGVtZW50LCBib3VuZCB0byBw
cmV2IHRhc2sgPGJyLz4KKyAgIDxhbmNob3IgdGl0bGU9ImNsaWNrIHRvIGdvIGJhY2siPgorICAg
PHByZXYvPgorICAgPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9zbWlsZS5naWYiIC8+CisgICA8L2Fu
Y2hvcj4KKyAgIDwvcD4KKyA8L2NhcmQ+Cis8L3dtbD4gCkluZGV4OiBXZWJDb3JlL21hbnVhbC10
ZXN0cy93bWwvYW5jaG9yLWltZy1lbGVtZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvYW5jaG9yLWltZy1lbGVtZW50LndtbAkocmV2aXNpb24gMCkKKysrIFdl
YkNvcmUvbWFudWFsLXRlc3RzL3dtbC9hbmNob3ItaW1nLWVsZW1lbnQud21sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cis8IURPQ1RZUEUgd21s
IFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIKKyJodHRwOi8vd3d3LndhcGZv
cnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorCis8d21sPgorPGNhcmQgdGl0bGU9IkFuY2hvciBU
YWciPgorPHA+IFRlc3QgZm9yIFdNTCBpbWcgZW5jbG9zZWQgd2l0aCBhbmNob3IgZWxlbWVudCwg
d2hlbiB0aGUgbW91c2UgbW92ZSBpbnRvIHRoZSBpbWFnZSwgdGhlIHRpcCAiZ28gdG8gdGVzdC53
bWwiIHdpbGwgYXBwZWFyPC9wPgorPHA+Cis8YW5jaG9yIHRpdGxlPSJnbyB0byB0ZXN0LndtbCI+
PGltZyBzcmM9Ii4uL3Jlc291cmNlcy9zbWlsZS5naWYiLz4gPGdvIGhyZWY9Ii4uL3Rlc3Qud21s
Ii8+PC9hbmNob3I+Cis8L3A+Cis8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IFdlYkNvcmUvbWFudWFs
LXRlc3RzL3dtbC9jYXJkLW5ld2NvbnRleHQtYXR0ci53bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtbmV3Y29udGV4dC1hdHRyLndtbAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9jYXJkLW5ld2NvbnRleHQtYXR0ci53bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorCis8d21sPgorIDxjYXJkIGlkPSJmaXJz
dGNhcmQiIHRpdGxlPSJPbmUiPgorIDxwPiBUZXN0IGZvciBuZXdjb250ZXh0IGF0dHJpYnV0ZSBv
ZiBjYXJkIGVsZW1lbnQ8L3A+CisgPHA+IFRoaXMgaXMgdGhlIGZpcnN0IGNhcmQsIENsaWNrICJH
byIgdG8gZW50ZXIgY2FyZCB0d28uIDxici8+IEJlY2F1c2UgbmV3Y29udGV4dCBvZiBjYXJkIHR3
byBpcyB0cnVlLCB0aGUgaGlzdG9yeSBzdGF0ZSB3aWxsIGJlIGNsZWFuLCBhbmQgdGhlIHZhcmlh
YmxlICIkdmFyMSIgd29uJ3QgYmUgcmVwbGFjZWQ8L3A+CisgPGRvIHR5cGU9ImFjY2VwdCIgbGFi
ZWw9IkdvIj4KKyA8Z28gaHJlZj0iI3NlY29uZGNhcmQiPgorICAgIDxzZXR2YXIgbmFtZT0idmFy
MSIgdmFsdWU9InR3byIvPiAKKyA8L2dvPgorIDwvZG8+CisgPC9jYXJkPgorCisgPGNhcmQgaWQ9
InNlY29uZGNhcmQiIHRpdGxlPSIkdmFyMSIgbmV3Y29udGV4dD0idHJ1ZSI+CisgPHA+IFRoaXMg
aXMgdGhlIGNhcmQgJHZhcjEgPC9wPgorIDxwPiBCZWNhdXNlIG5ld2NvbnRleHQgb2YgdGhpcyBj
YXJkIGlzIHRydWUsIHRoZSBoaXN0b3J5IHN0YXRlIHdpbGwgYmUgY2xlYW4sIGFuZCB0aGUgdmFy
aWFibGUgIiR2YXIxIiB3b24ndCBiZSByZXBsYWNlZDwvcD4KKyA8L2NhcmQ+Cis8L3dtbD4KKwpJ
bmRleDogV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtb25lbnRlcmJhY2t3YXJkLndtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvY2FyZC1vbmVudGVyYmFja3dh
cmQud21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtb25l
bnRlcmJhY2t3YXJkLndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMiBAQAorPD94bWwgdmVy
c2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwg
MS4xLy9FTiIKKyJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdt
bD4KKzxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSIgb25lbnRlcmJhY2t3YXJkPSIjY2Fy
ZDMiPiAKKzxwPlRlc3QgZm9yIGNhcmQgb25lbnRlcmJhY2t3YXJkIGludHJpbnNpYyBldmVudDwv
cD4KKzxwPiBDbGljayAiR28iIHRvIGp1bXAgdG8gdGhlIGNhcmQyLCBpZiB5b3UgZ28gYmFjayBm
cm9tIGNhcmQyLCBpdCB3aWxsIGp1bXAgdG8gY2FyZDM8L3A+Cis8YW5jaG9yIHRpdGxlPSJnbyB0
byBjYXJkMiI+Cis8Z28gaHJlZj0iI2NhcmQyIj5HbzwvZ28+Cis8L2FuY2hvcj4KKzwvY2FyZD4K
KzxjYXJkIGlkPSJjYXJkMiIgdGl0bGU9IkNhcmQgMiI+IAorPHA+VGhpcyBpcyBjYXJkMixjbGlj
ayAiQmFjayIgd2lsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlPC9wPiAKKzxhbmNob3I+CitC
YWNrCis8cHJldiAvPgorPC9hbmNob3I+Cis8L2NhcmQ+Cis8Y2FyZCBpZD0iY2FyZDMiIHRpdGxl
PSJDYXJkIDMiID4KKzxwPlRoaXMgaXMgY2FyZDM8L3A+Cis8L2NhcmQ+Cis8L3dtbD4gCkluZGV4
OiBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvY2FyZC1vbmVudGVyZm9yd2FyZC53bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtb25lbnRlcmZvcndhcmQud21s
CShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2NhcmQtb25lbnRlcmZv
cndhcmQud21sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIx
LjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VO
IgorImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorPGNh
cmQgaWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCAxIiBvbmVudGVyZm9yd2FyZD0iI2NhcmQyIj4KKzxw
PlRlc3QgZm9yIGNhcmQgb25lbnRlcmZvcndhcmQgZXZlbnQ8L3A+Cis8cD5DYXJkIG9uZSB3aWxs
IGp1bXAgdG8gY2FyZCB0d28gd2hlbiBlbnRlcmVkIGZvcndhcmQgaXQ8L3A+Cis8L2NhcmQ+Cis8
Y2FyZCBpZD0iY2FyZDIiIHRpdGxlPSJDYXJkIDIiPgorPHA+VGVzdCBmb3IgY2FyZCBvbmVudGVy
Zm9yd2FyZCBldmVudDwvcD4KKzxwPlRoaXMgaXMgY2FyZDIsIEkgYW0gZW50ZXJlZCBieSBjYXJk
IG9uZSBmb3J3YXJkaW5nPC9wPgorPC9jYXJkPgorPC93bWw+IAorCkluZGV4OiBXZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvY2FyZC1vbnRpbWVyLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvY2FyZC1vbnRpbWVyLndtbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUv
bWFudWFsLXRlc3RzL3dtbC9jYXJkLW9udGltZXIud21sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9X
QVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dt
bF8xLjEueG1sIj4KKworPHdtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ2FjaGUtQ29u
dHJvbCIgY29udGVudD0ibWF4LWFnZT0wIi8+Cis8L2hlYWQ+Cis8Y2FyZCBpZD0iY2FyZDEiIG9u
dGltZXI9IiNjYXJkMiIgdGl0bGU9IkNhcmQgb25lIj4KKzxwPiBUZXN0IGZvciBjYXJkIG9udGlt
ZXIgaW50cmluc2ljIGV2ZW50IGluIFdNTCA8L3A+Cis8dGltZXIgbmFtZT0idGltZTEiIHZhbHVl
PSI1MCIvPgorPHA+CitUaGlzIGlzIGNhcmQgb25lPGJyLz5UaGUgdGltZXIgaXMgdHJpZ2dlcmVk
IGJ5IHRoZSBvbnRpbWVyIGludHJpbnNpYyBldmVudChvbnRpbWVyIGFzIGF0dHJpYnV0ZSBvZiBj
YXJkIGVsZW1lbnQpPGJyLz5XaGVuIHRoZSB0aW1lciBpcyB0aW1lb3V0KGFmdGVyIDVzKSwgd2ls
bCBqdW1wIHRvIGNhcmQgdHdvLgorPC9wPgorPC9jYXJkPgorPGNhcmQgaWQ9ImNhcmQyIj4KK1Ro
aXMgaXMgQ2FyZCB0d28KKzwvY2FyZD4KKzwvd21sPgorCkluZGV4OiBXZWJDb3JlL21hbnVhbC10
ZXN0cy93bWwvZGVjay1hY2Nlc3MtY29udHJvbC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9t
YW51YWwtdGVzdHMvd21sL2RlY2stYWNjZXNzLWNvbnRyb2wud21sCShyZXZpc2lvbiAwKQorKysg
V2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2RlY2stYWNjZXNzLWNvbnRyb2wud21sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3
bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgorImh0dHA6Ly93d3cud2Fw
Zm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+CisKKzx3bWw+Cis8Y2FyZCBvbmVudGVyZm9yd2Fy
ZD0idGFyZ2V0ZGVjay53bWwiPgorPHA+IFRlc3QgZm9yIERlY2sgQWNjZXNzIGNvbnRyb2wgaW4g
V01MLiA8L3A+Cis8cD4gVGhpcyBkZWNrIHdpbGwgdHJ5IHRvIGp1bXAgdG8gInRhcmdldGRlY2su
d21sIiB3aGVuIGl0IGlzIGxvYWRlZC4gQnV0IGl0IHdpbGwgPHN0cm9uZz5GQUlMPC9zdHJvbmc+
IGJlY2F1c2UgInRhcmdldGRlY2sud21sIiBqdXN0IGFsbG93cyAiYWNjZXNzLXRhcmdldC53bWwi
IHRvIGFjY2VzcyBpdC48L3A+Cis8cD4gWW91IGNhbiBjbGljayAnR28nIHRvIGVudGVyICdhY2Nl
c3MtdGFyZ2V0LndtbCcsIGFuZCB0aGVuIGVudGVyICd0YXJnZXRkZWNrLndtbCcgZnJvbSB0aGVy
ZTwvcD4KKzxhbmNob3IgdGl0bGU9ImdvIHRvIGFjY2Vzcy10YXJnZXQud21sIj48Z28gaHJlZj0i
Li9hY2Nlc3MtdGFyZ2V0LndtbCI+R288L2dvPjwvYW5jaG9yPgorPC9jYXJkPgorPC93bWw+Cklu
ZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvZ28tZWxlbWVudC53bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2dvLWVsZW1lbnQud21sCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2dvLWVsZW1lbnQud21sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDQwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVC
TElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5v
cmcvRFREL3dtbF8xLjEueG1sIj4KKzx3bWw+CisgPGNhcmQgaWQ9ImNhcmQxIiB0aXRsZT0iT25l
Ij4KKyAgPHA+IFRlc3QgZm9yIGdvIGVsZW1lbnQgaW4gV01MIDwvcD4KKyAgPGJyLz4KKyAgQ2Fz
ZSAxOiBqdW1wIGFtb25nIG9uZSBkZWNrCisgIDxkbyBuYW1lPSJnbyIgdHlwZT0iYWNjZXB0IiBs
YWJlbD0iR28gdG8gY2FyZDIiPgorICAgPGdvIGhyZWY9IiNjYXJkMiIgc2VuZHJlZmVyZXI9InRy
dWUiIC8+CisgIDwvZG8+CisgIDxwLz4KKyAgQ2FzZSAyOiBqdW1wIGZyb20gb25lIGRlY2sgdG8g
YW5vdGhlciBvbmUKKyAgPGRvIG5hbWU9ImdvMiIgdHlwZT0iYWNjZXB0IiBsYWJlbD0iR28gdG8g
dGVzdC53bWwiPgorICAgPGdvIGhyZWY9Ii4uL3Rlc3Qud21sIi8+CisgIDwvZG8+CisgIDxwLz4K
KyAgQ2FzZSAzOiBqdW1wIHRvIHRlc3Qud21sIGFuZCBwb3N0IGRhdGEgd2l0aCBwb3N0IG1ldGhv
ZAorICA8ZG8gbmFtZT0iZ28zIiB0eXBlPSJhY2NlcHQiIGxhYmVsPSJQb3N0IHRvIHRlc3Qud21s
Ij4KKyAgIDxnbyBocmVmPSIuLi90ZXN0LndtbCIgbWV0aG9kPSJwb3N0IiBhY2NlcHQtY2hhcnNl
dD0idXRmLTgsIGxhdGluMSI+CisgICAgPHBvc3RmaWVsZCBuYW1lPSJ2YXIxIiB2YWx1ZT0iaGVs
bG8iLz4KKyAgICA8cG9zdGZpZWxkIG5hbWU9InZhcjIiIHZhbHVlPSIgd29ybGQiLz4KKyAgIDwv
Z28+CisgIDwvZG8+CisgIDxwLz4KKyAgQ2FzZSA0OiBqdW1wIHRvIHRlc3Qud21sIGFuZCBzZW5k
IHJlcXVlc3Qgd2l0aCBnZXQgbWV0aG9kIAorICA8ZG8gbmFtZT0iZ280IiB0eXBlPSJhY2NlcHQi
IGxhYmVsPSJnZXQgZnJvbSB0ZXN0LndtbCIgc2VuZHJlZmVyZXI9InRydWUiPgorICAgPGdvIGhy
ZWY9Ii4uL3Rlc3Qud21sIiBtZXRob2Q9ImdldCIgYWNjZXB0LWNoYXJzZXQ9InV0Zi04LGxhdGlu
MSxpc28tODg1OS0xIj4KKyAgICA8cG9zdGZpZWxkIG5hbWU9InZhcjEiIHZhbHVlPSJoZWxsbyIv
PgorICAgIDxwb3N0ZmllbGQgbmFtZT0idmFyMiIgdmFsdWU9ImZyaWVuZCIvPgorICAgPC9nbz4K
KyAgPC9kbz4KKyA8L2NhcmQ+CisKKyA8Y2FyZCBpZD0iY2FyZDIiIHRpdGxlPSJUd28iPgorICA8
cCBhbGlnbj0iY2VudGVyIj4KKyAgVGhpcyBpcyB0aGUgc2Vjb25kIGNhcmQKKyA8L3A+CisgPC9j
YXJkPgorPC93bWw+CisKSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9pbnB1dC1lbXB0
eW9rLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvaW5wdXQtZW1w
dHlvay53bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvaW5wdXQt
ZW1wdHlvay53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjYgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKworPHdtbD4K
KzxjYXJkPgorPHA+IFRlc3QgZm9yIGlucHV0IGVtcHR5b2sgYXR0cmlidXRlIGluIFdNTCA8L3A+
CitGb3IgdGhlIGZvbGxvd2luZyBpbnB1dCBlbGVtZW50cywgaW5wdXQgaXMgcmVxdWlyZWQ6Cis8
YnIvPgorZm9ybWF0PU4qTTtlbXB0eW9rPWZhbHNlPGlucHV0IG5hbWU9IngyIiBlbXB0eW9rPSJm
YWxzZSIgZm9ybWF0PSJOKk0iLz4KKzxici8+Citmb3JtYXQ9Kk07ZW1wdHlvaz1mYWxzZTxpbnB1
dCBuYW1lPSJ4MyIgZW1wdHlvaz0iZmFsc2UiIGZvcm1hdD0iKk0iLz4KKzxici8+CitGb3IgdGhl
IGZvbGxvd2luZyBpbnB1dCBlbGVtZW50cywgaW5wdXQgaXMgbm90IHJlcXVpcmVkOgorPGJyLz4K
K2RlZmF1bHQ8aW5wdXQgbmFtZT0ieDQiLz4gCis8YnIvPgorZm9ybWF0PSpNPGlucHV0IG5hbWU9
Ing1IiBmb3JtYXQ9IipNIi8+IAorPGJyLz4KK2VtcHR5b2s9dHJ1ZTxpbnB1dCBuYW1lPSJ4NiIg
ZW1wdHlvaz0idHJ1ZSIvPgorPGJyLz4KK2Zvcm1hdD1uKk07ZW1wdHlvaz10cnVlPGlucHV0IG5h
bWU9Ing3IiBlbXB0eW9rPSJ0cnVlIiBmb3JtYXQ9Im4qTSIvPgorPGJyLz4KK2Zvcm1hdD0qTTtl
bXB0eW9rPXRydWU8aW5wdXQgbmFtZT0ieDgiIGVtcHR5b2s9InRydWUiIGZvcm1hdD0iKk0iLz4K
KzwvY2FyZD4KKzwvd21sPgpJbmRleDogV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2lucHV0LWZv
cm1hdC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL2lucHV0LWZv
cm1hdC53bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvaW5wdXQt
Zm9ybWF0LndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9F
TiIKKyJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorCis8d21sPgor
PGNhcmQgdGl0bGU9IklucHV0Ij4KKzxwPiBUZXN0IGZvciBpbnB1dCBmb3JtYXQgaW4gV01MPC9w
PgorPHA+CitQYXNzd29yZChkZWZhdWx0OipNKTo8aW5wdXQgbmFtZT0iZGVmYXVsdCIvPgorPGJy
Lz4KK1Bhc3N3b3JkKDZNKTogPGlucHV0IG5hbWU9IlB3ZCIgdHlwZT0icGFzc3dvcmQiIGZvcm1h
dD0iNk0iLz4KKzxici8+CitQYXNzd29yZChBQWEpOiA8aW5wdXQgbmFtZT0iUHdkMiIgdHlwZT0i
cGFzc3dvcmQiIGZvcm1hdD0iQUFhIi8+IAorPGJyLz4KK29uZS1udW1lcmljK2xvd2VyY2FzZShO
KmEpOjxpbnB1dCBuYW1lPSJ1cHBlciIgZm9ybWF0PSJOKmEiLz4gCis8YnIvPgorVXBwZXJjYXNl
K25vbi1udW1lcmljKEFBQTtzaXplPTgpOjxpbnB1dCBuYW1lPSJ1cHBlciIgc2l6ZT0iOCIgZm9y
bWF0PSJBQUEiLz4gCis8YnIvPgorTG93ZXJjYXNlK25vbi1udW1lcmljKGFhYTtzaXplPTg7d2lk
dGg9Mik6PGlucHV0IG5hbWU9Imxvd2VyIiBzaXplPSI4IiB3aWR0aD0iMiIgZm9ybWF0PSJhYWEi
Lz4KKzxici8+CitOdW1lcmljKDVOO21heGxlbj0zKTo8aW5wdXQgbmFtZT0ibnVtZXJpYyIgbWF4
bGVuZ3RoPSIzIiBmb3JtYXQ9IjVOIi8+Cis8YnIvPgorTnVtZWlyYytzeW1ib2xzKG5ubik6PGlu
cHV0IG5hbWU9Im51bWVyaWMrIiBmb3JtYXQ9Im5ubiIvPgorPGJyLz4KK1VwcGVyY2FzZStudW1l
cmljK3N5bWJvbHMoWFhYKTo8aW5wdXQgbmFtZT0idXBwZXIrIiBmb3JtYXQ9IlhYWCIvPgorPGJy
Lz4KK0xvd2VyY2FzZStudW1lcmljK3N5bWJvbHMoeHh4KTo8aW5wdXQgbmFtZT0ibG93ZXIrIiBm
b3JtYXQ9Inh4eCIvPgorPGJyLz4KK1VwcGVyY2FzZStudW1lcmljK3N5bWJvbHMoTU1NKTo8aW5w
dXQgbmFtZT0iZGVmX3VwcGVyKyIgZm9ybWF0PSJNTU0iLz4KKzxici8+CitMb3dlcmNhc2UrbnVt
ZXJpYytzeW1ib2xzKG1tbSk6PGlucHV0IG5hbWU9ImRlZl9sb3dlcisiIGZvcm1hdD0ibW1tIi8+
Cis8YnIvPgorTWl4ZWQgZGF0YShhXC1OTip4KTxpbnB1dCBuYW1lPSJhbnkiIGZvcm1hdD0iYVwt
Tk4qeCIvPgorPGJyLz4KKzwvcD4KKzwvY2FyZD4KKzwvd21sPgpJbmRleDogV2ViQ29yZS9tYW51
YWwtdGVzdHMvd21sL29uZXZlbnQtZ28ud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFs
LXRlc3RzL3dtbC9vbmV2ZW50LWdvLndtbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWFudWFs
LXRlc3RzL3dtbC9vbmV2ZW50LWdvLndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAor
PD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0v
L0RURCBXTUwgMS4xLy9FTiIKKyJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54
bWwiPgorPHdtbD4KKworPGNhcmQgaWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCAxIj4gCisgPG9uZXZl
bnQgdHlwZT0ib25lbnRlcmZvcndhcmQiPgorICA8Z28gaHJlZj0iI2NhcmQyIi8+CisgPC9vbmV2
ZW50PgorPHA+VGVzdCBmb3Igb25ldmVudCBlbGVtZW50IHdoaWNoIGJpbmRzIGdvIHRhc2sgd2l0
aCBvbmVudGVyZm9yd2FyZCBldmVudDwvcD4KKzxwPndoZW4gZW50ZXIgZm9yd2FyZCB0byB0aGlz
IGNhcmQsIGl0IHdpbGwganVtcCB0byBjYXJkIDI8L3A+Cis8L2NhcmQ+Cis8Y2FyZCBpZD0iY2Fy
ZDIiIHRpdGxlPSJDYXJkIDIiPgorPHA+VGVzdCBmb3Igb25ldmVudCBlbGVtZW50IHdoaWNoIGJp
bmRzIGdvIHRhc2sgd2l0aCBvbmVudGVyZm9yd2FyZCBldmVudDwvcD4KKzxwPndoaWxlIGNhcmQg
MSBpcyBsb2FkZWQsIGl0IHdpbGwgdHJpZ2dlciB0aGUgb25lbnRlcmZvcndhcmQgZXZlbnQgYW5k
IGp1bXAgdG8gY2FyZDIgaW1tZWRpYXRlbHk8L3A+Cis8cD5UaGlzIGlzIGNhcmQyPC9wPgorPC9j
YXJkPgorCis8L3dtbD4gCisKSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50
LW5vb3Aud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50
LW5vb3Aud21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZl
bnQtbm9vcC53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKzx3bWw+CisK
KzxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+IAorIDxvbmV2ZW50IHR5cGU9Im9uZW50
ZXJmb3J3YXJkIj4KKyA8bm9vcC8+CisgPC9vbmV2ZW50PgorPHA+VGVzdCBmb3Igb25ldmVudCBl
bGVtZW50IHdoaWNoIGJpbmRzIG5vb3AgdGFzayB3aXRoIG9uZW50ZXJmb3J3YXJkIGV2ZW50PC9w
PgorPHA+d2hlbiBlbnRlciBmb3J3YXJkIHRvIHRoaXMgY2FyZCwgaXQgd29uJ3QgZG8gYW55dGhp
bmcgYXMgaWYgdGhlIG9uZW50ZXJmb3J3YXJkIGV2ZW50IHdhc24ndCB0cmlnZ2VyZWQ8L3A+Cis8
L2NhcmQ+Cis8L3dtbD4gCisKSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50
LXByZXYud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9vbmV2ZW50
LXByZXYud21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL29uZXZl
bnQtcHJldi53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKzx3bWw+CisK
KzxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+IAorPHA+VGVzdCBmb3Igb25ldmVudCBl
bGVtZW50IHdoaWNoIGJpbmRzIHByZXYgdGFzayB3aXRoIG9uZW50ZXJmb3J3YXJkIGV2ZW50PC9w
PgorPHA+Q2xpY2tpbmcgIkdvIiB3aWxsIGNhdXNlIGl0IHRvIGp1bXAgdG8gdGhlIGNhcmQyLCBi
dXQgd2hpY2ggYmluZHMgcHJldiB0YXNrIHRvIG9uZW50ZXJmb3J3YXJkIGV2ZW50IHdpdGhpbiBv
bmV2ZW50IGVsZW1lbnQsIGFzIGEgcmVzdWx0LCBpdCB3aWxsIGp1bXAgYmFjayB0byBjYXJkIDE8
L3A+Cis8YW5jaG9yIHRpdGxlPSJHbyB0byBjYXJkMiI+R28KKzxnbyBocmVmPSIjY2FyZDIiLz4K
KzwvYW5jaG9yPgorPC9jYXJkPgorCis8Y2FyZCBpZD0iY2FyZDIiIHRpdGxlPSJDYXJkIDIiPgor
PHA+VGVzdCBmb3Igb25ldmVudCBlbGVtZW50IHdoaWNoIGJpbmRzIHByZXYgdGFzayB3aXRoIG9u
ZW50ZXJmb3J3YXJkIGV2ZW50PC9wPgorPHA+VGhpcyBpcyBjYXJkMi4gV2hlbiBjYXJkIDIgaXMg
ZW50ZXJlZCBmb3J3YXJkLCBpdCB3aWxsIGp1bXAgYmFjayB0byB0aGUgcHJldmlvdXMgcGFnZSA8
L3A+CisgPG9uZXZlbnQgdHlwZT0ib25lbnRlcmZvcndhcmQiPgorIDxwcmV2Lz4KKyA8L29uZXZl
bnQ+Cis8L2NhcmQ+Cis8L3dtbD4gCisKSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9v
bmV2ZW50LXJlZnJlc2gud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dt
bC9vbmV2ZW50LXJlZnJlc2gud21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVz
dHMvd21sL29uZXZlbnQtcmVmcmVzaC53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAK
Kzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVN
Ly9EVEQgV01MIDEuMS8vRU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEu
eG1sIj4KKzx3bWw+CisKKzxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+IAorIDx0aW1l
ciBuYW1lPSJUIiB2YWx1ZT0iMzAiLz4KKyA8b25ldmVudCB0eXBlPSJvbnRpbWVyIj4KKyA8cmVm
cmVzaD4KKyA8c2V0dmFyIG5hbWU9InZhciIgdmFsdWU9IlZBUklBQkxFIi8+CisgPC9yZWZyZXNo
PgorIDwvb25ldmVudD4KKzxwPlRlc3QgZm9yIG9uZXZlbnQgZWxlbWVudCB3aGljaCBiaW5kcyBy
ZWZyZXNoIHRhc2sgd2l0aCBvbnRpbWVyIGV2ZW50PC9wPgorPHA+IFdoZW4gdGhlIHRpbWVyIHRp
bWVvdXQoM3MpLCB0aGUgcGFnZSB3aWxsIGJlIHJlZnJlc2guIEFzIGEgY29uc2VxdWVuY2UsIHdl
IGNhbiBzZWUgdGhlIGZvbGxvd2luZyB2YXJpYWJsZSByZWZlcmVuY2UgaGFzIGJlZW4gc3Vic3Rp
dHV0ZWQ8L3A+Cis8cCBhbGlnbj0iY2VudGVyIj4gSGVyZSBpcyBhIHZhcmlhYmxlIDogdmFyID0g
JHZhciA8L3A+Cis8L2NhcmQ+Cis8L3dtbD4gCisKSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3Rz
L3dtbC9vbmV2ZW50LXNoYWRvdy53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYW51YWwtdGVz
dHMvd21sL29uZXZlbnQtc2hhZG93LndtbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWFudWFs
LXRlc3RzL3dtbC9vbmV2ZW50LXNoYWRvdy53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMg
QEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZP
UlVNLy9EVEQgV01MIDEuMS8vRU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8x
LjEueG1sIj4KKzx3bWw+Cis8dGVtcGxhdGU+Cis8b25ldmVudCB0eXBlPSJvbmVudGVyZm9yd2Fy
ZCI+Cis8Z28gaHJlZj0iI2NhcmQyIi8+Cis8L29uZXZlbnQ+Cis8L3RlbXBsYXRlPgorPGNhcmQg
aWQ9ImNhcmQxIiB0aXRsZT0iQ2FyZCBPbmUiPgorPG9uZXZlbnQgdHlwZT0ib25lbnRlcmZvcndh
cmQiPgorPGdvIGhyZWY9IiNjYXJkMyIvPgorPC9vbmV2ZW50PgorPHA+VGVzdCBmb3Igb25ldmVu
dCBzaGFkb3dpbmcgaW4gV01MPC9wPgorPHA+VGhlIGNhcmQtbGV2ZWwgb25ldmVudCB3aWxsIHNo
YWRvdyB0aGUgZGVjay1sZXZlbCBvbmV2ZW50LiBBcyBhIHJlc3VsdCwgY2FyZCAxIHdvbid0IGp1
bXAgdG8gY2FyZDIgIGJ1dCB0byBjYXJkIDMgYWNjb3JkaW5nIHRvIHRoZSBjYXJkLWxldmVsIG9u
ZXZlbnQncyByZXF1aXJlbWVudC4gQWZ0ZXIgZW50ZXJlZCB0aGUgY2FyZCAzLCB0aGUgZGVjay1s
ZXZlbCBvbmV2ZW50IGVsZW1lbnQgaXNuJ3Qgc2hhZG93ZWQgYnkgdGhpcyBjYXJkLCBzbyBpdCB3
aWxsIGp1bXAgdG8gY2FyZCAyIGltbWVkaWF0ZWx5LjwvcD4KKzwvY2FyZD4KKzxjYXJkIGlkPSJj
YXJkMiIgdGl0bGU9IkNhcmQgdHdvIiA+Cis8cD5UaGlzIGlzIGNhcmQgMjwvcD4KKzwvY2FyZD4K
KzxjYXJkIGlkPSJjYXJkMyIgdGl0bGU9IkNhcmQgVGhyZWUiPgorPHA+VGhpcyBpcyBjYXJkIDM8
L3A+Cis8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9wb3N0
ZmllbGQtZ2V0LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvcG9z
dGZpZWxkLWdldC53bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwv
cG9zdGZpZWxkLWdldC53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01M
IDEuMS8vRU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj48d21s
PgorPGNhcmQ+Cis8cD5UZXN0IGZvciBwb3N0ZmllbGQgZWxlbWVudCBpbiBXTUwgPC9wPgorPHA+
CisgQ2xpY2sgIkdldCIgdG8gU2VuZCBkYXRhIGJ5IGdldCBtZXRob2Q8YnIgLz4KKyA8ZG8gdHlw
ZT0iYWNjZXB0IiBsYWJlbD0iR2V0Ij4KKyAgPGdvIGhyZWY9Ii4uL3Rlc3Qud21sIiBtZXRob2Q9
ImdldCI+CisgICA8cG9zdGZpZWxkIG5hbWU9ImkiIHZhbHVlPSIyIi8+CisgICA8cG9zdGZpZWxk
IG5hbWU9ImoiIHZhbHVlPSIzMCIvPgorICA8L2dvPgorIDwvZG8+Cis8L3A+Cis8L2NhcmQ+Cis8
L3dtbD4gCkluZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvcG9zdGZpZWxkLXBvc3Qud21s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9wb3N0ZmllbGQtcG9zdC53
bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvcG9zdGZpZWxkLXBv
c3Qud21sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAi
Pz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgor
Imh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorPGNhcmQg
aWQ9ImNhcmQxIiB0aXRsZT0iY2FyZDEiPgorPHA+VGVzdCBmb3IgcG9zdGZpZWxkIGVsZW1lbnQg
aW4gV01MPC9wPgorPHA+CisgQ2xpY2sgIlBvc3QiIHRvIFNlbmQgZGF0YSB3aXRoIHBvc3QgbWV0
aG9kPGJyLz4KKyA8ZG8gdHlwZT0iYWNjZXB0IiBuYW1lPSJPayIgbGFiZWw9IlBvc3QiPgorICA8
Z28gaHJlZj0iLi4vdGVzdC53bWwiIG1ldGhvZD0icG9zdCI+CisgICA8cG9zdGZpZWxkIG5hbWU9
ImkiIHZhbHVlPSIyIi8+CisgICA8cG9zdGZpZWxkIG5hbWU9ImoiIHZhbHVlPSIzMCIvPgorICA8
L2dvPgorIDwvZG8+Cis8L3A+Cis8L2NhcmQ+Cis8L3dtbD4gCkluZGV4OiBXZWJDb3JlL21hbnVh
bC10ZXN0cy93bWwvc2VsZWN0LWVsZW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFu
dWFsLXRlc3RzL3dtbC9zZWxlY3QtZWxlbWVudC53bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3Jl
L21hbnVhbC10ZXN0cy93bWwvc2VsZWN0LWVsZW1lbnQud21sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDI3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICIt
Ly9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgorImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RU
RC93bWxfMS4xLnhtbCI+CisKKzx3bWw+Cis8Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJTZWxlY3Qg
VGVzdCI+Cis8cD4gVGVzdCBmb3Igc2VsZWN0IGVsZW1lbnQgaW4gV01MIDwvcD4KKzxwPiBZb3Ug
Y2FuIHNlbGVjdCBvbmUgb3IgbW9yZSBvcHRpb25zLCBhbmQgdGhlbiBjbGljayAnQW5zd2VyJywg
dGhlIHNlY29uZCBjYXJkIHdpbGwgdGVsbCB5b3Ugd2hhdCB5b3Ugc2VsZWN0ZWQ8L3A+Cis8cD4K
KzxzZWxlY3QgbmFtZT0iY2FycyIgdGl0bGU9IlNFTEVDVCIgbXVsdGlwbGU9InRydWUiID4KKyAg
PG9wdGlvbiB2YWx1ZT0idm9sdm8iID5Wb2x2bzwvb3B0aW9uPgorICA8b3B0aW9uIHZhbHVlPSJm
aWF0Ij5GaWF0PC9vcHRpb24+CisgIDxvcHRpb24gdmFsdWU9InNhYWIiPlNhYWI8L29wdGlvbj4K
KyAgPG9wdGlvbiB2YWx1ZT0iYXVkaSI+QXVkaTwvb3B0aW9uPgorPC9zZWxlY3Q+Cis8L3A+Cis8
ZG8gdHlwZT0iYWNjZXB0IiBsYWJlbD0iQW5zd2VyIj4KKyAgPGdvIGhyZWY9IiNjYXJkMiIvPgor
PC9kbz4KKzwvY2FyZD4KKworPGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iQW5zd2VyIj4KKzxwPgor
WW91IHNlbGVjdGVkOiAkKGNhcnMpCis8L3A+Cis8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IFdlYkNv
cmUvbWFudWFsLXRlc3RzL3dtbC9zZWxlY3Qtb25waWNrLWV2ZW50LndtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvc2VsZWN0LW9ucGljay1ldmVudC53bWwJKHJldmlz
aW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvc2VsZWN0LW9ucGljay1ldmVudC53
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pgor
PCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iCisiaHR0
cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKworPHdtbD4KKzxjYXJkPgor
PHA+IFRlc3QgZm9yIHNlbGVjdCBvbnBpY2sgaW50cmluc2ljIGV2ZW50IGluIFdNTCA8L3A+Cis8
cD4gV2hlbiB5b3Ugc2VsZWN0IHRoZSAnTGlvbicgb3B0aW9uLCB3aWxsIGp1bXAgdG8gdGVzdC53
bWw8L3A+CitQbGVhc2UgY2hvb3NlIHlvdXIgZmF2b3VyaXRlIGFuaW1hbDo8YnIvPgorPHNlbGVj
dCBuYW1lPSJYIiBtdWx0aXBsZT0idHJ1ZSI+Cis8b3B0aW9uIHZhbHVlPSJEIj5Eb2c8L29wdGlv
bj4KKzxvcHRpb24gdmFsdWU9IkMiPkNhdDwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iTCIgb25w
aWNrPSIuLi90ZXN0LndtbCI+TGlvbjwvb3B0aW9uPgorPC9zZWxlY3Q+Cis8L2NhcmQ+Cis8L3dt
bD4KSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9zZXR2YXItZWxlbWVudC53bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3NldHZhci1lbGVtZW50LndtbAko
cmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC9zZXR2YXItZWxlbWVudC53
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pgor
PCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRw
Oi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKyA8Y2FyZCBpZD0i
Zmlyc3RjYXJkIiB0aXRsZT0iVGVzdCBmb3IgU2V0dmFyIGVsZW1lbnQiPgorIDxwPiBUZXN0IGZv
ciBzZXR2YXIgZWxlbWVudCBpbiBXTUwgPC9wPgorIDxwPlRoaXMgaXMgdGhlIGZpcnN0IGNhcmQg
LCBoYXMgdmFyaWFibGU6IFZBUj0nJHZhcic8L3A+CisgPHA+Q2xpY2sgIlJlZnJlc2giIHdpbGwg
dXBkYXRlIHRoZSB2YWx1ZSBvZiBWQVIgdmFyYWlibGUgd2hpY2ggc3BlY2lmaWVkIGJ5IHNldHZh
ciBlbGVtZW50PC9wPgorICA8ZG8gbmFtZT0iUmVmcmVzaCIgdHlwZT0iYWNjZXB0Ij4gCisgICA8
cmVmcmVzaD4KKyAgIDxzZXR2YXIgbmFtZT0idmFyIiB2YWx1ZT0iVkFMVUUiLz4KKyAgIDwvcmVm
cmVzaD4KKyAgPC9kbz4KKyA8L2NhcmQ+Cis8L3dtbD4KKwpJbmRleDogV2ViQ29yZS9tYW51YWwt
dGVzdHMvd21sL3RhcmdldGRlY2sud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRl
c3RzL3dtbC90YXJnZXRkZWNrLndtbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWFudWFsLXRl
c3RzL3dtbC90YXJnZXRkZWNrLndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPD94
bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RU
RCBXTUwgMS4xLy9FTiIKKyJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwi
PgorCis8d21sPgorPGhlYWQ+Cis8YWNjZXNzIGRvbWFpbj0ibG9jYWxob3N0IiBwYXRoPSJhY2Nl
c3MtdGFyZ2V0LndtbCIvPgorPC9oZWFkPgorPGNhcmQ+Cis8cD4gVGVzdCBmb3IgRGVjayBBY2Nl
c3MgY29udHJvbCBpbiBXTUwuIDwvcD4KKzxwPiBUaGlzIGlzIHRoZSB0YXJnZXRkZWNrLCBvbmx5
ICcuL2FjY2Vzcy10YXJnZXQud21sIiBjYW4gYWNjZXNzIG1lIDwvcD4KKzwvY2FyZD4KKzwvd21s
PgpJbmRleDogV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Rhc2stZ28taW4tYW5jaG9yLndtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGFzay1nby1pbi1hbmNob3Iu
d21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Rhc2stZ28taW4t
YW5jaG9yLndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIiA/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKworPHdtbD4K
KzxjYXJkIHRpdGxlPSJBbmNob3IgVGFnIj4KKzxwPiBUZXN0IGZvciBXTUwgZ28gdGFzayBlbmNs
b3NlZCB3aXRoIGFuY2hvciBlbGVtZW50IDwvcD4KKzxwPiBjbGljayAnTmV4dCBwYWdlJyB0byBn
byB0byB0ZXN0LndtbCA8L3A+Cis8cD4KKzxhbmNob3I+TmV4dCBwYWdlPGdvIGhyZWY9Ii4uL3Rl
c3Qud21sIi8+IDwvYW5jaG9yPgorPC9wPgorPC9jYXJkPgorPC93bWw+CkluZGV4OiBXZWJDb3Jl
L21hbnVhbC10ZXN0cy93bWwvdGFzay1ub29wLWluLWRvLndtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL21hbnVhbC10ZXN0cy93bWwvdGFzay1ub29wLWluLWRvLndtbAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90YXNrLW5vb3AtaW4tZG8ud21sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwg
UFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgorImh0dHA6Ly93d3cud2FwZm9y
dW0ub3JnL0RURC93bWxfMS4xLnhtbCI+CisKKzx3bWw+Cis8Y2FyZCBpZD0iY2FyZDEiPgorPHA+
IFRlc3QgZm9yIE5vb3AgdGFzayBpbiBkbyBlbGVtZW50IG9mIFdNTC4gPC9wPgorPHA+IElmIGl0
IHBhc3NlcywgeW91IHNob3VsZCBub3Qgc2VlIHRoZSAiQmFjayIgYnV0dG9uPC9wPgorIDxkbyBu
YW1lPSJkbyIgdHlwZT0iYWNjZXB0IiBsYWJlbD0iQmFjayI+CisgPG5vb3AvPgorIDwvZG8+Cis8
L2NhcmQ+IAorPC93bWw+IApJbmRleDogV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Rhc2stbm9v
cC1pbi1vbmV2ZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwv
dGFzay1ub29wLWluLW9uZXZlbnQud21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwt
dGVzdHMvd21sL3Rhc2stbm9vcC1pbi1vbmV2ZW50LndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8v
V0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIKKyJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQv
d21sXzEuMS54bWwiPgorCis8d21sPgorPGNhcmQ+IAorPHA+IFRlc3QgZm9yIG5vb3AgdGFzayBp
biBvbmV2ZW50IGVsZW1lbnQgb2YgV01MPC9wPgorPHA+IElmIGl0IHBhc3NlcywgeW91IHdpbGwg
c2VlIHRoZSBjYXJkIG9uZSBpbiB0aGlzIGRlY2s8L3A+CisgIDxvbmV2ZW50IHR5cGU9Im9uZW50
aW1lciI+CisgIDxub29wLz4KKyAgPC9vbmV2ZW50PgorPHA+IFRoaXMgaXMgQ2FyZCBvbmUgPC9w
PgorPC9jYXJkPiAKKzwvd21sPiAKSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90YXNr
LXByZXYtaW4tYW5jaG9yLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10ZXN0cy93
bWwvdGFzay1wcmV2LWluLWFuY2hvci53bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVh
bC10ZXN0cy93bWwvdGFzay1wcmV2LWluLWFuY2hvci53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICIt
Ly9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgorImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RU
RC93bWxfMS4xLnhtbCI+CisKKzx3bWw+Cis8Y2FyZCB0aXRsZT0iQW5jaG9yIFRhZyI+Cis8cD4g
VGVzdCBmb3IgV01MIHByZXYgdGFzayBlbmNsb3NlZCB3aXRoIGFuY2hvciBlbGVtZW50IDwvcD4K
KzxwPiBjbGljayAncHJldiBwYWdlJyB0byBnbyB0byBwcmV2aW91cyBwYWdlIGlmIGl0IGlzIG5v
dCB0aGUgZmlyc3QgcGFnZSBpbiBoaXN0b3J5PC9wPgorPHA+Cis8YW5jaG9yPlByZXYgcGFnZTxw
cmV2Lz48L2FuY2hvcj4KKzwvcD4KKzwvY2FyZD4KKzwvd21sPgpJbmRleDogV2ViQ29yZS9tYW51
YWwtdGVzdHMvd21sL3Rhc2stcmVmcmVzaC1pbi1hbmNob3Iud21sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvbWFudWFsLXRlc3RzL3dtbC90YXNrLXJlZnJlc2gtaW4tYW5jaG9yLndtbAkocmV2aXNp
b24gMCkKKysrIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90YXNrLXJlZnJlc2gtaW4tYW5jaG9y
LndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+
Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0
dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorPGNhcmQgdGl0
bGU9IiRUIj4KKyA8cD4gVGVzdCBmb3IgcmVmcmVzaCB0YXNrIHdpdGhpbiBXTUwgYW5jaG9yIGVs
ZW1lbnQuIDxici8+IGNsaWNrICJSZWZyZXNoIiB3aWxsIHJlZnJlc2ggdGhpcyBwYWdlLCBhcyBh
IHJlc3VsdCB0aGUgcGFnZSB0aXRsZSB3aWxsIGJlIHVwZGF0ZWQuIDwvcD4KKyAgPHA+CisgICA8
YW5jaG9yPgorICAgIFJlZnJlc2gKKyAgICA8cmVmcmVzaD4KKyAgICA8c2V0dmFyIG5hbWU9IlQi
IHZhbHVlPSJUZXN0IHJlZnJlc2ggdGFzayIvPgorICAgIDwvcmVmcmVzaD4KKyAgIDwvYW5jaG9y
PgorICA8L3A+Cis8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dt
bC90ZW1wbGF0ZS1nby53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvd21s
L3RlbXBsYXRlLWdvLndtbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dt
bC90ZW1wbGF0ZS1nby53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01M
IDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorCis8
d21sPgorPHRlbXBsYXRlPgorIDxkbyBuYW1lPSJnbyIgdHlwZT0iYWNjZXB0IiBsYWJlbD0iVGVt
cGxhdGUgR28iPgorICA8Z28gaHJlZj0iI2NhcmQyIi8+CisgPC9kbz4KKzwvdGVtcGxhdGU+Cis8
Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJDYXJkIDEiPgorPHA+VGVzdCBmb3IgdGVtcGxhdGUgZWxl
bWVudCBpbiBXTUwuIFRlbXBsYXRlIGdvIGJ1dHRvbiBpcyBnbG9iYWw8L3A+Cis8cD4gVGhpcyBp
cyBDYXJkIG9uZSwgY2xpY2sgJ1RlbXBsYXRlIEdvJyB0byBqdW1wIHRvIENhcmQgdHdvPC9wPgor
PC9jYXJkPgorPGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iQ2FyZCAyIj4KKzxwPlRoaXMgaXMgY2Fy
ZCB0d28uIDxici8+VGhlIGdsb2JhbCB0ZW1wbGF0ZSBHbyBidXR0b24gaXMgc3RpbGwgdmlzaWJs
ZSBmb3IgbWU8L3A+Cis8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3Rz
L3dtbC90ZW1wbGF0ZS1vbmV2ZW50LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10
ZXN0cy93bWwvdGVtcGxhdGUtb25ldmVudC53bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21h
bnVhbC10ZXN0cy93bWwvdGVtcGxhdGUtb25ldmVudC53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0v
L1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFRE
L3dtbF8xLjEueG1sIj4KKzx3bWw+Cis8dGVtcGxhdGU+Cis8b25ldmVudCB0eXBlPSJvbmVudGVy
Zm9yd2FyZCI+Cis8Z28gaHJlZj0iI2NhcmQyIi8+Cis8L29uZXZlbnQ+Cis8L3RlbXBsYXRlPgor
PGNhcmQgaWQ9ImNhcmQxIj4KKzxwPlRlc3QgZm9yIHRlbXBsYXRlIGVsZW1lbnQgaW4gV01MPC9w
PgorPHA+V2hlbiBvdGhlciBwYWdlIGVudGVyIGZvcndhcmQgdGhpcyBwYWdlLCBpdCBmaXJzdCBz
aG93IGNhcmQgMSwgYW5kIHRoZW4gaW1tZWRpYXRlbHkganVtcCB0byBjYXJkIDIgYmVjYXVzZSBv
ZiB0aGUgdGVtcGxhdGUgb25lbnRlcmZvcndhcmQgZXZlbnQ8L3A+Cis8L2NhcmQ+Cis8Y2FyZCBp
ZD0iY2FyZDIiIHRpdGxlPSJjYXJkIDIiPgorPHA+CitUaGlzIGlzIGNhcmQgMgorPC9wPgorPC9j
YXJkPgorPC93bWw+CkluZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGVtcGxhdGUtb250
aW1lci53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3RlbXBsYXRl
LW9udGltZXIud21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Rl
bXBsYXRlLW9udGltZXIud21sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8P3htbCB2
ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdN
TCAxLjEvL0VOIgorImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8
d21sPgorPHRlbXBsYXRlIG9udGltZXI9IiNjYXJkMiI+Cis8L3RlbXBsYXRlPgorPGNhcmQgaWQ9
ImNhcmQxIj4KKzxwPlRlc3QgZm9yIHRlbXBsYXRlIG9udGltZXIgZXZlbnQgaW4gV01MPC9wPgor
PHA+VGhpcyBpcyBDYXJkIG9uZSx3ZSB3aWxsIGp1bXAgdG8gY2FyZCAyIGFmdGVyIDVzIGJlY2F1
c2Ugb2YgdGhlIHRlbXBsYXRlIG9udGltZXIgZXZlbnQ8L3A+Cis8dGltZXIgdmFsdWU9IjUwIi8+
Cis8L2NhcmQ+Cis8Y2FyZCBpZD0iY2FyZDIiIHRpdGxlPSJjYXJkIDIiPgorPHA+CitUaGlzIGlz
IGNhcmQgMgorPC9wPgorPC9jYXJkPgorPC93bWw+CkluZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0
cy93bWwvdGltZXIud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC90
aW1lci53bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy93bWwvdGltZXIu
d21sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4K
KzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0
cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKworPHdtbD4KKzxoZWFkPgor
PG1ldGEgaHR0cC1lcXVpdj0iQ2FjaGUtQ29udHJvbCIgY29udGVudD0ibWF4LWFnZT0wIi8+Cis8
L2hlYWQ+Cis8Y2FyZCBpZD0iY2FyZDEiIG9udGltZXI9IiNjYXJkMiIgdGl0bGU9IkNhcmQgb25l
Ij4KKzxwPiBUaGlzIHRlc3QgY2FzZSBpcyB1c2VkIHRvIHRlc3QgdGltZXIgaW4gV01MIDwvcD4K
KyAgICA8dGltZXIgbmFtZT0idGltZTEiIHZhbHVlPSI1MCIvPgorICAgIDxwPgorICAgIFRoaXMg
aXMgY2FyZCBvbmU8YnIvPlRoZSB0aW1lciBpcyB0cmlnZ2VyZWQgYnkgdGhlIG9udGltZXIgaW50
cmluc2ljIGV2ZW50KG9udGltZXIgYXMgYXR0cmlidXRlIG9mIGNhcmQgZWxlbWVudCk8YnIvPldo
ZW4gdGhlIHRpbWVyIGlzIHRpbWVvdXQoYWZ0ZXIgNXMpLCB3aWxsIGp1bXAgdG8gY2FyZCB0d28u
CisgICAgPC9wPgorPC9jYXJkPgorCis8Y2FyZCBpZD0iY2FyZDIiIHRpdGxlPSJDYXJkIHR3byI+
CisgICAgPG9uZXZlbnQgdHlwZT0ib250aW1lciI+CisgICAgPGdvIGhyZWY9IiNjYXJkMSIvPgor
ICAgIDwvb25ldmVudD4KKyAgICA8dGltZXIgbmFtZT0idGltZXIyIiB2YWx1ZT0iMzAiLz4KKyAg
ICA8cD4gCisgICAgVGhpcyBpcyBjYXJkIFR3byE8YnIvPiBUaGUgdGltZXIgaXMgdHJpZ2dlcmVk
IGJ5IHRoZSBvbnRpbWVyIGludHJpbnNpYyBldmVudChvbnRpbWVyIGlzIHNwZWNpZmllZCBieSBv
bmV2ZW50IGVsZW1lbnQpPGJyLz5XaGVuIHRoZSB0aW1lciBpcyB0aW1lb3V0KGFmdGVyIDNzKSwg
d2lsbCBqdW1wIGJhY2sgdG8gY2FyZCBvbmUuCisgICAgPC9wPgorPC9jYXJkPgorPC93bWw+CisK
SW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC92YXJpYWJsZS1zdWJzdGl0dXRpb24ud21s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3dtbC92YXJpYWJsZS1zdWJzdGl0
dXRpb24ud21sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51YWwtdGVzdHMvd21sL3Zhcmlh
YmxlLXN1YnN0aXR1dGlvbi53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKKzw/eG1s
IHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQg
V01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgor
PHdtbD4KKyA8Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJUZXN0IHZhcmlhYmxlIHN1YnN0aXR1dGlv
biI+CisgPHA+IFRlc3QgZm9yIHZhcmlhYmxlIHN1YnN0aXR1dGlvbiA8L3A+CisgPHA+IENsaWNr
ICJSZWZlcnNoIiB0byByZWZyZXNoIHRoZSBjYXJkLCBhbmQgdGhlIHZhcmFpYmxlIHJlZmVyZW5j
ZXMgaW4gdGhlIGNhcmQgd2lsbCBiZSBzdWJzdGl0dWVkPC9wPgorICA8YW5jaG9yPiBSZWZyZXNo
IDxici8+CisgIDxyZWZyZXNoPiAKKyAgPHNldHZhciBuYW1lPSJoaSIgdmFsdWU9ImhlbGxvIi8+
CisgIDxzZXR2YXIgbmFtZT0ibmFtZSIgdmFsdWU9IiBZaSBjaGFvIi8+CisgIDxzZXR2YXIgbmFt
ZT0ibmFtZTIiIHZhbHVlPSIkKG5hbWU6ZSkiLz4KKyAgPHNldHZhciBuYW1lPSJuYW1lMyIgdmFs
dWU9IiQobmFtZTI6dSkiLz4KKyAgPC9yZWZyZXNoPgorICA8L2FuY2hvcj4KKyAgPHA+c2V0IGhp
ID0gImhlbGxvIiwgbmFtZSA9ICIgWWkgY2hhbyIgPGJyLz4KKyAgPCFbQ0RBVEFbJChoaSksJG5h
bWVdXT4gPT4gJChoaSksJG5hbWUgPGJyLz4KKyAgPCFbQ0RBVEFbJGhpLCQobmFtZTplc0NhcGUp
XV0+ID0+ICRoaSwkKG5hbWU6ZXNDYXBlKSA8YnIvPgorICA8IVtDREFUQVskaGksJChuYW1lOmUp
XV0+ID0+ICRoaSwkKG5hbWU6ZSkgPGJyLz4KKyAgPCFbQ0RBVEFbJGhpLCQobmFtZTpVKV1dPiA9
PiAkaGksJChuYW1lOlUpIDxici8+CisgIDwvcD4KKyAgPHA+c2V0IG5hbWUyID0gJCQobmFtZTpl
KSA8YnIvPgorICA8IVtDREFUQVskKGhpKSwkKG5hbWUyKV1dPiA9PiAkKGhpKSwkKG5hbWUyKSA8
YnIvPgorICA8IVtDREFUQVskKGhpKSwkJChuYW1lOmUpXV0+ID0+ICQoaGkpLCQkKG5hbWU6ZSkg
PGJyLz4KKyAgPC9wPgorICA8cD5zZXQgbmFtZTMgPSAkJChuYW1lMjp1KSA8YnIvPgorICA8IVtD
REFUQVskKGhpKSwkbmFtZTNdXT4gPT4gJChoaSksJG5hbWUzPGJyLz4KKyAgPCFbQ0RBVEFbJCho
aSksJChuYW1lMzplKV1dPiA9PiAkKGhpKSwkKG5hbWUzOmUpIDxici8+CisgIDwvcD4KKyA8L2Nh
cmQ+Cis8L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM4NTI1KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDIgQEAKKzIwMDgtMTEtMTcgIE5pa29s
YXMgWmltbWVybWFubiAgPG5pa29sYXMuemltbWVybWFubkB0b3JjaG1vYmlsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGluaXRpYWwg
c2V0IG9mIFdNTCBsYXlvdXQgdGVzdHMsIGV4Y2x1ZGluZyByZXN1bHRzLiBUaGVzZSB0ZXN0cwor
ICAgICAgICB3aWxsIGJlY29tZSB1c2VmdWwgb25jZSB0aGUgd2hvbGUgV01MIHN1cHBvcnQgcGF0
Y2ggaGFzIGxhbmRlZC4KKworICAgICAgICAqIGZhc3Qvd21sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3dtbC9ici1lbGVtZW50LWluLXRhYmxlLndtbDogQWRkZWQuCisgICAgICAgICogZmFzdC93
bWwvYnItZWxlbWVudC1pbi10ZXh0LndtbDogQWRkZWQuCisgICAgICAgICogZmFzdC93bWwvY2Fy
ZC1lbGVtZW50LndtbDogQWRkZWQuCisgICAgICAgICogZmFzdC93bWwvY2FzZS1zZW5zaXRpdml0
eS53bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd21sL2NkYXRhLXNlY3Rpb24ud21sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3dtbC9jb21tZW50LndtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC93bWwvZG8tZWxlbWVudC1vcHRpb25hbC1hdHRyLndtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC93bWwvZG8tc2hhZG93LndtbDogQWRkZWQuCisgICAgICAgICogZmFzdC93bWwvZG8tdGVtcGxh
dGUud21sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9lbnRpdHkud21sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3dtbC9lcnItZXZlbnQtYmluZGluZy1jb25mbGljdC53bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJyZWYud21sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9lcnItaW52YWxpZC10YWJsZWNvbHVtbi1udW1iZXIu
d21sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9lcnItaW52YWxpZC12YXJpYWJsZS1uYW1l
LndtbDogQWRkZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLW11bHRpLWFjY2Vzcy53bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3Qvd21sL2Vyci1tdWx0aS1odHRwLWVxdWl2LWluLW1ldGEud21s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dtbC9lcnItbXVsdGktbmFtZS1pbi1tZXRhLndtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC93bWwvZXJyLW11bHRpLXRpbWVyLndtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC93bWwvZXJyLXNhbWVuYW1lLWRvLndtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC93bWwvZXJyLXVuYWxsb3dlZC10YXNrLWluLWFuY2hvci53bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3Qvd21sL2ltZy1sb2NhbHNyYy53bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd21s
L2ltZy1zcmMtbG9jYWxzcmMtYWx0LndtbDogQWRkZWQuCisgICAgICAgICogZmFzdC93bWwvaW1n
LXNyYy53bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd21sL3AtYWxpZ24ud21sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3dtbC9wLW1vZGUud21sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dt
bC9zaG93LWZpcnN0LWNhcmQud21sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dtbC90YWJsZS1l
bGVtZW50LndtbDogQWRkZWQuCisgICAgICAgICogZmFzdC93bWwvdGVzdC53bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3Qvd21sL3RleHQtZW1waGFzaXMud21sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3dtbC92YWxpZGF0ZS1kdGQud21sOiBBZGRlZC4KKwogMjAwOC0xMS0xNiAgR2VvZmZyZXkg
R2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvd21sL2JyLWVsZW1lbnQtaW4tdGFibGUud21sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2JyLWVsZW1lbnQtaW4tdGFibGUud21sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvYnItZWxlbWVudC1pbi10YWJsZS53bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKyA8Y2FyZCB0aXRsZT0iUGFy
YWdyYXBocyI+CisgPHA+IFRoaXMgdGVzdCBjYXNlIGlzIHVzZWQgdG8gdGVzdCBiciBlbGVtZW50
IGluIGEgdGFibGUuIGVhY2ggY2VsbCBpcyBhbGlnbmVkIHRvIGxlZnQsIGFuZCB0aGUgQlIgd2ls
bCBicmVhayB0aGUgInh4eHh4eHh4IiB0ZXh0IGluIHRoZSBsYXN0IHRkPC9wPgorIDx0YWJsZSBj
b2x1bW5zPSczJyBhbGlnbj0iTExMIj4KKyAgICA8dHI+CisgICAgIDx0ZCBpZD0iYzEiPkNlbGwg
b25lPC90ZD4KKyAgICAgPHRkIGlkPSJjMiI+Q2VsbCB0d288L3RkPgorICAgICA8dGQgaWQ9ImMz
Ij5jMzwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgIDx0ZCBpZD0iYSI+Y2VsbCBhPC90
ZD4KKyAgICAgPHRkIGlkPSJiIj5jZWxsIGI8L3RkPgorICAgICA8dGQgaWQ9ImMiPnh4eHh4PGJy
Lz54eHg8L3RkPgorICAgIDwvdHI+CisgPC90YWJsZT4KKyA8L2NhcmQ+Cis8L3dtbD4gCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRleHQud21sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2JyLWVsZW1lbnQtaW4tdGV4dC53bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9ici1lbGVtZW50LWluLXRleHQud21sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKyA8Y2FyZCB0aXRsZT0iUGFyYWdy
YXBocyI+CisgPHA+IFRoaXMgdGVzdCBjYXNlIGlzIHVzZWQgdG8gdGVzdCBiciBlbGVtZW50IGlu
IHRleHQ8L3A+CisgIFRoaXMgaXMgYSBwaWVjZSBvZiB0ZXh0IDxici8+d2l0aCBhIGxpbmUgYnJl
YWsKKyA8L2NhcmQ+Cis8L3dtbD4gCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9jYXJkLWVs
ZW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2NhcmQtZWxlbWVu
dC53bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9jYXJkLWVsZW1lbnQu
d21sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pgor
PCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMC8vRU4iCisiaHR0
cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKworPHdtbD4KKzxjYXJkIGlk
PSJjYXJkMSIgdGl0bGU9IkNhcmQgMSI+VGhpcyBpcyBjYXJkIG9uZTwvY2FyZD4KKzxjYXJkIGlk
PSJjYXJkMiIgdGl0bGU9IkNhcmQgMiI+VGhpcyBpcyBjYXJkIHR3bzwvY2FyZD4KKzwvd21sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvY2FzZS1zZW5zaXRpdml0eS53bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvY2FzZS1zZW5zaXRpdml0eS53bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9jYXNlLXNlbnNpdGl2aXR5LndtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiA/PgorPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKyA8Y2FyZCBpZD0nY2FyZDEnPgor
IDxwPiBUZXN0IGZvciBDYXNlIHNlbnNpdGl2aXR5IGluIFdNTCA8L3A+CisgPHA+IGNvbXBhcmUg
dGhlIHJlc3VsdCBvZiBpbnNlcnRpbmcgJmx0O2JyLyZndDsgYW5kICZsdDtCUi8mZ3Q7IGludG8g
dGhlIHNhbWUgdGV4dCwgPGJyLz50aGUgZm9ybWVyIHNob3VsZCB3b3JrLCBhbmQgdGhlIGxhdHRl
ciBkb2Vzbid0LjwvcD4KKyA8dGFibGUgYm9yZGVyPSIxIj4KKyA8dHI+PHRkPlRlc3QgY2FzZSA8
YnIvPnNlbnNpdGl2aXR5IGluIFdNTCA8L3RkPjwvdHI+CisgPHRyPjx0ZD5UZXN0IGNhc2UgPEJS
Lz5zZW5zaXRpdml0eSBpbiBXTUwgPC90ZD48L3RyPgorIDwvdGFibGU+CisgPC9jYXJkPgorPC93
bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2NkYXRhLXNlY3Rpb24ud21sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2NkYXRhLXNlY3Rpb24ud21sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvY2RhdGEtc2VjdGlvbi53bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiA/PgorPCFET0NUWVBFIHdt
bCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZv
cnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKyA8Y2FyZCBpZD0nY2FyZDEnPgorIDxw
PiBUZXN0IGZvciBDREFUQSBTZWN0aW9uIGluIFdNTDxici8+IElmIGl0IHBhc3NlcywgeW91IGNh
biBzZWUgdGhlIGZvbGxvd2luZyB0ZXh0IDogPC9wPgorIDwhW0NEQVRBWyBUaGlzIGlzIDxCPiBh
IENEQVRBIHRlc3RdXT4KKyA8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
d21sL2NvbW1lbnQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2NvbW1l
bnQud21sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvY29tbWVudC53bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFE
T0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8v
d3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKyA8Y2FyZCBpZD0iY2Fy
ZDEiIHRpdGxlPSJDYXJkIDEiPgorICA8cD4gVGVzdCBjb21tZW50IGluIFdNTCwgdGhlIHRleHQg
aW4gdGhlIGNvbW1lbnQgc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQsIGlmIGl0IHBhc3NlcywgeW91
IGNhbiBvbmx5IHNlZSB0aGUgdGV4dDogIkhlbGxvIFdvcmxkISIgYWZ0ZXIgdGhpcyBsaW5lIDwv
cD4KKyAgPHA+CisgICAgPCEtLSBUaGlzIGlzIGEgY29tbWVudCAsIGl0IHNob3VsZCBub3QgYmUg
ZGlzcGxheWVkLS0+CisgICAgSGVsbG8gV29ybGQhCisgIDwvcD4KKyA8L2NhcmQ+Cis8L3dtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci53bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZG8tZWxlbWVudC1vcHRpb25hbC1h
dHRyLndtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2RvLWVsZW1lbnQt
b3B0aW9uYWwtYXR0ci53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01M
IDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdt
bD4KKyA8Y2FyZCBpZD0iZmlyc3RjYXJkIiB0aXRsZT0iT25lIj4KKyAgPHA+VGVzdCBmb3IgZG8g
ZWxlbWVudCBpbiBXTUwgPC9wPgorICA8cD4gVGhlcmUgYXJlIHR3byBkbyBlbGVtZW50IGluIHRo
aXMgY2FyZCwgdGhlIGZpcnN0IG9uZSB3aWxsIGRpc3BsYXksIHRoZSBzZWNvbmQgd29uJ3QgYmVj
YXVzZSBpdHMgb3B0aW9uYWwgYXR0cmlidXRlIGlzIHRydWU8L3A+CisgIDxkbyBuYW1lPSJnbyIg
dHlwZT0iYWNjZXB0IiBsYWJlbD0iRG8gMSIgb3B0aW9uYWw9ImZhbHNlIj4KKyAgPGdvIGhyZWY9
IiN0aGlyZGNhcmQiLz4KKyAgPC9kbz4KKyAgPGRvIG5hbWU9ImdvMiIgdHlwZT0iYWNjZXB0IiBs
YWJlbD0iRG8gMiIgb3B0aW9uYWw9InRydWUiPgorICA8Z28gaHJlZj0iI3NlY29uZGNhcmQiLz4K
KyAgPC9kbz4KKyA8L2NhcmQ+CisKKyA8Y2FyZCBpZD0ic2Vjb25kY2FyZCIgdGl0bGU9IlR3byI+
CisgIDxwPlRoaXMgaXMgdGhlIHNlY29uZCBjYXJkPC9wPgorIDwvY2FyZD4KKworIDxjYXJkIGlk
PSJ0aGlyZGNhcmQiIHRpdGxlPSJUaHJlZSI+CisgIDxwPlRoaXMgaXMgdGhlIHRoaXJkIGNhcmQ8
L3A+CisgPC9jYXJkPgorPC93bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2RvLXNo
YWRvdy53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZG8tc2hhZG93Lndt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2RvLXNoYWRvdy53bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKzx0ZW1wbGF0ZT4KKzxkbyB0
eXBlPSJhY2NlcHQiIG5hbWU9ImRvMSIgbGFiZWw9IlRlbXBsYXRlIERvIj4KKzxwcmV2Lz4KKzwv
ZG8+Cis8L3RlbXBsYXRlPgorCis8Y2FyZCBpZD0iZmlyc3QiPgorPHA+IFRlc3QgZm9yIGRvLXNo
YWRvdyBpbiBXTUw8L3A+Cis8cD5UaGlzIGlzIGZpcnN0IGNhcmQsIHdoaWNoIHdvbid0IHNoYWRv
dyBkZWNrLWxldmVsIGRvPC9wPgorPGFuY2hvcj4KKzxnbyBocmVmPSIjc2Vjb25kIj5HbyB0byBj
YXJkIDI8L2dvPgorPC9hbmNob3I+Cis8L2NhcmQ+CisKKzxjYXJkIGlkPSJzZWNvbmQiPgorPHA+
ZGVjay1sZXZlbCBkbyBpcyBzaGFkb3dlZCB3aXRoIG5vb3AuIEl0IGlzIG5vdCBleHBvc2VkIHRv
IHRoZSB1c2VyIDwvcD4KKzxkbyB0eXBlPSJvcHRpb25zIiBuYW1lPSJkbzEiIGxhYmVsPSJzZWNv
bmQgZG8iPgorPG5vb3AvPgorPC9kbz4KKzxhbmNob3I+Cis8Z28gaHJlZj0iI3RoaXJkIj5HbyB0
byBjYXJkIDM8L2dvPgorPC9hbmNob3I+Cis8L2NhcmQ+CisKKzxjYXJkIGlkPSJ0aGlyZCI+Cis8
cD5kZWNrLWxldmVsIGRvIGlzIHNoYWRvd2VkLiBJdCBpcyByZXBsYWNlZCBieSBhIGNhcmQtbGV2
ZWwgZG8gYmVjYXVzZSB0aGV5IGhhdmUgdGhlIHNhbWUgbmFtZTwvcD4KKzxwPgorPGRvIHR5cGU9
Im9wdGlvbnMiIG5hbWU9ImRvMSIgbGFiZWw9ImRvMSI+Cis8Z28gaHJlZj0iLi90ZXN0LndtbCIv
PgorPC9kbz4KKzxici8+Cis8YW5jaG9yPgorPGdvIGhyZWY9IiNmaXJzdCI+R28gdG8gY2FyZCAx
PC9nbz4KKzwvYW5jaG9yPgorPC9wPgorPC9jYXJkPgorPC93bWw+CisKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvd21sL2RvLXRlbXBsYXRlLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3dtbC9kby10ZW1wbGF0ZS53bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3dtbC9kby10ZW1wbGF0ZS53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzEgQEAKKzw/eG1s
IHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQg
V01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgor
PHdtbD4KKzx0ZW1wbGF0ZSBpZD0iMiI+Cis8ZG8gbmFtZT0iZ28iIHR5cGU9ImFjY2VwdCIgbGFi
ZWw9IlRlbXBsYXRlIGRvIj4KKzxnbyBocmVmPSIjZmlyc3RjYXJkIi8+Cis8L2RvPgorPC90ZW1w
bGF0ZT4KKyA8Y2FyZCBpZD0iZmlyc3RjYXJkIiB0aXRsZT0iT25lIj4KKyA8cD4gVGVzdCBmb3Ig
ZG8gZWxlbWVudCBpbiB0ZW1wbGF0ZSBpbiBXTUw8L3A+CisgPHA+IFdoaWNoZXZlciBjYXJkIHlv
dSBlbnRlcmVkLCB5b3UgY2FuIHNlZSB0aGUgdGVtcGxhdGUgZG8gYnV0dG9uIGJlY2F1c2UgaXQn
cyBnbG9iYWw8L3A+CisgIDxwPlRoaXMgaXMgdGhlIGZpcnN0IGNhcmQ8L3A+CisgIDxwPjxhbmNo
b3I+PGdvIGhyZWY9IiNzZWNvbmRjYXJkIi8+R28gdG8gY2FyZDI8L2FuY2hvcj48L3A+CisgPC9j
YXJkPgorCisgPGNhcmQgaWQ9InNlY29uZGNhcmQiIHRpdGxlPSJUd28iPgorIDxwPiBUZXN0IGZv
ciBkbyBlbGVtZW50IGluIHRlbXBsYXRlIGluIFdNTDwvcD4KKyA8cD4gV2hpY2hldmVyIGNhcmQg
eW91IGVudGVyZWQsIHlvdSBjYW4gc2VlIHRoZSB0ZW1wbGF0ZSBkbyBidXR0b24gYmVjYXVzZSBp
dCdzIGdsb2JhbDwvcD4KKyAgPHA+VGhpcyBpcyB0aGUgc2Vjb25kIGNhcmQgPC9wPgorICA8YW5j
aG9yPkdvIHRvIGNhcmQgMworICA8Z28gaHJlZj0iI3RoaXJkY2FyZCIvPgorICA8L2FuY2hvcj4K
KyA8L2NhcmQ+CisKKyA8Y2FyZCBpZD0idGhpcmRjYXJkIiB0aXRsZT0iVGhyZWUiPgorIDxwPiBU
ZXN0IGZvciBkbyBlbGVtZW50IGluIHRlbXBsYXRlIGluIFdNTDwvcD4KKyA8cD4gV2hpY2hldmVy
IGNhcmQgeW91IGVudGVyZWQsIHlvdSBjYW4gc2VlIHRoZSB0ZW1wbGF0ZSBkbyBidXR0b24gYmVj
YXVzZSBpdCdzIGdsb2JhbDwvcD4KKyAgPHA+VGhpcyBpcyB0aGUgdGhpcmQgY2FyZDwvcD4KKyAg
PGFuY2hvcj5CYWNrPHByZXYvPjwvYW5jaG9yPgorIDwvY2FyZD4KKzwvd21sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC93bWwvZW50aXR5LndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3dtbC9lbnRpdHkud21sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwv
ZW50aXR5LndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9F
TiIKKyJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorCis8d21sPgor
PGNhcmQgaWQ9Im5vMSIgdGl0bGU9IlRlc3QgZW50aXR5Ij4KKzxwPlRlc3QgZm9yIEVudGl0aWVz
IGluIFdNTCBwYWdlPC9wPgorJnF1b3Q7ICAgICAgICYjMzQ7Cis8YnIvPgorJmFtcDsgICAgICAg
ICYjMzg7Cis8YnIvPgorJmFwb3M7ICAgICAgICYjeDI3OworPGJyLz4KKyZsdDsgICAgICAgICAm
IzYwOworPGJyLz4KKyZndDsgICAgICAgICAmIzYyOworPGJyLz4KKz0mbmJzcDs9JiMxNjA7PQor
PGJyLz4KK0FBJnNoeTtBQSYjMTczO0FBCis8YnIvPiAKKzxwPiAmbHQ7aGVsbG8mZ3Q7IDwvcD4K
KzwvY2FyZD4KKworPGNhcmQgaWQ9ImNhcmQyIiB0aXRsZT0iJChjYXJkaWQpIHRpdGxlIj5UaGlz
IGlzIGNhcmQgMjwvY2FyZD4KKzwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJy
LWV2ZW50LWJpbmRpbmctY29uZmxpY3Qud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvd21sL2Vyci1ldmVudC1iaW5kaW5nLWNvbmZsaWN0LndtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1ldmVudC1iaW5kaW5nLWNvbmZsaWN0LndtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiA/PgorPCFET0NUWVBF
IHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3Lndh
cGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKzxjYXJkIGlkPSJjYXJkMSI+Cisg
IDxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4KKyAgPHJlZnJlc2gvPgorICA8L29uZXZl
bnQ+CisgIDxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4KKyAgPHByZXYvPgorICA8L29u
ZXZlbnQ+CisgIDxwPiBUZXN0IGZvciB0aGUgZXJyb3IgZXZlbnQtYmluZGluZyBjb25mbGljdDwv
cD4KKyAgWW91IHNob3VsZCBOT1Qgc2VlIHRoaXMgdGV4dCwgYmVjYXVzZSBvZiB0aGUgZXJyb3Ig
b2YgZXZlbnQtYmluZGluZyBlcnJvciBpbiBjYXJkIGVsZW1lbnQgCis8L2NhcmQ+Cis8L3dtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJy
ZWYud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxv
Y2F0aW9uLWZvci12YXJyZWYud21sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC93
bWwvZXJyLWludmFsaWQtbG9jYXRpb24tZm9yLXZhcnJlZi53bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMg
Ii0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iCisiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcv
RFREL3dtbF8xLjEueG1sIj4KKworPHdtbD4KKzxjYXJkIGlkPSJubzEiIHRpdGxlPSJDYXJkIDEi
PiAKKzxwPiBUZXN0IGZvciB2YXJpYWJsZSByZWZlcmVuY2UgdmFsaWRhdGlvbjwvcD4KKzxwPiBB
biBlcnJvciB3aWxsIG9jY3VyIHdoZW4gbG9hZGluZyB0aGUgY2FyZCBiZWNhdXNlIHRoZSB2YXJp
YWJsZSByZWZlcmVuY2UgaXMgcGxhY2VkIGluIGEgaW52YWxpZCBsb2NhdGlvbjwvcD4KKzxkbyB0
eXBlPSIkKHZhcikiIG5hbWU9InJlZnJlc2giPgorICA8cmVmcmVzaD4KKyAgICA8c2V0dmFyIG5h
bWU9InZhciIgdmFsdWU9InZhcmFpYmxlMiIvPgorICA8L3JlZnJlc2g+Cis8L2RvPgorPC9jYXJk
PgorPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItaW52YWxpZC10YWJsZWNv
bHVtbi1udW1iZXIud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1p
bnZhbGlkLXRhYmxlY29sdW1uLW51bWJlci53bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3dtbC9lcnItaW52YWxpZC10YWJsZWNvbHVtbi1udW1iZXIud21sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwg
UFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIgorImh0dHA6Ly93d3cud2FwZm9y
dW0ub3JnL0RURC93bWxfMS4xLnhtbCI+CisKKzx3bWw+Cis8Y2FyZCBpZD0ibm8xIiB0aXRsZT0i
Q2FyZCAxIj4gCis8cD4gVGVzdCBmb3IgdGFibGUgY29sdW1uIG51bWJlciB2YWxpZGF0aW9uIDwv
cD4KKzxwPiBUaGUgdGFibGUgd29uJ3QgYmUgZGlzcGxheWVkIGJlY2F1c2Ugb2YgdGhlIGludmFs
aWQgY29sdW1ucyBhdHRydWlidGUgb2YgdGFibGUgZWxlbWVudDwvcD4KKzx0YWJsZSBjb2x1bW5z
PSIwIj4KKzx0cj48dGQ+Q2VsbCAxPC90ZD48dGQ+Q2VsbCAyPC90ZD48L3RyPgorPC90YWJsZT4K
KzwvY2FyZD4KKzwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLWludmFsaWQt
dmFyaWFibGUtbmFtZS53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJy
LWludmFsaWQtdmFyaWFibGUtbmFtZS53bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3dtbC9lcnItaW52YWxpZC12YXJpYWJsZS1uYW1lLndtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAi
LS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIKKyJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9E
VEQvd21sXzEuMS54bWwiPgorCis8d21sPgorPGNhcmQgaWQ9Im5vMSIgdGl0bGU9IkNhcmQgMSI+
IAorPHA+IFRlc3QgZm9yIHZhcmlhYmxlIG5hbWUgdmFsaWRhdGlvbiA8L3A+Cis8ZG8gdHlwZT0i
YWNjZXB0IiBuYW1lPSJyZWZyZXNoIj4KKyAgPHJlZnJlc2g+CisgICAgPHNldHZhciBuYW1lPSIk
K3ZhciIgdmFsdWU9InZhcmFpYmxlMiIvPgorICA8L3JlZnJlc2g+Cis8L2RvPgorPC9jYXJkPgor
PC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktYWNjZXNzLndtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktYWNjZXNzLndtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1tdWx0aS1hY2Nlc3Mud21s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cis8
IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6
Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorPGhlYWQ+Cis8YWNj
ZXNzIHBhdGg9Ii8iIGRvbWFpbj0iZG9tYWluIi8+Cis8YWNjZXNzIHBhdGg9Ii9wYXRoIiBkb21h
aW49ImRvbWFpbiIvPgorPC9oZWFkPgorPGNhcmQgaWQ9ImNhcmQxIj4KKyAgPHA+IFRlc3QgZm9y
IG11bHRpLWFjY2VzcyBlcnJvcjwvcD4KKyAgWW91IHNob3VsZCBub3Qgc2VlIHRoaXMgdGV4dCwg
YmVjYXVzZSBvZiB0aGUgZXJyb3Igb2YgbXVsdGktYWNjZXNzIGluIGhlYWQgZWxlbWVudAorPC9j
YXJkPgorPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktaHR0cC1l
cXVpdi1pbi1tZXRhLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnIt
bXVsdGktaHR0cC1lcXVpdi1pbi1tZXRhLndtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3Qvd21sL2Vyci1tdWx0aS1odHRwLWVxdWl2LWluLW1ldGEud21sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cis8IURPQ1RZUEUgd21sIFBV
QkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0u
b3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJD
b250ZW50LVR5cGUiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgQ29udGVudD0idGV4dC92bmQu
d2FwLndtbDsgQ2hhcnNldD1nYjIzMTIiLz4KKzwvaGVhZD4KKyA8Y2FyZCBpZD0iY2FyZDEiPgor
ICA8cD4gVGVzdCBmb3IgbWV0YSBtdWx0aS1odHRwLWVxdWl2IGVycm9yPC9wPgorICBZb3Ugc2hv
dWxkIG5vdCBzZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRoZSBlcnJvciBvZiBtdWx0aS1odHRw
LWVxdWl2IGluIG1ldGEgZWxlbWVudAorIDwvY2FyZD4KKzwvd21sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC93bWwvZXJyLW11bHRpLW5hbWUtaW4tbWV0YS53bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC93bWwvZXJyLW11bHRpLW5hbWUtaW4tbWV0YS53bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItbXVsdGktbmFtZS1pbi1tZXRhLndtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiA/PgorPCFET0NU
WVBFIHdtbCBQVUJMSUMgIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3
LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorPHdtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0iQ29udGVudC1UeXBlIiBuYW1lPSJDb250ZW50LVR5cGUiIENvbnRlbnQ9InRleHQvdm5kLndh
cC53bWw7IENoYXJzZXQ9Z2IyMzEyIi8+Cis8L2hlYWQ+CisgPGNhcmQgaWQ9ImNhcmQxIj4KKyAg
PHA+IFRlc3QgZm9yIG1ldGEgbXVsdGktbmFtZSBlcnJvcjwvcD4KKyAgWW91IHNob3VsZCBub3Qg
c2VlIHRoaXMgdGV4dCwgYmVjYXVzZSBvZiB0aGUgZXJyb3Igb2YgbXVsdGktbmFtZSBpbiBtZXRh
IGVsZW1lbnQKKyA8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vy
ci1tdWx0aS10aW1lci53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJy
LW11bHRpLXRpbWVyLndtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vy
ci1tdWx0aS10aW1lci53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCIgPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdN
TCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKzx3
bWw+CisgPGNhcmQgaWQ9ImNhcmQxIiBvbnRpbWVyPSJ0ZXN0LndtbCI+CisgPHRpbWVyIGlkPSJ0
aW1lcjEiIG5hbWU9InQxIiB2YWx1ZT0iMjAiLz4KKyA8dGltZXIgaWQ9InRpbWVyMiIgbmFtZT0i
dDIiIHZhbHVlPSIzMCIvPgorICA8cD4gVGVzdCBmb3IgZXJyb3Igb2YgbWV0YSBtdWx0aS10aW1l
ciBpbiBvbmUgY2FyZCA8L3A+CisgIFlvdSBzaG91bGQgTk9UIHNlZSB0aGlzIHRleHQsIGJlY2F1
c2Ugb2YgdGhlIGVycm9yIHRoYXQgbW9yZSB0aGFuIG9uZSB0aW1lciBleGlzdCBpbiBvbmUgY2Fy
ZCAKKyA8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1zYW1l
bmFtZS1kby53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvZXJyLXNhbWVu
YW1lLWRvLndtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2Vyci1zYW1l
bmFtZS1kby53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEv
L0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKzx3bWw+Cis8
Y2FyZCBpZD0iY2FyZDEiPgorICA8ZG8gbmFtZT0iZG8iIHR5cGU9ImFjY2VwdCI+CisgIDxyZWZy
ZXNoLz4KKyAgPC9kbz4KKyAgPGRvIG5hbWU9ImRvIiB0eXBlPSJhY2NlcHQiPgorICA8cmVmcmVz
aC8+CisgIDwvZG8+CisgIDxwPiBUZXN0IGZvciB0aGUgZXJyb3IgdGhhdCBtb3JlIHRoYW4gb25l
IGRvIGVsZW1lbnQgaGFzIHNhbWUgbmFtZTwvcD4KKyAgWW91IHNob3VsZCBOT1Qgc2VlIHRoaXMg
dGV4dCwgYmVjYXVzZSBvZiB0aGUgZXJyb3Igb2YgbmFtZS1jb25mbGljdCBvZiBkbyBlbGVtZW50
IAorPC9jYXJkPgorPC93bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9lcnItdW5hbGxv
d2VkLXRhc2staW4tYW5jaG9yLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dt
bC9lcnItdW5hbGxvd2VkLXRhc2staW4tYW5jaG9yLndtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3Qvd21sL2Vyci11bmFsbG93ZWQtdGFzay1pbi1hbmNob3Iud21sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cis8IURPQ1RZUEUg
d21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2Fw
Zm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorPGNhcmQgaWQ9ImNhcmQxIj4KKyAg
PGFuY2hvcj4KKyAgPG5vb3AvPgorICA8L2FuY2hvcj4KKyAgPHA+IFRlc3QgZm9yIHRoZSBlcnJv
ciB0aGF0IHNwZWNpZnlpbmcgbm9vcCB0YXNrIHRvIGFuY2hvciBlbGVtZW50PC9wPgorICBZb3Ug
c2hvdWxkIE5PVCBzZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRoZSBlcnJvciB0aGF0IHNwZWNp
ZnlpbmcgdW5hbGxvd2VkIHRhc2sgdG8gYW5jaG9yIGVsZW1lbnQgCis8L2NhcmQ+Cis8L3dtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvd21sL2ltZy1sb2NhbHNyYy53bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvaW1nLWxvY2Fsc3JjLndtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3Qvd21sL2ltZy1sb2NhbHNyYy53bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHdtbCBQVUJMSUMg
Ii0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8vRU4iICJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9E
VEQvd21sXzEuMS54bWwiPgorPHdtbD4KKyA8Y2FyZCB0aXRsZT0iVGVzdCBpbWFnZSI+CisgPHA+
IFRlc3QgZm9yIGltZyBlbGVtZW50IGluIFdNTCA8L3A+CisgPHA+IFRoaXMgaW1hZ2UgaXMgc3Bl
Y2lmaWVkIGJ5IGxvY2Fsc3JjIGF0dHJpYnV0ZSBvZiBpbWcgZWxlbWVudDwvcD4KKyB0ZXN0IGNv
ZGU6PCFbQ0RBVEFbCisgPHA+TG9jYWw8aW1nIGhlaWdodD0iNjAiIHdpZHRoPSI0MCIgdnNwYWNl
PSI0MCIgaHNwYWNlPSI2MCIgYWxpZ249Im1pZGRsZSIgbG9jYWxzcmM9InJlc291cmNlcy9zbWls
ZS5naWYiIGFsdD0ic21pbGUiLz5JbWFnZTwvcD4KKyBdXT4KKyA8YnIvPgorIDxwPkxvY2FsPGlt
ZyBoZWlnaHQ9IjYwIiB3aWR0aD0iNDAiIHZzcGFjZT0iNDAiIGhzcGFjZT0iNjAiIGFsaWduPSJt
aWRkbGUiIGxvY2Fsc3JjPSJyZXNvdXJjZXMvc21pbGUuZ2lmIiBhbHQ9InNtaWxlIi8+SW1hZ2U8
L3A+CisgPC9jYXJkPgorPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvaW1nLXNy
Yy1sb2NhbHNyYy1hbHQud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvd21sL2lt
Zy1zcmMtbG9jYWxzcmMtYWx0LndtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
d21sL2ltZy1zcmMtbG9jYWxzcmMtYWx0LndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBA
QAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9S
VU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4x
LnhtbCI+Cis8d21sPgorIDxjYXJkIHRpdGxlPSJUZXN0IGltYWdlIj4KKyA8cD4gVGVzdCBmb3Ig
aW1nIGVsZW1lbnQgaW4gV01MIDwvcD4KKyA8cD4gVGhpcyBpbWFnZSBjYW4gYmUgc3BlY2lmaWVk
IGJ5IGJvdGggc3JjIGFuZCBsb2NhbHNyYyBhdHRyaWJ1dGVzIG9mIGltZyBlbGVtZW50PC9wPgor
IDxwPiAxKSBsb2NhbHNyYyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgc3JjIGF0dHJpYnV0ZSA8YnIv
PgorIEltYWdlPGltZyBzcmM9Imh0dHA6Ly93d3cuYmFpZHUuY29tL2ltZy9iYWlkdS5naWYiIGxv
Y2Fsc3JjPSJyZXNvdXJjZXMvc21pbGUuZ2lmIiBhbHQ9IklNQUdFIi8+SW1hZ2UKKyA8YnIvPgor
IDIpIGxvY2Fsc3JjIGNhbid0IGxvY2F0ZSB0aGUgaW1hZ2UsIHNyYyB3b3JrcyA8YnIvPgorIElt
YWdlPGltZyBzcmM9Imh0dHA6Ly93d3cuYmFpZHUuY29tL2ltZy9iYWlkdS5naWYiIGxvY2Fsc3Jj
PSJ3cm9uZ3BhdGgvc21pbGUuZ2lmIiBhbHQ9IklNQUdFIi8+SW1hZ2UKKyA8YnIvPgorIDMpIG5l
aXRoZXIgbG9jYWxzcmMgbm9yIHNyYyBjYW4gbG9jYXRlIHRoZSBpbWFnZSwgYWx0IHdvcmtzIDxi
ci8+CisgSW1hZ2U8aW1nIHNyYz0iaHR0cDovL3d3dy5iYWlkdS5jb20vd3JvbmdwYXRoL2JhaWR1
LmdpZiIgbG9jYWxzcmM9Indyb25ncGF0aC9zbWlsZS5naWYiIGFsdD0iSU1BR0UiLz5JbWFnZQor
IDwvcD4KKyA8L2NhcmQ+Cis8L3dtbD4gCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC9pbWct
c3JjLndtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9pbWctc3JjLndtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qvd21sL2ltZy1zcmMud21sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3
bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBm
b3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKzx3bWw+CisgPGNhcmQgdGl0bGU9IlRlc3QgaW1h
Z2UiPgorIDxwPiBUZXN0IGZvciBpbWcgZWxlbWVudCBpbiBXTUwgPC9wPgorIDxwPiBUaGlzIGlt
YWdlIGlzIHNwZWNpZmllZCBieSBzcmMgYXR0cmlidXRlIG9mIGltZyBlbGVtZW50PC9wPgorIHRl
c3QgY29kZTo8IVtDREFUQVsKKyA8cD5OZXR3b3JrIDxpbWcgaGVpZ2h0PSI2MCIgd2lkdGg9IjQw
IiB2c3BhY2U9IjQwIiBoc3BhY2U9IjYwIiBhbGlnbj0ibWlkZGxlIiBzcmM9Imh0dHA6Ly93YXAu
YmFpZHUuY29tL2xvZ28uZ2lmIiBhbHQ9InNtaWxlIi8+SW1hZ2U8L3A+CisgXV0+CisgPGJyLz4K
KyA8cD5OZXR3b3JrIDxpbWcgaGVpZ2h0PSI2MCIgd2lkdGg9IjQwIiB2c3BhY2U9IjQwIiBoc3Bh
Y2U9IjYwIiBhbGlnbj0ibWlkZGxlIiBzcmM9Imh0dHA6Ly93YXAuYmFpZHUuY29tL2xvZ28uZ2lm
IiBhbHQ9InNtaWxlIi8+SW1hZ2U8L3A+CisgPC9jYXJkPgorPC93bWw+IApJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC93bWwvcC1hbGlnbi53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC93bWwvcC1hbGlnbi53bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9w
LWFsaWduLndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9F
TiIgImh0dHA6Ly93d3cud2FwZm91cm0ub3JnL0RURC93bWxfMS4xLnhtbCI+CisKKzx3bWw+Cis8
Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJDYXJkMSI+Cis8cD4gVGVzdCBmb3IgYWxpZ24gYXR0cmli
dXRlIG9mIHAgZWxlbWVudCBpbiBXTUwgPC9wPgorPGJyLz4KKzwhW0NEQVRBWyA8cCBhbGlnbj0i
Y2VudGVyIj5dXT4KKzxwIGFsaWduPSJjZW50ZXIiPgorSGVyZSB5b3UgY2FuIGxlYXJuIHZhcmlv
dXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAsIFdNTCwgV01MU2NyaXB0
LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBhbmQgU01TIHRocm91Z2ggb3VyIGZy
ZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMgd2ViIHNpdGUgY2FuIGhl
bHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVuZCB0aGVpciBrbm93bGVkZ2UgdG8g
dGhlIHdpcmVsZXNzIHdvcmxkLiAKKzxici8+Cit4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eAorPC9wPgorPGJyLz4KKzwhW0NEQVRBWyA8cCBhbGlnbj0icmlnaHQiPl1dPgorPHAgYWxp
Z249InJpZ2h0Ij4KK0hlcmUgeW91IGNhbiBsZWFybiB2YXJpb3VzIG1vYmlsZSB0ZWNobm9sb2dp
ZXMgbGlrZSBXQVAgLyBXQVAgMi4wLCBXTUwsIFdNTFNjcmlwdCwgWEhUTUwgTVAsIFdDU1MgLyBX
QVAgQ1NTLCBVQVByb2YgYW5kIFNNUyB0aHJvdWdoIG91ciBmcmVlIHR1dG9yaWFscywgYXJ0aWNs
ZXMgYW5kIGV4YW1wbGVzLiBUaGlzIHdlYiBzaXRlIGNhbiBoZWxwIHdlYiBwcm9ncmFtbWVycyB3
aG8gd2lzaCB0byBleHRlbmQgdGhlaXIga25vd2xlZGdlIHRvIHRoZSB3aXJlbGVzcyB3b3JsZC4g
Cis8YnIvPgoreHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgKKzwvcD4KKzxici8+Cis8
IVtDREFUQVsgPHAgYWxpZ249ImxlZnQiPl1dPgorPHAgYWxpZ249ImxlZnQiPgorSGVyZSB5b3Ug
Y2FuIGxlYXJuIHZhcmlvdXMgbW9iaWxlIHRlY2hub2xvZ2llcyBsaWtlIFdBUCAvIFdBUCAyLjAs
IFdNTCwgV01MU2NyaXB0LCBYSFRNTCBNUCwgV0NTUyAvIFdBUCBDU1MsIFVBUHJvZiBhbmQgU01T
IHRocm91Z2ggb3VyIGZyZWUgdHV0b3JpYWxzLCBhcnRpY2xlcyBhbmQgZXhhbXBsZXMuIFRoaXMg
d2ViIHNpdGUgY2FuIGhlbHAgd2ViIHByb2dyYW1tZXJzIHdobyB3aXNoIHRvIGV4dGVuZCB0aGVp
ciBrbm93bGVkZ2UgdG8gdGhlIHdpcmVsZXNzIHdvcmxkLiAKKzxici8+Cit4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eAorPC9wPgorPC9jYXJkPgorPC93bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3dtbC9wLW1vZGUud21sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
d21sL3AtbW9kZS53bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC9wLW1v
ZGUud21sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAi
Pz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAi
aHR0cDovL3d3dy53YXBmb3VybS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKworPHdtbD4KKzxjYXJk
IGlkPSJjYXJkMSIgdGl0bGU9IkNhcmQxIj4gCis8IVtDREFUQVsgPHA+IGRlZmF1bHQgbW9kZSBp
cyAid3JhcCIgZm9yIHRoZSBmaXJzdCBwIGVsZW1lbnQgXV0+Cis8cD4gVGVzdCBmb3IgbW9kZSBh
dHRyaWJ1dGUgb2YgcCBlbGVtZW50IGluIFdNTCA8L3A+Cis8YnIvPgorPCFbQ0RBVEFbIDxwPiBp
dCB3aWxsIHVzZSB0aGUgbW9kZSBvZiBwcmV2aW91cyBwYXJhZ3JhcGggZWxlbWVudF1dPgorPHA+
CitIZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2JpbGUgdGVjaG5vbG9naWVzIGxpa2UgV0FQ
IC8gV0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1MIE1QLCBXQ1NTIC8gV0FQIENTUywgVUFQ
cm9mIGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRvcmlhbHMsIGFydGljbGVzIGFuZCBleGFt
cGxlcy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIgcHJvZ3JhbW1lcnMgd2hvIHdpc2ggdG8g
ZXh0ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxlc3Mgd29ybGQuIAorPGJyLz4KK0hI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEgKKzwvcD4KKzxi
ci8+Cis8IVtDREFUQVsgPHAgbW9kZT0ibm93cmFwIj5dXT4KKzxwIG1vZGU9Im5vd3JhcCI+CitI
ZXJlIHlvdSBjYW4gbGVhcm4gdmFyaW91cyBtb2JpbGUgdGVjaG5vbG9naWVzIGxpa2UgV0FQIC8g
V0FQIDIuMCwgV01MLCBXTUxTY3JpcHQsIFhIVE1MIE1QLCBXQ1NTIC8gV0FQIENTUywgVUFQcm9m
IGFuZCBTTVMgdGhyb3VnaCBvdXIgZnJlZSB0dXRvcmlhbHMsIGFydGljbGVzIGFuZCBleGFtcGxl
cy4gVGhpcyB3ZWIgc2l0ZSBjYW4gaGVscCB3ZWIgcHJvZ3JhbW1lcnMgd2hvIHdpc2ggdG8gZXh0
ZW5kIHRoZWlyIGtub3dsZWRnZSB0byB0aGUgd2lyZWxlc3Mgd29ybGQuIAorPGJyLz4KK0hISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEgKKzwvcD4KKzwvY2Fy
ZD4KKzwvd21sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93bWwvc2hvdy1maXJzdC1jYXJkLndt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dtbC9zaG93LWZpcnN0LWNhcmQud21s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC93bWwvc2hvdy1maXJzdC1jYXJkLndt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwh
RE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjAvL0VOIgorImh0dHA6
Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+CisKKzx3bWw+Cis8Y2FyZCBpZD0i
bm8xIj48cD5UZXN0IGZvciBzaG93aW5nIHRoZSBmaXJzdCBjYXJkIG9mIHdtbCBkZWNrIGluIGRl
ZmF1bHQgd2hlbiB5b3UgZG9lc24ndCBzcGVjaWZ5IGFueSBjb3JyZWN0IFVSTCBmcmFnbWVudC48
L3A+IElmIHRoZSB0ZXN0IHBhc3NlcywgeW91IHNob3VsZCBzZWUgdGhpcyB0ZXh0LjwvY2FyZD4K
KzxjYXJkIGlkPSJubzIiPlRoaXMgaXMgY2FyZCAyLCB5b3Ugc2hvdWxkIE5PVCBzZWUgdGhlc2Ug
dGV4dCB3aGlsZSBydW5uaW5nIHRoaXMgdGVzdDwvY2FyZD4KKzwvd21sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC93bWwvdGFibGUtZWxlbWVudC53bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3dtbC90YWJsZS1lbGVtZW50LndtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBA
QAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9S
VU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4x
LnhtbCI+Cis8d21sPgorIDxjYXJkPgorIDxwPiBUZXN0IGZvciB0YWJsZSBlbGVtZW50IGluIFdN
TCA8L3A+CisgPHA+IHNvdXJjZSBjb2RlOiA8L3A+CisgPCFbQ0RBVEFbCisgICA8dGFibGUgY29s
dW1ucz0iMyIgYWxpZ249IkxSUiI+IAorICAgIDx0cj4KKyAgICAgPHRkPkNlbGwgb25lPC90ZD4K
KyAgICAgPHRkPkM8YnIvPmVsbDxici8+IHR3bzwvdGQ+CisgICAgIDx0ZD5DZWxsIHRocmVlPC90
ZD4KKyAgICA8L3RyPgorICAgIDx0cj4KKyAgICA8dGQ+IG9uZSA8L3RkPgorICAgIDx0ZC8+Cisg
ICAgPHRkPkMgdGhyZWU8L3RkPgorICAgIDwvdHI+CisgICA8L3RhYmxlPgorIF1dPgorIDxici8+
CisgIDxwPgorICAgPHRhYmxlIGNvbHVtbnM9IjMiIGFsaWduPSJMUlIiPiAKKyAgICA8dHI+Cisg
ICAgIDx0ZD5DZWxsIG9uZTwvdGQ+CisgICAgIDx0ZD5DPGJyLz5lbGw8YnIvPiB0d288L3RkPgor
ICAgICA8dGQ+Q2VsbCB0aHJlZTwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgPHRkPiBv
bmUgPC90ZD4KKyAgICA8dGQvPgorICAgIDx0ZD5DIHRocmVlPC90ZD4KKyAgICA8L3RyPgorICAg
PC90YWJsZT4KKyA8L3A+CisgPC9jYXJkPgorPC93bWw+IApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC93bWwvdGVzdC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93bWwvdGVzdC53
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dtbC90ZXN0LndtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cis8IURPQ1RZUEUg
d21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2Fw
Zm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sIHhtbG5zPSJodHRwOi8vd3d3LndhcGZv
cnVtLm9yZy9EVEQvd21sXzEuMS54bWwiPgorIDxjYXJkIGlkPSdjYXJkMSc+CisgPHA+IFRoaXMg
cGFnZSBpcyBhc3Npc3RhbnQgcGFnZS4gTWFueSB0ZXN0IHBhZ2VzIHdpbGwganVtcCBoZXJlLiA8
L3A+CisgPHA+Q2xpY2sgIkJhY2siIHRvIGdvIGJhY2sgdG8gdGhlIHByZXZpb3VzIHBhZ2U8L3A+
CisgPGFuY2hvcj4gQmFjayA8cHJldi8+PC9hbmNob3I+CisgPC9jYXJkPgorPC93bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3dtbC90ZXh0LWVtcGhhc2lzLndtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L3dtbC90ZXh0LWVtcGhhc2lzLndtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3Qvd21sL3RleHQtZW1waGFzaXMud21sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICIt
Ly9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFRE
L3dtbF8xLjEueG1sIj4KKzx3bWw+CisgPGNhcmQgdGl0bGU9IlRleHQgRm9ybWF0dGluZyI+Cisg
IDxwPiBUZXN0IGZvciB0ZXh0IGVtcGhhc2lzIG9mIFdNTCA8L3A+CisgIDxwPgorICAgbm9ybWFs
PGJyLz4KKyAgIDxlbT5lbXBoYXNpemVkPC9lbT48YnIvPgorICAgPHN0cm9uZz5zdHJvbmc8L3N0
cm9uZz48YnIvPgorICAgPGI+Ym9sZDwvYj48YnIvPgorICAgPGk+aXRhbGljPC9pPjxici8+Cisg
ICA8dT51bmRlcmxpbmU8L3U+PGJyLz4KKyAgIDxiaWc+YmlnPC9iaWc+PGJyLz4KKyAgIDxzbWFs
bD5zbWFsbDwvc21hbGw+CisgIDwvcD4KKyA8L2NhcmQ+Cis8L3dtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvd21sL3ZhbGlkYXRlLWR0ZC53bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC93bWwvdmFsaWRhdGUtZHRkLndtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3Qvd21sL3ZhbGlkYXRlLWR0ZC53bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAorPD94
bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RU
RCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+
Cis8d21sPgorPGNhcmQgaWQ9Im5vMSIgdGl0bGU9IkNhcmQgMSI+IAorPHA+VGVzdCBmb3IgRFRE
IHZhbGlkYXRpb24gb2YgV01MIGZpbGU8YnIvPklmIHRoZSBEVENUWVBFIGlzIGluY29ycmVjdCBv
ciBtaXNzaW5nLCB0aGlzIHRlc3QgZmFpbGVzLjwvcD4KKzwvY2FyZD4KKzwvd21sPgo=
</data>
<flag name="review"
          id="11654"
          type_id="1"
          status="+"
          setter="staikos"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25227</attachid>
            <date>2008-11-17 14:17:18 -0800</date>
            <delta_ts>2008-11-17 15:51:25 -0800</delta_ts>
            <desc>2) Add WML build support (WebKitTools/Scripts/ changes)</desc>
            <filename>02-WebKitTools.diff</filename>
            <type>text/plain</type>
            <size>5442</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4NTI1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDgtMTEt
MTcgIE5pa29sYXMgWmltbWVybWFubiAgPG5pa29sYXMuemltbWVybWFubkB0b3JjaG1vYmlsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IC0tKG5vLSl3bWwgYnVpbGQgZmxhZ3MuCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtp
dDoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi13ZWJraXQtdGVzdHM6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRkaXJzLnBtOgorCiAyMDA4LTExLTE3ICBHYWJvciBMb2tpICA8bG9raUBpbmYudS1z
emVnZWQuaHU+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBTY3Jp
cHRzL2J1aWxkLXdlYmtpdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTY3JpcHRzL2J1aWxkLXdlYmtpdAkocmV2
aXNpb24gMzg1MjUpCisrKyBTY3JpcHRzL2J1aWxkLXdlYmtpdAkod29ya2luZyBjb3B5KQpAQCAt
NTMsNiArNTMsNyBAQCBteSAkc3ZnRm9udHNTdXBwb3J0ID0gMTsKIG15ICRzdmdBc0ltYWdlU3Vw
cG9ydCA9IDE7CiBteSAkeHBhdGhTdXBwb3J0ID0gMTsKIG15ICR4c2x0U3VwcG9ydCA9IDE7Citt
eSAkd21sU3VwcG9ydCA9IDA7CiBteSAkY292ZXJhZ2VTdXBwb3J0ID0gMDsKIG15ICR2aWRlb1N1
cHBvcnQgPSAoaXNPU1goKSB8fCBpc0N5Z3dpbigpKTsgIyBFbmFibGUgYnkgZGVmYXVsdCBvbiBP
U1ggYW5kIFdpbmRvd3MKIG15ICR3b3JrZXJzU3VwcG9ydCA9IDA7CkBAIC04NCw2ICs4NSw3IEBA
IFVzYWdlOiAkcHJvZ3JhbU5hbWUgW29wdGlvbnNdIFtvcHRpb25zIHQKICAgLS1bbm8tXXN2Zy11
c2UgICAgICAgICAgICAgICAgVG9nZ2xlIFNWRyB1c2UgZWxlbWVudCBzdXBwb3J0IChkZWZhdWx0
OiAkc3ZnVXNlU3VwcG9ydCwgaW1wbGllcyBTVkcgU3VwcG9ydCkKICAgLS1bbm8tXXhwYXRoICAg
ICAgICAgICAgICAgICAgVG9nZ2xlIFhQYXRoIHN1cHBvcnQgKGRlZmF1bHQ6ICR4cGF0aFN1cHBv
cnQpCiAgIC0tW25vLV14c2x0ICAgICAgICAgICAgICAgICAgIFRvZ2dsZSBYU0xUIHN1cHBvcnQg
KGRlZmF1bHQ6ICR4c2x0U3VwcG9ydCkKKyAgLS1bbm8tXXdtbCAgICAgICAgICAgICAgICAgICAg
VG9nZ2xlIFdNTCBzdXBwb3J0IChkZWZhdWx0OiAkd21sU3VwcG9ydCkKICAgLS1bbm8tXXZpZGVv
ICAgICAgICAgICAgICAgICAgVG9nZ2xlIFZpZGVvIHN1cHBvcnQgKGRlZmF1bHQ6ICR2aWRlb1N1
cHBvcnQpCiAgIC0tW25vLV13b3JrZXJzICAgICAgICAgICAgICAgIFRvZ2dsZSBXZWIgV29ya2Vy
cyBzdXBwb3J0IChkZWZhdWx0OiAkd29ya2Vyc1N1cHBvcnQpCiAgIC0tW25vLV1jb3ZlcmFnZSAg
ICAgICAgICAgICAgIFRvZ2dsZSBjb2RlIGNvdmVyYWdlIHN1cHBvcnQgKGRlZmF1bHQ6ICRjb3Zl
cmFnZVN1cHBvcnQpCkBAIC0xMDMsNiArMTA1LDcgQEAgR2V0T3B0aW9ucygnZGF0YWJhc2UhJyA9
PiBcJGRhdGFiYXNlU3VwcAogICAgICAgICAgICAnc3ZnLXVzZSEnID0+IFwkc3ZnVXNlU3VwcG9y
dCwKICAgICAgICAgICAgJ3hwYXRoIScgPT4gXCR4cGF0aFN1cHBvcnQsCiAgICAgICAgICAgICd4
c2x0IScgPT4gXCR4c2x0U3VwcG9ydCwKKyAgICAgICAgICAgJ3dtbCEnID0+IFwkd21sU3VwcG9y
dCwKICAgICAgICAgICAgJ3ZpZGVvIScgPT4gXCR2aWRlb1N1cHBvcnQsCiAgICAgICAgICAgICd3
b3JrZXJzIScgPT4gXCR3b3JrZXJzU3VwcG9ydCwKICAgICAgICAgICAgJ2NvdmVyYWdlIScgPT4g
XCRjb3ZlcmFnZVN1cHBvcnQsCkBAIC0xNzIsNiArMTc1LDcgQEAgcHVzaCBAb3ZlcnJpZGVGZWF0
dXJlRGVmaW5lc09wdGlvbiwgIkVOQQogcHVzaCBAb3ZlcnJpZGVGZWF0dXJlRGVmaW5lc09wdGlv
biwgIkVOQUJMRV9XT1JLRVJTIiBpZiAkd29ya2Vyc1N1cHBvcnQ7CiBwdXNoIEBvdmVycmlkZUZl
YXR1cmVEZWZpbmVzT3B0aW9uLCAiRU5BQkxFX1hQQVRIIiBpZiAkeHBhdGhTdXBwb3J0OwogcHVz
aCBAb3ZlcnJpZGVGZWF0dXJlRGVmaW5lc09wdGlvbiwgIkVOQUJMRV9YU0xUIiBpZiAkeHNsdFN1
cHBvcnQ7CitwdXNoIEBvdmVycmlkZUZlYXR1cmVEZWZpbmVzT3B0aW9uLCAiRU5BQkxFX1dNTCIg
aWYgJHdtbFN1cHBvcnQ7CiBteSAkb3ZlcnJpZGVGZWF0dXJlRGVmaW5lc1N0cmluZyA9ICJGRUFU
VVJFX0RFRklORVM9IiAuIGpvaW4oIiAiLCBAb3ZlcnJpZGVGZWF0dXJlRGVmaW5lc09wdGlvbik7
CiAKIG15IEBjb3ZlcmFnZVN1cHBvcnRPcHRpb24gPSAoKTsKQEAgLTIyOSw2ICsyMzMsNyBAQCBp
ZiAoaXNHdGsoKSkgewogICAgIHB1c2ggQG9wdGlvbnMsIGF1dG90b29sc0ZsYWcoJHN2Z1VzZVN1
cHBvcnQsICJzdmctdXNlLWVsZW1lbnQiKTsKICAgICBwdXNoIEBvcHRpb25zLCBhdXRvdG9vbHNG
bGFnKCR4cGF0aFN1cHBvcnQsICJ4cGF0aCIpOwogICAgIHB1c2ggQG9wdGlvbnMsIGF1dG90b29s
c0ZsYWcoJHhzbHRTdXBwb3J0LCAieHNsdCIpOworICAgIHB1c2ggQG9wdGlvbnMsIGF1dG90b29s
c0ZsYWcoJHdtbFN1cHBvcnQsICJ3bWwiKTsKICAgICBwdXNoIEBvcHRpb25zLCBhdXRvdG9vbHNG
bGFnKCR2aWRlb1N1cHBvcnQsICJ2aWRlbyIpOwogICAgIHB1c2ggQG9wdGlvbnMsIGF1dG90b29s
c0ZsYWcoJHdvcmtlcnNTdXBwb3J0LCAid29ya2VycyIpOwogICAgIHB1c2ggQG9wdGlvbnMsIGF1
dG90b29sc0ZsYWcoJGNvdmVyYWdlU3VwcG9ydCwgImNvdmVyYWdlIik7CkluZGV4OiBTY3JpcHRz
L3J1bi13ZWJraXQtdGVzdHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU2NyaXB0cy9ydW4td2Via2l0LXRlc3Rz
CShyZXZpc2lvbiAzODUyNSkKKysrIFNjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwkod29ya2luZyBj
b3B5KQpAQCAtMzM0LDE1ICszMzQsMjIgQEAgbXkgJWlnbm9yZWRGaWxlcyA9ICgpOwogbXkgJWln
bm9yZWREaXJlY3RvcmllcyA9IG1hcCB7ICRfID0+IDEgfSBxdyhwbGF0Zm9ybSk7CiBteSAlaWdu
b3JlZExvY2FsRGlyZWN0b3JpZXMgPSBtYXAgeyAkXyA9PiAxIH0gcXcoLnN2biBfc3ZuIHJlc291
cmNlcyk7CiBteSAlc3VwcG9ydGVkRmlsZUV4dGVuc2lvbnMgPSBtYXAgeyAkXyA9PiAxIH0gcXco
aHRtbCBzaHRtbCB4bWwgeGh0bWwgcGwgcGhwKTsKKworIyBGSVhNRTogV2Ugc2hvdWxkIGZpeCB3
ZWJraXRkaXJzLnBtOmhhc1NWRy9XTUxTdXBwb3J0KCkgdG8gZG8gdGhlIGNvcnJlY3QgZmVhdHVy
ZSBkZXRlY3Rpb24gZm9yIEN5Z3dpbi4KIGlmIChjaGVja1dlYkNvcmVTVkdTdXBwb3J0KDApKSB7
IAogICAgICRzdXBwb3J0ZWRGaWxlRXh0ZW5zaW9uc3snc3ZnJ30gPSAxOwogfSBlbHNpZiAoaXND
eWd3aW4oKSkgewotICAgICMgRklYTUU6IFdlIHNob3VsZCBmaXggd2Via2l0ZGlycy5wbTpoYXNT
VkdTdXBwb3J0KCkgdG8gZG8gdGhlIGNvcnJlY3QKLSAgICAjIGNoZWNrIGZvciBXaW5kb3dzIGlu
c3RlYWQgb2YgZm9yY2luZyB0aGlzIGhlcmUuCiAgICAgJHN1cHBvcnRlZEZpbGVFeHRlbnNpb25z
eydzdmcnfSA9IDE7CiB9IGVsc2UgewogICAgICRpZ25vcmVkTG9jYWxEaXJlY3Rvcmllc3snc3Zn
J30gPSAxOwogfQorCitpZiAoY2hlY2tXZWJDb3JlV01MU3VwcG9ydCgwKSkgeyAKKyAgICAkc3Vw
cG9ydGVkRmlsZUV4dGVuc2lvbnN7J3dtbCd9ID0gMTsKK30gZWxzZSB7CisgICAgJGlnbm9yZWRE
aXJlY3Rvcmllc3snZmFzdC93bWwnfSA9IDE7Cit9CisKIGlmICghJHRlc3RIVFRQKSB7CiAgICAg
JGlnbm9yZWREaXJlY3Rvcmllc3snaHR0cCd9ID0gMTsKIH0KSW5kZXg6IFNjcmlwdHMvd2Via2l0
ZGlycy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTY3JpcHRzL3dlYmtpdGRpcnMucG0JKHJldmlzaW9uIDM4
NTI1KQorKysgU2NyaXB0cy93ZWJraXRkaXJzLnBtCSh3b3JraW5nIGNvcHkpCkBAIC00NDEsNiAr
NDQxLDU2IEBAIHN1YiBjaGVja1dlYkNvcmVTVkdTdXBwb3J0CiAgICAgcmV0dXJuICRoYXNTVkc7
CiB9CiAKK3N1YiBoYXNXTUxTdXBwb3J0Cit7CisgICAgcmV0dXJuIDAgaWYgaXNDeWd3aW4oKTsK
KworICAgIG15ICRwYXRoID0gc2hpZnQ7CisKKyAgICBpZiAoaXNRdCgpKSB7CisgICAgCSMgRklY
TUU6IENoZWNrIGJ1aWx0IGxpYnJhcnkgZm9yIFdNTCBzdXBwb3J0LCBqdXN0IGxpa2UgR3RrIGRv
ZXMgaXQgYmVsb3cuCisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlmIChpc0d0aygp
IGFuZCAkcGF0aCA9fiAvV2ViQ29yZS8pIHsKKyAgICAgICAgJHBhdGggLj0gIi8uLi8ubGlicy93
ZWJraXQtMS4wLnNvIjsKKyAgICB9CisKKyAgICBteSAkaGFzV01MU3VwcG9ydCA9IDA7CisgICAg
aWYgKC1lICRwYXRoKSB7CisgICAgICAgIG9wZW4gTk0sICItfCIsICJubSIsICRwYXRoIG9yIGRp
ZTsKKyAgICAgICAgd2hpbGUgKDxOTT4pIHsKKyAgICAgICAgICAgICRoYXNXTUxTdXBwb3J0ID0g
MSBpZiAvV01MRWxlbWVudC87CisgICAgICAgIH0KKyAgICAgICAgY2xvc2UgTk07CisgICAgfQor
ICAgIHJldHVybiAkaGFzV01MU3VwcG9ydDsKK30KKworc3ViIHJlbW92ZUxpYnJhcnlEZXBlbmRp
bmdPbldNTAoreworICAgIG15ICRmcmFtZXdvcmtOYW1lID0gc2hpZnQ7CisgICAgbXkgJHNob3Vs
ZEhhdmVXTUwgPSBzaGlmdDsKKworICAgIG15ICRwYXRoID0gYnVpbHREeWxpYlBhdGhGb3JOYW1l
KCRmcmFtZXdvcmtOYW1lKTsKKyAgICByZXR1cm4gdW5sZXNzIC14ICRwYXRoOworCisgICAgbXkg
JGhhc1dNTCA9IGhhc1dNTFN1cHBvcnQoJHBhdGgpOworICAgIHN5c3RlbSAicm0gLWYgJHBhdGgi
IGlmICgkc2hvdWxkSGF2ZVdNTCB4b3IgJGhhc1dNTCk7Cit9CisKK3N1YiBjaGVja1dlYkNvcmVX
TUxTdXBwb3J0Cit7CisgICAgbXkgJHJlcXVpcmVkID0gc2hpZnQ7CisgICAgbXkgJGZyYW1ld29y
ayA9ICJXZWJDb3JlIjsKKyAgICBteSAkcGF0aCA9IGJ1aWx0RHlsaWJQYXRoRm9yTmFtZSgkZnJh
bWV3b3JrKTsKKyAgICBteSAkaGFzV01MID0gaGFzV01MU3VwcG9ydCgkcGF0aCk7CisgICAgaWYg
KCRyZXF1aXJlZCAmJiAhJGhhc1dNTCkgeworICAgICAgICBkaWUgIiRmcmFtZXdvcmsgYXQgXCIk
cGF0aFwiIGRvZXMgbm90IGluY2x1ZGUgV01MIFN1cHBvcnQsIHBsZWFzZSBydW4gYnVpbGQtd2Vi
a2l0IC0td21sXG4iOworICAgIH0KKyAgICByZXR1cm4gJGhhc1dNTDsKK30KKwogc3ViIGlzUXQo
KQogewogICAgIGRldGVybWluZUlzUXQoKTsK
</data>
<flag name="review"
          id="11655"
          type_id="1"
          status="+"
          setter="staikos"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25228</attachid>
            <date>2008-11-17 14:17:56 -0800</date>
            <delta_ts>2008-11-17 15:51:41 -0800</delta_ts>
            <desc>3) Add basic WML support &amp; WebCore integration</desc>
            <filename>03-WebCore.diff</filename>
            <type>text/plain</type>
            <size>93472</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4NTI1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTE1IEBACisyMDA4LTEx
LTE3ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuaWtvbGFzLnppbW1lcm1hbm5AdG9yY2htb2JpbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eGVzOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjQgKEFkZCBi
YXNpYyBzdWJzZXQgb2YgV01MIGVsZW1lbnRzKQorCisgICAgICAgIEFkZCBmaXJzdCBiaXRzIG9m
IFdNTCBzdXBwb3J0LiBPbmx5IDxjYXJkPiAmIDxwPiBhbmQgPGE+IGVsZW1lbnRzIGFyZSBzdXBw
b3J0ZWQgaW4gdGhpcyBmaXJzdCBwYXRjaC4KKyAgICAgICAgU3VwcG9ydCBmb3IgbW9zdCBvdGhl
ciBlbGVtZW50cyB3aWxsIGJlIGFkZGVkIHN0ZXAtYnktc3RlcCAobWVyZ2luZyBpbiBzbWFsbCBj
aHVua3MgZnJvbSBhIGJpZyBwYXRjaCkuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OiBIYW5kbGUgV01MTmFtZXMvV01MRWxlbWVudEZhY3RvcnkgZ2VuZXJhdGlvbi4KKyAgICAgICAg
KiBXZWJDb3JlLnBybzogQWRkIG5ldyBmaWxlcyBhbmQgZ2VuZXJhdG9yIGhvb2tzLgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAgICAgICog
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOiBMb2FkIHdtbC5jc3Mgb24gZGVtYW5kLCBqdXN0IGxp
a2UgaXQncyBkb25lIGZvciBTVkcuCisgICAgICAgIChXZWJDb3JlOjpsaW5rQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnN0eWxlRm9yRWxlbWVudCk6Ywor
ICAgICAgICAqIGNzcy93bWwuY3NzOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRE9NSW1wbGVtZW50
YXRpb24uY3BwOiBIYW5kbGUgV01MRG9jdW1lbnQgY3JlYXRpb24KKyAgICAgICAgKFdlYkNvcmU6
OkRPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDogSGFuZGxlIFdNTEVsZW1lbnQgY3JlYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6Y3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZCBo
ZWxwZXIgZnVuY3Rpb24gaWRlbnRpZnlpbmcgV01MIGRvY3VtZW50cy4KKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojppc1dNTERvY3VtZW50KToKKyAgICAgICAgKiBkb20vTm9kZS5oOiBBZGQg
aGVwZXIgZnVuY3Rpb24gaWRlbnRpZnlpbmcgV01MIGVsZW1lbnRzLgorICAgICAgICAoV2ViQ29y
ZTo6Tm9kZTo6aXNXTUxFbGVtZW50KToKKyAgICAgICAgKiBkb20vWE1MVG9rZW5pemVyLmNwcDog
SGFuZGxlIGVycm9ycyBpbiBXTUwgZG9jdW1lbnRzCisgICAgICAgIChXZWJDb3JlOjpYTUxUb2tl
bml6ZXI6Omluc2VydEVycm9yTWVzc2FnZUJsb2NrKToKKyAgICAgICAgKiBkb20vWE1MVG9rZW5p
emVyTGlieG1sMi5jcHA6IEFkZCBXTUwgRFREIGNoZWNrcy4KKyAgICAgICAgKFdlYkNvcmU6OlhN
TFRva2VuaXplcjo6aW50ZXJuYWxTdWJzZXQpOgorICAgICAgICAqIGRvbS9YTUxUb2tlbml6ZXJR
dC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBkb20vbWFrZV9u
YW1lcy5wbDogRm9yY2UgaW50ZXJuYWwgbGlua2FnZSBmb3IgdGhlICJ0YWdDb25zdHJ1Y3RvciIg
ZnVuY3Rpb25zLCBhdm9pZGluZyBTVkc8LT5XTUwgY2xhc2hlcy4KKyAgICAgICAgKiBoaXN0b3J5
L0JhY2tGb3J3YXJkTGlzdC5jcHA6IEFkZCBXTUwgc3BlY2lmaWMgZnVuY3Rpb24gZm9yIGNsZWFy
aW5nIHRoZSBoaXN0b3J5LgorICAgICAgICAoV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0OjpjbGVh
cldtbFBhZ2VIaXN0b3J5KToKKyAgICAgICAgKiBoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5oOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6IEFkZCBXTUwgc3BlY2lmaWMgJ3Nob3Vs
ZFJlbG9hZCcgbG9naWMuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6RnJhbWVMb2Fk
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNldEZvcmNlUmVsb2FkV21sRGVj
ayk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2hvdWxkUmVsb2FkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkSXRlbSk6CisgICAgICAgICogbG9hZGVyL0Zy
YW1lTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6IEFk
ZCBXQlhNTCBzdXBwb3J0IChvbmx5IGVuYWJsZWQgb24gTGludXgvUXQgYXQgdGhlIG1vbWVudCkK
KyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6YWRkRGF0YSk6CisgICAgICAg
ICogcGFnZS9GcmFtZS5jcHA6IEluaXRpYWxpemUgV01MTmFtZXMuCisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZTo6RnJhbWUpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6IE1haW50YWluIFdNTFBh
Z2VTdGF0ZSBvYmplY3QgcGVyIFBhZ2UuCisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFdNTFBhZ2VTdGF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlOjp3bWxQYWdlU3RhdGUpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwOiBSZWNvZ25pemUgV01MIGV4dGVuc2lv
bnMuCisgICAgICAgIChXZWJDb3JlOjppbml0aWFsaXplU3VwcG9ydGVkTm9uSW1hZ2VNaW1lVHlw
ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHA6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vTUlNRVR5cGVS
ZWdpc3RyeVdpbi5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3Ry
eTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHdtbDogQWRkZWQuCisgICAg
ICAgICogd21sL1dNTEFFbGVtZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXTUxB
RWxlbWVudDo6V01MQUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6V01MQUVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldNTEFFbGVtZW50OjpzdXBw
b3J0c0ZvY3VzKToKKyAgICAgICAgKFdlYkNvcmU6OldNTEFFbGVtZW50Ojppc0ZvY3VzYWJsZSk6
CisgICAgICAgIChXZWJDb3JlOjpXTUxBRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXTUxBRWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJsZSk6CisgICAgICAg
IChXZWJDb3JlOjpXTUxBRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgIChX
ZWJDb3JlOjpXTUxBRWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OldNTEFFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXTUxBRWxl
bWVudDo6dGFyZ2V0KToKKyAgICAgICAgKiB3bWwvV01MQUVsZW1lbnQuaDogQWRkZWQuCisgICAg
ICAgICogd21sL1dNTEF0dHJpYnV0ZU5hbWVzLmluOiBBZGRlZC4KKyAgICAgICAgKiB3bWwvV01M
Q2FyZEVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldNTENhcmRFbGVtZW50
OjpXTUxDYXJkRWxlbWVudCk6CisgICAgICAgICogd21sL1dNTENhcmRFbGVtZW50Lmg6IEFkZGVk
LgorICAgICAgICAqIHdtbC9XTUxEb2N1bWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V01MRG9jdW1lbnQ6OldNTERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldNTERvY3Vt
ZW50Ojp+V01MRG9jdW1lbnQpOgorICAgICAgICAqIHdtbC9XTUxEb2N1bWVudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldNTERvY3VtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6V01MRG9jdW1lbnQ6OmlzV01MRG9jdW1lbnQpOgorICAgICAgICAqIHdtbC9XTUxFbGVtZW50
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXTUxFbGVtZW50OjpXTUxFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OldNTEVsZW1lbnQ6Om1hcFRvRW50cnkpOgorICAgICAgICAoV2Vi
Q29yZTo6V01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29y
ZTo6V01MRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpXTUxF
bGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogd21sL1dNTEVsZW1lbnQuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpXTUxFbGVtZW50Ojppc1dNTEVsZW1lbnQpOgorICAgICAg
ICAqIHdtbC9XTUxQRWxlbWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V01MUEVs
ZW1lbnQ6OldNTFBFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldNTFBFbGVtZW50OjptYXBU
b0VudHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OldNTFBFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZSk6CisgICAgICAgICogd21sL1dNTFBFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIHdt
bC9XTUxQYWdlU3RhdGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldNTFBhZ2VTdGF0
ZTo6V01MUGFnZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldNTFBhZ2VTdGF0ZTo6fldNTFBh
Z2VTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXTUxQYWdlU3RhdGU6OnJlc2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OldNTFBhZ2VTdGF0ZTo6c2V0TmVlZENoZWNrRGVja0FjY2Vzcyk6CisgICAg
ICAgIChXZWJDb3JlOjpXTUxQYWdlU3RhdGU6OmlzRGVja0FjY2Vzc2libGUpOgorICAgICAgICAq
IHdtbC9XTUxQYWdlU3RhdGUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXTUxQYWdlU3Rh
dGU6OnN0b3JlVmFyaWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6V01MUGFnZVN0YXRlOjpzdG9y
ZVZhcmlhYmxlcyk6CisgICAgICAgIChXZWJDb3JlOjpXTUxQYWdlU3RhdGU6OmdldFZhcmliYWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OldNTFBhZ2VTdGF0ZTo6aGFzVmFyaWFibGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OldNTFBhZ2VTdGF0ZTo6aGlzdG9yeUxlbmd0aCk6CisgICAgICAgIChXZWJD
b3JlOjpXTUxQYWdlU3RhdGU6OnNldEhpc3RvcnlMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6
V01MUGFnZVN0YXRlOjpwYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OldNTFBhZ2VTdGF0ZTo6YWN0
aXZlQ2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpXTUxQYWdlU3RhdGU6OnNldEFjdGl2ZUNhcmQp
OgorICAgICAgICAoV2ViQ29yZTo6V01MUGFnZVN0YXRlOjpzZXREZWNrQWNjZXNzRG9tYWluKToK
KyAgICAgICAgKFdlYkNvcmU6OldNTFBhZ2VTdGF0ZTo6c2V0RGVja0FjY2Vzc1BhdGgpOgorICAg
ICAgICAoV2ViQ29yZTo6V01MUGFnZVN0YXRlOjpoYXNEZWNrQWNjZXNzKToKKyAgICAgICAgKiB3
bWwvV01MVGFnTmFtZXMuaW46IEFkZGVkLgorCiAyMDA4LTExLTE3ICBHZW9mZnJleSBHYXJlbiAg
PGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5k
ZXg6IERlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRGVyaXZlZFNvdXJjZXMubWFr
ZQkocmV2aXNpb24gMzg1MjUpCisrKyBEZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkp
CkBAIC0zOCw2ICszOCw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViQ29yZSkvcGx1Z2lucyBcCiAg
ICAgJChXZWJDb3JlKS9zdG9yYWdlIFwKICAgICAkKFdlYkNvcmUpL3htbCBcCisgICAgJChXZWJD
b3JlKS93bWwgXAogICAgICQoV2ViQ29yZSkvc3ZnIFwKICMKIApAQCAtMzkxLDYgKzM5Miw4IEBA
IGFsbCA6IFwKICAgICBEb2NUeXBlU3RyaW5ncy5jcHAgXAogICAgIEhUTUxFbnRpdHlOYW1lcy5j
IFwKICAgICBIVE1MTmFtZXMuY3BwIFwKKyAgICBXTUxFbGVtZW50RmFjdG9yeS5jcHAgXAorICAg
IFdNTE5hbWVzLmNwcCBcCiAgICAgSlNTVkdFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwIFwKICAg
ICBTVkdFbGVtZW50RmFjdG9yeS5jcHAgXAogICAgIFNWR05hbWVzLmNwcCBcCkBAIC01MDYsNyAr
NTA5LDcgQEAgWFBhdGhHcmFtbWFyLmNwcCA6IHhtbC9YUGF0aEdyYW1tYXIueSAkKAogCiAjIHVz
ZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTID0gJChXZWJD
b3JlKS9jc3MvaHRtbDQuY3NzICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgJChXZWJDb3JlKS9j
c3Mvdmlldy1zb3VyY2UuY3NzICQoV2ViQ29yZSkvY3NzL3N2Zy5jc3MgCitVU0VSX0FHRU5UX1NU
WUxFX1NIRUVUUyA9ICQoV2ViQ29yZSkvY3NzL2h0bWw0LmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWly
a3MuY3NzICQoV2ViQ29yZSkvY3NzL3ZpZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy9zdmcu
Y3NzICQoV2ViQ29yZSkvY3NzL3dtbC5jc3MKIFVzZXJBZ2VudFN0eWxlU2hlZXRzLmggOiBjc3Mv
bWFrZS1jc3MtZmlsZS1hcnJheXMucGwgJChVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUykKIAlwZXJs
ICQ8ICRAIFVzZXJBZ2VudFN0eWxlU2hlZXRzRGF0YS5jcHAgJChVU0VSX0FHRU5UX1NUWUxFX1NI
RUVUUykKIApAQCAtNTQ0LDYgKzU0Nyw4IEBAIFhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVz
LnBsIHhtbC94bWwKIAogIyAtLS0tLS0tLQogCisjIFNWRyB0YWcgYW5kIGF0dHJpYnV0ZSBuYW1l
cywgYW5kIGVsZW1lbnQgZmFjdG9yeQorCiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX1NWRywk
KEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQogCiBXRUJDT1JFX0VYUE9SVF9ERVBFTkRF
TkNJRVMgOj0gJChXRUJDT1JFX0VYUE9SVF9ERVBFTkRFTkNJRVMpIFdlYkNvcmUuU1ZHLmV4cApA
QCAtNjEzLDYgKzYxOCwyNiBAQCBlbmRpZgogCiAjIC0tLS0tLS0tCiAKKyMgV01MIHRhZyBhbmQg
YXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBmYWN0b3J5CisKK2lmZXEgKCQoZmluZHN0cmlu
ZyBFTkFCTEVfV01MLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9XTUwpCisKK1dNTEVsZW1l
bnRGYWN0b3J5LmNwcCBXTUxOYW1lcy5jcHAgOiBkb20vbWFrZV9uYW1lcy5wbCB3bWwvV01MVGFn
TmFtZXMuaW4gd21sL1dNTEF0dHJpYnV0ZU5hbWVzLmluCisJcGVybCAtSSAkKFdlYkNvcmUpL2Jp
bmRpbmdzL3NjcmlwdHMgJDwgLS10YWdzICQoV2ViQ29yZSkvd21sL1dNTFRhZ05hbWVzLmluIC0t
YXR0cnMgJChXZWJDb3JlKS93bWwvV01MQXR0cmlidXRlTmFtZXMuaW4gLS1mYWN0b3J5IC0td3Jh
cHBlckZhY3RvcnkKKworZWxzZQorCitXTUxFbGVtZW50RmFjdG9yeS5jcHAgOgorCWVjaG8gPiAk
QAorCitXTUxOYW1lcy5jcHAgOgorCWVjaG8gPiAkQAorCitlbmRpZgorCisKKyMgLS0tLS0tLS0K
KwogIyBKYXZhU2NyaXB0IGJpbmRpbmdzCiAKIEdFTkVSQVRFX0JJTkRJTkdTID0gcGVybCAtSSAk
KFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL2dl
bmVyYXRlLWJpbmRpbmdzLnBsIFwKSW5kZXg6IFdlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUucHJvCShyZXZpc2lvbiAzODUyNSkKKysrIFdlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkp
CkBAIC02Nyw2ICs2Nyw3IEBAIHdpbjMyLWcrKyB7CiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X0lDT05EQVRBQkFTRT0uKTogREVGSU5FUyArPSBFTkFCTEVfSUNPTkRBVEFCQVNFPTEKICFjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfWFBBVEg9Lik6IERFRklORVMgKz0gRU5BQkxFX1hQQVRIPTEK
ICMhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1hCTD0uKTogREVGSU5FUyArPSBFTkFCTEVfWEJM
PTEKKyFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV01MPS4pOiBERUZJTkVTICs9IEVOQUJMRV9X
TUw9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9Lik6IERFRklORVMgKz0gRU5BQkxF
X1NWRz0xCiAjIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkdfRk9OVFM9Lik6IERFRklORVMg
Kz0gRU5BQkxFX1NWR19GT05UUz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWR19GSUxU
RVJTPS4pOiBERUZJTkVTICs9IEVOQUJMRV9TVkdfRklMVEVSUz0xCkBAIC0xNjcsNiArMTY4LDcg
QEAgSU5DTFVERVBBVEggKz0gICQkUFdEIFwKICAgICAgICAgICAgICAgICAkJFBXRC9pbnNwZWN0
b3IgXAogICAgICAgICAgICAgICAgICQkUFdEL3htbCBcCiAgICAgICAgICAgICAgICAgJCRQV0Qv
aHRtbCBcCisgICAgICAgICAgICAgICAgJCRQV0Qvd21sIFwKICAgICAgICAgICAgICAgICAkJFBX
RC9iaW5kaW5ncy9qcyBcCiAgICAgICAgICAgICAgICAgJCRQV0Qvc3ZnIFwKICAgICAgICAgICAg
ICAgICAkJFBXRC9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycyBcCkBAIC0xMzY0LDYgKzEzNjYsMzcg
QEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1hCTD0xKSB7CiAgICAgRkVBVFVSRV9ERUZJTkVT
X0pBVkFTQ1JJUFQgKz0gRU5BQkxFX1hCTD0xCiB9CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9XTUw9MSkgeworICAgIFNPVVJDRVMgKz0gXAorICAgICAgICB3bWwvV01MQUVsZW1lbnQuY3Bw
IFwKKyAgICAgICAgd21sL1dNTENhcmRFbGVtZW50LmNwcCBcCisgICAgICAgIHdtbC9XTUxFbGVt
ZW50LmNwcCBcCisgICAgICAgIHdtbC9XTUxEb2N1bWVudC5jcHAgXAorICAgICAgICB3bWwvV01M
UGFnZVN0YXRlLmNwcCBcCisgICAgICAgIHdtbC9XTUxQRWxlbWVudC5jcHAKKworICAgIEZFQVRV
UkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9XTUw9MQorICAgIERFRklORVMgKz0gRU5B
QkxFX1dCWE1MPTEKKyAgICBMSUJTICs9IC1sd2J4bWwyIAorCisgICAgV01MX05BTUVTID0gJCRQ
V0Qvd21sL1dNTFRhZ05hbWVzLmluCisKKyAgICB3bWxuYW1lc19hLm91dHB1dCA9ICQkR0VORVJB
VEVEX1NPVVJDRVNfRElSL1dNTE5hbWVzLmNwcAorICAgIHdtbG5hbWVzX2EuY29tbWFuZHMgPSBw
ZXJsIC1JJCRQV0QvYmluZGluZ3Mvc2NyaXB0cyAkJFBXRC9kb20vbWFrZV9uYW1lcy5wbCAtLXRh
Z3MgJCRQV0Qvd21sL1dNTFRhZ05hbWVzLmluIC0tYXR0cnMgJCRQV0Qvd21sL1dNTEF0dHJpYnV0
ZU5hbWVzLmluIC0tZXh0cmFEZWZpbmVzIFwiJCR7REVGSU5FU31cIiAtLXByZXByb2Nlc3NvciBc
IiQke1FNQUtFX01PQ30gLUVcIiAtLWZhY3RvcnkgLS13cmFwcGVyRmFjdG9yeSAtLW91dHB1dERp
ciAkJEdFTkVSQVRFRF9TT1VSQ0VTX0RJUgorICAgIHdtbG5hbWVzX2EuaW5wdXQgPSBXTUxfTkFN
RVMKKyAgICB3bWxuYW1lc19hLmRlcGVuZGVuY3lfdHlwZSA9IFRZUEVfQworICAgIHdtbG5hbWVz
X2EuQ09ORklHID0gdGFyZ2V0X3ByZWRlcHMKKyAgICB3bWxuYW1lc19hLnZhcmlhYmxlX291dCA9
IEdFTkVSQVRFRF9TT1VSQ0VTCisgICAgYWRkRXh0cmFDb21waWxlcldpdGhIZWFkZXIod21sbmFt
ZXNfYSkKKyAgICB3bWxuYW1lc19iLm91dHB1dCA9ICQkR0VORVJBVEVEX1NPVVJDRVNfRElSL1dN
TEVsZW1lbnRGYWN0b3J5LmNwcAorICAgIHdtbG5hbWVzX2IuY29tbWFuZHMgPSBAZWNobyAtbiAn
JworICAgIHdtbG5hbWVzX2IuaW5wdXQgPSBTVkdfTkFNRVMKKyAgICB3bWxuYW1lc19iLmRlcGVu
ZHMgPSAkJEdFTkVSQVRFRF9TT1VSQ0VTX0RJUi9XTUxOYW1lcy5jcHAKKyAgICB3bWxuYW1lc19i
LkNPTkZJRyA9IHRhcmdldF9wcmVkZXBzCisgICAgd21sbmFtZXNfYi52YXJpYWJsZV9vdXQgPSBH
RU5FUkFURURfU09VUkNFUworICAgIGFkZEV4dHJhQ29tcGlsZXJXaXRoSGVhZGVyKHdtbG5hbWVz
X2IpCit9CisKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgIEZFQVRVUkVf
REVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9TVkc9MQogCkBAIC0xOTAxLDcgKzE5MzQsNyBA
QCBhZGRFeHRyYUNvbXBpbGVyKGNvbG9yZGF0YSkKIAogIyBHRU5FUkFUT1IgOToKIHN0eWxlc2hl
ZXRzLm91dHB1dCA9ICQkR0VORVJBVEVEX1NPVVJDRVNfRElSL1VzZXJBZ2VudFN0eWxlU2hlZXRz
RGF0YS5jcHAKLXN0eWxlc2hlZXRzLmNvbW1hbmRzID0gcGVybCAkJFBXRC9jc3MvbWFrZS1jc3Mt
ZmlsZS1hcnJheXMucGwgLS1wcmVwcm9jZXNzb3IgXCIkJHtRTUFLRV9NT0N9IC1FXCIgJCRHRU5F
UkFURURfU09VUkNFU19ESVIvVXNlckFnZW50U3R5bGVTaGVldHMuaCAkJEdFTkVSQVRFRF9TT1VS
Q0VTX0RJUi9Vc2VyQWdlbnRTdHlsZVNoZWV0c0RhdGEuY3BwICQkUFdEL2Nzcy9odG1sNC5jc3Mg
JCRQV0QvY3NzL3F1aXJrcy5jc3MgJCRQV0QvY3NzL3N2Zy5jc3MgJCRQV0QvY3NzL3ZpZXctc291
cmNlLmNzcworc3R5bGVzaGVldHMuY29tbWFuZHMgPSBwZXJsICQkUFdEL2Nzcy9tYWtlLWNzcy1m
aWxlLWFycmF5cy5wbCAtLXByZXByb2Nlc3NvciBcIiQke1FNQUtFX01PQ30gLUVcIiAkJEdFTkVS
QVRFRF9TT1VSQ0VTX0RJUi9Vc2VyQWdlbnRTdHlsZVNoZWV0cy5oICQkR0VORVJBVEVEX1NPVVJD
RVNfRElSL1VzZXJBZ2VudFN0eWxlU2hlZXRzRGF0YS5jcHAgJCRQV0QvY3NzL2h0bWw0LmNzcyAk
JFBXRC9jc3MvcXVpcmtzLmNzcyAkJFBXRC9jc3Mvc3ZnLmNzcyAkJFBXRC9jc3Mvdmlldy1zb3Vy
Y2UuY3NzICQkUFdEL2Nzcy93bWwuY3NzCiBzdHlsZXNoZWV0cy5pbnB1dCA9IFNUWUxFU0hFRVRT
X0VNQkVECiBzdHlsZXNoZWV0cy5DT05GSUcgPSB0YXJnZXRfcHJlZGVwcwogc3R5bGVzaGVldHMu
dmFyaWFibGVfb3V0ID0gR0VORVJBVEVEX1NPVVJDRVMKSW5kZXg6IFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDM4NTI1KQorKysgV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSwyNCBAQAogCQkwNjZDNzczMTBBQjYw
M0ZEMDAyMzhDQzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA2NkM3NzJGMEFCNjAzRkQwMDIzOENDNCAv
KiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oICovOyB9OwogCQkwNkU4MUVENzBBQjVENUU5MDBD
ODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNkU4MUVENjBBQjVENUU5MDBDODc4MzcgLyog
TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggKi87IH07CiAJCTA2RTgxRUVDMEFCNURBOTcw
MEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNkU4MUVFQjBBQjVEQTk3MDBDODc4Mzcg
LyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tICovOyB9OworCQkwODM5NDc2QzBFQ0U0
QkQ2MDAwMjczNTAgLyogV01MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhGQjg0QjAwRUNFMzczMzAwREMwNjRFIC8qIFdN
TEVsZW1lbnRGYWN0b3J5LmNwcCAqLzsgfTsKKwkJMDgzOTQ3NkQwRUNFNEJENjAwMDI3MzUwIC8q
IFdNTEVsZW1lbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwOEZCODRCMTBFQ0UzNzMzMDBEQzA2NEUgLyogV01MRWxlbWVudEZhY3Rvcnku
aCAqLzsgfTsKKwkJMDg4Qzk3MTIwRUNCNkQ5MjAwMDUzNEJBIC8qIFdNTE5hbWVzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRDQTNBQjQ5MEU1NTZG
MjQwMEU5QzBDMCAvKiBXTUxOYW1lcy5jcHAgKi87IH07CisJCTA4OEM5NzEzMEVDQjZEOUQwMDA1
MzRCQSAvKiBXTUxOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNENBM0FCNDgwRTU1NkYyNDAwRTlDMEMwIC8qIFdNTE5hbWVzLmggKi87IH07CisJ
CTA4OEM5NzUxMEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxBRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QzZCOTkxODBFNTJFMzczMDA0ODdC
QjcgLyogV01MQUVsZW1lbnQuY3BwICovOyB9OworCQkwODhDOTc1MjBFQ0I2RTI4MDAwNTM0QkEg
LyogV01MQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDRDNkI5OTE5MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxBRWxlbWVudC5oICovOyB9Owor
CQkwODhDOTc1NTBFQ0I2RTI4MDAwNTM0QkEgLyogV01MQXR0cmlidXRlTmFtZXMuaW4gaW4gUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRDNkI5OTFDMEU1MkUz
NzMwMDQ4N0JCNyAvKiBXTUxBdHRyaWJ1dGVOYW1lcy5pbiAqLzsgfTsKKwkJMDg4Qzk3NTYwRUNC
NkUyODAwMDUzNEJBIC8qIFdNTENhcmRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRDNkI5OTFGMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxD
YXJkRWxlbWVudC5jcHAgKi87IH07CisJCTA4OEM5NzU3MEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxD
YXJkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNEM2Qjk5MjAwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTENhcmRFbGVtZW50LmggKi87IH07CisJ
CTA4OEM5NzU4MEVDQjZFMjgwMDA1MzRCQSAvKiBXTUxEb2N1bWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QzZCOTkyMTBFNTJFMzczMDA0ODdC
QjcgLyogV01MRG9jdW1lbnQuY3BwICovOyB9OworCQkwODhDOTc1OTBFQ0I2RTI4MDAwNTM0QkEg
LyogV01MRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDRDNkI5OTIyMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxEb2N1bWVudC5oICovOyB9Owor
CQkwODhDOTc1QzBFQ0I2RTI4MDAwNTM0QkEgLyogV01MRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QzZCOTkyNTBFNTJFMzczMDA0ODdC
QjcgLyogV01MRWxlbWVudC5jcHAgKi87IH07CisJCTA4OEM5NzVEMEVDQjZFMjgwMDA1MzRCQSAv
KiBXTUxFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QzZCOTkyNjBFNTJFMzczMDA0ODdCQjcgLyogV01MRWxlbWVudC5oICovOyB9OworCQkw
ODhDOTc2QzBFQ0I2RTI5MDAwNTM0QkEgLyogV01MUGFnZVN0YXRlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OTNFNDY1MEVDQjY4RjQwMEEyODU2
MyAvKiBXTUxQYWdlU3RhdGUuY3BwICovOyB9OworCQkwODhDOTc2RDBFQ0I2RTI5MDAwNTM0QkEg
LyogV01MUGFnZVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODkzRTQ2NjBFQ0I2OEY0MDBBMjg1NjMgLyogV01MUGFnZVN0YXRlLmggKi87IH07
CisJCTA4OEM5NzZFMEVDQjZFMjkwMDA1MzRCQSAvKiBXTUxQRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QzZCOTkzNTBFNTJFMzczMDA0
ODdCQjcgLyogV01MUEVsZW1lbnQuY3BwICovOyB9OworCQkwODhDOTc2RjBFQ0I2RTI5MDAwNTM0
QkEgLyogV01MUEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRDNkI5OTM2MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxQRWxlbWVudC5oICovOyB9
OworCQkwODhDOTc3QzBFQ0I2RTI5MDAwNTM0QkEgLyogV01MVGFnTmFtZXMuaW4gaW4gUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRDNkI5OTQzMEU1MkUzNzMw
MDQ4N0JCNyAvKiBXTUxUYWdOYW1lcy5pbiAqLzsgfTsKIAkJMDg5NTgyNTUwRTg1N0E3RTAwRjgy
QzgzIC8qIEltYWdlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4OTU4MjUzMEU4NTdBN0UwMEY4MkM4MyAvKiBJbWFnZUxvYWRlci5jcHAg
Ki87IH07CiAJCTA4OTU4MjU2MEU4NTdBN0UwMEY4MkM4MyAvKiBJbWFnZUxvYWRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg5NTgyNTQwRTg1N0E3
RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmggKi87IH07CiAJCTA4QTQ4NDc3MEU1MjcyQzUwMEMz
RkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4QTQ4NDc1MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50
LmNwcCAqLzsgfTsKQEAgLTQ3NTAsMTIgKzQ3NjgsMTYgQEAKIAkJMDY2Qzc3MkYwQUI2MDNGRDAw
MjM4Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwNkU4MUVENjBBQjVENUU5MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3Jh
cGhpY3NDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNkU4
MUVFQjBBQjVEQTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQ3VycmVudEdyYXBo
aWNzQ29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDg5M0U0NjUwRUNC
NjhGNDAwQTI4NTYzIC8qIFdNTFBhZ2VTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXTUxQYWdlU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwODkzRTQ2NjBFQ0I2OEY0MDBBMjg1NjMgLyogV01MUGFnZVN0YXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTFBhZ2VTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwODk1ODI1MzBFODU3QTdFMDBGODJDODMgLyogSW1hZ2VMb2FkZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VMb2FkZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODk1ODI1NDBFODU3QTdFMDBGODJDODMgLyog
SW1hZ2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VMb2Fk
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhBNDg0NzUwRTUyNzJDNTAwQzNG
RTc2IC8qIFNjcmlwdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU2NyaXB0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4
QTQ4NDc2MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDhBNDhBNkQwRTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNl
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHRWxl
bWVudEluc3RhbmNlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhF
NEZFNDUwRTJCRDQxNDAwRjRDQUUwIC8qIEpTU1ZHTGVuZ3RoQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHTGVuZ3RoQ3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDhGQjg0QjAwRUNFMzczMzAwREMwNjRFIC8qIFdNTEVs
ZW1lbnRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdN
TEVsZW1lbnRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDhGQjg0
QjEwRUNFMzczMzAwREMwNjRFIC8qIFdNTEVsZW1lbnRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEVsZW1lbnRGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBBNDg0NDk4MENBNDRDQjIwMEI3QkQ0OCAvKiBTb2Z0TGlua2luZy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb2Z0TGlua2luZy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRjU2MDI4RDBFNEI3NjU4MDA2NUIwMzggLyogUmVuZGVyTWFy
cXVlZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJNYXJxdWVlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNTYwMjhFMEU0Qjc2NTgwMDY1QjAzOCAv
KiBSZW5kZXJNYXJxdWVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbmRlck1hcnF1ZWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTI5Miw2
ICs1MzE0LDIxIEBACiAJCTRCNkZBNkY2MEMzOUU0QTEwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2VD
Ri5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTbWFydFJlcGxhY2VD
Ri5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCOEFGNEE5MEIxQ0UwMkIwMDY4
NzY5MCAvKiBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENsaXBib2FyZEFjY2Vzc1BvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0QkFFOTVCMDBCMkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRlQWN0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRvckRlbGV0ZUFjdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0QzZCOTkxODBFNTJFMzczMDA0ODdCQjcgLyog
V01MQUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdN
TEFFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEM2Qjk5MTkwRTUy
RTM3MzAwNDg3QkI3IC8qIFdNTEFFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXTUxBRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0QzZC
OTkxQzBFNTJFMzczMDA0ODdCQjcgLyogV01MQXR0cmlidXRlTmFtZXMuaW4gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFdNTEF0dHJpYnV0ZU5hbWVzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0QzZCOTkxRjBFNTJFMzczMDA0ODdCQjcgLyogV01MQ2FyZEVsZW1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTENhcmRFbGVtZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEM2Qjk5MjAwRTUyRTM3MzAwNDg3QkI3IC8q
IFdNTENhcmRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxD
YXJkRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0QzZCOTkyMTBFNTJF
MzczMDA0ODdCQjcgLyogV01MRG9jdW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdNTERvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNEM2Qjk5MjIwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTERvY3VtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxEb2N1bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0QzZCOTkyNTBFNTJFMzczMDA0ODdCQjcgLyogV01MRWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MRWxlbWVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRDNkI5OTI2MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRDNkI5OTM1MEU1MkUzNzMwMDQ4N0JCNyAv
KiBXTUxQRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V01MUEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0QzZCOTkzNjBF
NTJFMzczMDA0ODdCQjcgLyogV01MUEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdNTFBFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRD
NkI5OTQzMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxUYWdOYW1lcy5pbiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV01MVGFnTmFtZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRD
QTNBQjQ4MEU1NTZGMjQwMEU5QzBDMCAvKiBXTUxOYW1lcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV01MTmFtZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NENBM0FCNDkwRTU1NkYyNDAwRTlDMEMwIC8qIFdNTE5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTRDREU1NEVDMEU1NTc5NzgwMDg5RTI2QyAvKiB3bWwuY3NzICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSB3bWwuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5
NTkxRjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhRmVhdHVyZU5hbWVzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEUxOTU5MjAwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlh
RmVhdHVyZU5hbWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUZl
YXR1cmVOYW1lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5NTkyMzBBMzlE
QUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWVkaWFRdWVyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC05MDE4LDYgKzkwNTUsNyBAQAogCQkJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVDQSAvKiByZW5k
ZXJpbmcgKi8sCiAJCQkJMUFFODJFQzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3JhZ2UgKi8sCiAJ
CQkJQjIyMjc3Q0EwRDAwQkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKKwkJCQk0QzZCOTkxNTBFNTJF
MzczMDA0ODdCQjcgLyogd21sICovLAogCQkJCUUxRjA0MjQzMDk4MzkzODkwMDY2OTRFQSAvKiB4
bWwgKi8sCiAJCQkJNjU2NTgwRUMwOUQxMkIyMDAwMEU2MUQ3IC8qIERlcml2ZWQgU291cmNlcyAq
LywKIAkJCQkwODlDMTY2NUZFODQxMTU4QzAyQUFDMDcgLyogUmVzb3VyY2VzICovLApAQCAtOTM4
Myw2ICs5NDIxLDI3IEBACiAJCQluYW1lID0gYW5pbWF0aW9uOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKIAkJfTsKKwkJNEM2Qjk5MTUwRTUyRTM3MzAwNDg3QkI3IC8qIHdtbCAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNEM2Qjk5MTgwRTUyRTM3
MzAwNDg3QkI3IC8qIFdNTEFFbGVtZW50LmNwcCAqLywKKwkJCQk0QzZCOTkxOTBFNTJFMzczMDA0
ODdCQjcgLyogV01MQUVsZW1lbnQuaCAqLywKKwkJCQk0QzZCOTkxQzBFNTJFMzczMDA0ODdCQjcg
LyogV01MQXR0cmlidXRlTmFtZXMuaW4gKi8sCisJCQkJNEM2Qjk5MUYwRTUyRTM3MzAwNDg3QkI3
IC8qIFdNTENhcmRFbGVtZW50LmNwcCAqLywKKwkJCQk0QzZCOTkyMDBFNTJFMzczMDA0ODdCQjcg
LyogV01MQ2FyZEVsZW1lbnQuaCAqLywKKwkJCQk0QzZCOTkyMTBFNTJFMzczMDA0ODdCQjcgLyog
V01MRG9jdW1lbnQuY3BwICovLAorCQkJCTRDNkI5OTIyMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxE
b2N1bWVudC5oICovLAorCQkJCTRDNkI5OTI1MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxFbGVtZW50
LmNwcCAqLywKKwkJCQk0QzZCOTkyNjBFNTJFMzczMDA0ODdCQjcgLyogV01MRWxlbWVudC5oICov
LAorCQkJCTA4OTNFNDY1MEVDQjY4RjQwMEEyODU2MyAvKiBXTUxQYWdlU3RhdGUuY3BwICovLAor
CQkJCTA4OTNFNDY2MEVDQjY4RjQwMEEyODU2MyAvKiBXTUxQYWdlU3RhdGUuaCAqLywKKwkJCQk0
QzZCOTkzNTBFNTJFMzczMDA0ODdCQjcgLyogV01MUEVsZW1lbnQuY3BwICovLAorCQkJCTRDNkI5
OTM2MEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxQRWxlbWVudC5oICovLAorCQkJCTRDNkI5OTQzMEU1
MkUzNzMwMDQ4N0JCNyAvKiBXTUxUYWdOYW1lcy5pbiAqLywKKwkJCSk7CisJCQlwYXRoID0gd21s
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNTEyNkU2QjYwQTJFM0FFRjAw
NUMyOUZBIC8qIGljb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KApAQCAtOTUxNSw2ICs5NTc0LDEwIEBACiAJCQkJNjU2NTgxNEMwOUQxMzA0MzAwMEU2MUQ3IC8q
IHRva2VuaXplci5jcHAgKi8sCiAJCQkJNjU2NTgxQUUwOUQxNEVFNjAwMEU2MUQ3IC8qIFVzZXJB
Z2VudFN0eWxlU2hlZXRzLmggKi8sCiAJCQkJNjU2NTgxQUYwOUQxNEVFNjAwMEU2MUQ3IC8qIFVz
ZXJBZ2VudFN0eWxlU2hlZXRzRGF0YS5jcHAgKi8sCisJCQkJMDhGQjg0QjAwRUNFMzczMzAwREMw
NjRFIC8qIFdNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLywKKwkJCQkwOEZCODRCMTBFQ0UzNzMzMDBE
QzA2NEUgLyogV01MRWxlbWVudEZhY3RvcnkuaCAqLywKKwkJCQk0Q0EzQUI0OTBFNTU2RjI0MDBF
OUMwQzAgLyogV01MTmFtZXMuY3BwICovLAorCQkJCTRDQTNBQjQ4MEU1NTZGMjQwMEU5QzBDMCAv
KiBXTUxOYW1lcy5oICovLAogCQkJCTY1NjU4MUVBMDlEMTUwOEQwMDBFNjFENyAvKiBYTGlua05h
bWVzLmNwcCAqLywKIAkJCQk2NTY1ODFFQjA5RDE1MDhEMDAwRTYxRDcgLyogWExpbmtOYW1lcy5o
ICovLAogCQkJCUE4MzNDODBBMEEyQ0YyNTYwMEQ1NzY2NCAvKiBYTUxOYW1lcy5jcHAgKi8sCkBA
IC0xMzQ5OSw2ICsxMzU2Miw3IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3Mg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTRDREU1NEVD
MEU1NTc5NzgwMDg5RTI2QyAvKiB3bWwuY3NzICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdG
QjhDNSAvKiBDb3VudGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENv
dW50ZXIuaWRsICovLAogCQkJCUE4MEU2Q0JCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJ
bWFnZVZhbHVlLmNwcCAqLywKQEAgLTE2MjE4LDYgKzE2MjgyLDE0IEBACiAJCQkJMEZDNzA1MjEw
RUIxODE1NjAwQjkwQUQ4IC8qIEF0b21pY1N0cmluZ0hhc2guaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxMUM5RDlCMEVCMzY4MTIwMEU0MDlEQiAvKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMUE2NDNGMjBFQzA5NzI1MDA3Nzk2NjggLyogV29ya2VyU2NyaXB0
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDg4Qzk3MTMwRUNCNkQ5RDAwMDUzNEJB
IC8qIFdNTE5hbWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwODhDOTc1MjBFQ0I2RTI4MDAwNTM0
QkEgLyogV01MQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTA4OEM5NzU3MEVDQjZFMjgw
MDA1MzRCQSAvKiBXTUxDYXJkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDg4Qzk3NTkw
RUNCNkUyODAwMDUzNEJBIC8qIFdNTERvY3VtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkwODhD
OTc1RDBFQ0I2RTI4MDAwNTM0QkEgLyogV01MRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MDg4Qzk3NkQwRUNCNkUyOTAwMDUzNEJBIC8qIFdNTFBhZ2VTdGF0ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMDg4Qzk3NkYwRUNCNkUyOTAwMDUzNEJBIC8qIFdNTFBFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwODM5NDc2RDBFQ0U0QkQ2MDAwMjczNTAgLyogV01MRWxlbWVudEZhY3Rvcnku
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxMDgyMjRCMEVDMzE1M0EwMEU5Mzk1MyAvKiBXb3JrZXJU
YXNrLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkQ3MjM4MjBFQzhCRDkzMDBDQTVERDcgLyogRmxv
YXRRdWFkLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTQ3OTlBNzBFQ0RFM0E0MDAyOTJCRjMgLyog
V29ya2VyTWVzc2FnaW5nUHJveHkuaCBpbiBIZWFkZXJzICovLApAQCAtMTYzMzYsNiArMTY0MDgs
OCBAQAogCQkJCTFBQjFBRTdBMEMwNTFGREUwMDEzOUY0RiAvKiB6b29tSW5DdXJzb3IucG5nIGlu
IFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYgLyogem9vbU91dEN1
cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCUUxQzM2MkJDMEVBRjI5RkIwMDc0MTBCQyAv
KiBXb3JrZXJMb2NhdGlvbi5pZGwgaW4gUmVzb3VyY2VzICovLAorCQkJCTA4OEM5NzU1MEVDQjZF
MjgwMDA1MzRCQSAvKiBXTUxBdHRyaWJ1dGVOYW1lcy5pbiBpbiBSZXNvdXJjZXMgKi8sCisJCQkJ
MDg4Qzk3N0MwRUNCNkUyOTAwMDUzNEJBIC8qIFdNTFRhZ05hbWVzLmluIGluIFJlc291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTE4MTI3LDYgKzE4MjAxLDE0IEBACiAJCQkJRTFDMzZDQkQwRUIwODA2MjAwNzQxMEJD
IC8qIEpTRE9NR2xvYmFsT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMUM5REIwMEVC
MzY5OTUwMEU0MDlEQiAvKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUUxQTY0M0ZEMEVDMDk3QTAwMDc3OTY2OCAvKiBXb3JrZXJTY3JpcHRDb250cm9sbGVy
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA4OEM5NzEyMEVDQjZEOTIwMDA1MzRCQSAvKiBXTUxO
YW1lcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwODhDOTc1MTBFQ0I2RTI4MDAwNTM0QkEgLyog
V01MQUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDg4Qzk3NTYwRUNCNkUyODAwMDUz
NEJBIC8qIFdNTENhcmRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA4OEM5NzU4MEVD
QjZFMjgwMDA1MzRCQSAvKiBXTUxEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwODhD
OTc1QzBFQ0I2RTI4MDAwNTM0QkEgLyogV01MRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwODhDOTc2QzBFQ0I2RTI5MDAwNTM0QkEgLyogV01MUGFnZVN0YXRlLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTA4OEM5NzZFMEVDQjZFMjkwMDA1MzRCQSAvKiBXTUxQRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwODM5NDc2QzBFQ0U0QkQ2MDAwMjczNTAgLyogV01MRWxlbWVudEZh
Y3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEwODIyNEYwRUMzMTU2NzAwRTkzOTUzIC8q
IFdvcmtlclRhc2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZENzIzODMwRUM4QkQ5MzAwQ0E1
REQ3IC8qIEZsb2F0UXVhZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTQ3OTlCNDBFQ0RFOUQ4
MDAyOTJCRjMgLyogV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4
OiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCShyZXZpc2lvbiAzODUyNSkKKysrIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNSw2ICs1LDggQEAKICAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAw
NiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHly
aWdodCAoQykgMjAwNywgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgorICogQ29w
eXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogICAgICAgICAgICAgICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtODA2LDEyICs4MDgsMTggQEAgc3RhdGljIGlubGluZSBjb25zdCBBdG9taWNT
dHJpbmcqIGxpbmtBdAogCiAgICAgQVNTRVJUKG5vZGUtPmlzRWxlbWVudE5vZGUoKSk7CiAgICAg
RWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKTsKLSAgICBpZiAo
ZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKQorICAgIGlmIChlbGVtZW50LT5pc0hUTUxFbGVtZW50
KCkKKyNpZiBFTkFCTEUoV01MKQorICAgICAgICB8fCBlbGVtZW50LT5pc1dNTEVsZW1lbnQoKQor
I2VuZGlmCisgICAgICAgKQogICAgICAgICByZXR1cm4gJmVsZW1lbnQtPmdldEF0dHJpYnV0ZSho
cmVmQXR0cik7CisKICNpZiBFTkFCTEUoU1ZHKQogICAgIGlmIChlbGVtZW50LT5pc1NWR0VsZW1l
bnQoKSkKICAgICAgICAgcmV0dXJuICZlbGVtZW50LT5nZXRBdHRyaWJ1dGUoWExpbmtOYW1lczo6
aHJlZkF0dHIpOwogI2VuZGlmCisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMTA1MSw2ICsxMDU5
LDE3IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IENTU1N0eWxlU2VsZWN0b3IKICAgICB9CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShXTUwpCisgICAgc3RhdGljIGJvb2wgbG9hZGVkV01MVXNlckFn
ZW50U2hlZXQ7CisgICAgaWYgKGUtPmlzV01MRWxlbWVudCgpICYmICFsb2FkZWRXTUxVc2VyQWdl
bnRTaGVldCkgeworICAgICAgICAvLyBXTUwgcnVsZXMuCisgICAgICAgIGxvYWRlZFdNTFVzZXJB
Z2VudFNoZWV0ID0gdHJ1ZTsKKyAgICAgICAgQ1NTU3R5bGVTaGVldCogd21sU2hlZXQgPSBwYXJz
ZVVBU2hlZXQod21sVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKHdtbFVzZXJBZ2VudFN0eWxl
U2hlZXQpKTsKKyAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldCh3bWxTaGVl
dCwgc2NyZWVuRXZhbCgpKTsKKyAgICAgICAgZGVmYXVsdFByaW50U3R5bGUtPmFkZFJ1bGVzRnJv
bVNoZWV0KHdtbFNoZWV0LCBwcmludEV2YWwoKSk7CisgICAgfQorI2VuZGlmCisKICAgICBpbnQg
Zmlyc3RVQVJ1bGUgPSAtMSwgbGFzdFVBUnVsZSA9IC0xOwogICAgIGludCBmaXJzdFVzZXJSdWxl
ID0gLTEsIGxhc3RVc2VyUnVsZSA9IC0xOwogICAgIGludCBmaXJzdEF1dGhvclJ1bGUgPSAtMSwg
bGFzdEF1dGhvclJ1bGUgPSAtMTsKSW5kZXg6IGNzcy93bWwuY3NzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNz
cy93bWwuY3NzCShyZXZpc2lvbiAwKQorKysgY3NzL3dtbC5jc3MJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNTUxIEBACisvKgorICogVGhlIGRlZmF1bHQgc3R5bGUgc2hlZXQgdXNlZCB0byByZW5k
ZXIgSFRNTC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2gg
TW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAgICAgaHR0cDov
L3d3dy50b3JjaG1vYmlsZS5jb20vCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyAqLworCitAbmFtZXNwYWNlICJodHRwOi8vd3d3LndhcGZvcnVt
Lm9yZy9EVEQvd21sXzEuMS54bWwiCisKK3dtbCB7CisgICAgZGlzcGxheTogYmxvY2sKK30KKwor
LyogY2hpbGRyZW4gb2YgdGhlIDxoZWFkPiBlbGVtZW50IGFsbCBoYXZlIGRpc3BsYXk6bm9uZSAq
LworaGVhZCB7CisgICAgZGlzcGxheTogbm9uZQorfQorCittZXRhIHsKKyAgICBkaXNwbGF5OiBu
b25lCit9CisKK2FjY2VzcyB7CisgICAgZGlzcGxheTogbm9uZQorfQorCisvKiBnZW5lcmljIGJs
b2NrLWxldmVsIGVsZW1lbnRzICovCisKK2NhcmQgeworICAgIGRpc3BsYXk6IGJsb2NrOworICAg
IG1hcmdpbjogOHB4Cit9CisKK3AgeworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIG1hcmdpbjog
MS4wX19xZW0gMHB4Cit9CisKK2RpdiB7CisgICAgZGlzcGxheTogYmxvY2sKK30KKworbGF5ZXIg
eworICAgIGRpc3BsYXk6IGJsb2NrCit9CisKK21hcnF1ZWUgeworICAgIGRpc3BsYXk6IGlubGlu
ZS1ibG9jazsKKyAgICBvdmVyZmxvdzogLXdlYmtpdC1tYXJxdWVlCit9CisKK2FkZHJlc3Mgewor
ICAgIGRpc3BsYXk6IGJsb2NrCit9CisKK2Jsb2NrcXVvdGUgeworICAgIGRpc3BsYXk6IGJsb2Nr
OworICAgIG1hcmdpbjogMV9fcWVtIDQwcHggMWVtIDQwcHgKK30KKworcSB7CisgICAgZGlzcGxh
eTogaW5saW5lCit9CisKK3E6YmVmb3JlIHsKKyAgICBjb250ZW50OiAnIicKKyAgICAvKiBGSVhN
RTogY29udGVudDogb3Blbi1xdW90ZTsgKi8KK30KKworcTphZnRlciB7CisgICAgY29udGVudDog
JyInCisgICAgLyogRklYTUU6IGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyAqLworfQorCitjZW50ZXIg
eworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIC8qIHNwZWNpYWwgY2VudGVyaW5nIHRvIGJlIGFi
bGUgdG8gZW11bGF0ZSB0aGUgaHRtbDQvbmV0c2NhcGUgYmVoYXZpb3VyICovCisgICAgdGV4dC1h
bGlnbjogLXdlYmtpdC1jZW50ZXIKK30KKworaHIgeworICAgIGRpc3BsYXk6IGJsb2NrOworICAg
IG1hcmdpbjogMC41ZW0gYXV0bzsKKyAgICBib3JkZXItc3R5bGU6IGluc2V0OworICAgIGJvcmRl
ci13aWR0aDogMXB4Cit9CisKK21hcCB7CisgICAgZGlzcGxheTogaW5saW5lCit9CisKKy8qIHRh
YmxlcyAqLworCit0YWJsZSB7CisgICAgZGlzcGxheTogdGFibGU7CisgICAgYm9yZGVyLWNvbGxh
cHNlOiBzZXBhcmF0ZTsKKyAgICBib3JkZXItc3BhY2luZzogMnB4OworICAgIGJvcmRlci1jb2xv
cjogZ3JheQorfQorCit0YWJsZVthbGlnbj0iY2VudGVyIl0geworICAgIG1hcmdpbi1sZWZ0OiBh
dXRvOworICAgIG1hcmdpbi1yaWdodDogYXV0bworfQorCit0aGVhZCB7CisgICAgZGlzcGxheTog
dGFibGUtaGVhZGVyLWdyb3VwOworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CisgICAgYm9y
ZGVyLWNvbG9yOiBpbmhlcml0Cit9CisKK3Rib2R5IHsKKyAgICBkaXNwbGF5OiB0YWJsZS1yb3ct
Z3JvdXA7CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKKyAgICBib3JkZXItY29sb3I6IGlu
aGVyaXQKK30KKwordGZvb3QgeworICAgIGRpc3BsYXk6IHRhYmxlLWZvb3Rlci1ncm91cDsKKyAg
ICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdAorfQor
CisvKiBmb3IgdGFibGVzIHdpdGhvdXQgdGFibGUgc2VjdGlvbiBlbGVtZW50cyAoY2FuIGhhcHBl
biB3aXRoIFhIVE1MIG9yIGR5bmFtaWNhbGx5IGNyZWF0ZWQgdGFibGVzKSAqLwordGFibGUgPiB0
ciB7CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworY29sIHsKKyAgICBkaXNwbGF5
OiB0YWJsZS1jb2x1bW4KK30KKworY29sZ3JvdXAgeworICAgIGRpc3BsYXk6IHRhYmxlLWNvbHVt
bi1ncm91cAorfQorCit0ciB7CisgICAgZGlzcGxheTogdGFibGUtcm93OworICAgIHZlcnRpY2Fs
LWFsaWduOiBpbmhlcml0OworICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdAorfQorCit0ZCwgdGgg
eworICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CisgICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQK
K30KKwordGggeworICAgIGZvbnQtd2VpZ2h0OiBib2xkCit9CisKK2NhcHRpb24geworICAgIGRp
c3BsYXk6IHRhYmxlLWNhcHRpb247CisgICAgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXIKK30K
KworLyogbGlzdHMgKi8KKwordWwsIG1lbnUsIGRpciB7CisgICAgZGlzcGxheTogYmxvY2s7Cisg
ICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOworICAgIG1hcmdpbjogMV9fcWVtIDAgMWVtIDA7Cisg
ICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiA0MHB4Cit9CisKK29sIHsKKyAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7CisgICAgbWFyZ2luOiAxX19xZW0g
MCAxZW0gMDsKKyAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDQwcHgKK30KKworbGkgeworICAg
IGRpc3BsYXk6IGxpc3QtaXRlbQorfQorCit1bCB1bCwgb2wgdWwgeworICAgIGxpc3Qtc3R5bGUt
dHlwZTogY2lyY2xlCit9CisKK29sIG9sIHVsLCBvbCB1bCB1bCwgdWwgb2wgdWwsIHVsIHVsIHVs
IHsKKyAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZQorfQorCitkZCB7CisgICAgZGlzcGxheTog
YmxvY2s7CisgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IDQwcHgKK30KKworZGwgeworICAgIGRp
c3BsYXk6IGJsb2NrOworICAgIG1hcmdpbjogMV9fcWVtIDAgMWVtIDAKK30KKworZHQgeworICAg
IGRpc3BsYXk6IGJsb2NrCit9CisKK29sIHVsLCB1bCBvbCwgdWwgdWwsIG9sIG9sIHsKKyAgICBt
YXJnaW4tdG9wOiAwOworICAgIG1hcmdpbi1ib3R0b206IDAKK30KKworLyogZm9ybSBlbGVtZW50
cyAqLworCitmb3JtIHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICBtYXJnaW46IDBfX3FlbSAw
IDFlbSAwCit9CisKK2xhYmVsIHsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7Cit9CisKK2xlZ2VuZCB7
CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgcGFkZGluZy1sZWZ0OiAycHg7CisgICAgcGFkZGlu
Zy1yaWdodDogMnB4OworICAgIGJvcmRlcjogbm9uZQorfQorCitmaWVsZHNldCB7CisgICAgZGlz
cGxheTogYmxvY2s7CisgICAgbWFyZ2luLWxlZnQ6IDJweDsKKyAgICBtYXJnaW4tcmlnaHQ6IDJw
eDsKKyAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07CisgICAgYm9yZGVyOiAycHgg
Z3Jvb3ZlIFRocmVlREZhY2UKK30KKworYnV0dG9uIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6
IGJ1dHRvbjsKK30KKworZG8geworICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTsKK30K
KworaW5wdXQsIHRleHRhcmVhLCBrZXlnZW4sIHNlbGVjdCwgYnV0dG9uLCBpc2luZGV4IHsKKyAg
ICBtYXJnaW46IDBfX3FlbTsKKyAgICBmb250OiAtd2Via2l0LXNtYWxsLWNvbnRyb2w7CisgICAg
Y29sb3I6IGluaXRpYWw7CisgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKKyAgICB3b3JkLXNw
YWNpbmc6IG5vcm1hbDsKKyAgICBsaW5lLWhlaWdodDogbm9ybWFsOworICAgIHRleHQtdHJhbnNm
b3JtOiBub25lOworICAgIHRleHQtaW5kZW50OiAwOworICAgIHRleHQtc2hhZG93OiBub25lOwor
ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICB0ZXh0LWFsaWduOiAtd2Via2l0LWF1dG87
Cit9CisKK2lucHV0W3R5cGU9ImhpZGRlbiJdIHsKKyAgICBkaXNwbGF5OiBub25lCit9CisKK2lu
cHV0LCBpbnB1dFt0eXBlPSJwYXNzd29yZCJdLCBpbnB1dFt0eXBlPSJzZWFyY2giXSwgaXNpbmRl
eCB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7CisgICAgcGFkZGluZzogMXB4
OworICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworICAgIGJvcmRlcjogMnB4IGluc2V0Owor
ICAgIC13ZWJraXQtcnRsLW9yZGVyaW5nOiBsb2dpY2FsOworICAgIC13ZWJraXQtdXNlci1zZWxl
Y3Q6IHRleHQ7CisgICAgY3Vyc29yOiBhdXRvOworfQorCitpbnB1dFt0eXBlPSJzZWFyY2giXSB7
CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBzZWFyY2hmaWVsZDsKKyAgICAtd2Via2l0LWJveC1z
aXppbmc6IGJvcmRlci1ib3g7Cit9CisKK2lucHV0W3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNl
YXJjaC1jYW5jZWwtYnV0dG9uIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHNlYXJjaGZpZWxk
LWNhbmNlbC1idXR0b247Cit9CisKK2lucHV0W3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJj
aC1kZWNvcmF0aW9uIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHNlYXJjaGZpZWxkLWRlY29y
YXRpb247Cit9CisKK2lucHV0W3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRz
LWRlY29yYXRpb24geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogc2VhcmNoZmllbGQtcmVzdWx0
cy1kZWNvcmF0aW9uOworfQorCitpbnB1dFt0eXBlPSJzZWFyY2giXTo6LXdlYmtpdC1zZWFyY2gt
cmVzdWx0cy1idXR0b24geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogc2VhcmNoZmllbGQtcmVz
dWx0cy1idXR0b247Cit9CisKK3RleHRhcmVhIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRl
eHRhcmVhOworICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworICAgIGJvcmRlcjogMXB4IHNv
bGlkOworICAgIC13ZWJraXQtcnRsLW9yZGVyaW5nOiBsb2dpY2FsOworICAgIC13ZWJraXQtdXNl
ci1zZWxlY3Q6IHRleHQ7CisgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKKyAgICBy
ZXNpemU6IGF1dG87CisgICAgY3Vyc29yOiBhdXRvOworfQorCitpbnB1dFt0eXBlPSJwYXNzd29y
ZCJdIHsKKyAgICAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2MgIWltcG9ydGFudDsKK30KKwor
aW5wdXRbdHlwZT0iaGlkZGVuIl0sIGlucHV0W3R5cGU9ImltYWdlIl0sIGlucHV0W3R5cGU9ImZp
bGUiXSB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbml0aWFsOworICAgIHBhZGRpbmc6IGlu
aXRpYWw7CisgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDsKKyAgICBib3JkZXI6IGluaXRp
YWw7Cit9CisKK2lucHV0W3R5cGU9ImZpbGUiXSB7CisgICAgLXdlYmtpdC1ib3gtYWxpZ246IGJh
c2VsaW5lOworfQorCitpbnB1dDotd2Via2l0LWF1dG9maWxsIHsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiAjRkFGRkJEICFpbXBvcnRhbnQ7CisgICAgYmFja2dyb3VuZC1pbWFnZTpub25lICFpbXBv
cnRhbnQ7Cit9CisKK2lucHV0W3R5cGU9InJhZGlvIl0sIGlucHV0W3R5cGU9ImNoZWNrYm94Il0g
eworICAgIG1hcmdpbjogM3B4IDAuNWV4OworICAgIHBhZGRpbmc6IGluaXRpYWw7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogaW5pdGlhbDsKKyAgICBib3JkZXI6IGluaXRpYWw7Cit9CisKK2lucHV0
W3R5cGU9ImJ1dHRvbiJdLCBpbnB1dFt0eXBlPSJzdWJtaXQiXSwgaW5wdXRbdHlwZT0icmVzZXQi
XSwgaW5wdXRbdHlwZT0iZmlsZSJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7CisgICAg
LXdlYmtpdC1hcHBlYXJhbmNlOiBwdXNoLWJ1dHRvbjsKKyAgICB3aGl0ZS1zcGFjZTogcHJlCit9
CisKK2lucHV0W3R5cGU9ImJ1dHRvbiJdLCBpbnB1dFt0eXBlPSJzdWJtaXQiXSwgaW5wdXRbdHlw
ZT0icmVzZXQiXSwgaW5wdXRbdHlwZT0iZmlsZSJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRv
biwgYnV0dG9uIHsKKyAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOworICAgIHRleHQtYWxp
Z246IGNlbnRlcjsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgY29sb3I6IEJ1dHRvblRleHQ7
CisgICAgcGFkZGluZzogMnB4IDZweCAzcHggNnB4OworICAgIGJvcmRlcjogMnB4IG91dHNldCBC
dXR0b25GYWNlOworICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvbkZhY2U7CisgICAgLXdlYmtp
dC1ib3gtc2l6aW5nOiBib3JkZXItYm94Cit9CisKK2lucHV0W3R5cGU9InJhbmdlIl0geworICAg
IC13ZWJraXQtYXBwZWFyYW5jZTogc2xpZGVyLWhvcml6b250YWw7CisgICAgcGFkZGluZzogaW5p
dGlhbDsKKyAgICBib3JkZXI6IGluaXRpYWw7CisgICAgbWFyZ2luOiAycHg7Cit9CisKK2lucHV0
W3R5cGU9InJhbmdlIl06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsKKyAgICAtd2Via2l0LWFwcGVh
cmFuY2U6IHNsaWRlcnRodW1iLWhvcml6b250YWw7Cit9CisKK2lucHV0W3R5cGU9ImJ1dHRvbiJd
OmRpc2FibGVkLCBpbnB1dFt0eXBlPSJzdWJtaXQiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT0icmVz
ZXQiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT0iZmlsZSJdOmRpc2FibGVkOjotd2Via2l0LWZpbGUt
dXBsb2FkLWJ1dHRvbiwgYnV0dG9uOmRpc2FibGVkLCBzZWxlY3Q6ZGlzYWJsZWQsIGtleWdlbjpk
aXNhYmxlZCwgb3B0Z3JvdXA6ZGlzYWJsZWQsIG9wdGlvbjpkaXNhYmxlZCB7CisgICAgY29sb3I6
IEdyYXlUZXh0Cit9CisKK2lucHV0W3R5cGU9ImJ1dHRvbiJdOmFjdGl2ZSwgaW5wdXRbdHlwZT0i
c3VibWl0Il06YWN0aXZlLCBpbnB1dFt0eXBlPSJyZXNldCJdOmFjdGl2ZSwgaW5wdXRbdHlwZT0i
ZmlsZSJdOmFjdGl2ZTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sIGJ1dHRvbjphY3RpdmUg
eworICAgIGJvcmRlci1zdHlsZTogaW5zZXQKK30KKworaW5wdXRbdHlwZT0iYnV0dG9uIl06YWN0
aXZlOmRpc2FibGVkLCBpbnB1dFt0eXBlPSJzdWJtaXQiXTphY3RpdmU6ZGlzYWJsZWQsIGlucHV0
W3R5cGU9InJlc2V0Il06YWN0aXZlOmRpc2FibGVkLCBpbnB1dFt0eXBlPSJmaWxlIl06YWN0aXZl
OmRpc2FibGVkOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiwgYnV0dG9uOmFjdGl2ZTpkaXNh
YmxlZCB7CisgICAgYm9yZGVyLXN0eWxlOiBvdXRzZXQKK30KKworYXJlYSwgcGFyYW0geworICAg
IGRpc3BsYXk6IG5vbmUKK30KKworaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7CisgICAgLXdlYmtp
dC1hcHBlYXJhbmNlOiBjaGVja2JveDsKKyAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1i
b3g7Cit9CisKK2lucHV0W3R5cGU9InJhZGlvIl0geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTog
cmFkaW87CisgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OworfQorCitrZXlnZW4s
IHNlbGVjdCB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdDsKKyAgICAtd2Via2l0
LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsK
KyAgICBib3JkZXI6IDFweCBzb2xpZDsKKyAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsK
KyAgICB3aGl0ZS1zcGFjZTogcHJlOworICAgIC13ZWJraXQtcnRsLW9yZGVyaW5nOiBsb2dpY2Fs
OworICAgIGNvbG9yOiBibGFjazsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKKyAgICBj
dXJzb3I6IGRlZmF1bHQ7Cit9CisKK3NlbGVjdFtzaXplXSwKK3NlbGVjdFttdWx0aXBsZV0sCitz
ZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7
CisgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OworICAgIGJvcmRlcjogMXB4IGluc2V0IGdy
YXk7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiBpbml0aWFsOworICAgIHdoaXRlLXNwYWNl
OiBpbml0aWFsOworfQorCitzZWxlY3Rbc2l6ZT0iMCJdLAorc2VsZWN0W3NpemU9IjEiXSB7Cisg
ICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdDsKKyAgICAtd2Via2l0LWJveC1hbGlnbjog
Y2VudGVyOworICAgIGJvcmRlcjogMXB4IHNvbGlkOworICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1
czogNXB4OworICAgIHdoaXRlLXNwYWNlOiBwcmU7Cit9CisKK29wdGdyb3VwIHsKKyAgICBmb250
LXdlaWdodDogYm9sZGVyOworfQorCitvcHRpb24geworICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7
Cit9CisKKy8qIGlubGluZSBlbGVtZW50cyAqLworCit1LCBpbnMgeworICAgIHRleHQtZGVjb3Jh
dGlvbjogdW5kZXJsaW5lCit9CisKK3N0cm9uZywgYiB7CisgICAgZm9udC13ZWlnaHQ6IGJvbGRl
cgorfQorCitpLCBjaXRlLCBlbSwgdmFyLCBhZGRyZXNzIHsKKyAgICBmb250LXN0eWxlOiBpdGFs
aWMKK30KKwordHQsIGNvZGUsIGtiZCwgc2FtcCB7CisgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFj
ZQorfQorCitwcmUsIHhtcCwgcGxhaW50ZXh0LCBsaXN0aW5nIHsKKyAgICBkaXNwbGF5OiBibG9j
azsKKyAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgIHdoaXRlLXNwYWNlOiBwcmU7Cisg
ICAgbWFyZ2luOiAxX19xZW0gMAorfQorCitiaWcgeworICAgIGZvbnQtc2l6ZTogbGFyZ2VyCit9
CisKK3NtYWxsIHsKKyAgICBmb250LXNpemU6IHNtYWxsZXIKK30KKworcywgc3RyaWtlLCBkZWwg
eworICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoCit9CisKK3N1YiB7CisgICAgdmVy
dGljYWwtYWxpZ246IHN1YjsKKyAgICBmb250LXNpemU6IHNtYWxsZXIKK30KKworc3VwIHsKKyAg
ICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7CisgICAgZm9udC1zaXplOiBzbWFsbGVyCit9CisKK25v
YnIgeworICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKK30KKworLyogc3RhdGVzICovCisKKzpmb2N1
cyB7IAorICAgIG91dGxpbmU6IGF1dG8gNXB4IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcgorfQor
CisvKiBSZWFkLW9ubHkgdGV4dCBmaWVsZHMgZG8gbm90IHNob3cgYSBmb2N1cyByaW5nIGJ1dCBk
byBzdGlsbCByZWNlaXZlIGZvY3VzICovCit3bWw6Zm9jdXMsIGNhcmQ6Zm9jdXMsIGlucHV0W3Jl
YWRvbmx5XTpmb2N1cyB7IAorICAgIG91dGxpbmU6IG5vbmUKK30KKyAgCitpbnB1dDpmb2N1cywg
dGV4dGFyZWE6Zm9jdXMsIGlzaW5kZXg6Zm9jdXMsIGtleWdlbjpmb2N1cywgc2VsZWN0OmZvY3Vz
IHsKKyAgICBvdXRsaW5lLW9mZnNldDogLTJweAorfQorCitpbnB1dFt0eXBlPSJidXR0b24iXTpm
b2N1cywKK2lucHV0W3R5cGU9ImNoZWNrYm94Il06Zm9jdXMsCitpbnB1dFt0eXBlPSJmaWxlIl06
Zm9jdXMsCitpbnB1dFt0eXBlPSJoaWRkZW4iXTpmb2N1cywKK2lucHV0W3R5cGU9ImltYWdlIl06
Zm9jdXMsCitpbnB1dFt0eXBlPSJyYWRpbyJdOmZvY3VzLAoraW5wdXRbdHlwZT0icmVzZXQiXTpm
b2N1cywKK2lucHV0W3R5cGU9InNlYXJjaCJdOmZvY3VzLAoraW5wdXRbdHlwZT0ic3VibWl0Il06
Zm9jdXMsCitpbnB1dFt0eXBlPSJmaWxlIl06Zm9jdXM6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0
dG9uIHsKKyAgICBvdXRsaW5lLW9mZnNldDogMAorfQorICAgIAorYTotd2Via2l0LWFueS1saW5r
IHsKKyAgICBjb2xvcjogLXdlYmtpdC1saW5rOworICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJs
aW5lOworfQorCithOi13ZWJraXQtYW55LWxpbms6YWN0aXZlIHsKKyAgICBjb2xvcjogLXdlYmtp
dC1hY3RpdmVsaW5rCit9CisKK2FuY2hvcjotd2Via2l0LWFueS1saW5rIHsKKyAgICBjb2xvcjog
LXdlYmtpdC1saW5rOworICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworfQorCithbmNo
b3I6LXdlYmtpdC1hbnktbGluazphY3RpdmUgeworICAgIGNvbG9yOiAtd2Via2l0LWFjdGl2ZWxp
bmsKK30KKworLyogb3RoZXIgZWxlbWVudHMgKi8KKworbm9mcmFtZXMgeworICAgIGRpc3BsYXk6
IG5vbmUKK30KKworZnJhbWVzZXQsIGZyYW1lIHsKKyAgICBkaXNwbGF5OiBibG9jaworfQorCitm
cmFtZXNldCB7CisgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0Cit9CisKK2lmcmFtZSB7CisgICAg
Ym9yZGVyOiAycHggaW5zZXQKK30KKworLyogbm9zY3JpcHQgaXMgaGFuZGxlZCBpbnRlcm5hbGx5
LCBhcyBpdCBkZXBlbmRzIG9uIHNldHRpbmdzICovCkluZGV4OiBkb20vRE9NSW1wbGVtZW50YXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAJKHJldmlzaW9u
IDM4NTI1KQorKysgZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NCw2ICs0LDggQEAKICAqICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJA
a2RlLm9yZykKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyAoc2FtQHdlYmtpdC5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2gg
TW9iaWxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAgICAgIGh0dHA6
Ly93d3cudG9yY2htb2JpbGUuY29tLwogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC01Myw2ICs1NSwx
MSBAQAogI2luY2x1ZGUgIlNWR0RvY3VtZW50LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShXTUwp
CisjaW5jbHVkZSAiV01MTmFtZXMuaCIKKyNpbmNsdWRlICJXTUxEb2N1bWVudC5oIgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShTVkcpCkBAIC0yMjgsNiArMjM1
LDExIEBAIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IERPTUltcGxlbWVudGF0aW9uOjoKICAgICAgICAg
ZG9jID0gU1ZHRG9jdW1lbnQ6OmNyZWF0ZSgwKTsKICAgICBlbHNlCiAjZW5kaWYKKyNpZiBFTkFC
TEUoV01MKQorICAgIGlmIChuYW1lc3BhY2VVUkkgPT0gV01MTmFtZXM6OndtbE5hbWVzcGFjZVVS
SSkKKyAgICAgICAgZG9jID0gV01MRG9jdW1lbnQ6OmNyZWF0ZSgwKTsKKyAgICBlbHNlCisjZW5k
aWYKICAgICBpZiAobmFtZXNwYWNlVVJJID09IEhUTUxOYW1lczo6eGh0bWxOYW1lc3BhY2VVUkkp
CiAgICAgICAgIGRvYyA9IERvY3VtZW50OjpjcmVhdGVYSFRNTCgwKTsKICAgICBlbHNlCkBAIC0z
MTEsNiArMzIzLDE1IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IERPTUltcGxlbWVudGF0aW9uOjoK
ICAgICAgICAgcmV0dXJuIEhUTUxEb2N1bWVudDo6Y3JlYXRlKGZyYW1lKTsKICAgICBpZiAodHlw
ZSA9PSAiYXBwbGljYXRpb24veGh0bWwreG1sIikKICAgICAgICAgcmV0dXJuIERvY3VtZW50Ojpj
cmVhdGVYSFRNTChmcmFtZSk7CisKKyNpZiBFTkFCTEUoV01MKQorICAgIGlmICh0eXBlID09ICJ0
ZXh0L3ZuZC53YXAud21sIgorI2lmIEVOQUJMRShXQlhNTCkKKyAgICAgICAgfHwgdHlwZSA9PSAi
YXBwbGljYXRpb24vdm5kLndhcC53bWxjIgorI2VuZGlmCisgICAgICAgICkKKyAgICAgICAgcmV0
dXJuIFdNTERvY3VtZW50OjpjcmVhdGUoZnJhbWUpOworI2VuZGlmCiAgICAgICAgIAogI2lmIEVO
QUJMRShGVFBESVIpCiAgICAgLy8gUGx1Z2lucyBjYW5ub3QgdGFrZSBGVFAgZnJvbSB1cyBlaXRo
ZXIKSW5kZXg6IGRvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZG9tL0RvY3VtZW50LmNw
cAkocmV2aXNpb24gMzg1MjUpCisrKyBkb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00LDYgKzQsOCBAQAogICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxl
ckBrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFw
QHdlYmtpdC5vcmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIw
MDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4
IFRvcmNoIE1vYmlsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgICAg
ICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTQy
LDYgKzE0NCwxMiBAQAogI2luY2x1ZGUgIlNWR1N0eWxlRWxlbWVudC5oIgogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJXTUxFbGVt
ZW50RmFjdG9yeS5oIgorI2luY2x1ZGUgIldNTE5hbWVzLmgiCisjZW5kaWYKKwogdXNpbmcgbmFt
ZXNwYWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiB1c2luZyBuYW1lc3BhY2UgVW5pY29k
ZTsKQEAgLTc0Niw2ICs3NTQsMTAgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBEb2N1bWVudDo6Y3Jl
YXRlRWxlbQogICAgIGVsc2UgaWYgKHFOYW1lLm5hbWVzcGFjZVVSSSgpID09IFNWR05hbWVzOjpz
dmdOYW1lc3BhY2VVUkkpCiAgICAgICAgIGUgPSBTVkdFbGVtZW50RmFjdG9yeTo6Y3JlYXRlU1ZH
RWxlbWVudChxTmFtZSwgdGhpcywgY3JlYXRlZEJ5UGFyc2VyKTsKICNlbmRpZgorI2lmIEVOQUJM
RShXTUwpCisgICAgZWxzZSBpZiAocU5hbWUubmFtZXNwYWNlVVJJKCkgPT0gV01MTmFtZXM6Ondt
bE5hbWVzcGFjZVVSSSB8fCBpc1dNTERvY3VtZW50KCkpCisgICAgICAgIGUgPSBXTUxFbGVtZW50
RmFjdG9yeTo6Y3JlYXRlV01MRWxlbWVudChxTmFtZSwgdGhpcywgY3JlYXRlZEJ5UGFyc2VyKTsK
KyNlbmRpZgogICAgIAogICAgIGlmICghZSkKICAgICAgICAgZSA9IG5ldyBFbGVtZW50KHFOYW1l
LCBkb2N1bWVudCgpKTsKSW5kZXg6IGRvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9E
b2N1bWVudC5oCShyZXZpc2lvbiAzODUyNSkKKysrIGRvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC00LDYgKzQsOCBAQAogICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAo
bXVlbGxlckBrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFr
b3YgKGFwQHdlYmtpdC5vcmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAg
ICAgICAgICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpA
QCAtMjk1LDYgKzI5Nyw5IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZpcnR1YWwgYm9vbCBpc1Bs
dWdpbkRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aXNNZWRpYURvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoV01M
KQorICAgIHZpcnR1YWwgYm9vbCBpc1dNTERvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKyNlbmRpZgogICAgIAogICAgIENTU1N0eWxlU2VsZWN0b3IqIHN0eWxlU2VsZWN0b3IoKSBj
b25zdCB7IHJldHVybiBtX3N0eWxlU2VsZWN0b3I7IH0KIApJbmRleDogZG9tL05vZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBkb20vTm9kZS5oCShyZXZpc2lvbiAzODUyNSkKKysrIGRvbS9Ob2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE2NCw2ICsxNjQsMTIgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29s
IGlzU1ZHRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShX
TUwpCisgICAgdmlydHVhbCBib29sIGlzV01MRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisjZWxzZQorICAgIHN0YXRpYyBib29sIGlzV01MRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNl
OyB9CisjZW5kaWYKKwogICAgIHZpcnR1YWwgYm9vbCBpc1N0eWxlZEVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0ZyYW1lT3duZXJFbGVtZW50KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBdHRyaWJ1dGVOb2Rl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6IGRvbS9YTUxUb2tlbml6ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIGRvbS9YTUxUb2tlbml6ZXIuY3BwCShyZXZpc2lvbiAzODUyNSkKKysrIGRv
bS9YTUxUb2tlbml6ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01LDYgKzUsNyBAQAogICogQ29w
eXJpZ2h0IChDKSAyMDA3IFNhbXVlbCBXZWluaWcgKHNhbUB3ZWJraXQub3JnKQogICogQ29weXJp
Z2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQogICogQ29weXJpZ2h0IChDKSAyMDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gIGh0dHA6Ly93d3cudG9yY2htb2Jp
bGUuY29tLwogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNzUsOSArMjc2LDE2IEBAIHZvaWQgWE1M
VG9rZW5pemVyOjppbnNlcnRFcnJvck1lc3NhZ2VCbG8KICAgICB9CiAjaWYgRU5BQkxFKFNWRykK
ICAgICBlbHNlIGlmIChkb2N1bWVudEVsZW1lbnQtPm5hbWVzcGFjZVVSSSgpID09IFNWR05hbWVz
OjpzdmdOYW1lc3BhY2VVUkkpIHsKLSAgICAgICAgLy8gVW50aWwgb3VyIFNWRyBpbXBsZW1lbnRh
dGlvbiBoYXMgdGV4dCBzdXBwb3J0LCBpdCBpcyBiZXN0IGlmIHdlIAotICAgICAgICAvLyB3cmFw
IHRoZSBlcnJvbmVvdXMgU1ZHIGRvY3VtZW50IGluIGFuIHhodG1sIGRvY3VtZW50IGFuZCByZW5k
ZXIKLSAgICAgICAgLy8gdGhlIGNvbWJpbmVkIGRvY3VtZW50IHdpdGggZXJyb3IgbWVzc2FnZXMu
CisgICAgICAgIFJlZlB0cjxOb2RlPiByb290RWxlbWVudCA9IGRvYy0+Y3JlYXRlRWxlbWVudE5T
KEhUTUxOYW1lczo6eGh0bWxOYW1lc3BhY2VVUkksICJodG1sIiwgZWMpOworICAgICAgICBSZWZQ
dHI8Tm9kZT4gYm9keSA9IGRvYy0+Y3JlYXRlRWxlbWVudE5TKEhUTUxOYW1lczo6eGh0bWxOYW1l
c3BhY2VVUkksICJib2R5IiwgZWMpOworICAgICAgICByb290RWxlbWVudC0+YXBwZW5kQ2hpbGQo
Ym9keSwgZWMpOworICAgICAgICBib2R5LT5hcHBlbmRDaGlsZChkb2N1bWVudEVsZW1lbnQsIGVj
KTsKKyAgICAgICAgZG9jLT5hcHBlbmRDaGlsZChyb290RWxlbWVudC5nZXQoKSwgZWMpOworICAg
ICAgICBkb2N1bWVudEVsZW1lbnQgPSBib2R5LmdldCgpOworICAgIH0KKyNlbmRpZgorI2lmIEVO
QUJMRShXTUwpCisgICAgZWxzZSBpZiAoZG9jLT5pc1dNTERvY3VtZW50KCkpIHsKICAgICAgICAg
UmVmUHRyPE5vZGU+IHJvb3RFbGVtZW50ID0gZG9jLT5jcmVhdGVFbGVtZW50TlMoSFRNTE5hbWVz
Ojp4aHRtbE5hbWVzcGFjZVVSSSwgImh0bWwiLCBlYyk7CiAgICAgICAgIFJlZlB0cjxOb2RlPiBi
b2R5ID0gZG9jLT5jcmVhdGVFbGVtZW50TlMoSFRNTE5hbWVzOjp4aHRtbE5hbWVzcGFjZVVSSSwg
ImJvZHkiLCBlYyk7CiAgICAgICAgIHJvb3RFbGVtZW50LT5hcHBlbmRDaGlsZChib2R5LCBlYyk7
CkluZGV4OiBkb20vWE1MVG9rZW5pemVyTGlieG1sMi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZG9tL1hN
TFRva2VuaXplckxpYnhtbDIuY3BwCShyZXZpc2lvbiAzODUyNSkKKysrIGRvbS9YTUxUb2tlbml6
ZXJMaWJ4bWwyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNSw2ICs1LDcgQEAKICAqIENvcHlyaWdo
dCAoQykgMjAwNyBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKICAqIENvcHlyaWdodCAo
QykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKICAq
IENvcHlyaWdodCAoQykgMjAwOCBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgorICogQ29weXJp
Z2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNv
bS8KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtOTUwLDggKzk1MSwxOSBAQCB2b2lkIFhNTFRva2Vu
aXplcjo6aW50ZXJuYWxTdWJzZXQoY29uc3QgCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
Ci0gICAgaWYgKG1fZG9jKQorICAgIGlmIChtX2RvYykgeworI2lmIEVOQUJMRShXTUwpCisgICAg
ICAgIFN0cmluZyBleHRJZCA9IHRvU3RyaW5nKGV4dGVybmFsSUQpOworICAgICAgICBpZiAobV9k
b2MtPmlzV01MRG9jdW1lbnQoKQorICAgICAgICAgICAgJiYgZXh0SWQgIT0gIi0vL1dBUEZPUlVN
Ly9EVEQgV01MIDEuMy8vRU4iCisgICAgICAgICAgICAmJiBleHRJZCAhPSAiLS8vV0FQRk9SVU0v
L0RURCBXTUwgMS4yLy9FTiIKKyAgICAgICAgICAgICYmIGV4dElkICE9ICItLy9XQVBGT1JVTS8v
RFREIFdNTCAxLjEvL0VOIgorICAgICAgICAgICAgJiYgZXh0SWQgIT0gIi0vL1dBUEZPUlVNLy9E
VEQgV01MIDEuMC8vRU4iKQorICAgICAgICAgICAgaGFuZGxlRXJyb3IoZmF0YWwsICJJbnZhbGlk
IERURCBQdWJsaWMgSUQiLCBsaW5lTnVtYmVyKCksIGNvbHVtbk51bWJlcigpKTsKKyNlbmRpZgor
CiAgICAgICAgIG1fZG9jLT5hZGRDaGlsZChEb2N1bWVudFR5cGU6OmNyZWF0ZShtX2RvYywgdG9T
dHJpbmcobmFtZSksIHRvU3RyaW5nKGV4dGVybmFsSUQpLCB0b1N0cmluZyhzeXN0ZW1JRCkpKTsK
KyAgICB9CiB9CiAKIHN0YXRpYyBpbmxpbmUgWE1MVG9rZW5pemVyKiBnZXRUb2tlbml6ZXIodm9p
ZCogY2xvc3VyZSkKSW5kZXg6IGRvbS9YTUxUb2tlbml6ZXJRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
ZG9tL1hNTFRva2VuaXplclF0LmNwcAkocmV2aXNpb24gMzg1MjUpCisrKyBkb20vWE1MVG9rZW5p
emVyUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01LDYgKzUsNyBAQAogICogQ29weXJpZ2h0IChD
KSAyMDA3IFNhbXVlbCBXZWluaWcgKHNhbUB3ZWJraXQub3JnKQogICogQ29weXJpZ2h0IChDKSAy
MDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQogICogQ29w
eXJpZ2h0IChDKSAyMDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLwog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCkBAIC03NDQsNiArNzQ1LDE0IEBAIHZvaWQgWE1MVG9rZW5pemVy
OjpwYXJzZUR0ZCgpCiAgICAgICAgIHx8IChwdWJsaWNJZCA9PSBRTGF0aW4xU3RyaW5nKCItLy9X
QVBGT1JVTS8vRFREIFhIVE1MIE1vYmlsZSAxLjAvL0VOIikpKSB7CiAgICAgICAgIHNldElzWEhU
TUxEb2N1bWVudCh0cnVlKTsgLy8gY29udHJvbHMgaWYgd2UgcmVwbGFjZSBlbnRpdGllcyBvciBu
b3QuCiAgICAgfQorI2lmIEVOQUJMRShXTUwpCisgICAgZWxzZSBpZiAobV9kb2MtPmlzV01MRG9j
dW1lbnQoKQorICAgICAgICAgICAgICYmIHB1YmxpY0lkICE9IFFMYXRpbjFTdHJpbmcoIi0vL1dB
UEZPUlVNLy9EVEQgV01MIDEuMy8vRU4iKQorICAgICAgICAgICAgICYmIHB1YmxpY0lkICE9IFFM
YXRpbjFTdHJpbmcoIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMi8vRU4iKQorICAgICAgICAgICAg
ICYmIHB1YmxpY0lkICE9IFFMYXRpbjFTdHJpbmcoIi0vL1dBUEZPUlVNLy9EVEQgV01MIDEuMS8v
RU4iKQorICAgICAgICAgICAgICYmIHB1YmxpY0lkICE9IFFMYXRpbjFTdHJpbmcoIi0vL1dBUEZP
UlVNLy9EVEQgV01MIDEuMC8vRU4iKSkKKyAgICAgICAgaGFuZGxlRXJyb3IoZmF0YWwsICJJbnZh
bGlkIERURCBQdWJsaWMgSUQiLCBsaW5lTnVtYmVyKCksIGNvbHVtbk51bWJlcigpKTsKKyNlbmRp
ZgogICAgIGlmICghbV9wYXJzaW5nRnJhZ21lbnQpCiAgICAgICAgIG1fZG9jLT5hZGRDaGlsZChE
b2N1bWVudFR5cGU6OmNyZWF0ZShtX2RvYywgbmFtZSwgcHVibGljSWQsIHN5c3RlbUlkKSk7CiAg
ICAgCkluZGV4OiBkb20vbWFrZV9uYW1lcy5wbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBkb20vbWFrZV9uYW1l
cy5wbAkocmV2aXNpb24gMzg1MjUpCisrKyBkb20vbWFrZV9uYW1lcy5wbAkod29ya2luZyBjb3B5
KQpAQCAtMjEyLDcgKzIxMiw3IEBAIHN1YiBwcmludENvbnN0cnVjdG9ycwogICAgIGZvciBteSAk
bmFtZSAoc29ydCBrZXlzICVuYW1lcykgewogICAgICAgICBteSAkdWNOYW1lID0gJG5hbWVzeyRu
YW1lfXsnaW50ZXJmYWNlTmFtZSd9OwogCi0gICAgICAgIHByaW50IEYgIiRwYXJhbWV0ZXJzeydu
YW1lc3BhY2UnfUVsZW1lbnQqICR7bmFtZX1Db25zdHJ1Y3RvcihEb2N1bWVudCogZG9jLCBib29s
IGNyZWF0ZWRCeVBhcnNlcilcbiI7CisgICAgICAgIHByaW50IEYgInN0YXRpYyAkcGFyYW1ldGVy
c3snbmFtZXNwYWNlJ31FbGVtZW50KiAke25hbWV9Q29uc3RydWN0b3IoRG9jdW1lbnQqIGRvYywg
Ym9vbCBjcmVhdGVkQnlQYXJzZXIpXG4iOwogICAgICAgICBwcmludCBGICJ7XG4iOwogICAgICAg
ICBwcmludCBGICIgICAgcmV0dXJuIG5ldyAke3VjTmFtZX0oJHBhcmFtZXRlcnN7J25hbWVzcGFj
ZSd9TmFtZXM6OiR7bmFtZX1UYWcsIGRvYyk7XG4iOwogICAgICAgICBwcmludCBGICJ9XG5cbiI7
CkluZGV4OiBoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaGlzdG9y
eS9CYWNrRm9yd2FyZExpc3QuY3BwCShyZXZpc2lvbiAzODUyNSkKKysrIGhpc3RvcnkvQmFja0Zv
cndhcmRMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDcgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDUsIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29t
LwogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNjQsNCArMjY2LDE4IEBAIGJv
b2wgQmFja0ZvcndhcmRMaXN0Ojpjb250YWluc0l0ZW0oSGlzdG8KICAgICByZXR1cm4gbV9lbnRy
eUhhc2guY29udGFpbnMoZW50cnkpOwogfQogCisjaWYgRU5BQkxFKFdNTCkKK3ZvaWQgQmFja0Zv
cndhcmRMaXN0OjpjbGVhcldtbFBhZ2VIaXN0b3J5KCkKK3sKKyAgICBQYXNzUmVmUHRyPEhpc3Rv
cnlJdGVtPiBjdXIgPSBjdXJyZW50SXRlbSgpOworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IG1fZW50cmllcy5zaXplKCk7ICsraSkKKyAgICAgICAgcGFnZUNhY2hlKCktPnJlbW92ZSht
X2VudHJpZXNbaV0uZ2V0KCkpOworCisgICAgbV9lbnRyaWVzLmNsZWFyKCk7CisgICAgbV9lbnRy
eUhhc2guY2xlYXIoKTsKKyAgICBtX2N1cnJlbnQgPSBOb0N1cnJlbnRJdGVtSW5kZXg7Cit9Cisj
ZW5kaWYKKwogfTsgLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IGhpc3RvcnkvQmFja0Zvcndh
cmRMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gaGlzdG9yeS9CYWNrRm9yd2FyZExpc3QuaAkocmV2aXNp
b24gMzg1MjUpCisrKyBoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDUgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBN
b2JpbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAgICAgaHR0cDov
L3d3dy50b3JjaG1vYmlsZS5jb20vCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTczLDYgKzc1LDEwIEBAIHB1YmxpYzogCiAgICAgdm9pZCByZW1vdmVJdGVtKEhpc3RvcnlJdGVt
Kik7CiAgICAgSGlzdG9yeUl0ZW1WZWN0b3ImIGVudHJpZXMoKTsKICAgICAKKyNpZiBFTkFCTEUo
V01MKQorICAgIHZvaWQgY2xlYXJXbWxQYWdlSGlzdG9yeSgpOworI2VuZGlmCisKIHByaXZhdGU6
CiAgICAgQmFja0ZvcndhcmRMaXN0KFBhZ2UqKTsKIApJbmRleDogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiAzODUy
NSkKKysrIGxvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw4
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAwOCBUb3Jj
aCBNb2JpbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAgICAgaHR0
cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI3MCw2ICsyNzIsOSBAQCBGcmFtZUxvYWRlcjo6RnJhbWVMb2FkZXIoRnJhbWUqIGZyYW1l
LCBGCiAgICAgLCBtX2ZpbmlzaGVkUGFyc2luZ0R1cmluZ0xvd0JhbmR3aWR0aERpc3BsYXkoZmFs
c2UpCiAgICAgLCBtX25lZWRUb1N3aXRjaE91dExvd0JhbmR3aWR0aERpc3BsYXkoZmFsc2UpCiAj
ZW5kaWYgCisjaWYgRU5BQkxFKFdNTCkKKyAgICAsIG1fZm9yY2VSZWxvYWRXbWxEZWNrKGZhbHNl
KQorI2VuZGlmCiB7CiB9CiAKQEAgLTI4NzQsOCArMjg3OSwyMSBAQCB2b2lkIEZyYW1lTG9hZGVy
OjpjbGllbnRSZWRpcmVjdGVkKGNvbnN0CiAgICAgbV9xdWlja1JlZGlyZWN0Q29taW5nID0gbG9j
a0hpc3RvcnkgJiYgbV9kb2N1bWVudExvYWRlciAmJiAhaXNKYXZhU2NyaXB0Rm9ybUFjdGlvbjsK
IH0KIAorI2lmIEVOQUJMRShXTUwpCit2b2lkIEZyYW1lTG9hZGVyOjpzZXRGb3JjZVJlbG9hZFdt
bERlY2soYm9vbCByZWxvYWQpCit7CisgICAgbV9mb3JjZVJlbG9hZFdtbERlY2sgPSByZWxvYWQ7
Cit9CisjZW5kaWYKKwogYm9vbCBGcmFtZUxvYWRlcjo6c2hvdWxkUmVsb2FkKGNvbnN0IEtVUkwm
IGN1cnJlbnRVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKQogeworI2lmIEVOQUJMRShX
TUwpCisgICAgLy8gQXMgZm9yIFdNTCBkZWNrLCBzb21ldGltZXMgaXQncyBzdXBwb3NlZCB0byBi
ZSByZWxvYWRlZCBldmVuIGlmIHRoZSBzYW1lIFVSTCB3aXRoIGZyYWdtZW50CisgICAgaWYgKG1f
Zm9yY2VSZWxvYWRXbWxEZWNrKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorCiAgICAg
Ly8gVGhpcyBmdW5jdGlvbiBpbXBsZW1lbnRzIHRoZSBydWxlOiAiRG9uJ3QgcmVsb2FkIGlmIG5h
dmlnYXRpbmcgYnkgZnJhZ21lbnQgd2l0aGluCiAgICAgLy8gdGhlIHNhbWUgVVJMLCBidXQgZG8g
cmVsb2FkIGlmIGdvaW5nIHRvIGEgbmV3IFVSTCBvciB0byB0aGUgc2FtZSBVUkwgd2l0aCBubwog
ICAgIC8vIGZyYWdtZW50IGlkZW50aWZpZXIgYXQgYWxsLiIKQEAgLTQyOTIsNyArNDMxMCwxMSBA
QCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkSXRlbShIaXN0b3J5SXRlbSogCiAgICAgLy8gY2hlY2sg
Zm9yIGFsbCB0aGF0IGFzIGFuIGFkZGl0aW9uYWwgb3B0aW1pemF0aW9uLgogICAgIC8vIFdlIGFs
c28gZG8gbm90IGRvIGFuY2hvci1zdHlsZSBuYXZpZ2F0aW9uIGlmIHdlJ3JlIHBvc3RpbmcgYSBm
b3JtLgogICAgIAorI2lmIEVOQUJMRShXTUwpCisgICAgaWYgKCFmb3JtRGF0YSAmJiB1cmxzTWF0
Y2hJdGVtKGl0ZW0pICYmICFtX2ZyYW1lLT5kb2N1bWVudCgpLT5pc1dNTERvY3VtZW50KCkpIHsK
KyNlbHNlCiAgICAgaWYgKCFmb3JtRGF0YSAmJiB1cmxzTWF0Y2hJdGVtKGl0ZW0pKSB7CisjZW5k
aWYKICAgICAgICAgLy8gTXVzdCBkbyB0aGlzIG1haW50ZW5hbmNlIGhlcmUsIHNpbmNlIHdlIGRv
bid0IGdvIHRocm91Z2ggYSByZWFsIHBhZ2UgcmVsb2FkCiAgICAgICAgIHNhdmVTY3JvbGxQb3Np
dGlvbkFuZFZpZXdTdGF0ZVRvSXRlbShtX2N1cnJlbnRIaXN0b3J5SXRlbS5nZXQoKSk7CiAKSW5k
ZXg6IGxvYWRlci9GcmFtZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxvYWRlci9GcmFtZUxvYWRl
ci5oCShyZXZpc2lvbiAzODUyNSkKKysrIGxvYWRlci9GcmFtZUxvYWRlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2gg
TW9iaWxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAgICAgIGh0dHA6
Ly93d3cudG9yY2htb2JpbGUuY29tLwogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0yNjAsNiArMjYyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGNsaWVu
dFJlZGlyZWN0Q2FuY2VsbGVkT3JGaW5pc2hlZChib29sIGNhbmNlbFdpdGhMb2FkSW5Qcm9ncmVz
cyk7CiAgICAgICAgIHZvaWQgY2xpZW50UmVkaXJlY3RlZChjb25zdCBLVVJMJiwgZG91YmxlIGRl
bGF5LCBkb3VibGUgZmlyZURhdGUsIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgaXNKYXZhU2NyaXB0
Rm9ybUFjdGlvbik7CiAgICAgICAgIGJvb2wgc2hvdWxkUmVsb2FkKGNvbnN0IEtVUkwmIGN1cnJl
bnRVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKKyNpZiBFTkFCTEUoV01MKQorICAg
ICAgICB2b2lkIHNldEZvcmNlUmVsb2FkV21sRGVjayhib29sKTsKKyNlbmRpZgogCiAgICAgICAg
IGJvb2wgaXNRdWlja1JlZGlyZWN0Q29taW5nKCkgY29uc3Q7CiAKQEAgLTY4MSw2ICs2ODYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTdHJpbmcgbV9wZW5kaW5nU291cmNlSW5M
b3dCYW5kd2lkdGhEaXNwbGF5OyAgICAgICAgCiAgICAgICAgIEhhc2hTZXQ8Q2FjaGVkUmVzb3Vy
Y2UqPiBtX2V4dGVybmFsUmVxdWVzdHNJbkxvd0JhbmR3aWR0aERpc3BsYXk7CiAjZW5kaWYKKwor
I2lmIEVOQUJMRShXTUwpCisgICAgICAgIGJvb2wgbV9mb3JjZVJlbG9hZFdtbERlY2s7CisjZW5k
aWYKICAgICB9OwogCiB9CkluZGV4OiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMzg1MjUp
CisrKyBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cu
dG9yY2htb2JpbGUuY29tLwogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NCw2
ICs0NiwxMSBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKIAorI2lmIEVOQUJMRShXQlhNTCkKKyNpbmNsdWRlICJ3YnhtbC5oIgorI2luY2x1ZGUg
IndieG1sX2NvbnYuaCIKKyNlbmRpZgorCiAvLyBGSVhNRTogTW9yZSB0aGF0IGlzIGluIGNvbW1v
biB3aXRoIFN1YnJlc291cmNlTG9hZGVyIHNob3VsZCBtb3ZlIHVwIGludG8gUmVzb3VyY2VMb2Fk
ZXIuCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE0MSw2ICsxNDgsMzAgQEAgYm9vbCBNYWlu
UmVzb3VyY2VMb2FkZXI6OmlzUG9zdE9yUmVkaXJlYwogCiB2b2lkIE1haW5SZXNvdXJjZUxvYWRl
cjo6YWRkRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBib29sIGFsbEF0T25jZSkK
IHsKKyNpZiBFTkFCTEUoV0JYTUwpCisgICAgaWYgKGxlbmd0aCAmJiBtX3Jlc3BvbnNlLm1pbWVU
eXBlKCkgPT0gImFwcGxpY2F0aW9uL3ZuZC53YXAud21sYyIpIHsKKyAgICAgICAgV0JfVVRJTlkq
IHdieG1sID0gcmVpbnRlcnByZXRfY2FzdDxXQl9VVElOWSo+KGRhdGEpOworICAgICAgICBXQl9V
TE9ORyB3YnhtbF9sZW4gPSBsZW5ndGg7CisgICAgICAgIFdCX1VMT05HIHhtbF9sZW4gPSAwOwor
ICAgICAgICBXQl9VVElOWSogeG1sID0gMDsKKyAgICAgICAgV0JYTUxFcnJvciByZXQgPSBXQlhN
TF9PSzsgCisgICAgICAgIFdCWE1MR2VuWE1MUGFyYW1zIHBhcmFtczsKKyAKKyAgICAgICAgLy8g
SW5pdCBkZWZhdWx0IHBhcmFtZXRlcnMKKyAgICAgICAgcGFyYW1zLmxhbmcgPSBXQlhNTF9MQU5H
X1VOS05PV047CisgICAgICAgIHBhcmFtcy5nZW5fdHlwZSA9IFdCWE1MX0dFTl9YTUxfSU5ERU5U
OworICAgICAgICBwYXJhbXMuaW5kZW50ID0gMTsKKyAgICAgICAgcGFyYW1zLmtlZXBfaWdub3Jh
YmxlX3dzID0gRkFMU0U7CisgCisgICAgICAgIHJldCA9IHdieG1sX2NvbnZfd2J4bWwyeG1sX3dp
dGhsZW4od2J4bWwsIHdieG1sX2xlbiwgJnhtbCwgJnhtbF9sZW4sICZwYXJhbXMpOworICAgICAg
ICBpZiAocmV0ICE9IFdCWE1MX09LKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGRh
dGEgPSByZWludGVycHJldF9jYXN0PGNoYXIqPih4bWwpOworICAgICAgICBsZW5ndGggPSB4bWxf
bGVuOworICAgIH0KKyNlbmRpZgorCiAgICAgUmVzb3VyY2VMb2FkZXI6OmFkZERhdGEoZGF0YSwg
bGVuZ3RoLCBhbGxBdE9uY2UpOwogICAgIGZyYW1lTG9hZGVyKCktPnJlY2VpdmVkRGF0YShkYXRh
LCBsZW5ndGgpOwogfQpJbmRleDogcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGFnZS9G
cmFtZS5jcHAJKHJldmlzaW9uIDM4NTI1KQorKysgcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg5LDYgKzg5LDEwIEBACiAjaW5jbHVkZSAiWExpbmtOYW1lcy5oIgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIldNTE5hbWVzLmgiCisjZW5kaWYKKwogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTIwLDYgKzEyNCwxMCBA
QCBGcmFtZTo6RnJhbWUoUGFnZSogcGFnZSwgSFRNTEZyYW1lT3duZXJFCiAgICAgWExpbmtOYW1l
czo6aW5pdCgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV01MKQorICAgIFdNTE5hbWVzOjppbml0
KCk7CisjZW5kaWYKKwogICAgIFhNTE5hbWVzOjppbml0KCk7CiAKICAgICBpZiAoIW93bmVyRWxl
bWVudCkKSW5kZXg6IHBhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGFnZS9QYWdlLmNwcAko
cmV2aXNpb24gMzg1MjUpCisrKyBwYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cu
dG9yY2htb2JpbGUuY29tLwogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC02Niw2ICs2OCwxMCBAQAog
I2luY2x1ZGUgIkphdmFTY3JpcHREZWJ1Z1NlcnZlci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
V01MKQorI2luY2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogc3RhdGljIEhhc2hTZXQ8UGFnZSo+KiBhbGxQYWdlczsKQEAgLTEyOCw2ICsxMzQs
OSBAQCBQYWdlOjpQYWdlKENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50LCBDCiAgICAgLCBtX3Bl
bmRpbmdCZWZvcmVVbmxvYWRFdmVudENvdW50KDApCiAgICAgLCBtX2N1c3RvbUhUTUxUb2tlbml6
ZXJUaW1lRGVsYXkoLTEpCiAgICAgLCBtX2N1c3RvbUhUTUxUb2tlbml6ZXJDaHVua1NpemUoLTEp
CisjaWYgRU5BQkxFKFdNTCkKKyAgICAsIG1fd21sUGFnZVN0YXRlKDApCisjZW5kaWYKIHsKICAg
ICBpZiAoIWFsbFBhZ2VzKSB7CiAgICAgICAgIGFsbFBhZ2VzID0gbmV3IEhhc2hTZXQ8UGFnZSo+
OwpAQCAtNTc4LDYgKzU4NywxOCBAQCB2b2lkIFBhZ2U6OmNoYW5nZVBlbmRpbmdCZWZvcmVVbmxv
YWRFdmVuCiAgICAgcmV0dXJuOyAKIH0KIAorI2lmIEVOQUJMRShXTUwpCit2b2lkIFBhZ2U6OnNl
dFdNTFBhZ2VTdGF0ZShSZWZQdHI8V01MUGFnZVN0YXRlPiBwYWdlU3RhdGUpIAoreyAKKyAgICBt
X3dtbFBhZ2VTdGF0ZSA9IHBhZ2VTdGF0ZTsgCit9CisKK1dNTFBhZ2VTdGF0ZSogUGFnZTo6d21s
UGFnZVN0YXRlKCkgY29uc3QgCit7IAorICAgIHJldHVybiBtX3dtbFBhZ2VTdGF0ZS5nZXQoKTsg
Cit9CisjZW5kaWYKKwogdm9pZCBQYWdlOjpzZXRDdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5
KGRvdWJsZSBjdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5KQogewogICAgIGlmIChjdXN0b21I
VE1MVG9rZW5pemVyVGltZURlbGF5IDwgMCkgewpJbmRleDogcGFnZS9QYWdlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gcGFnZS9QYWdlLmgJKHJldmlzaW9uIDM4NTI1KQorKysgcGFnZS9QYWdlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBU
b3JjaCBNb2JpbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAgICAg
aHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTYzLDYg
KzY1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNlc3Npb25TdG9yYWdlOwog
I2VuZGlmCiAgICAgY2xhc3MgU2V0dGluZ3M7CisjaWYgRU5BQkxFKFdNTCkKKyAgICBjbGFzcyBX
TUxQYWdlU3RhdGU7CisjZW5kaWYKIAogICAgIGVudW0gVGV4dENhc2VTZW5zaXRpdml0eSB7IFRl
eHRDYXNlU2Vuc2l0aXZlLCBUZXh0Q2FzZUluc2Vuc2l0aXZlIH07CiAgICAgZW51bSBGaW5kRGly
ZWN0aW9uIHsgRmluZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9OwpA
QCAtMTczLDYgKzE3OCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0
U2Vzc2lvblN0b3JhZ2UoUGFzc1JlZlB0cjxTZXNzaW9uU3RvcmFnZT4pOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoV01MKQorICAgICAgICB2b2lkIHNldFdNTFBhZ2VTdGF0ZShSZWZQdHI8V01MUGFn
ZVN0YXRlPik7CisgICAgICAgIFdNTFBhZ2VTdGF0ZSogd21sUGFnZVN0YXRlKCkgY29uc3Q7Cisj
ZW5kaWYKICAgICAgICAgdm9pZCBzZXRDdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5KGRvdWJs
ZSk7CiAgICAgICAgIGJvb2wgaGFzQ3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheSgpIGNvbnN0
IHsgcmV0dXJuIG1fY3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheSAhPSAtMTsgfQogICAgICAg
ICBkb3VibGUgY3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheSgpIGNvbnN0IHsgQVNTRVJUKG1f
Y3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheSAhPSAtMSk7IHJldHVybiBtX2N1c3RvbUhUTUxU
b2tlbml6ZXJUaW1lRGVsYXk7IH0KQEAgLTIzNCw2ICsyNDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogI2lmIFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFdYKSAmJiBkZWZpbmVkKF9fV1hN
U1dfXykpIHx8IChQTEFURk9STShRVCkgJiYgZGVmaW5lZChRX1dTX1dJTikpCiAgICAgICAgIHN0
YXRpYyBISU5TVEFOQ0Ugc19pbnN0YW5jZUhhbmRsZTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFdN
TCkKKyAgICAgICAgUmVmUHRyPFdNTFBhZ2VTdGF0ZT4gbV93bWxQYWdlU3RhdGU7CisjZW5kaWYK
ICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBwbGF0Zm9ybS9NSU1FVHlw
ZVJlZ2lzdHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNw
cAkocmV2aXNpb24gMzg1MjUpCisrKyBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIw
MDggQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
OCBUb3JjaCBNb2JpbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAg
ICAgaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTE4MSw2ICsxODMsMTIgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVN1cHBvcnRl
ZEphdmFTY3JpcAogc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVN1cHBvcnRlZE5vbkltYWdlTWltZVR5
cGVzKCkKIHsKICAgICBzdGF0aWMgY29uc3QgY2hhciogdHlwZXNbXSA9IHsKKyNpZiBFTkFCTEUo
V01MKQorICAgICAgICAidGV4dC92bmQud2FwLndtbCIsCisjZW5kaWYKKyNpZiBFTkFCTEUoV0JY
TUwpCisgICAgICAgICJhcHBsaWNhdGlvbi92bmQud2FwLndtbGMiLAorI2VuZGlmCiAgICAgICAg
ICJ0ZXh0L2h0bWwiLAogICAgICAgICAidGV4dC94bWwiLAogICAgICAgICAidGV4dC94c2wiLApJ
bmRleDogcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBw
bGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwCShyZXZpc2lvbiAzODUyNSkKKysrIHBs
YXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIsNiAr
Miw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgWmFjayBSdXNpbiA8emFja0BrZGUub3JnPgog
ICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQorICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJ
bmMuICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNjIsNiArNjMsOCBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVu
c2lvbk1hcCBbCiAgICAgeyAieHBtIiwgImltYWdlL3gteHBtIiB9LAogICAgIHsgInhzbCIsICJ0
ZXh0L3hzbCIgfSwKICAgICB7ICJ4aHRtbCIsICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiIH0sCisg
ICAgeyAid21sIiwgInRleHQvdm5kLndhcC53bWwiIH0sCisgICAgeyAid21sYyIsICJhcHBsaWNh
dGlvbi92bmQud2FwLndtbGMiIH0sCiAgICAgeyAwLCAwIH0KIH07CiAKSW5kZXg6IHBsYXRmb3Jt
L3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS93aW4v
TUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAJKHJldmlzaW9uIDM4NTI1KQorKysgcGxhdGZvcm0vd2lu
L01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDksNiArMTA5LDgg
QEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRQogICAgICAgICBtaW1l
dHlwZU1hcC5hZGQoImljbyIsICJpbWFnZS9pY28iKTsKICAgICAgICAgbWltZXR5cGVNYXAuYWRk
KCJjdXIiLCAiaW1hZ2UvaWNvIik7CiAgICAgICAgIG1pbWV0eXBlTWFwLmFkZCgiYm1wIiwgImlt
YWdlL2JtcCIpOworICAgICAgICBtaW1ldHlwZU1hcC5hZGQoIndtbCIsICJ0ZXh0L3ZuZC53YXAu
d21sIik7CisgICAgICAgIG1pbWV0eXBlTWFwLmFkZCgid21sYyIsICJhcHBsaWNhdGlvbi92bmQu
d2FwLndtbGMiKTsKICAgICB9CiAgICAgU3RyaW5nIHJlc3VsdCA9IG1pbWV0eXBlTWFwLmdldChl
eHQpOwogICAgIGlmIChyZXN1bHQuaXNFbXB0eSgpKSB7CkluZGV4OiB3bWwvV01MQUVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIHdtbC9XTUxBRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyB3
bWwvV01MQUVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwNCBAQAorLyoqCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqICAgICAgICAgICAgICAgaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCisgKgorICog
Q29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAgICAgICAg
ICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCisgKiAgICAgICAg
ICAgKEMpIDIwMDAgU2ltb24gSGF1c21hbm4gPGhhdXNtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmln
aHQgKEMpIDIwMDMsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogICAgICAgICAgIChDKSAyMDA2IEdyYWhhbSBEZW5uaXMgKGdyYWhhbS5kZW5uaXNA
Z21haWwuY29tKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdNTCkKKyNp
bmNsdWRlICJXTUxBRWxlbWVudC5oIgorCisjaW5jbHVkZSAiRE5TLmgiCisjaW5jbHVkZSAiRXZl
bnQuaCIKKyNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJNb3Vz
ZUV2ZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyRmxvdy5oIgorI2luY2x1ZGUgIldNTE5hbWVzLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIFdNTE5hbWVzOworCitX
TUxBRWxlbWVudDo6V01MQUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvYykKKyAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwgZG9jKQoreworfQorCit2b2lk
IFdNTEFFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIp
Cit7CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OmhyZWZBdHRyKSB7CisgICAg
ICAgIGJvb2wgd2FzTGluayA9IGlzTGluaygpOworICAgICAgICBzZXRJc0xpbmsoIWF0dHItPmlz
TnVsbCgpKTsKKyAgICAgICAgaWYgKHdhc0xpbmsgIT0gaXNMaW5rKCkpCisgICAgICAgICAgICBz
ZXRDaGFuZ2VkKCk7CisgICAgICAgIGlmIChpc0xpbmsoKSAmJiBkb2N1bWVudCgpLT5pc0ROU1By
ZWZldGNoRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBTdHJpbmcgdmFsdWUgPSBhdHRyLT52YWx1
ZSgpOworICAgICAgICAgICAgaWYgKHByb3RvY29sSXModmFsdWUsICJodHRwIikgfHwgcHJvdG9j
b2xJcyh2YWx1ZSwgImh0dHBzIikgfHwgdmFsdWUuc3RhcnRzV2l0aCgiLy8iKSkKKyAgICAgICAg
ICAgICAgICBwcmVmZXRjaEROUyhkb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh2YWx1ZSkuaG9zdCgp
KTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6
bmFtZUF0dHIgfHwKKyAgICAgICAgICAgICBhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjp0aXRs
ZUF0dHIgfHwKKyAgICAgICAgICAgICBhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpyZWxBdHRy
KSB7CisgICAgICAgIC8vIERvIG5vdGhpbmcuCisgICAgfSBlbHNlCisgICAgICAgIFdNTEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworfQorCitib29sIFdNTEFFbGVtZW50Ojpz
dXBwb3J0c0ZvY3VzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNGb2N1c2FibGUoKSB8fCAoaXNM
aW5rKCkgJiYgZG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+aGF2ZVN0eWxlc2hlZXRzTG9hZGVk
KCkpOworfQorCitib29sIFdNTEFFbGVtZW50Ojppc0ZvY3VzYWJsZSgpIGNvbnN0Cit7CisgICAg
Ly8gRklYTUU6IEV2ZW4gaWYgd2UgYXJlIG5vdCB2aXNpYmxlLCB3ZSBtaWdodCBoYXZlIGEgY2hp
bGQgdGhhdCBpcyB2aXNpYmxlLgorICAgIC8vIERhdmUgd2FudHMgdG8gZml4IHRoYXQgc29tZSBk
YXkgd2l0aCBhICJoYXMgdmlzaWJsZSBjb250ZW50IiBmbGFnIG9yIHRoZSBsaWtlLgorICAgIGlm
ICghKGlzTGluaygpICYmIHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJp
bGl0eSgpID09IFZJU0lCTEUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworYm9vbCBXTUxBRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIFdNTEFFbGVtZW50Ojppc0tleWJvYXJkRm9j
dXNhYmxlKEtleWJvYXJkRXZlbnQqIGV2ZW50KSBjb25zdAoreworICAgIGlmICghaXNGb2N1c2Fi
bGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIGlmICghZG9jdW1lbnQoKS0+
ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFkb2N1bWVudCgpLT5m
cmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+dGFic1RvTGlua3MoZXZlbnQpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAvLyBCZWZvcmUgY2FsbGluZyBhYnNvbHV0ZVJlY3RzLCBjaGVjayBm
b3IgdGhlIGNvbW1vbiBjYXNlIHdoZXJlIHRoZSByZW5kZXJlcgorICAgIC8vIG9yIG9uZSBvZiB0
aGUgY29udGludWF0aW9ucyBpcyBub24tZW1wdHksIHNpbmNlIHRoaXMgaXMgYSBmYXN0ZXIgY2hl
Y2sgYW5kCisgICAgLy8gYWxtb3N0IGFsd2F5cyByZXR1cm5zIHRydWUuCisgICAgZm9yIChSZW5k
ZXJPYmplY3QqIHIgPSByZW5kZXJlcigpOyByOyByID0gci0+Y29udGludWF0aW9uKCkpCisgICAg
ICAgIGlmIChyLT53aWR0aCgpID4gMCAmJiByLT5oZWlnaHQoKSA+IDApCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIFZlY3RvcjxJbnRSZWN0PiByZWN0czsKKyAgICBGbG9hdFBvaW50
IGFic1BvcyA9IHJlbmRlcmVyKCktPmxvY2FsVG9BYnNvbHV0ZSgpOworICAgIHJlbmRlcmVyKCkt
PmFic29sdXRlUmVjdHMocmVjdHMsIGFic1Bvcy54KCksIGFic1Bvcy55KCkpOworICAgIHNpemVf
dCBuID0gcmVjdHMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbjsgKytpKQor
ICAgICAgICBpZiAoIXJlY3RzW2ldLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdNTEFFbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50KiBldnQpCit7CisgICAgaWYgKGlzTGluaygpICYmIChldnQtPnR5cGUo
KSA9PSBldmVudE5hbWVzKCkuY2xpY2tFdmVudCB8fCAoZXZ0LT50eXBlKCkgPT0gZXZlbnROYW1l
cygpLmtleWRvd25FdmVudCAmJiBmb2N1c2VkKCkpKSkgeworICAgICAgICBNb3VzZUV2ZW50KiBl
ID0gMDsKKyAgICAgICAgaWYgKGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50
ICYmIGV2dC0+aXNNb3VzZUV2ZW50KCkpCisgICAgICAgICAgICBlID0gc3RhdGljX2Nhc3Q8TW91
c2VFdmVudCo+KGV2dCk7CisKKyAgICAgICAgS2V5Ym9hcmRFdmVudCogayA9IDA7CisgICAgICAg
IGlmIChldnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50ICYmIGV2dC0+aXNL
ZXlib2FyZEV2ZW50KCkpCisgICAgICAgICAgICBrID0gc3RhdGljX2Nhc3Q8S2V5Ym9hcmRFdmVu
dCo+KGV2dCk7CisKKyAgICAgICAgaWYgKGUgJiYgZS0+YnV0dG9uKCkgPT0gUmlnaHRCdXR0b24p
IHsKKyAgICAgICAgICAgIFdNTEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZ0KTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChrKSB7CisgICAgICAg
ICAgICBpZiAoay0+a2V5SWRlbnRpZmllcigpICE9ICJFbnRlciIpIHsKKyAgICAgICAgICAgICAg
ICBXTUxFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZXZ0LT5zZXREZWZhdWx0SGFuZGxl
ZCgpOworICAgICAgICAgICAgZGlzcGF0Y2hTaW11bGF0ZWRDbGljayhldnQpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgU3RyaW5nIHVybCA9IHBhcnNlVVJMKGdl
dEF0dHJpYnV0ZShIVE1MTmFtZXM6OmhyZWZBdHRyKSk7CisKKyAgICAgICAgQVNTRVJUKGV2dC0+
dGFyZ2V0KCkpOworICAgICAgICBBU1NFUlQoZXZ0LT50YXJnZXQoKS0+dG9Ob2RlKCkpOworICAg
ICAgICAKKyAgICAgICAgLyogRklYTUU6IEVuYWJsZSBvbmNlIFdNTEltYWdlRWxlbWVudCBpcyBj
cmVhdGVkLgorICAgICAgICBpZiAoZXZ0LT50YXJnZXQoKS0+dG9Ob2RlKCktPmhhc1RhZ05hbWUo
aW1nVGFnKSkgeworICAgICAgICAgICAgV01MSW1hZ2VFbGVtZW50KiBpbWcgPSBzdGF0aWNfY2Fz
dDxXTUxJbWFnZUVsZW1lbnQqPihldnQtPnRhcmdldCgpLT50b05vZGUoKSk7CisgICAgICAgICAg
ICBpZiAoaW1nICYmIGltZy0+aXNTZXJ2ZXJNYXAoKSkgeworICAgICAgICAgICAgICAgIFJlbmRl
ckltYWdlKiByID0gc3RhdGljX2Nhc3Q8UmVuZGVySW1hZ2UqPihpbWctPnJlbmRlcmVyKCkpOwor
ICAgICAgICAgICAgICAgIGlmIChyICYmIGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IGJyb2tlbiB3aXRoIHRyYW5zZm9ybXMKKyAgICAgICAgICAgICAgICAgICAgRmxvYXRQb2lu
dCBhYnNQb3MgPSByLT5sb2NhbFRvQWJzb2x1dGUoKTsKKyAgICAgICAgICAgICAgICAgICAgaW50
IHggPSBlLT5wYWdlWCgpIC0gYWJzUG9zLngoKTsKKyAgICAgICAgICAgICAgICAgICAgaW50IHkg
PSBlLT5wYWdlWSgpIC0gYWJzUG9zLnkoKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsICs9ICI/
IjsKKyAgICAgICAgICAgICAgICAgICAgdXJsICs9IFN0cmluZzo6bnVtYmVyKHgpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgKz0gIiwiOworICAgICAgICAgICAgICAgICAgICB1cmwgKz0gU3Ry
aW5nOjpudW1iZXIoeSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgZXZ0LT5zZXREZWZhdWx0SGFuZGxlZCgpOworICAgICAgICAgICAgICAgICAgICBXTUxF
bGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgKi8KKworICAgICAgICBpZiAoIWV2dC0+ZGVmYXVsdFByZXZlbnRlZCgpICYmIGRvY3VtZW50
KCktPmZyYW1lKCkpCisgICAgICAgICAgICBkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+
dXJsU2VsZWN0ZWQoZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwgZ2V0QXR0cmlidXRlKEhU
TUxOYW1lczo6dGFyZ2V0QXR0ciksIGV2dCwgZmFsc2UsIHRydWUpOworCisgICAgICAgIGV2dC0+
c2V0RGVmYXVsdEhhbmRsZWQoKTsKKyAgICB9CisKKyAgICBXTUxFbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKGV2dCk7Cit9CisKK3ZvaWQgV01MQUVsZW1lbnQ6OmFjY2Vzc0tleUFjdGlvbihi
b29sIHNlbmRUb0FueUVsZW1lbnQpCit7CisgICAgLy8gc2VuZCB0aGUgbW91c2UgYnV0dG9uIGV2
ZW50cyBpZiB0aGUgY2FsbGVyIHNwZWNpZmllZCBzZW5kVG9BbnlFbGVtZW50CisgICAgZGlzcGF0
Y2hTaW11bGF0ZWRDbGljaygwLCBzZW5kVG9BbnlFbGVtZW50KTsKK30KKworYm9vbCBXTUxBRWxl
bWVudDo6aXNVUkxBdHRyaWJ1dGUoQXR0cmlidXRlICphdHRyKSBjb25zdAoreworICAgIHJldHVy
biBhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpocmVmQXR0cjsKK30KKworU3RyaW5nIFdNTEFF
bGVtZW50Ojp0YXJnZXQoKSBjb25zdAoreworICAgIHJldHVybiBnZXRBdHRyaWJ1dGUoSFRNTE5h
bWVzOjp0YXJnZXRBdHRyKTsKK30KKworfQorCisjZW5kaWYKSW5kZXg6IHdtbC9XTUxBRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIHdtbC9XTUxBRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgd21s
L1dNTEFFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTcgQEAKKworLyoqCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqICAgICAgICAgICAgICAgaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCisgKgorICogQ29w
eXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAgICAgICAgICAg
KEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCisgKiAgICAgICAgICAg
KEMpIDIwMDAgU2ltb24gSGF1c21hbm4gPGhhdXNtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQg
KEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5k
ZWYgV01MQUVsZW1lbnRfaAorI2RlZmluZSBXTUxBRWxlbWVudF9oCisKKyNpZiBFTkFCTEUoV01M
KQorI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBXTUxBRWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBXTUxBRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworCisgICAgdmly
dHVhbCBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1
c2FibGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0
OworICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBj
b25zdDsKKworICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRy
aWJ1dGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOwor
CisgICAgdmlydHVhbCB2b2lkIGFjY2Vzc0tleUFjdGlvbihib29sIGZ1bGxBY3Rpb24pOworICAg
IHZpcnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShBdHRyaWJ1dGUqKSBjb25zdDsKKworICAgIHZp
cnR1YWwgU3RyaW5nIHRhcmdldCgpIGNvbnN0OworfTsKKworfQorCisjZW5kaWYKKyNlbmRpZgpJ
bmRleDogd21sL1dNTEF0dHJpYnV0ZU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdtbC9XTUxBdHRy
aWJ1dGVOYW1lcy5pbgkocmV2aXNpb24gMCkKKysrIHdtbC9XTUxBdHRyaWJ1dGVOYW1lcy5pbgko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBAQAorbmFtZXNwYWNlPSJXTUwiCituYW1lc3BhY2VV
Ukk9Imh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCIKK2d1YXJkRmFjdG9y
eVdpdGg9IkVOQUJMRShXTUwpIgorYXR0cnNOdWxsTmFtZXNwYWNlPSIxIgorCitjYWNoZV9jb250
cm9sCitjb2x1bW5zCitkb21haW4KK2VtcHR5b2sKK2Zvcm1hdAorZm9ydWEKK2luYW1lCitpdmFs
dWUKK2xvY2Fsc3JjCittb2RlCituZXdjb250ZXh0CitvbmVudGVyYmFja3dhcmQKK29uZW50ZXJm
b3J3YXJkCitvbnBpY2sKK29udGltZXIKK29wdGlvbmFsCitvcmRlcmVkCitwYXRoCitzZW5kcmVm
ZXJlcgpJbmRleDogd21sL1dNTENhcmRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3bWwvV01M
Q2FyZEVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQorKysgd21sL1dNTENhcmRFbGVtZW50LmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBU
b3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgICAgICBo
dHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShXTUwpCisjaW5jbHVkZSAiV01MQ2FyZEVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitXTUxDYXJkRWxlbWVudDo6V01MQ2FyZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKKyAgICA6IFdNTEVsZW1lbnQodGFnTmFtZSwg
ZG9jKQoreworfQorCit9CisKKyNlbmRpZgpJbmRleDogd21sL1dNTENhcmRFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gd21sL1dNTENhcmRFbGVtZW50LmgJKHJldmlzaW9uIDApCisrKyB3bWwvV01M
Q2FyZEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
ICAgICAgICAgICAgICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgV01M
Q2FyZEVsZW1lbnRfaAorI2RlZmluZSBXTUxDYXJkRWxlbWVudF9oCisKKyNpZiBFTkFCTEUoV01M
KQorI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBXTUxDYXJkRWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBXTUxD
YXJkRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKK307CisKK30KKwor
I2VuZGlmCisjZW5kaWYKSW5kZXg6IHdtbC9XTUxEb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
d21sL1dNTERvY3VtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIHdtbC9XTUxEb2N1bWVudC5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgg
VG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAgICAg
aHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIldNTERvY3VtZW50LmgiCisKKyNpbmNsdWRlICJQYWdl
LmgiCisjaW5jbHVkZSAiV01MUGFnZVN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
V01MRG9jdW1lbnQ6OldNTERvY3VtZW50KEZyYW1lKiBmcmFtZSkKKyAgICA6IERvY3VtZW50KGZy
YW1lLCBmYWxzZSkgCit7CisgICAgY2xlYXJYTUxWZXJzaW9uKCk7CisKKyAgICBQYWdlKiBwYWdl
ID0gdGhpcy0+cGFnZSgpOworICAgIGlmIChwYWdlICYmICFwYWdlLT53bWxQYWdlU3RhdGUoKSkg
eworICAgICAgICBSZWZQdHI8V01MUGFnZVN0YXRlPiBwYWdlU3RhdGUgPSBuZXcgV01MUGFnZVN0
YXRlKHBhZ2UpOworICAgICAgICBwYWdlLT5zZXRXTUxQYWdlU3RhdGUocGFnZVN0YXRlKTsKKyAg
ICB9Cit9CisKK1dNTERvY3VtZW50Ojp+V01MRG9jdW1lbnQoKQoreworfQorCit9CisKKyNlbmRp
ZgpJbmRleDogd21sL1dNTERvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTERvY3VtZW50
LmgJKHJldmlzaW9uIDApCisrKyB3bWwvV01MRG9jdW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgICAgICBodHRwOi8vd3d3LnRvcmNobW9i
aWxlLmNvbS8KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgKgorICovCisKKyNpZm5kZWYgV01MRG9jdW1lbnRfaAorI2RlZmluZSBXTUxEb2N1bWVudF9o
CisKKyNpZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgV01MRG9jdW1lbnQgOiBwdWJsaWMgRG9jdW1lbnQgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdNTERvY3VtZW50PiBjcmVhdGUoRnJhbWUqIGZyYW1l
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyBXTUxEb2N1bWVudChmcmFtZSk7CisgICAgfQor
CisgICAgdmlydHVhbCB+V01MRG9jdW1lbnQoKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1dNTERv
Y3VtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCitwcml2YXRlOgorICAgIFdNTERvY3Vt
ZW50KEZyYW1lKik7Cit9OworCit9CisKKyNlbmRpZgorI2VuZGlmCkluZGV4OiB3bWwvV01MRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQor
Kysgd21sL1dNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdNTCkKKyNpbmNsdWRlICJXTUxFbGVtZW50
LmgiCisKKyNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiV01MTmFtZXMuaCIKKwor
dXNpbmcgc3RkOjptYXg7Cit1c2luZyBzdGQ6Om1pbjsKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit1c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7CisKK1dNTEVsZW1lbnQ6OldNTEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKKyAgICA6IFN0eWxlZEVs
ZW1lbnQodGFnTmFtZSwgZG9jKQoreworfQorCitib29sIFdNTEVsZW1lbnQ6Om1hcFRvRW50cnko
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIE1hcHBlZEF0dHJpYnV0ZUVudHJ5JiByZXN1
bHQpIGNvbnN0Cit7CisgICAgaWYgKGF0dHJOYW1lID09IEhUTUxOYW1lczo6YWxpZ25BdHRyKSB7
CisgICAgICAgIHJlc3VsdCA9IGVVbml2ZXJzYWw7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICByZXR1cm4gU3R5bGVkRWxlbWVudDo6bWFwVG9FbnRyeShhdHRyTmFtZSwgcmVz
dWx0KTsKK30KKyAgICAKK3ZvaWQgV01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFw
cGVkQXR0cmlidXRlKiBhdHRyKQoreworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVz
OjppZEF0dHIKKyAgICAgICAgfHwgYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6Y2xhc3NBdHRy
CisgICAgICAgIHx8IGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OnN0eWxlQXR0cikKKyAgICAg
ICAgcmV0dXJuIFN0eWxlZEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworCisg
ICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OmFsaWduQXR0cikgeworICAgICAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UoYXR0ci0+dmFsdWUoKSwgIm1pZGRsZSIpKQorICAgICAgICAg
ICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTUHJvcGVydHlUZXh0QWxpZ24sICJjZW50ZXIiKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgQ1NTUHJvcGVy
dHlUZXh0QWxpZ24sIGF0dHItPnZhbHVlKCkpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgp
ID09IEhUTUxOYW1lczo6dGFiaW5kZXhBdHRyKSB7CisgICAgICAgIFN0cmluZyBpbmRleHN0cmlu
ZyA9IGF0dHItPnZhbHVlKCk7CisgICAgICAgIGlmIChpbmRleHN0cmluZy5sZW5ndGgoKSkgewor
ICAgICAgICAgICAgYm9vbCBwYXJzZWRPSzsKKyAgICAgICAgICAgIGludCB0YWJpbmRleCA9IGlu
ZGV4c3RyaW5nLnRvSW50U3RyaWN0KCZwYXJzZWRPSyk7CisgICAgICAgICAgICBpZiAocGFyc2Vk
T0spCisgICAgICAgICAgICAgICAgLy8gQ2xhbXAgdGFiaW5kZXggdG8gdGhlIHJhbmdlIG9mICdz
aG9ydCcgdG8gbWF0Y2ggRmlyZWZveCdzIGJlaGF2aW9yLgorICAgICAgICAgICAgICAgIHNldFRh
YkluZGV4RXhwbGljaXRseShtYXgoc3RhdGljX2Nhc3Q8aW50PihzdGQ6Om51bWVyaWNfbGltaXRz
PHNob3J0Pjo6bWluKCkpLCBtaW4odGFiaW5kZXgsIHN0YXRpY19jYXN0PGludD4oc3RkOjpudW1l
cmljX2xpbWl0czxzaG9ydD46Om1heCgpKSkpKTsKKyAgICAgICAgfQorICAgIH0KK30KKworYm9v
bCBXTUxFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKiBzdHlsZSkKK3sKKyAg
ICByZXR1cm4gZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkgPT0gdGhpcyB8fCBzdHlsZS0+
ZGlzcGxheSgpICE9IE5PTkU7Cit9CisKK1JlbmRlck9iamVjdCogV01MRWxlbWVudDo6Y3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgcmV0dXJu
IFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKK30KKworfQorCisjZW5k
aWYKSW5kZXg6IHdtbC9XTUxFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTEVsZW1lbnQu
aAkocmV2aXNpb24gMCkKKysrIHdtbC9XTUxFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAgICAgaHR0cDovL3d3dy50b3JjaG1vYmls
ZS5jb20vCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICoKKyAqLworCisjaWZuZGVmIFdNTEVsZW1lbnRfaAorI2RlZmluZSBXTUxFbGVtZW50X2gKKwor
I2lmIEVOQUJMRShXTUwpCisjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFdNTEVsZW1lbnQgOiBwdWJsaWMgU3R5bGVkRWxlbWVudCB7Citw
dWJsaWM6CisgICAgV01MRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCopOworCisgICAgdmlydHVhbCBib29sIGlzV01MRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KKworICAgIHZpcnR1YWwgYm9vbCBtYXBUb0VudHJ5KGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJOYW1lLCBNYXBwZWRBdHRyaWJ1dGVFbnRyeSYgcmVzdWx0KSBjb25zdDsKKyAgICB2
aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CisKKyAg
ICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSopOworICAgIHZpcnR1
YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxl
Kik7Cit9OworCit9CisKKyNlbmRpZgorI2VuZGlmCkluZGV4OiB3bWwvV01MUEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIHdtbC9XTUxQRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyB3bWwv
V01MUEVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcyIEBACisvKioKKyAqIENv
cHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogICAgICAgICAgICAgICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KKyAqCisgKiBDb3B5
cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAgICAgICAgICAo
QykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKworI2lmIEVOQUJMRShXTUwpCisjaW5jbHVkZSAiV01MUEVsZW1lbnQuaCIKKwor
I2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRz
LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiV01MTmFtZXMuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7CisKK1dNTFBFbGVt
ZW50OjpXTUxQRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCog
ZG9jKQorICAgIDogV01MRWxlbWVudCh0YWdOYW1lLCBkb2MpCit7Cit9CisKK2Jvb2wgV01MUEVs
ZW1lbnQ6Om1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIE1hcHBlZEF0
dHJpYnV0ZUVudHJ5JiByZXN1bHQpIGNvbnN0Cit7CisgICAgaWYgKGF0dHJOYW1lID09IEhUTUxO
YW1lczo6YWxpZ25BdHRyKSB7CisgICAgICAgIHJlc3VsdCA9IGVCbG9jazsgLy8gV2UgY2FuIHNo
YXJlIHdpdGggRElWIGhlcmUuCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gV01MRWxlbWVudDo6bWFwVG9FbnRyeShhdHRyTmFtZSwgcmVzdWx0KTsKK30KKwordm9p
ZCBXTUxQRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRy
KQoreworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjphbGlnbkF0dHIpIHsKKyAg
ICAgICAgU3RyaW5nIHYgPSBhdHRyLT52YWx1ZSgpOworICAgICAgICBpZiAoZXF1YWxJZ25vcmlu
Z0Nhc2UoYXR0ci0+dmFsdWUoKSwgIm1pZGRsZSIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGF0dHIt
PnZhbHVlKCksICJjZW50ZXIiKSkKKyAgICAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENT
U1Byb3BlcnR5VGV4dEFsaWduLCBDU1NWYWx1ZVdlYmtpdENlbnRlcik7CisgICAgICAgIGVsc2Ug
aWYgKGVxdWFsSWdub3JpbmdDYXNlKGF0dHItPnZhbHVlKCksICJsZWZ0IikpCisgICAgICAgICAg
ICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9wZXJ0eVRleHRBbGlnbiwgQ1NTVmFsdWVXZWJr
aXRMZWZ0KTsKKyAgICAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoYXR0ci0+dmFsdWUo
KSwgInJpZ2h0IikpCisgICAgICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9wZXJ0
eVRleHRBbGlnbiwgQ1NTVmFsdWVXZWJraXRSaWdodCk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1Byb3BlcnR5VGV4dEFsaWduLCB2KTsKKyAgICB9
IGVsc2UKKyAgICAgICAgV01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Cit9
CisKK30KKworI2VuZGlmCkluZGV4OiB3bWwvV01MUEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3
bWwvV01MUEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIHdtbC9XTUxQRWxlbWVudC5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACisvKioKKyAqIENvcHlyaWdodCAoQykgMjAwOCBUb3Jj
aCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgICAgICBodHRw
Oi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBL
bm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0
byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgV01MUEVsZW1lbnRfaAorI2RlZmluZSBX
TUxQRWxlbWVudF9oCisKKyNpZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXTUxQRWxlbWVudCA6IHB1YmxpYyBXTUxF
bGVtZW50IHsKK3B1YmxpYzoKKyAgICBXTUxQRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCBib29sIG1hcFRvRW50cnkoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIE1hcHBlZEF0dHJpYnV0ZUVudHJ5JikgY29uc3Q7CisgICAgdmlydHVh
bCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworfTsKKworfQor
CisjZW5kaWYKKyNlbmRpZgpJbmRleDogd21sL1dNTFBhZ2VTdGF0ZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gd21sL1dNTFBhZ2VTdGF0ZS5jcHAJKHJldmlzaW9uIDApCisrKyB3bWwvV01MUGFnZVN0YXRl
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAg
ICAgICAgaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCisgKgorICogQ29weXJpZ2h0IChDKSAy
MDA0LTIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKFdNTCkKKyNpbmNsdWRlICJXTUxQYWdlU3RhdGUuaCIKKwor
I2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1dNTFBhZ2VTdGF0ZTo6V01MUGFnZVN0YXRlKFBhZ2UqIHBhZ2UpCisgICAg
OiBtX3BhZ2UoMCkKKyAgICAsIG1faGlzdG9yeUxlbmd0aCgwKQorICAgICwgbV9hY3RpdmVDYXJk
KDApCisgICAgLCBtX2hhc0RlY2tBY2Nlc3MoZmFsc2UpCit7Cit9CisKK1dNTFBhZ2VTdGF0ZTo6
fldNTFBhZ2VTdGF0ZSgpCit7CisgICAgbV92YXJpYWJsZXMuY2xlYXIoKTsKK30KKwordm9pZCBX
TUxQYWdlU3RhdGU6OnJlc2V0KCkKK3sKKyAgICAvLyByZW1vdmUgYWxsIHRoZSB2YXJpYWJsZXMg
aW4gdGhlIGN1cnJlbnQgYnJvd3NlciBjb250ZXh0CisgICAgbV92YXJpYWJsZXMuY2xlYXIoKTsK
KworICAgIC8vIGNsZWFyIHRoZSBuYXZpZ2F0aW9uIGhpc3Rvcnkgc3RhdGUgCisgICAgaWYgKG1f
cGFnZSkKKyAgICAgICAgbV9wYWdlLT5iYWNrRm9yd2FyZExpc3QoKS0+Y2xlYXJXbWxQYWdlSGlz
dG9yeSgpOworCisgICAgLy8gcmVzZXQgaW1wbGVtZW50YXRpb24tc3BlY2ZpYyBzdGF0ZSBpZiBV
QSBoYXMKKyAgICBtX2hpc3RvcnlMZW5ndGggPSAxOworfQorCit2b2lkIFdNTFBhZ2VTdGF0ZTo6
c2V0TmVlZENoZWNrRGVja0FjY2Vzcyhib29sIG5lZWQpCit7CisgICAgaWYgKG1faGFzRGVja0Fj
Y2VzcyAmJiBuZWVkKSB7CisgICAgICAgIC8vIFRPRE86IFJlcG9ydCBNdWx0aUFjY2Vzc0VsZW1l
bnRzRXJyb3IKKyAgICB9IGVsc2UgeworICAgICAgICBtX2hhc0RlY2tBY2Nlc3MgPSBuZWVkOwor
ICAgICAgICBtX2FjY2Vzc1BhdGggPSBTdHJpbmcoKTsKKyAgICAgICAgbV9hY2Nlc3NEb21haW4g
PSBTdHJpbmcoKTsKKyAgICB9Cit9CisKKy8vIFRPRE86IFdlIG1heSB3YW50IGFub3RoZXIgbmFt
ZSwgaXQgZG9lcyBmYXIgbW9yZSB0aGFuIGp1c3QgY2hlY2tpbmcgd2hldGVyIHRoZSBkZWNrIGlz
IGFjY2Vzc2FibGUKK2Jvb2wgV01MUGFnZVN0YXRlOjppc0RlY2tBY2Nlc3NpYmxlKCkKK3sKKyAg
ICBpZiAoIW1faGFzRGVja0FjY2VzcyB8fCAhbV9wYWdlIHx8ICFtX3BhZ2UtPmJhY2tGb3J3YXJk
TGlzdCgpIHx8ICFtX3BhZ2UtPmJhY2tGb3J3YXJkTGlzdCgpLT5iYWNrSXRlbSgpKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIEhpc3RvcnlJdGVtKiBoaXN0SXRlbSA9IG1fcGFnZS0+YmFj
a0ZvcndhcmRMaXN0KCktPmJhY2tJdGVtKCk7CisgICAgS1VSTCB1cmwoaGlzdEl0ZW0tPnVybFN0
cmluZygpKTsKKworICAgIFN0cmluZyBwcmV2SG9zdCA9IHVybC5ob3N0KCk7CisgICAgU3RyaW5n
IHByZXZQYXRoID0gdXJsLnBhdGgoKTsKKworICAgIC8vIGZvciAnZmlsZScgVVJJLCB0aGUgaG9z
dCBwYXJ0IG1heSBiZSBlbXB0eSwgc28gd2Ugc2hvdWxkIGNvbXBsZXRlIGl0LgorICAgIGlmIChw
cmV2SG9zdC5pc0VtcHR5KCkpCisgICAgICAgIHByZXZIb3N0ID0gImxvY2FsaG9zdCI7CisKKyAg
ICBoaXN0SXRlbSA9IG1fcGFnZS0+YmFja0ZvcndhcmRMaXN0KCktPmN1cnJlbnRJdGVtKCk7Cisg
ICAgS1VSTCBjdXJVcmwoaGlzdEl0ZW0tPnVybFN0cmluZygpKTsKKyAgICBTdHJpbmcgY3VyUGF0
aCA9IGN1clVybC5wYXRoKCk7CisKKyAgICBpZiAoZXF1YWxJZ25vcmluZ1JlZih1cmwsIGN1clVy
bCkpCisgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyAiLyIgaXMgdGhlIGRlZmF1bHQgdmFs
dWUgaWYgbm90IHNwZWNpZmllZAorICAgIGlmIChtX2FjY2Vzc1BhdGguaXNFbXB0eSgpKSAgCisg
ICAgICAgIG1fYWNjZXNzUGF0aCA9ICIvIjsKKyAgICBlbHNlIGlmIChtX2FjY2Vzc1BhdGguZW5k
c1dpdGgoIi8iKSAmJiAobV9hY2Nlc3NQYXRoICE9ICIvIikpCisgICAgICAgIG1fYWNjZXNzUGF0
aCA9IG1fYWNjZXNzUGF0aC5sZWZ0KChtX2FjY2Vzc1BhdGgubGVuZ3RoKCktMSkpOworCisKKyAg
ICAvLyBjdXJyZW50IGRlY2sgZG9tYWluIGlzIHRoZSBkZWZhdWx0IHZhbHVlIGlmIG5vdCBzcGVj
aWZpZWQKKyAgICBpZiAobV9hY2Nlc3NEb21haW4uaXNFbXB0eSgpKQorICAgICAgICBtX2FjY2Vz
c0RvbWFpbiA9IHByZXZIb3N0OworCisgICAgLy8gY29udmVydCByZWxhdGl2ZSBVUkwgdG8gYWJz
b2x1dGUgVVJMIGJlZm9yZSBwZXJmb3JtaW5nIHBhdGggbWF0Y2hpbmcKKyAgICBpZiAocHJldkhv
c3QgPT0gbV9hY2Nlc3NEb21haW4pIHsKKyAgICAgICAgaWYgKCFtX2FjY2Vzc1BhdGguc3RhcnRz
V2l0aCgiLyIpKSB7CisgICAgICAgICAgIGludCBpbmRleCA9IGN1clBhdGgucmV2ZXJzZUZpbmQo
Jy8nKTsKKyAgICAgICAgICAgaWYgKGluZGV4ICE9IC0xKSB7CisgICAgICAgICAgICAgICBjdXJQ
YXRoID0gY3VyUGF0aC5sZWZ0KGluZGV4ICsgMSk7CisgICAgICAgICAgICAgICBjdXJQYXRoICs9
IG1fYWNjZXNzUGF0aDsKKyAgICAgICAgICAgICAgIGN1clVybC5zZXRQYXRoKGN1clBhdGgpOwor
ICAgICAgICAgICAgICAgbV9hY2Nlc3NQYXRoID0gY3VyVXJsLnBhdGgoKTsKKyAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gcGF0aCBwcmVmaXggbWF0Y2hpbmcKKyAgICBp
ZiAocHJldlBhdGguc3RhcnRzV2l0aChtX2FjY2Vzc1BhdGgpICYmIAorICAgICAgIChwcmV2UGF0
aFttX2FjY2Vzc1BhdGgubGVuZ3RoKCldID09ICcvJyB8fCBwcmV2UGF0aC5sZW5ndGgoKSA9PSBt
X2FjY2Vzc1BhdGgubGVuZ3RoKCkpKSB7CisgICAgICAgIC8vIGRvbWFpbiBzdWZmaXggbWF0Y2hp
bmcKKyAgICAgICAgdW5zaWduZWQgZG9tYWluTGVuZ3RoID0gbV9hY2Nlc3NEb21haW4ubGVuZ3Ro
KCk7CisgICAgICAgIHVuc2lnbmVkIGhvc3RMZW5ndGggPSBwcmV2SG9zdC5sZW5ndGgoKTsKKyAg
ICAgICAgcmV0dXJuIChwcmV2SG9zdC5lbmRzV2l0aChtX2FjY2Vzc0RvbWFpbikgJiYgcHJldkhv
c3RbaG9zdExlbmd0aCAtIGRvbWFpbkxlbmd0aCAtIDFdID09ICcuJykgfHwgaG9zdExlbmd0aCA9
PSBkb21haW5MZW5ndGg7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CisKKyNl
bmRpZgpJbmRleDogd21sL1dNTFBhZ2VTdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdtbC9XTUxQYWdl
U3RhdGUuaAkocmV2aXNpb24gMCkKKysrIHdtbC9XTUxQYWdlU3RhdGUuaAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgICAgICBodHRwOi8vd3d3LnRv
cmNobW9iaWxlLmNvbS8KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFdNTFBhZ2VTdGF0ZV9oCisjZGVmaW5l
IFdNTFBhZ2VTdGF0ZV9oCisKKyNpZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIlN0cmluZ0hhc2gu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworY2xhc3MgU3RyaW5nOwor
Y2xhc3MgV01MQ2FyZEVsZW1lbnQ7CisKK3R5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4g
VmFyaWFibGVNYXA7CisKK2NsYXNzIFdNTFBhZ2VTdGF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdN
TFBhZ2VTdGF0ZT4geworcHVibGljOgorICAgIFdNTFBhZ2VTdGF0ZShQYWdlKik7CisgICAgdmly
dHVhbCB+V01MUGFnZVN0YXRlKCk7CisKKyAgICAvLyByZXNldCB0aGUgYnJvd3NlciBjb250ZXh0
IHdoZW4gJ25ld2NvbnRleHQnIGF0dHJpYnV0ZQorICAgIC8vIG9mIGNhcmQgZWxlbWVudCBpcyBw
ZXJmb3JtZWQgYXMgcGFydCBvZiBnbyB0YXNrCisgICAgdm9pZCByZXNldCgpOworCisgICAgLy8g
dmFyaWFibGVzIG9wZXJhdGlvbnMgCisgICAgdm9pZCBzdG9yZVZhcmlhYmxlKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyBtX3ZhcmlhYmxlcy5zZXQobmFtZSwgdmFs
dWUpOyB9CisgICAgdm9pZCBzdG9yZVZhcmlhYmxlcyhWYXJpYWJsZU1hcCYgdmFyaWFibGVzKSB7
IG1fdmFyaWFibGVzID0gdmFyaWFibGVzOyB9CisgICAgU3RyaW5nIGdldFZhcmliYWxlKGNvbnN0
IFN0cmluZyYgbmFtZSkgY29uc3QgeyByZXR1cm4gbV92YXJpYWJsZXMuZ2V0KG5hbWUpOyB9Cisg
ICAgYm9vbCBoYXNWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhYmxlcy5zaXplKCk7
IH0KKworICAgIGludCBoaXN0b3J5TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9oaXN0b3J5TGVu
Z3RoOyB9CisgICAgdm9pZCBzZXRIaXN0b3J5TGVuZ3RoKGludCBsZW5ndGgpIHsgbV9oaXN0b3J5
TGVuZ3RoID0gbGVuZ3RoOyB9CisKKyAgICBQYWdlKiBwYWdlKCkgY29uc3QgeyByZXR1cm4gbV9w
YWdlOyB9CisKKyAgICAvLyBUT0RPOiBPbmNlIHRoaXMgY29kZSBpcyB1c2VkLCBjaGVjayBmb3Ig
cmVmY291bnRpbmcgc2FmZXR5CisgICAgV01MQ2FyZEVsZW1lbnQqIGFjdGl2ZUNhcmQoKSBjb25z
dCB7IHJldHVybiBtX2FjdGl2ZUNhcmQ7IH0KKyAgICB2b2lkIHNldEFjdGl2ZUNhcmQoV01MQ2Fy
ZEVsZW1lbnQqIGNhcmQpIHsgbV9hY3RpdmVDYXJkID0gY2FyZDsgfQorCisgICAgLy8gZGVjayBh
Y2Nlc3MgY29udHJvbAorICAgIHZvaWQgc2V0RGVja0FjY2Vzc0RvbWFpbihjb25zdCBTdHJpbmcm
IGRvbWFpbikgeyBtX2FjY2Vzc0RvbWFpbiA9IGRvbWFpbjsgfQorICAgIHZvaWQgc2V0RGVja0Fj
Y2Vzc1BhdGgoY29uc3QgU3RyaW5nJiBwYXRoKSB7IG1fYWNjZXNzUGF0aCA9IHBhdGg7IH0KKyAg
ICBib29sIGhhc0RlY2tBY2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX2hhc0RlY2tBY2Nlc3M7IH0K
KyAKKyAgICB2b2lkIHNldE5lZWRDaGVja0RlY2tBY2Nlc3MoYm9vbCk7CisgICAgYm9vbCBpc0Rl
Y2tBY2Nlc3NpYmxlKCk7CisKK3ByaXZhdGU6CisgICAgUGFnZSogbV9wYWdlOworICAgIFZhcmlh
YmxlTWFwIG1fdmFyaWFibGVzOworICAgIGludCBtX2hpc3RvcnlMZW5ndGg7CisgICAgV01MQ2Fy
ZEVsZW1lbnQqIG1fYWN0aXZlQ2FyZDsKKyAgICBTdHJpbmcgbV9hY2Nlc3NEb21haW47CisgICAg
U3RyaW5nIG1fYWNjZXNzUGF0aDsKKyAgICBib29sIG1faGFzRGVja0FjY2VzczsKK307CisKK30K
KworI2VuZGlmCisjZW5kaWYKSW5kZXg6IHdtbC9XTUxUYWdOYW1lcy5pbgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSB3bWwvV01MVGFnTmFtZXMuaW4JKHJldmlzaW9uIDApCisrKyB3bWwvV01MVGFnTmFtZXMuaW4J
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDYgQEAKK25hbWVzcGFjZT0iV01MIgorbmFtZXNwYWNl
VVJJPSJodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwiCitndWFyZEZhY3Rv
cnlXaXRoPSJFTkFCTEUoV01MKSIKKworYQorY2FyZAorcAorCisjaWYgMAorIyBUaGVzZSBlbGVt
ZW50cyBkb24ndCBuZWVkIGEgY29ycmVwb25zcG9uZGluZyBXTUwqRWxlbWVudCBjbGFzcy4KK2IK
K2JpZworYnIKK2VtCitpCitzbWFsbAorc3Ryb25nCit1CisjZW5kaWYKKworI2lmIDAKKyMgTm90
IHlldCBpbXBsZW1lbnRlZAorYWNjZXNzCithbmNob3IKK2RvCitmaWVsZHNldAorZ28KK2hlYWQK
K2ltZyBpbnRlcmZhY2VOYW1lPVdNTEltYWdlRWxlbWVudAoraW5wdXQKK21ldGEKK25vb3AKK29u
ZXZlbnQKK29wdGdyb3VwCitvcHRpb24KK3Bvc3RmaWVsZAorcHJldgorcmVmcmVzaAorc2VsZWN0
CitzZXR2YXIKK3RhYmxlCit0ZAordGVtcGxhdGUKK3RpbWVyCit0cgorI2VuZGlmCg==
</data>
<flag name="review"
          id="11656"
          type_id="1"
          status="+"
          setter="staikos"
    />
          </attachment>
      

    </bug>

</bugzilla>