<?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>80019</bug_id>
          
          <creation_ts>2012-03-01 04:03:56 -0800</creation_ts>
          <short_desc>Speech JavaScript API: compile- and runtime flags</short_desc>
          <delta_ts>2012-03-05 04:01:54 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80261</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Wennborg">hans</reporter>
          <assigned_to name="Hans Wennborg">hans</assigned_to>
          <cc>abarth</cc>
    
    <cc>arun.patole</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>cgarcia</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>levin+threading</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan</cc>
    
    <cc>peter</cc>
    
    <cc>rakuco</cc>
    
    <cc>satish</cc>
    
    <cc>tkent</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>568543</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2012-03-01 04:03:56 -0800</bug_when>
    <thetext>Implement Speech JavaScript API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568546</commentid>
    <comment_count>1</comment_count>
      <attachid>129679</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2012-03-01 04:11:51 -0800</bug_when>
    <thetext>Created attachment 129679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568548</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-01 04:15:33 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.

Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568600</commentid>
    <comment_count>3</comment_count>
      <attachid>129689</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2012-03-01 05:53:57 -0800</bug_when>
    <thetext>Created attachment 129689
Patch

Let&apos;s add the compile- and runtime flags first to make this more reviewable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568604</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-01 05:57:44 -0800</bug_when>
    <thetext>Attachment 129689 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;La...&quot; exit_code: 1
WARNING: File exempt from style guide. Skipping: &quot;Source/WebKit2/UIProcess/API/gtk/WebKitDefines.h&quot;
Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:71:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 166 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570180</commentid>
    <comment_count>5</comment_count>
      <attachid>129689</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-03 15:34:12 -0800</bug_when>
    <thetext>Comment on attachment 129689
Patch

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

&gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h:157
&gt; +#if ENABLE(SCRIPTED_SPEECH)
&gt; +    static void setScriptedSpeechEnabled(bool isEnabled) { isScriptedSpeechEnabled = isEnabled; }
&gt; +    static bool scriptedSpeechEnabled() { return isScriptedSpeechEnabled; }
&gt; +    static bool webkitSpeechRecognitionEnabled() { return isScriptedSpeechEnabled; }
&gt; +    static bool webkitSpeechRecognitionErrorEnabled() { return isScriptedSpeechEnabled; }
&gt; +    static bool webkitSpeechGrammarEnabled() { return isScriptedSpeechEnabled; }
&gt; +    static bool webkitSpeechGrammarListEnabled() { return isScriptedSpeechEnabled; }
&gt; +#endif

This change is slightly ahead of what you need in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570181</commentid>
    <comment_count>6</comment_count>
      <attachid>129689</attachid>
    <who name="Satish Sampath">satish</who>
    <bug_when>2012-03-03 16:27:10 -0800</bug_when>
    <thetext>Comment on attachment 129689
Patch

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

Tools/Scripts/build-webkit: line 98
&gt; $scriptedSpeechSupport

I see the rest of this list is alphabetically sorted and I understand $scriptedSpeechSupport is placed next to $inputSpeechSupport. But since in the long term $inputSpeechSupport should be going away so it may make sense to insert $scriptedSpeechSupport in the right alphabetical order instead of the current location.

Same for ENABLE_SCRIPTED_SPEECH in lines 232-234

&gt;&gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h:157
&gt;&gt; +#endif
&gt; 
&gt; This change is slightly ahead of what you need in this patch.

I think Hans&apos;s idea was to have this patch start both the compile time and runtime flags for the feature. In that sense may be the first 2 in the above list make sense but the rest could be added in subsequent patches where they are required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570183</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-03 17:00:34 -0800</bug_when>
    <thetext>It&apos;s not a big deal either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570186</commentid>
    <comment_count>8</comment_count>
      <attachid>129689</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-03 17:06:25 -0800</bug_when>
    <thetext>Comment on attachment 129689
Patch

Clearing flags on attachment: 129689

Committed r109667: &lt;http://trac.webkit.org/changeset/109667&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570187</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-03 17:06:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129679</attachid>
            <date>2012-03-01 04:11:51 -0800</date>
            <delta_ts>2012-03-01 05:53:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80019-20120301121149.patch</filename>
            <type>text/plain</type>
            <size>139769</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQ3ZTFjYzUyMjBlNDgwMWE4ZGM5YjI5YTUzYTkz
NDNmYTg0NjRiMjMuLmNiMTZkMDkwZTMyYmQyZGNlYTlmNTIxYzdkMDhmNGYxMWNiZjg5NDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAzLTAxICBIYW5z
IFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IFNwZWVj
aCBKYXZhU2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODAwMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgRU5BQkxFX1NDUklQVEVEX1NQRUVDSCBmbGFnLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTItMDItMjkgIE5vJ2Ft
IFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dL
Ml0gR2V0IHJpZCBvZiB0aGUgI2lmZGVmIG1lc3MgaW4gTGF5ZXJUcmVlSG9zdFtQcm94eV0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA2YmMxYjNmZmYyNmNlNjZmMzVhMDRjODI1OGJlOGUzNmMxZDJhYzc5Li45ZjUz
ZmZjMmQ1ZTY1MzEzOGE0ZDQxMjM3ZjlhMDEyZTJjMDUzZTZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTg0IEBACisyMDEyLTAzLTAxICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgSW1wbGVtZW50IFNwZWVjaCBKYXZhU2NyaXB0IEFQSQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAwMTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYmluZGluZ3MgYW5kIGEgY2xp
ZW50IGludGVyZmFjZSBmb3IgdGhlIFNwZWVjaCBKYXZhU2NyaXB0IEFQSS4KKworICAgICAgICBU
ZXN0OiBmYXN0L3NjcmlwdGVkX3NwZWVjaC9iYXNpY3MuaHRtbAorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogR05VbWFrZWZpbGUu
YW06CisgICAgICAgICogTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvRE9NV2luZG93U3BlZWNoUmVj
b2duaXRpb24uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9T
cGVlY2hHcmFtbWFyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNwZWVjaEdyYW1tYXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hH
cmFtbWFyOjpTcGVlY2hHcmFtbWFyKToKKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVj
aC9TcGVlY2hHcmFtbWFyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChT
cGVlY2hHcmFtbWFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaEdyYW1tYXI6OnNyYyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTcGVlY2hHcmFtbWFyOjpzZXRTcmMpOgorICAgICAgICAoV2ViQ29y
ZTo6U3BlZWNoR3JhbW1hcjo6d2VpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaEdyYW1t
YXI6OnNldFdlaWdodCk6CisgICAgICAgICogTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNo
R3JhbW1hci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1Nw
ZWVjaEdyYW1tYXJMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNwZWVjaEdyYW1tYXJMaXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
U3BlZWNoR3JhbW1hckxpc3Q6Oml0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoR3JhbW1h
ckxpc3Q6OmFkZEZyb21VcmkpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoR3JhbW1hckxpc3Q6
OmFkZEZyb21TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoR3JhbW1hckxpc3Q6OlNw
ZWVjaEdyYW1tYXJMaXN0KToKKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVl
Y2hHcmFtbWFyTGlzdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU3Bl
ZWNoR3JhbW1hckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoR3JhbW1hckxpc3Q6Omxl
bmd0aCk6CisgICAgICAgICogTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoR3JhbW1hckxp
c3QuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVj
aFJlY29nbml0aW9uOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlv
bjo6c3RvcEZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjph
Ym9ydCk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6YXVkaW9TdGFydENh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpzb3VuZFN0YXJ0
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OnNwZWVjaFN0
YXJ0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OnNwZWVj
aEVuZENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjphdWRp
b0VuZENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpyZXN1
bHRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6bm9NYXRj
aENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpyZXN1bHRE
ZWxldGVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OmVy
cm9yQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OnN0YXJ0
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OmVuZENhbGxi
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpjYW5TdXNwZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpzdG9wKToKKyAgICAgICAgKFdl
YkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpoYXNQZW5kaW5nQWN0aXZpdHkpOgorICAgICAgICAo
V2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OmludGVyZmFjZU5hbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6U3BlZWNoUmVjb2duaXRpb246OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OlNwZWVjaFJlY29nbml0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjp+U3BlZWNoUmVjb2duaXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OmZpcmVBdWRpb1N0YXJ0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpmaXJlU291bmRTdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6ZmlyZVNwZWVjaFN0YXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpmaXJlU3BlZWNoRW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpmaXJlQXVkaW9FbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6U3BlZWNoUmVjb2duaXRpb246OmZpcmVSZXN1bHQpOgorICAgICAgICAoV2ViQ29yZTo6U3Bl
ZWNoUmVjb2duaXRpb246OmZpcmVOb01hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJl
Y29nbml0aW9uOjpmaXJlUmVzdWx0RGVsZXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hS
ZWNvZ25pdGlvbjo6ZmlyZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0
aW9uOjpmaXJlU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OmZp
cmVFbmQpOgorICAgICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTcGVlY2hSZWNvZ25p
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6Z3JhbW1hcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OnNldEdyYW1tYXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uOjpsYW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlNwZWVjaFJlY29nbml0aW9uOjpzZXRMYW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJl
Y29nbml0aW9uOjpjb250aW51b3VzKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0
aW9uOjpzZXRDb250aW51b3VzKToKKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9T
cGVlY2hSZWNvZ25pdGlvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRf
c3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRp
dmU6OlNwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUpOgorICAgICAgICAqIE1vZHVsZXMvc2Ny
aXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZTo6dHJhbnNjcmlw
dCk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlOjpjb25m
aWRlbmNlKToKKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25p
dGlvbkFsdGVybmF0aXZlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9zY3JpcHRlZF9z
cGVlY2gvU3BlZWNoUmVjb2duaXRpb25DbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFNwZWVjaFJlY29nbml0aW9uQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNwZWVjaFJlY29nbml0aW9uQ2xpZW50Ojp+U3BlZWNoUmVjb2duaXRpb25DbGllbnQpOgorICAg
ICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQ29udHJvbGxl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTcGVl
Y2hSZWNvZ25pdGlvbkNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlNwZWVjaFJlY29nbml0aW9uQ29udHJvbGxlcjo6U3BlZWNoUmVjb2duaXRpb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uQ29udHJvbGxlcjo6flNw
ZWVjaFJlY29nbml0aW9uQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNv
Z25pdGlvbkNvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpwcm92aWRlU3Bl
ZWNoUmVjb2duaXRpb25Ubyk6CisgICAgICAgICogTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3Bl
ZWNoUmVjb2duaXRpb25Db250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChTcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6
U3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVyOjpjbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6
U3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpT
cGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXI6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6U3Bl
ZWNoUmVjb2duaXRpb25Db250cm9sbGVyOjphYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpTcGVl
Y2hSZWNvZ25pdGlvbkNvbnRyb2xsZXI6OnZpc2liaWxpdHlIaWRkZW4pOgorICAgICAgICAoV2Vi
Q29yZTo6U3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVyOjp1bnJlZ2lzdGVyU3BlZWNoUmVjb2du
aXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVyOjpm
cm9tKToKKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlv
bkVycm9yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNwZWVjaFJlY29nbml0aW9uRXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTcGVl
Y2hSZWNvZ25pdGlvbkVycm9yOjpTcGVlY2hSZWNvZ25pdGlvbkVycm9yKToKKyAgICAgICAgKiBN
b2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9yLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTcGVlY2hSZWNvZ25pdGlvbkVycm9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uRXJyb3I6OmNvZGUpOgorICAgICAgICAo
V2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25FcnJvcjo6bWVzc2FnZSk6CisgICAgICAgICogTW9k
dWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FcnJvci5pZGw6IEFkZGVkLgor
ICAgICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNo
UmVjb2duaXRpb25FdmVudDo6Y3JlYXRlUmVzdWx0KToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVj
aFJlY29nbml0aW9uRXZlbnQ6OmNyZWF0ZU5vTWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6U3Bl
ZWNoUmVjb2duaXRpb25FdmVudDo6Y3JlYXRlUmVzdWx0RGVsZXRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVFcnJvcik6CisgICAgICAgIChXZWJD
b3JlOjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAgICAgICAgKFdl
YkNvcmU6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQpOgor
ICAgICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNwZWVjaFJlY29nbml0aW9u
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25FdmVudDo6cmVzdWx0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OmVycm9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OnJlc3VsdEluZGV4KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OnJlc3VsdEhpc3RvcnkpOgor
ICAgICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNv
Z25pdGlvblJlc3VsdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvblJlc3VsdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNwZWVjaFJlY29nbml0aW9uUmVzdWx0OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlNw
ZWVjaFJlY29nbml0aW9uUmVzdWx0OjpTcGVlY2hSZWNvZ25pdGlvblJlc3VsdCk6CisgICAgICAg
ICogTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNwZWVjaFJlY29nbml0aW9uUmVzdWx0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uUmVzdWx0OjpsZW5ndGgpOgor
ICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ6OmZpbmFsKToKKyAgICAg
ICAgKiBNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5pZGw6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uUmVzdWx0TGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q6Oml0ZW0pOgorICAgICAgICAoV2Vi
Q29yZTo6U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0OjpTcGVlY2hSZWNvZ25pdGlvblJlc3Vs
dExpc3QpOgorICAgICAgICAqIE1vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uUmVzdWx0TGlzdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFJlY29n
bml0aW9uUmVzdWx0TGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKiBNb2R1bGVzL3NjcmlwdGVkX3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBU
YXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFNj
cmlwdGVkU3BlZWNoRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzY3JpcHRlZFNwZWVjaEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0U3BlZWNoUmVjb2duaXRpb25FbmFibGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OndlYmtpdFNwZWVjaFJlY29nbml0
aW9uRXJyb3JFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OndlYmtpdFNwZWVjaEdyYW1tYXJFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OndlYmtpdFNwZWVjaEdyYW1tYXJMaXN0RW5hYmxlZCk6CisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRv
bS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46Cisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpc2li
aWxpdHlTdGF0ZSk6CisKIDIwMTItMDItMjkgIEphc29uIExpdSAgPGphc29uLmxpdUB0b3JjaG1v
YmlsZS5jb20uY24+CiAKICAgICAgICAgW0JsYWNrQmVycnldTWFrZSBhYm91dDpjYWNoZSBmZWF0
dXJlIGF2YWlsYWJsZSBpbiByZWxlYXNlIHZlcnNpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDg5ZDlmZDMyMjg4MDU1NWIxN2M2OTE3NjBjYjY2NjNjNzEyMzVlY2YuLjJmNDM5M2Ew
NjMyYTY3ZjE2YWVmOGYxMDdlZWFhNjhlZGQwY2FhZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDMtMDEgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgU3BlZWNoIEphdmFTY3JpcHQgQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAxOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBlbmFibGVT
Y3JpcHRlZFNwZWVjaCB0byBXZWJSdW50aW1lRmVhdHVyZXMgYW5kIHBpcGUgaXQgdGhyb3VnaCB0
bworICAgICAgICBXZWJDb3JlLgorCisgICAgICAgIFBhc3MgaW4gYSBOVUxMIFNwZWVjaFJlY29n
bml0aW9uQ2xpZW50OyB0aGlzIGFsbG93cyB1cyB0byBydW4gd2l0aAorICAgICAgICB0aGUgcnVu
dGltZSBmbGFnIGVuYWJsZWQgYW5kIGxvb2sgYXQgdGhlIGJpbmRpbmdzLgorCisgICAgICAgICog
ZmVhdHVyZXMuZ3lwaToKKyAgICAgICAgKiBwdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmg6Cisg
ICAgICAgIChXZWJSdW50aW1lRmVhdHVyZXMpOgorICAgICAgICAqIHNyYy9XZWJSdW50aW1lRmVh
dHVyZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVNj
cmlwdGVkU3BlZWNoKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1
bnRpbWVGZWF0dXJlczo6aXNTY3JpcHRlZFNwZWVjaEVuYWJsZWQpOgorICAgICAgICAqIHNyYy9X
ZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpXZWJWaWV3SW1w
bCk6CisKIDIwMTItMDItMjkgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtjaHJvbWl1bV0gRml4IG5hdmlnYXRpb24gc3RhcnQgdGltZSBvbiBjcm9z
cy1yZW5kZXJlciBuYXZpZ2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMzhiYjg2ZDQ5OWMwOGIw
YTg2NTc4M2Y0MDRhNWIzYjM5MzczZDhjZC4uOTczMjc4ZmJiY2FiNTlhZTZkNGNkMDgwMGY5MmRk
NWIxM2RhYTkzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAzLTAx
ICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50
IFNwZWVjaCBKYXZhU2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODAwMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgRU5BQkxFX1NDUklQVEVEX1NQRUVDSCBmbGFnLgorCisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTItMDItMjkg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB1
c2Ugb2YgQ0cgcm91bmRlZC1yZWN0IHByaW1pdGl2ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhYmEwYTYwOTg0
ZTljM2UxNzY2ZDhhMWEzODAxZjNlZTEzOGIxYTI3Li40ZmY0NzYxM2IxZDMxZjE3MmFlZjUzNGM1
ZWMzNGEyZWQ5Yzc4MjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMDEg
IEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQg
U3BlZWNoIEphdmFTY3JpcHQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDAxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBFTkFCTEVfU0NSSVBURURfU1BFRUNIIGZsYWcuCisKKyAgICAgICAg
KiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMi0wMi0yOSAg
Tm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIFtR
dF1bV0syXSBHZXQgcmlkIG9mIHRoZSAjaWZkZWYgbWVzcyBpbiBMYXllclRyZWVIb3N0W1Byb3h5
XQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDU3NmU3NDZhZDkyZDVkY2QzMmVjNTg1NzUz
ZWVhNzIzYjBmMmQ4ZTIuLjJlOTIwNTlmOTFhNGQ1OTRlY2MzYTE5YzU5MjdmYjg5YjMxODQxNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTEwOSw2ICsxMDksNyBAQCBFTkFCTEVfUFJP
R1JFU1NfVEFHID0gRU5BQkxFX1BST0dSRVNTX1RBRzsKIEVOQUJMRV9RVU9UQSA9IDsKIEVOQUJM
RV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSID0gOwogRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FID0gRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FOworRU5BQkxFX1NDUklQVEVE
X1NQRUVDSCA9IDsKIEVOQUJMRV9TSEFET1dfRE9NID0gOwogRU5BQkxFX1NIQVJFRF9XT1JLRVJT
ID0gRU5BQkxFX1NIQVJFRF9XT1JLRVJTOwogRU5BQkxFX1NRTF9EQVRBQkFTRSA9IEVOQUJMRV9T
UUxfREFUQUJBU0U7CkBAIC0xMjYsNCArMTI3LDQgQEAgRU5BQkxFX1dFQl9USU1JTkcgPSA7CiBF
TkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNM
VDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JM
T0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJ
TFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9B
RCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBV
VF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdH
RVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcp
ICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkg
JChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikg
JChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX1NIQURFUlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJM
RV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVf
TVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdF
X1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9N
KSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJM
RV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJ
TkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZ
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5B
QkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAzZTIwOTAzNTVjOWE4MGMxNWY5ZTNlZTE1YTY2NDhk
ODlkODcyMWJjLi45NTIzZmE3Yzk1NmZkMGUzMDc2MzZjN2IwOTgyMTU2NTQ3MzQzNTVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtMTA5LDYgKzEwOSw3IEBAIEVOQUJMRV9QUk9HUkVTU19UQUcgPSBFTkFCTEVf
UFJPR1JFU1NfVEFHOwogRU5BQkxFX1FVT1RBID0gOwogRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09M
X0hBTkRMRVIgPSA7CiBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgPSBFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUU7CitFTkFCTEVfU0NSSVBURURfU1BFRUNIID0gOwogRU5BQkxF
X1NIQURPV19ET00gPSA7CiBFTkFCTEVfU0hBUkVEX1dPUktFUlMgPSBFTkFCTEVfU0hBUkVEX1dP
UktFUlM7CiBFTkFCTEVfU1FMX0RBVEFCQVNFID0gRU5BQkxFX1NRTF9EQVRBQkFTRTsKQEAgLTEy
Niw0ICsxMjcsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9IDsKIEVOQUJMRV9XT1JLRVJTID0gRU5B
QkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVf
Q1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURF
UlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZ
U1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05f
T0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJ
VFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5B
QkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVS
UykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVO
QUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVD
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQo
RU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9X
T1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChF
TkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCmluZGV4IGY2ZjJkNDc2NGNjYjZmMzJkMjMzNDdkMDQ4NWYzOGJiYmU0NGFjNTQu
LjkzYTFiY2I4MWQ4NThlY2E2ODNkMTg4YzZmZmNkOWUyMGZlMjBjZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCkBAIC0yOTYsNiArMjk2LDE2IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVf
SU5QVVRfU1BFRUNIPTAKIGVuZGlmICMgRU5EIEVOQUJMRV9JTlBVVF9TUEVFQ0gKIAogIyAtLS0t
CisjIFNjcmlwdGVkIFNwZWVjaCBBUEkgc3VwcG9ydAorIyAtLS0tCitpZiBFTkFCTEVfU0NSSVBU
RURfU1BFRUNICitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX1NDUklQVEVEX1NQRUVDSD0xCit3
ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX1NDUklQVEVEX1NQRUVDSD0xCitlbHNlCit3ZWJj
b3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX1NDUklQVEVEX1NQRUVDSD0wCitlbmRpZiAjIEVORCBF
TkFCTEVfU0NSSVBURURfU1BFRUNICisKKyMgLS0tLQogIyBJY29uIERhdGFiYXNlIFN1cHBvcnQK
ICMgLS0tLQogaWYgRU5BQkxFX0lDT05EQVRBQkFTRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvRE9NV2luZG93U3BlZWNoUmVjb2duaXRpb24uaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvRE9NV2luZG93U3BlZWNo
UmVjb2duaXRpb24uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzN2RmYWJjZTZjNzhiNzhjNTExMTZiNjAzNmIx
OGUzZWZjNTkzYTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nj
cmlwdGVkX3NwZWVjaC9ET01XaW5kb3dTcGVlY2hSZWNvZ25pdGlvbi5pZGwKQEAgLTAsMCArMSwz
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworICAgIGludGVyZmFjZSBbCisgICAgICAg
IENvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSCwKKyAgICAgICAgU3VwcGxlbWVudGFsPURPTVdp
bmRvdworICAgIF0gRE9NV2luZG93U3BlZWNoUmVjb2duaXRpb24geworICAgICAgICBhdHRyaWJ1
dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gU3BlZWNoUmVjb2duaXRpb25Db25zdHJ1Y3RvciB3ZWJr
aXRTcGVlY2hSZWNvZ25pdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRp
bWVdIFNwZWVjaFJlY29nbml0aW9uRXJyb3JDb25zdHJ1Y3RvciB3ZWJraXRTcGVlY2hSZWNvZ25p
dGlvbkVycm9yOworICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gU3BlZWNo
R3JhbW1hckNvbnN0cnVjdG9yIHdlYmtpdFNwZWVjaEdyYW1tYXI7CisgICAgICAgIGF0dHJpYnV0
ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBTcGVlY2hHcmFtbWFyTGlzdENvbnN0cnVjdG9yIHdlYmtp
dFNwZWVjaEdyYW1tYXJMaXN0OworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hHcmFtbWFyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaEdyYW1tYXIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU3OGEzNWUzM2QyOWJkZWM5ODU1NTE5NTFjMTIyYzdkZjJiMDlmMDgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hHcmFtbWFy
LmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKworI2luY2x1ZGUgIlNwZWVjaEdyYW1tYXIuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFNwZWVjaEdyYW1tYXI+IFNwZWVj
aEdyYW1tYXI6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hHcmFt
bWFyKTsKK30KKworUGFzc1JlZlB0cjxTcGVlY2hHcmFtbWFyPiBTcGVlY2hHcmFtbWFyOjpjcmVh
dGUoY29uc3QgU3RyaW5nJiBzcmMsIGRvdWJsZSB3ZWlnaHQpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBTcGVlY2hHcmFtbWFyKHNyYywgd2VpZ2h0KSk7Cit9CisKK1NwZWVjaEdyYW1tYXI6
OlNwZWVjaEdyYW1tYXIoKQorICAgIDogbV93ZWlnaHQoMS4wKQoreworfQorCitTcGVlY2hHcmFt
bWFyOjpTcGVlY2hHcmFtbWFyKGNvbnN0IFN0cmluZyYgc3JjLCBkb3VibGUgd2VpZ2h0KQorICAg
IDogbV9zcmMoc3JjKQorICAgICwgbV93ZWlnaHQod2VpZ2h0KQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoR3JhbW1h
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoR3JhbW1h
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg3YzViMDEwNDE0ZTJlNzVlNDAzNGQyMjZmNjJjMDMxMTUzN2U2Y2EK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVj
aC9TcGVlY2hHcmFtbWFyLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3Bl
ZWNoR3JhbW1hcl9oCisjZGVmaW5lIFNwZWVjaEdyYW1tYXJfaAorCisjaWYgRU5BQkxFKFNDUklQ
VEVEX1NQRUVDSCkKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTcGVlY2hHcmFt
bWFyIDogcHVibGljIFJlZkNvdW50ZWQ8U3BlZWNoR3JhbW1hcj4geworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFNwZWVjaEdyYW1tYXI+IGNyZWF0ZSgpOyAvLyBGSVhNRTogVGhlIHNw
ZWMgaXMgbm90IGNsZWFyIG9uIHdoYXQgdGhlIGNvbnN0cnVjdG9yIHNob3VsZCBsb29rIGxpa2Uu
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3BlZWNoR3JhbW1hcj4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYgc3JjLCBkb3VibGUgd2VpZ2h0KTsKKworICAgIFN0cmluZyBzcmMoKSB7IHJldHVybiBtX3Ny
YzsgfQorICAgIHZvaWQgc2V0U3JjKGNvbnN0IFN0cmluZyYgc3JjKSB7IG1fc3JjID0gc3JjOyB9
CisKKyAgICBkb3VibGUgd2VpZ2h0KCkgeyByZXR1cm4gbV93ZWlnaHQ7IH0KKyAgICB2b2lkIHNl
dFdlaWdodChkb3VibGUgd2VpZ2h0KSB7IG1fd2VpZ2h0ID0gd2VpZ2h0OyB9CisKK3ByaXZhdGU6
CisgICAgU3BlZWNoR3JhbW1hcigpOworICAgIFNwZWVjaEdyYW1tYXIoY29uc3QgU3RyaW5nJiBz
cmMsIGRvdWJsZSB3ZWlnaHQpOworCisgICAgU3RyaW5nIG1fc3JjOworICAgIGRvdWJsZSBtX3dl
aWdodDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShT
Q1JJUFRFRF9TUEVFQ0gpCisKKyNlbmRpZiAvLyBTcGVlY2hHcmFtbWFyX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaEdyYW1tYXIuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoR3JhbW1hci5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzM0MDVlYjk1ODg3ZDE2YWJmNTYxOTMzN2Y1MDU3ODE0MTFkMTk3MAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNo
L1NwZWVjaEdyYW1tYXIuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29y
ZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9U0NSSVBURURfU1BFRUNI
LAorICAgICAgICBDb25zdHJ1Y3RvcgorICAgIF0gU3BlZWNoR3JhbW1hciB7CisgICAgICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgc3JjOworICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgd2VpZ2h0Owor
ICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3Nw
ZWVjaC9TcGVlY2hHcmFtbWFyTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Njcmlw
dGVkX3NwZWVjaC9TcGVlY2hHcmFtbWFyTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWVjMTNmYjhhYzBm
MGMyMjlmNWNiMWZiNDJkYmI2N2EyNzE1MjgwOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaEdyYW1tYXJMaXN0LmNwcApAQCAt
MCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxF
KFNDUklQVEVEX1NQRUVDSCkKKworI2luY2x1ZGUgIlNwZWVjaEdyYW1tYXJMaXN0LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxTcGVlY2hHcmFtbWFyTGlzdD4gU3BlZWNo
R3JhbW1hckxpc3Q6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hH
cmFtbWFyTGlzdCk7Cit9CisKK1Bhc3NSZWZQdHI8U3BlZWNoR3JhbW1hcj4gU3BlZWNoR3JhbW1h
ckxpc3Q6Oml0ZW0odW5zaWduZWQgbG9uZyBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXgg
Pj0gbV9ncmFtbWFycy5zaXplKCkpCisgICAgICAgIHJldHVybiAwOyAvLyBGSVhNRTogVGhyb3cg
ZXhjZXB0aW9uPworCisgICAgcmV0dXJuIG1fZ3JhbW1hcnNbaW5kZXhdOworfQorCit2b2lkIFNw
ZWVjaEdyYW1tYXJMaXN0OjphZGRGcm9tVXJpKGNvbnN0IFN0cmluZyYgc3JjLCBkb3VibGUgd2Vp
Z2h0KQoreworICAgIG1fZ3JhbW1hcnMuYXBwZW5kKFNwZWVjaEdyYW1tYXI6OmNyZWF0ZShzcmMs
IHdlaWdodCkpOworfQorCit2b2lkIFNwZWVjaEdyYW1tYXJMaXN0OjphZGRGcm9tU3RyaW5nKGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBkb3VibGUgd2VpZ2h0KQoreworICAgIC8vIEZJWE1FOiBJcyB0
aGlzIHdoYXQgd2UncmUgc3VwcG9zZWQgdG8gZG8/CisgICAgbV9ncmFtbWFycy5hcHBlbmQoU3Bl
ZWNoR3JhbW1hcjo6Y3JlYXRlKFN0cmluZygiZGF0YToiKSArIHN0cmluZywgd2VpZ2h0KSk7Cit9
CisKK1NwZWVjaEdyYW1tYXJMaXN0OjpTcGVlY2hHcmFtbWFyTGlzdCgpCit7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hH
cmFtbWFyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3Bl
ZWNoR3JhbW1hckxpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzBmOGMxYzViODZkOWM1YjA4MTcyNmYzMjAx
ZTAzMWRmYmY4YWU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
Y3JpcHRlZF9zcGVlY2gvU3BlZWNoR3JhbW1hckxpc3QuaApAQCAtMCwwICsxLDU3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBTcGVlY2hHcmFtbWFyTGlzdF9oCisjZGVmaW5lIFNwZWVjaEdyYW1tYXJM
aXN0X2gKKworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNsdWRlICJTcGVlY2hH
cmFtbWFyLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3BlZWNoR3JhbW1hckxpc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxTcGVlY2hHcmFtbWFyTGlzdD4geworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFNwZWVjaEdyYW1tYXJMaXN0PiBjcmVhdGUoKTsKKworICAgIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9ncmFtbWFycy5zaXplKCk7IH0KKyAg
ICBQYXNzUmVmUHRyPFNwZWVjaEdyYW1tYXI+IGl0ZW0odW5zaWduZWQgbG9uZykgY29uc3Q7CisK
KyAgICB2b2lkIGFkZEZyb21VcmkoY29uc3QgU3RyaW5nJiBzcmMsIGRvdWJsZSB3ZWlnaHQgPSAx
LjApOworICAgIHZvaWQgYWRkRnJvbVN0cmluZyhjb25zdCBTdHJpbmcmLCBkb3VibGUgd2VpZ2h0
ID0gMS4wKTsKKworcHJpdmF0ZToKKyAgICBTcGVlY2hHcmFtbWFyTGlzdCgpOworCisgICAgVmVj
dG9yPFJlZlB0cjxTcGVlY2hHcmFtbWFyPiA+IG1fZ3JhbW1hcnM7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQorCisjZW5k
aWYgLy8gU3BlZWNoR3JhbW1hckxpc3RfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoR3JhbW1hckxpc3QuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoR3JhbW1hckxpc3QuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ1NTUxY2U2NGI4MWY0ZDZiMTI2ZTdiNTJmZjhlZmQ1M2ZjNmE5OTAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hHcmFt
bWFyTGlzdC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAg
ICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1TQ1JJUFRFRF9TUEVFQ0gsCisgICAg
ICAgIENvbnN0cnVjdG9yCisgICAgXSBTcGVlY2hHcmFtbWFyTGlzdCB7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgZ2V0dGVyIFNwZWVj
aEdyYW1tYXIgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICAgICAgdm9pZCBhZGRG
cm9tVXJpKGluIERPTVN0cmluZyBzcmMsIGluIFtPcHRpb25hbF0gZmxvYXQgd2VpZ2h0KTsKKyAg
ICAgICAgdm9pZCBhZGRGcm9tU3RyaW5nKGluIERPTVN0cmluZyBzdHJpbmcsIGluIFtPcHRpb25h
bF0gZmxvYXQgd2VpZ2h0KTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBlODZmNmRkN2YzMmU2NDllMzVlZGEwNzc2Zjc1MDM2NDI3NzA2ZTAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvbi5jcHAKQEAgLTAsMCArMSwyMjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQorCisjaW5jbHVkZSAiU3BlZWNo
UmVjb2duaXRpb24uaCIKKworI2luY2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uQ29udHJvbGxlci5o
IgorI2luY2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uRXJyb3IuaCIKKyNpbmNsdWRlICJTcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxT
cGVlY2hSZWNvZ25pdGlvbj4gU3BlZWNoUmVjb2duaXRpb246OmNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0KQoreworICAgIFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbj4gc3Bl
ZWNoUmVjb2duaXRpb24oYWRvcHRSZWYobmV3IFNwZWVjaFJlY29nbml0aW9uKGNvbnRleHQpKSk7
CisgICAgc3BlZWNoUmVjb2duaXRpb24tPnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBz
cGVlY2hSZWNvZ25pdGlvbi5yZWxlYXNlKCk7Cit9CisKK3ZvaWQgU3BlZWNoUmVjb2duaXRpb246
OnN0YXJ0KCkKK3sKKyAgICBBU1NFUlQobV9jb250cm9sbGVyKTsgLy8gRklYTUU6IFNwZWMgc2hv
dWxkIHNheSB3aGF0IHRvIGRvIGlmIHdlIGFyZSBhbHJlYWR5IHN0YXJ0ZWQuCisgICAgbV9jb250
cm9sbGVyLT5zdGFydCh0aGlzLCBtX2dyYW1tYXJzLmdldCgpLCBtX2xhbmcsIG1fY29udGludW91
cyk7Cit9CisKK3ZvaWQgU3BlZWNoUmVjb2duaXRpb246OnN0b3BGdW5jdGlvbigpCit7CisgICAg
QVNTRVJUKG1fY29udHJvbGxlcik7CisgICAgbV9jb250cm9sbGVyLT5zdG9wKHRoaXMpOyAvLyBG
SVhNRTogU3BlYyBzaG91bGQgc2F5IHdoYXQgdG8gZG8gaWYgd2UgYXJlIG5vdCBzdGFydGVkLgor
fQorCit2b2lkIFNwZWVjaFJlY29nbml0aW9uOjphYm9ydCgpCit7CisgICAgQVNTRVJUKG1fY29u
dHJvbGxlcik7CisgICAgbV9jb250cm9sbGVyLT5hYm9ydCh0aGlzKTsgLy8gRklYTUU6IFNwZWMg
c2hvdWxkIHNheSB3aGF0IHRvIGRvIGlmIHdlIGFyZSBub3Qgc3RhcnRlZC4KK30KKwordm9pZCBT
cGVlY2hSZWNvZ25pdGlvbjo6YXVkaW9TdGFydENhbGxiYWNrKCkKK3sKKyAgICBmaXJlQXVkaW9T
dGFydCgpOworfQorCit2b2lkIFNwZWVjaFJlY29nbml0aW9uOjpzb3VuZFN0YXJ0Q2FsbGJhY2so
KQoreworICAgIGZpcmVTb3VuZFN0YXJ0KCk7Cit9CisKK3ZvaWQgU3BlZWNoUmVjb2duaXRpb246
OnNwZWVjaFN0YXJ0Q2FsbGJhY2soKQoreworICAgIGZpcmVTcGVlY2hTdGFydCgpOworfQorCit2
b2lkIFNwZWVjaFJlY29nbml0aW9uOjpzcGVlY2hFbmRDYWxsYmFjaygpCit7CisgICAgZmlyZVNw
ZWVjaEVuZCgpOworfQorCit2b2lkIFNwZWVjaFJlY29nbml0aW9uOjphdWRpb0VuZENhbGxiYWNr
KCkKK3sKKyAgICBmaXJlQXVkaW9FbmQoKTsKK30KKwordm9pZCBTcGVlY2hSZWNvZ25pdGlvbjo6
cmVzdWx0Q2FsbGJhY2soUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gcmVzdWx0
LCB1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4LCBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9u
UmVzdWx0TGlzdD4gcmVzdWx0SGlzdG9yeSkKK3sKKyAgICBmaXJlUmVzdWx0KHJlc3VsdCwgcmVz
dWx0SW5kZXgsIHJlc3VsdEhpc3RvcnkpOworfQorCit2b2lkIFNwZWVjaFJlY29nbml0aW9uOjpu
b01hdGNoQ2FsbGJhY2soUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gcmVzdWx0
KQoreworICAgIGZpcmVOb01hdGNoKHJlc3VsdCk7Cit9CisKK3ZvaWQgU3BlZWNoUmVjb2duaXRp
b246OnJlc3VsdERlbGV0ZWRDYWxsYmFjayh1bnNpZ25lZCByZXN1bHRJbmRleCwgUGFzc1JlZlB0
cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3RvcnkpCit7CisgICAgZmly
ZVJlc3VsdERlbGV0ZWQocmVzdWx0SW5kZXgsIHJlc3VsdEhpc3RvcnkpOworfQorCit2b2lkIFNw
ZWVjaFJlY29nbml0aW9uOjplcnJvckNhbGxiYWNrKFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRp
b25FcnJvcj4gZXJyb3IpCit7CisgICAgZmlyZUVycm9yKGVycm9yKTsKK30KKwordm9pZCBTcGVl
Y2hSZWNvZ25pdGlvbjo6c3RhcnRDYWxsYmFjaygpCit7CisgICAgZmlyZVN0YXJ0KCk7Cit9CisK
K3ZvaWQgU3BlZWNoUmVjb2duaXRpb246OmVuZENhbGxiYWNrKCkKK3sKKyAgICBmaXJlRW5kKCk7
Cit9CisKK2Jvb2wgU3BlZWNoUmVjb2duaXRpb246OmNhblN1c3BlbmQoKSBjb25zdAoreworICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQhCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFNwZWVj
aFJlY29nbml0aW9uOjpzdG9wKCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IQorfQorCiti
b29sIFNwZWVjaFJlY29nbml0aW9uOjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAoreworICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQhCisgICAgcmV0dXJuIGZhbHNlOworfQorCitjb25zdCBBdG9t
aWNTdHJpbmcmIFNwZWVjaFJlY29nbml0aW9uOjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclNwZWVjaFJlY29nbml0aW9uOworfQor
CitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBTcGVlY2hSZWNvZ25pdGlvbjo6c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpOworfQorCitTcGVlY2hSZWNvZ25pdGlvbjo6U3BlZWNoUmVjb2du
aXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IEFjdGl2ZURPTU9i
amVjdChjb250ZXh0LCB0aGlzKQorICAgICwgbV9ncmFtbWFycyhTcGVlY2hHcmFtbWFyTGlzdDo6
Y3JlYXRlKCkpIC8vIEZJWE1FOiBUaGUgc3BlYyBpcyBub3QgY2xlYXIgb24gdGhlIGRlZmF1bHQg
dmFsdWUgZm9yIHRoZSBncmFtbWFycyBhdHRyaWJ1dGUuCisgICAgLCBtX2NvbnRpbnVvdXMoZmFs
c2UpCisgICAgLCBtX2NvbnRyb2xsZXIoMCkKK3sKKyAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5pc0RvY3VtZW50KCkpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRp
Y19jYXN0PERvY3VtZW50Kj4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKworICAgIFBhZ2Uq
IHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpOworICAgIEFTU0VSVChwYWdlKTsKKworICAgIG1fY29u
dHJvbGxlciA9IFNwZWVjaFJlY29nbml0aW9uQ29udHJvbGxlcjo6ZnJvbShwYWdlKTsKKyAgICBB
U1NFUlQobV9jb250cm9sbGVyKTsKK30KKworU3BlZWNoUmVjb2duaXRpb246On5TcGVlY2hSZWNv
Z25pdGlvbigpCit7CisgICAgbV9jb250cm9sbGVyLT51bnJlZ2lzdGVyU3BlZWNoUmVjb2duaXRp
b24odGhpcyk7Cit9CisKK3ZvaWQgU3BlZWNoUmVjb2duaXRpb246OmZpcmVBdWRpb1N0YXJ0KCkK
K3sKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmF1ZGlvc3Rh
cnRFdmVudCwgLypjYW5idWJsZT0qL2ZhbHNlLCAvKmNhbmNlbGFibGU9Ki9mYWxzZSkpOworfQor
Cit2b2lkIFNwZWVjaFJlY29nbml0aW9uOjpmaXJlU291bmRTdGFydCgpCit7CisgICAgZGlzcGF0
Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zb3VuZHN0YXJ0RXZlbnQsIC8qY2Fu
YnVibGU9Ki9mYWxzZSwgLypjYW5jZWxhYmxlPSovZmFsc2UpKTsKK30KKwordm9pZCBTcGVlY2hS
ZWNvZ25pdGlvbjo6ZmlyZVNwZWVjaFN0YXJ0KCkKK3sKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnNwZWVjaHN0YXJ0RXZlbnQsIC8qY2FuYnVibGU9Ki9mYWxz
ZSwgLypjYW5jZWxhYmxlPSovZmFsc2UpKTsKK30KKwordm9pZCBTcGVlY2hSZWNvZ25pdGlvbjo6
ZmlyZVNwZWVjaEVuZCgpCit7CisgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5zcGVlY2hlbmRFdmVudCwgLypjYW5idWJsZT0qL2ZhbHNlLCAvKmNhbmNlbGFibGU9
Ki9mYWxzZSkpOworfQorCit2b2lkIFNwZWVjaFJlY29nbml0aW9uOjpmaXJlQXVkaW9FbmQoKQor
eworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYXVkaW9lbmRF
dmVudCwgLypjYW5idWJsZT0qL2ZhbHNlLCAvKmNhbmNlbGFibGU9Ki9mYWxzZSkpOworfQorCit2
b2lkIFNwZWVjaFJlY29nbml0aW9uOjpmaXJlUmVzdWx0KFBhc3NSZWZQdHI8U3BlZWNoUmVjb2du
aXRpb25SZXN1bHQ+IHJlc3VsdCwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwgUGFzc1JlZlB0
cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3RvcnkpCit7CisgICAgZGlz
cGF0Y2hFdmVudChTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVSZXN1bHQocmVzdWx0LCBy
ZXN1bHRJbmRleCwgcmVzdWx0SGlzdG9yeSkpOworfQorCit2b2lkIFNwZWVjaFJlY29nbml0aW9u
OjpmaXJlTm9NYXRjaChQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiByZXN1bHQp
Cit7CisgICAgZGlzcGF0Y2hFdmVudChTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVOb01h
dGNoKHJlc3VsdCkpOworfQorCit2b2lkIFNwZWVjaFJlY29nbml0aW9uOjpmaXJlUmVzdWx0RGVs
ZXRlZCh1bnNpZ25lZCByZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJl
c3VsdExpc3Q+IHJlc3VsdEhpc3RvcnkpCit7CisgICAgZGlzcGF0Y2hFdmVudChTcGVlY2hSZWNv
Z25pdGlvbkV2ZW50OjpjcmVhdGVSZXN1bHREZWxldGVkKHJlc3VsdEluZGV4LCByZXN1bHRIaXN0
b3J5KSk7Cit9CisKK3ZvaWQgU3BlZWNoUmVjb2duaXRpb246OmZpcmVFcnJvcihQYXNzUmVmUHRy
PFNwZWVjaFJlY29nbml0aW9uRXJyb3I+IGVycm9yKQoreworICAgIGRpc3BhdGNoRXZlbnQoU3Bl
ZWNoUmVjb2duaXRpb25FdmVudDo6Y3JlYXRlRXJyb3IoZXJyb3IpKTsKK30KKwordm9pZCBTcGVl
Y2hSZWNvZ25pdGlvbjo6ZmlyZVN0YXJ0KCkKK3sKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLnN0YXJ0RXZlbnQsIC8qY2FuYnVibGU9Ki9mYWxzZSwgLypjYW5j
ZWxhYmxlPSovZmFsc2UpKTsKK30KKwordm9pZCBTcGVlY2hSZWNvZ25pdGlvbjo6ZmlyZUVuZCgp
Cit7CisgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lbmRFdmVu
dCwgLypjYW5idWJsZT0qL2ZhbHNlLCAvKmNhbmNlbGFibGU9Ki9mYWxzZSkpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNo
UmVjb2duaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1Nw
ZWVjaFJlY29nbml0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjljNjFiYzVmZWU1NDhlYTQyYTdiMjZlNGUy
MTg0OGQyNTI2NWRhZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmgKQEAgLTAsMCArMSwxNDIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFNwZWVjaFJlY29nbml0aW9uX2gKKyNkZWZpbmUgU3BlZWNoUmVjb2du
aXRpb25faAorCisjaWYgRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKworI2luY2x1ZGUgIkFjdGl2
ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNp
bmNsdWRlICJTcGVlY2hHcmFtbWFyTGlzdC5oIgorI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgor
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owor
Y2xhc3MgU3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVyOworY2xhc3MgU3BlZWNoUmVjb2duaXRp
b25FcnJvcjsKK2NsYXNzIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0OworY2xhc3MgU3BlZWNoUmVj
b2duaXRpb25SZXN1bHRMaXN0OworCitjbGFzcyBTcGVlY2hSZWNvZ25pdGlvbiA6IHB1YmxpYyBS
ZWZDb3VudGVkPFNwZWVjaFJlY29nbml0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVi
bGljIEV2ZW50VGFyZ2V0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTcGVlY2hS
ZWNvZ25pdGlvbj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIFBhc3NS
ZWZQdHI8U3BlZWNoR3JhbW1hckxpc3Q+IGdyYW1tYXJzKCkgeyByZXR1cm4gbV9ncmFtbWFyczsg
fQorICAgIHZvaWQgc2V0R3JhbW1hcnMoUGFzc1JlZlB0cjxTcGVlY2hHcmFtbWFyTGlzdD4gZ3Jh
bW1hcnMpIHsgbV9ncmFtbWFycyA9IGdyYW1tYXJzOyB9CisKKyAgICBTdHJpbmcgbGFuZygpIHsg
cmV0dXJuIG1fbGFuZzsgfQorICAgIHZvaWQgc2V0TGFuZyhjb25zdCBTdHJpbmcmIGxhbmcpIHsg
bV9sYW5nID0gbGFuZzsgfQorCisgICAgYm9vbCBjb250aW51b3VzKCkgeyByZXR1cm4gbV9jb250
aW51b3VzOyB9CisgICAgdm9pZCBzZXRDb250aW51b3VzKGJvb2wgY29udGludW91cykgeyBtX2Nv
bnRpbnVvdXMgPSBjb250aW51b3VzOyB9CisKKyAgICAvLyBDYWxsYWJsZSBieSB0aGUgdXNlci4K
KyAgICB2b2lkIHN0YXJ0KCk7CisgICAgdm9pZCBzdG9wRnVuY3Rpb24oKTsKKyAgICB2b2lkIGFi
b3J0KCk7CisKKyAgICAvLyBDYWxsZWQgYnkgdGhlIFNwZWVjaFJlY29nbml0aW9uQ2xpZW50Lgor
ICAgIHZvaWQgYXVkaW9TdGFydENhbGxiYWNrKCk7CisgICAgdm9pZCBzb3VuZFN0YXJ0Q2FsbGJh
Y2soKTsKKyAgICB2b2lkIHNwZWVjaFN0YXJ0Q2FsbGJhY2soKTsKKyAgICB2b2lkIHNwZWVjaEVu
ZENhbGxiYWNrKCk7CisgICAgdm9pZCBhdWRpb0VuZENhbGxiYWNrKCk7CisgICAgdm9pZCByZXN1
bHRDYWxsYmFjayhQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiwgdW5zaWduZWQg
bG9uZyByZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+
IHJlc3VsdEhpc3RvcnkpOworICAgIHZvaWQgbm9NYXRjaENhbGxiYWNrKFBhc3NSZWZQdHI8U3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHQ+KTsKKyAgICB2b2lkIHJlc3VsdERlbGV0ZWRDYWxsYmFjayh1
bnNpZ25lZCByZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExp
c3Q+IHJlc3VsdEhpc3RvcnkpOworICAgIHZvaWQgZXJyb3JDYWxsYmFjayhQYXNzUmVmUHRyPFNw
ZWVjaFJlY29nbml0aW9uRXJyb3I+KTsKKyAgICB2b2lkIHN0YXJ0Q2FsbGJhY2soKTsKKyAgICB2
b2lkIGVuZENhbGxiYWNrKCk7CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICB2aXJ0dWFs
IGJvb2wgY2FuU3VzcGVuZCgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzdG9w
KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0
IE9WRVJSSURFOworCisgICAgLy8gRXZlbnRUYXJnZXQKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJS
SURFOworCisgICAgdXNpbmcgUmVmQ291bnRlZDxTcGVlY2hSZWNvZ25pdGlvbj46OnJlZjsKKyAg
ICB1c2luZyBSZWZDb3VudGVkPFNwZWVjaFJlY29nbml0aW9uPjo6ZGVyZWY7CisKKyAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGF1ZGlvc3RhcnQpOworICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoc291bmRzdGFydCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihzcGVlY2hzdGFydCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihzcGVlY2hlbmQpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
c291bmRlbmQpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYXVkaW9lbmQp
OworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocmVzdWx0KTsKKyAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG5vbWF0Y2gpOworICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIocmVzdWx0ZGVsZXRlZCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihlcnJvcik7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihzdGFydCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlbmQpOworCitw
cml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBSZWZDb3VudGVkPFNwZWVjaFJlY29nbml0aW9uPjsK
KworICAgIFNwZWVjaFJlY29nbml0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKyAgICB+
U3BlZWNoUmVjb2duaXRpb24oKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgdmlydHVhbCB2
b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyBkZXJlZigpOyB9CisgICAgdmlydHVhbCBF
dmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFIHsgcmV0dXJuICZtX2V2
ZW50VGFyZ2V0RGF0YTsgfQorICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVu
dFRhcmdldERhdGEoKSBPVkVSUklERSB7IHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7IH0KKwor
ICAgIHZvaWQgZmlyZUF1ZGlvU3RhcnQoKTsKKyAgICB2b2lkIGZpcmVTb3VuZFN0YXJ0KCk7Cisg
ICAgdm9pZCBmaXJlU3BlZWNoU3RhcnQoKTsKKyAgICB2b2lkIGZpcmVTcGVlY2hFbmQoKTsKKyAg
ICB2b2lkIGZpcmVBdWRpb0VuZCgpOworICAgIHZvaWQgZmlyZVJlc3VsdChQYXNzUmVmUHRyPFNw
ZWVjaFJlY29nbml0aW9uUmVzdWx0PiwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwgUGFzc1Jl
ZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3RvcnkpOworICAgIHZv
aWQgZmlyZU5vTWF0Y2goUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4pOworICAg
IHZvaWQgZmlyZVJlc3VsdERlbGV0ZWQodW5zaWduZWQgcmVzdWx0SW5kZXgsIFBhc3NSZWZQdHI8
U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0PiByZXN1bHRIaXN0b3J5KTsKKyAgICB2b2lkIGZp
cmVFcnJvcihQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXJyb3I+KTsKKyAgICB2b2lkIGZp
cmVTdGFydCgpOworICAgIHZvaWQgZmlyZUVuZCgpOworCisgICAgUmVmUHRyPFNwZWVjaEdyYW1t
YXJMaXN0PiBtX2dyYW1tYXJzOworICAgIFN0cmluZyBtX2xhbmc7CisgICAgYm9vbCBtX2NvbnRp
bnVvdXM7CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisKKyAgICBT
cGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNl
bmRpZiAvLyBTcGVlY2hSZWNvZ25pdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTJhNGJjMGRjYWE0MjA2NWE2OWY0OWU5YTQ4YzdlMjhmNDNmMjYwYwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJl
Y29nbml0aW9uLmlkbApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEy
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgewor
ICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSCwKKyAg
ICAgICAgQWN0aXZlRE9NT2JqZWN0LAorICAgICAgICBDb25zdHJ1Y3RvciwKKyAgICAgICAgQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKKyAgICAgICAgRXZlbnRUYXJnZXQsCisgICAg
XSBTcGVlY2hSZWNvZ25pdGlvbiB7CisgICAgICAgIGF0dHJpYnV0ZSBTcGVlY2hHcmFtbWFyTGlz
dCBncmFtbWFyczsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBsYW5nOworICAgICAgICBh
dHRyaWJ1dGUgYm9vbGVhbiBjb250aW51b3VzOworCisgICAgICAgIHZvaWQgc3RhcnQoKTsKKyAg
ICAgICAgW0ltcGxlbWVudGVkQXM9c3RvcEZ1bmN0aW9uXSB2b2lkIHN0b3AoKTsKKyAgICAgICAg
dm9pZCBhYm9ydCgpOworCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYXVkaW9z
dGFydDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zb3VuZHN0YXJ0OworICAg
ICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNwZWVjaHN0YXJ0OworICAgICAgICBhdHRy
aWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNwZWVjaGVuZDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50
TGlzdGVuZXIgb25zb3VuZGVuZDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25h
dWRpb2VuZDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25yZXN1bHQ7CisgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ubm9tYXRjaDsKKyAgICAgICAgYXR0cmlidXRl
IEV2ZW50TGlzdGVuZXIgb25yZXN1bHRkZWxldGVkOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbmVycm9yOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnN0YXJ0
OworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmVuZDsKKyAgICB9OworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVj
b2duaXRpb25BbHRlcm5hdGl2ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVk
X3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNThj
MWU3OGU4NjYxZTU3NzY5YzVlZGYwNjBlMzc4MjJjMTljYzBhCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25B
bHRlcm5hdGl2ZS5jcHAKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNsdWRlICJTcGVlY2hS
ZWNvZ25pdGlvbkFsdGVybmF0aXZlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1Jl
ZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlPiBTcGVlY2hSZWNvZ25pdGlvbkFsdGVy
bmF0aXZlOjpjcmVhdGUoY29uc3QgU3RyaW5nJiB0cmFuc2NyaXB0LCBkb3VibGUgY29uZmlkZW5j
ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRp
dmUodHJhbnNjcmlwdCwgY29uZmlkZW5jZSkpOworfQorCitTcGVlY2hSZWNvZ25pdGlvbkFsdGVy
bmF0aXZlOjpTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlKGNvbnN0IFN0cmluZyYgdHJhbnNj
cmlwdCwgZG91YmxlIGNvbmZpZGVuY2UpCisgICAgOiBtX3RyYW5zY3JpcHQodHJhbnNjcmlwdCkK
KyAgICAsIG1fY29uZmlkZW5jZShjb25maWRlbmNlKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25B
bHRlcm5hdGl2ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3Bl
ZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyODFlMDFiNTkzMTY1MTE3
Y2I5MzIwMGI2YzUxMjFmNzZkZjExNzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlLmgK
QEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3BlZWNoUmVjb2duaXRpb25BbHRl
cm5hdGl2ZV9oCisjZGVmaW5lIFNwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmVfaAorCisjaWYg
RU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitjbGFzcyBTcGVlY2hSZWNvZ25pdGlvbkFsdGVy
bmF0aXZlIDogcHVibGljIFJlZkNvdW50ZWQ8U3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZT4g
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uQWx0ZXJu
YXRpdmU+IGNyZWF0ZShjb25zdCBTdHJpbmcmLCBkb3VibGUpOworCisgICAgU3RyaW5nIHRyYW5z
Y3JpcHQoKSB7IHJldHVybiBtX3RyYW5zY3JpcHQ7IH0KKyAgICBkb3VibGUgY29uZmlkZW5jZSgp
IHsgcmV0dXJuIG1fY29uZmlkZW5jZTsgfQorCitwcml2YXRlOgorICAgIFNwZWVjaFJlY29nbml0
aW9uQWx0ZXJuYXRpdmUoY29uc3QgU3RyaW5nJiwgZG91YmxlKTsKKworICAgIFN0cmluZyBtX3Ry
YW5zY3JpcHQ7CisgICAgZG91YmxlIG1fY29uZmlkZW5jZTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNlbmRpZiAv
LyBTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2du
aXRpb25BbHRlcm5hdGl2ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTlkNGRlYzNkZGU5MjViMjY0Mjk4ODQz
MzE0NmMxNGU4ODVjNmI2ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUuaWRsCkBAIC0w
LDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQ29uZGl0aW9uYWw9U0NSSVBURURfU1BFRUNICisgICAgXSBTcGVlY2hSZWNvZ25pdGlv
bkFsdGVybmF0aXZlIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0cmFu
c2NyaXB0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY29uZmlkZW5jZTsKKyAg
ICB9OworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
Y3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25DbGllbnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjI1
NTgwN2YxYzE2ODYzNGM5YzQwYjZmZTExN2Y2OGIwZjFiYmQ0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25D
bGllbnQuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTcGVlY2hSZWNvZ25p
dGlvbkNsaWVudF9oCisjZGVmaW5lIFNwZWVjaFJlY29nbml0aW9uQ2xpZW50X2gKKworI2lmIEVO
QUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBhZ2U7CitjbGFzcyBTcGVlY2hHcmFtbWFyTGlz
dDsKK2NsYXNzIFNwZWVjaFJlY29nbml0aW9uOworCitjbGFzcyBTcGVlY2hSZWNvZ25pdGlvbkNs
aWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0KFNwZWVjaFJlY29nbml0aW9u
KiwgY29uc3QgU3BlZWNoR3JhbW1hckxpc3QqLCBjb25zdCBTdHJpbmcmIGxhbmcsIGJvb2wgY29u
dGludW91cykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdG9wKFNwZWVjaFJlY29nbml0aW9uKikg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBhYm9ydChTcGVlY2hSZWNvZ25pdGlvbiopID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eUhpZGRlbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
dW5yZWdpc3RlclNwZWVjaFJlY29nbml0aW9uKFNwZWVjaFJlY29nbml0aW9uKikgPSAwOworCisg
ICAgdmlydHVhbCB+U3BlZWNoUmVjb2duaXRpb25DbGllbnQoKSB7IH0KK307CisKK3ZvaWQgcHJv
dmlkZVNwZWVjaFJlY29nbml0aW9uVG8oUGFnZSosIFNwZWVjaFJlY29nbml0aW9uQ2xpZW50Kik7
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTQ1JJUFRFRF9T
UEVFQ0gpCisKKyNlbmRpZiAvLyBTcGVlY2hSZWNvZ25pdGlvbkNsaWVudF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlv
bkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gv
U3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmFjOWRkMjBmYTVh
Y2EzNzJjMDNlYTJhMTBkMDQ0ZTU2MDFiOTNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVy
LmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uQ29udHJvbGxlci5oIgorCisjaWYgRU5BQkxFKFNDUklQ
VEVEX1NQRUVDSCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjb25zdCBBdG9taWNTdHJpbmcm
IFNwZWVjaFJlY29nbml0aW9uQ29udHJvbGxlcjo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoIlNwZWVjaFJlY29nbml0aW9u
Q29udHJvbGxlciIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworU3BlZWNoUmVjb2duaXRpb25D
b250cm9sbGVyOjpTcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIoU3BlZWNoUmVjb2duaXRpb25D
bGllbnQqIGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKK3sKK30KKworU3BlZWNoUmVj
b2duaXRpb25Db250cm9sbGVyOjp+U3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVyKCkKK3sKKyAg
ICAvLyBGSVhNRTogbV9jbGllbnQtPnBhZ2VEZXN0cm95ZWQoKTsKK30KKworUGFzc093blB0cjxT
cGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXI+IFNwZWVjaFJlY29nbml0aW9uQ29udHJvbGxlcjo6
Y3JlYXRlKFNwZWVjaFJlY29nbml0aW9uQ2xpZW50KiBjbGllbnQpCit7CisgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBTcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIoY2xpZW50KSk7Cit9CisKK3Zv
aWQgcHJvdmlkZVNwZWVjaFJlY29nbml0aW9uVG8oUGFnZSogcGFnZSwgU3BlZWNoUmVjb2duaXRp
b25DbGllbnQqIGNsaWVudCkKK3sKKyAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXI6OnBy
b3ZpZGVUbyhwYWdlLCBTcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1l
KCksIFNwZWVjaFJlY29nbml0aW9uQ29udHJvbGxlcjo6Y3JlYXRlKGNsaWVudCkpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0NSSVBURURfU1BFRUNI
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3Bl
ZWNoUmVjb2duaXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Njcmlw
dGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzAx
YzRjZDhlMzExY2U5YTIxOWU0Y2FlZDlkOTE1ZjE2ZjI3ZDI5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25D
b250cm9sbGVyLmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3BlZWNoUmVj
b2duaXRpb25Db250cm9sbGVyX2gKKyNkZWZpbmUgU3BlZWNoUmVjb2duaXRpb25Db250cm9sbGVy
X2gKKworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNsdWRlICJQYWdlLmgiCisj
aW5jbHVkZSAiU3BlZWNoUmVjb2duaXRpb25DbGllbnQuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNwZWVjaFJlY29nbml0aW9u
Q29udHJvbGxlciA6IHB1YmxpYyBTdXBwbGVtZW50PFBhZ2U+IHsKK3B1YmxpYzoKKyAgICB2aXJ0
dWFsIH5TcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIoKTsKKworICAgIFNwZWVjaFJlY29nbml0
aW9uQ2xpZW50KiBjbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQorICAgIHZvaWQg
c3RhcnQoU3BlZWNoUmVjb2duaXRpb24qIHJlY29nbml0aW9uLCBjb25zdCBTcGVlY2hHcmFtbWFy
TGlzdCogZ3JhbW1hcnMsIGNvbnN0IFN0cmluZyYgbGFuZywgYm9vbCBjb250aW51b3VzKSB7IG1f
Y2xpZW50LT5zdGFydChyZWNvZ25pdGlvbiwgZ3JhbW1hcnMsIGxhbmcsIGNvbnRpbnVvdXMpOyB9
CisgICAgdm9pZCBzdG9wKFNwZWVjaFJlY29nbml0aW9uKiByZWNvZ25pdGlvbikgeyBtX2NsaWVu
dC0+c3RvcChyZWNvZ25pdGlvbik7IH0KKyAgICB2b2lkIGFib3J0KFNwZWVjaFJlY29nbml0aW9u
KiByZWNvZ25pdGlvbikgeyBtX2NsaWVudC0+YWJvcnQocmVjb2duaXRpb24pOyB9CisgICAgdm9p
ZCB2aXNpYmlsaXR5SGlkZGVuKCkgeyBtX2NsaWVudC0+dmlzaWJpbGl0eUhpZGRlbigpOyB9Cisg
ICAgdm9pZCB1bnJlZ2lzdGVyU3BlZWNoUmVjb2duaXRpb24oU3BlZWNoUmVjb2duaXRpb24qIHJl
Y29nbml0aW9uKSB7IG1fY2xpZW50LT51bnJlZ2lzdGVyU3BlZWNoUmVjb2duaXRpb24ocmVjb2du
aXRpb24pOyB9CisKKyAgICBzdGF0aWMgUGFzc093blB0cjxTcGVlY2hSZWNvZ25pdGlvbkNvbnRy
b2xsZXI+IGNyZWF0ZShTcGVlY2hSZWNvZ25pdGlvbkNsaWVudCopOworICAgIHN0YXRpYyBjb25z
dCBBdG9taWNTdHJpbmcmIHN1cHBsZW1lbnROYW1lKCk7CisgICAgc3RhdGljIFNwZWVjaFJlY29n
bml0aW9uQ29udHJvbGxlciogZnJvbShQYWdlKiBwYWdlKSB7IHJldHVybiBzdGF0aWNfY2FzdDxT
cGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIqPihTdXBwbGVtZW50PFBhZ2U+Ojpmcm9tKHBhZ2Us
IHN1cHBsZW1lbnROYW1lKCkpKTsgfQorCitwcml2YXRlOgorICAgIFNwZWVjaFJlY29nbml0aW9u
Q29udHJvbGxlcihTcGVlY2hSZWNvZ25pdGlvbkNsaWVudCopOworCisgICAgU3BlZWNoUmVjb2du
aXRpb25DbGllbnQqIG1fY2xpZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKworI2VuZGlmIC8vIFNwZWVjaFJlY29n
bml0aW9uQ29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nj
cmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIwYTdhMWJjYjI5ZjExN2FmMDc4Y2QwZGQ4ODJmNzRhMjIyOTVlOGIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvbkVycm9yLmNwcApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKworI2luY2x1ZGUgIlNw
ZWVjaFJlY29nbml0aW9uRXJyb3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVm
UHRyPFNwZWVjaFJlY29nbml0aW9uRXJyb3I+IFNwZWVjaFJlY29nbml0aW9uRXJyb3I6OmNyZWF0
ZShLaW5kIGtpbmQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNwZWVjaFJlY29nbml0aW9uRXJyb3Ioa2luZCwgbWVzc2FnZSkpOworfQorCitTcGVl
Y2hSZWNvZ25pdGlvbkVycm9yOjpTcGVlY2hSZWNvZ25pdGlvbkVycm9yKEtpbmQga2luZCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQorICAgIDogbV9raW5kKGtpbmQpCisgICAgLCBtX21lc3NhZ2Uo
bWVzc2FnZSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFNDUklQVEVEX1NQRUVDSCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMzEzODM3M2Q2YzYyN2EwYTMzZTE4MDAwYjg2MzhjOWE1MjJhNzc2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVj
b2duaXRpb25FcnJvci5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNwZWVj
aFJlY29nbml0aW9uRXJyb3JfaAorI2RlZmluZSBTcGVlY2hSZWNvZ25pdGlvbkVycm9yX2gKKwor
I2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgU3BlZWNoUmVjb2duaXRpb25FcnJvciA6IHB1YmxpYyBSZWZDb3VudGVkPFNwZWVjaFJl
Y29nbml0aW9uRXJyb3I+IHsKK3B1YmxpYzoKKyAgICBlbnVtIEtpbmQgeworICAgICAgICBPVEhF
UiA9IDAsCisgICAgICAgIE5PX1NQRUVDSCA9IDEsCisgICAgICAgIEFCT1JURUQgPSAyLAorICAg
ICAgICBBVURJT19DQVBUVVJFID0gMywKKyAgICAgICAgTkVUV09SSyA9IDQsCisgICAgICAgIE5P
VF9BTExPV0VEID0gNSwKKyAgICAgICAgU0VSVklDRV9OT1RfQUxMT1dFRCA9IDYsCisgICAgICAg
IEJBRF9HUkFNTUFSID0gNywKKyAgICAgICAgTEFOR1VBR0VfTk9UX1NVUFBPUlRFRCA9IDgKKyAg
ICB9OworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25FcnJvcj4gY3Jl
YXRlKEtpbmQsIGNvbnN0IFN0cmluZyYpOworCisgICAgS2luZCBjb2RlKCkgeyByZXR1cm4gbV9r
aW5kOyB9CisgICAgY29uc3QgU3RyaW5nJiBtZXNzYWdlKCkgeyByZXR1cm4gbV9tZXNzYWdlOyB9
CisKK3ByaXZhdGU6CisgICAgU3BlZWNoUmVjb2duaXRpb25FcnJvcihLaW5kLCBjb25zdCBTdHJp
bmcmKTsKKworICAgIEtpbmQgbV9raW5kOworICAgIFN0cmluZyBtX21lc3NhZ2U7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0NSSVBURURfU1BFRUNI
KQorCisjZW5kaWYgLy8gU3BlZWNoUmVjb2duaXRpb25FcnJvcl9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9y
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uRXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5ZWNiMWQwYTdhZmYxNGRkZTFjNzcyNmI3ODNi
ZWQ2ZTNkMGZhZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nj
cmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9yLmlkbApAQCAtMCwwICsxLDQzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPVNDUklQVEVEX1NQRUVDSAorICAgIF0gU3BlZWNoUmVjb2duaXRpb25FcnJvciB7Cisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE9USEVSID0gMDsKKyAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgTk9fU1BFRUNIID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
QUJPUlRFRCA9IDI7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEFVRElPX0NBUFRVUkUg
PSAzOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBORVRXT1JLID0gNDsKKyAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX0FMTE9XRUQgPSA1OworICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTRVJWSUNFX05PVF9BTExPV0VEID0gNjsKKyAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgQkFEX0dSQU1NQVIgPSA3OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBM
QU5HVUFHRV9OT1RfU1VQUE9SVEVEID0gODsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgY29kZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBtZXNzYWdlOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk1ZjEyOWE3ZWM5ZGNlNDRmN2ZhZTA1M2U5NDcxMzdiZjE4MzJjYjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVl
Y2hSZWNvZ25pdGlvbkV2ZW50LmNwcApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKworI2luY2x1ZGUg
IlNwZWVjaFJlY29nbml0aW9uRXZlbnQuaCIKKworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bh
c3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25FdmVudD4gU3BlZWNoUmVjb2duaXRpb25FdmVudDo6
Y3JlYXRlUmVzdWx0KFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+IHJlc3VsdCwg
dW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJl
c3VsdExpc3Q+IHJlc3VsdEhpc3RvcnkpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVl
Y2hSZWNvZ25pdGlvbkV2ZW50KGV2ZW50TmFtZXMoKS5yZXN1bHRFdmVudCwgcmVzdWx0LCByZXN1
bHRJbmRleCwgcmVzdWx0SGlzdG9yeSkpOworfQorCitQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0
aW9uRXZlbnQ+IFNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OmNyZWF0ZU5vTWF0Y2goUGFzc1JlZlB0
cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gcmVzdWx0KQoreworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU3BlZWNoUmVjb2duaXRpb25FdmVudChldmVudE5hbWVzKCkubm9tYXRjaEV2ZW50LCBy
ZXN1bHQsIDAsIDApKTsKK30KKworUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkV2ZW50PiBT
cGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVSZXN1bHREZWxldGVkKHVuc2lnbmVkIHJlc3Vs
dEluZGV4LCBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdD4gcmVzdWx0SGlz
dG9yeSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFJlY29nbml0aW9uRXZlbnQo
ZXZlbnROYW1lcygpLnJlc3VsdGRlbGV0ZWRFdmVudCwgMCwgcmVzdWx0SW5kZXgsIHJlc3VsdEhp
c3RvcnkpKTsKK30KKworUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkV2ZW50PiBTcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVFcnJvcihQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9u
RXJyb3I+IGVycm9yKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3BlZWNoUmVjb2duaXRp
b25FdmVudChlcnJvcikpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNwZWVjaFJlY29nbml0
aW9uRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBldmVudE5hbWVz
KCkuaW50ZXJmYWNlRm9yU3BlZWNoUmVjb2duaXRpb25FdmVudDsKK30KKworU3BlZWNoUmVjb2du
aXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50TmFtZSwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gcmVzdWx0LCB1bnNp
Z25lZCBsb25nIHJlc3VsdEluZGV4LCBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0
TGlzdD4gcmVzdWx0SGlzdG9yeSkKKyAgICA6IEV2ZW50KGV2ZW50TmFtZSwgLypjYW5CdWJibGU9
Ki9mYWxzZSwgLypjYW5jZWxhYmxlPSovZmFsc2UpCisgICAgLCBtX3Jlc3VsdChyZXN1bHQpCisg
ICAgLCBtX2Vycm9yKDApCisgICAgLCBtX3Jlc3VsdEluZGV4KHJlc3VsdEluZGV4KQorICAgICwg
bV9yZXN1bHRIaXN0b3J5KHJlc3VsdEhpc3RvcnkpCit7Cit9CisKK1NwZWVjaFJlY29nbml0aW9u
RXZlbnQ6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQoUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlv
bkVycm9yPiBlcnJvcikKKyAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCAvKmNh
bkJ1YmJsZT0qL2ZhbHNlLCAvKmNhbmNlbGFibGU9Ki9mYWxzZSkgLy8gRklYTUU6IFRoZSBzcGVj
IHNob3VsZCBzYXkgd2hldGhlciB0aGVzZSBidWJibGUgb3Igbm90LgorICAgICwgbV9lcnJvcihl
cnJvcikKKyAgICAsIG1fcmVzdWx0SW5kZXgoMCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDdkM2JjYjJlNzJhNjE3Y2JiMjNhZDcwY2FiMjhl
MzhkYTliODRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3Jp
cHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5oCkBAIC0wLDAgKzEsNzIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFNwZWVjaFJlY29nbml0aW9uRXZlbnRfaAorI2RlZmluZSBTcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50X2gKKworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNs
dWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uRXJyb3IuaCIKKyNpbmNs
dWRlICJTcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5oIgorI2luY2x1ZGUgIlNwZWVjaFJlY29nbml0
aW9uUmVzdWx0TGlzdC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBTcGVlY2hSZWNvZ25pdGlvbkVycm9yOworY2xhc3MgU3BlZWNoUmVj
b2duaXRpb25SZXN1bHQ7CitjbGFzcyBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q7CisKK2Ns
YXNzIFNwZWVjaFJlY29nbml0aW9uRXZlbnQgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXZlbnQ+IGNyZWF0ZVJlc3VsdChQ
YXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiwgdW5zaWduZWQgbG9uZyByZXN1bHRJ
bmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3Rv
cnkpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXZlbnQ+IGNyZWF0
ZU5vTWF0Y2goUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4pOworICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXZlbnQ+IGNyZWF0ZVJlc3VsdERlbGV0ZWQo
dW5zaWduZWQgcmVzdWx0SW5kZXgsIFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRM
aXN0PiByZXN1bHRIaXN0b3J5KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25p
dGlvbkV2ZW50PiBjcmVhdGVFcnJvcihQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXJyb3I+
KTsKKworICAgIFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+IHJlc3VsdCgpIHsg
cmV0dXJuIG1fcmVzdWx0OyB9CisgICAgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkVycm9y
PiBlcnJvcigpIHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICBzaG9ydCByZXN1bHRJbmRleCgpIHsg
cmV0dXJuIG1fcmVzdWx0SW5kZXg7IH0gLy8gRklYTUU6IFNwZWMgc2F5cyB0aGlzIHNob3VsZCBi
ZSBzaG9ydCwgYnV0IG90aGVyIGluZGljZXMgYXJlIHVuc2lnbmVkIGludHMuCisgICAgUGFzc1Jl
ZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3RvcnkoKSB7IHJldHVy
biBtX3Jlc3VsdEhpc3Rvcnk7IH0KKworICAgIC8vIEV2ZW50CisgICAgdmlydHVhbCBjb25zdCBB
dG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdCBPVkVSUklERTsKKworcHJpdmF0ZToK
KyAgICBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1l
LCBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiwgdW5zaWduZWQgbG9uZyByZXN1
bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhp
c3RvcnkpOworICAgIFNwZWVjaFJlY29nbml0aW9uRXZlbnQoUGFzc1JlZlB0cjxTcGVlY2hSZWNv
Z25pdGlvbkVycm9yPik7CisKKyAgICBSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+IG1f
cmVzdWx0OworICAgIFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkVycm9yPiBtX2Vycm9yOworICAg
IHNob3J0IG1fcmVzdWx0SW5kZXg7CisgICAgUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0
TGlzdD4gbV9yZXN1bHRIaXN0b3J5OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKworI2VuZGlmIC8vIFNwZWVjaFJlY29n
bml0aW9uRXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRl
ZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wOWQzMDM2MzFkMTcxZDYyOGQyNWViNWNkODY2MjRjYjE3YjIyMTQyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2du
aXRpb25FdmVudC5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBldmVudHMg
eworICAgIGludGVyZmFjZSBbCisgICAgXSBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50IDogRXZlbnQg
eworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3BlZWNoUmVjb2duaXRpb25SZXN1bHQgcmVz
dWx0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3BlZWNoUmVjb2duaXRpb25FcnJvciBl
cnJvcjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNob3J0IHJlc3VsdEluZGV4OworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0IHJlc3Vs
dEhpc3Rvcnk7CisgICAgfTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMxZTNmYzQwMGYwYWY4NjNlN2QxMWFlNTJiOGI5ZmE3ZGRiZTlmNjkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9T
cGVlY2hSZWNvZ25pdGlvblJlc3VsdC5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNs
dWRlICJTcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1Bhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+IFNwZWVjaFJlY29nbml0aW9uUmVz
dWx0OjpjcmVhdGUoY29uc3QgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0
aXZlPiA+JiBhbHRlcm5hdGl2ZXMsIGJvb2wgZmluYWwpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdChhbHRlcm5hdGl2ZXMsIGZpbmFsKSk7Cit9CisK
K1Bhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZT4gU3BlZWNoUmVjb2duaXRp
b25SZXN1bHQ6Oml0ZW0odW5zaWduZWQgbG9uZyBpbmRleCkKK3sKKyAgICBpZiAoaW5kZXggPj0g
bV9hbHRlcm5hdGl2ZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsgLy8gRklYTUU6IFRocm93
IGV4Y2VwdGlvbj8KKworICAgIHJldHVybiBtX2FsdGVybmF0aXZlc1tpbmRleF07Cit9CisKK1Nw
ZWVjaFJlY29nbml0aW9uUmVzdWx0OjpTcGVlY2hSZWNvZ25pdGlvblJlc3VsdChjb25zdCBWZWN0
b3I8UmVmUHRyPFNwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmU+ID4mIGFsdGVybmF0aXZlcywg
Ym9vbCBmaW5hbCkKKyAgICA6IG1fYWx0ZXJuYXRpdmVzKGFsdGVybmF0aXZlcykKKyAgICAsIG1f
ZmluYWwoZmluYWwpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMWJhYzAxYzEwNDQxNTcyYWYyYzNmNTcwM2EzMTY2ZTg5ZWY2MGIxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHQuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdF9oCisjZGVmaW5lIFNwZWVjaFJlY29nbml0aW9uUmVz
dWx0X2gKKworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNsdWRlICJTcGVlY2hS
ZWNvZ25pdGlvbkFsdGVybmF0aXZlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHQgOiBwdWJsaWMgUmVmQ291bnRlZDxTcGVlY2hSZWNvZ25pdGlv
blJlc3VsdD4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0
aW9uUmVzdWx0PiBjcmVhdGUoY29uc3QgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkFs
dGVybmF0aXZlPiA+JiwgYm9vbCBmaW5hbCk7CisKKyAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCgp
IHsgcmV0dXJuIG1fYWx0ZXJuYXRpdmVzLnNpemUoKTsgfQorICAgIFBhc3NSZWZQdHI8U3BlZWNo
UmVjb2duaXRpb25BbHRlcm5hdGl2ZT4gaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICBi
b29sIGZpbmFsKCkgeyByZXR1cm4gbV9maW5hbDsgfQorCitwcml2YXRlOgorICAgIFNwZWVjaFJl
Y29nbml0aW9uUmVzdWx0KGNvbnN0IFZlY3RvcjxSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25BbHRl
cm5hdGl2ZT4gPiYsIGJvb2wgZmluYWwpOworCisgICAgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNv
Z25pdGlvbkFsdGVybmF0aXZlPiA+IG1fYWx0ZXJuYXRpdmVzOworICAgIGJvb2wgbV9maW5hbDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTQ1JJUFRF
RF9TUEVFQ0gpCisKKyNlbmRpZiAvLyBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25p
dGlvblJlc3VsdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9T
cGVlY2hSZWNvZ25pdGlvblJlc3VsdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Q2ODIxZjFkNDdjYThlMzJl
ZDJkMmY3OTk0ZTFmMGYwNWJmZTQwNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0LmlkbApAQCAt
MCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisg
ICAgICAgIENvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSAorICAgIF0gU3BlZWNoUmVjb2duaXRp
b25SZXN1bHQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5n
dGg7CisgICAgICAgIGdldHRlciBTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlIGl0ZW0oaW4g
dW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IGZpbmFsOworICAgIH07Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExp
c3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZjNzMwYzU2ZDdlODhmZGYwYjUwZjAzNDJjYzVhMTUxOTVlYmM5
ODkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NjcmlwdGVkX3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNI
KQorCisjaW5jbHVkZSAiU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IFNw
ZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdDo6Y3JlYXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHQ+ID4mIHJlc3VsdHMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QocmVzdWx0cykpOworfQorCitQYXNzUmVm
UHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q6
Oml0ZW0odW5zaWduZWQgbG9uZyBpbmRleCkKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9yZXN1bHRz
LnNpemUoKSkKKyAgICAgICAgcmV0dXJuIDA7IC8vIEZJWE1FOiBUaHJvdyBleGNlcHRpb24/CisK
KyAgICByZXR1cm4gbV9yZXN1bHRzW2luZGV4XTsKK30KKworU3BlZWNoUmVjb2duaXRpb25SZXN1
bHRMaXN0OjpTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QoY29uc3QgVmVjdG9yPFJlZlB0cjxT
cGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gPiYgcmVzdWx0cykKKyAgICA6IG1fcmVzdWx0cyhyZXN1
bHRzKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
U0NSSVBURURfU1BFRUNIKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3Jp
cHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mZTNiYTc2NWRkNmM1ODA1ZjBjODk4MmRmZmUzZjBlNmNmODIxMTMwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0LmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0X2gKKyNkZWZpbmUgU3BlZWNoUmVjb2du
aXRpb25SZXN1bHRMaXN0X2gKKworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisKKyNpbmNs
dWRlICJTcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFNwZWVj
aFJlY29nbml0aW9uUmVzdWx0TGlzdD4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdD4gY3JlYXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8
U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+ID4mKTsKKworICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3Ro
KCkgeyByZXR1cm4gbV9yZXN1bHRzLnNpemUoKTsgfQorICAgIFBhc3NSZWZQdHI8U3BlZWNoUmVj
b2duaXRpb25SZXN1bHQ+IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CisKK3ByaXZhdGU6Cisg
ICAgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0KGNvbnN0IFZlY3RvcjxSZWZQdHI8U3BlZWNo
UmVjb2duaXRpb25SZXN1bHQ+ID4mKTsKKworICAgIFZlY3RvcjxSZWZQdHI8U3BlZWNoUmVjb2du
aXRpb25SZXN1bHQ+ID4gbV9yZXN1bHRzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKworI2VuZGlmIC8vIFNwZWVjaFJl
Y29nbml0aW9uUmVzdWx0TGlzdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHRM
aXN0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iMjY3MmI0MWMyMzc4NjQ2Y2E5MmRiM2IzOGIwZmM5NmQzYzNj
ODZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zY3JpcHRlZF9z
cGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0LmlkbApAQCAtMCwwICsxLDMzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlv
bmFsPVNDUklQVEVEX1NQRUVDSAorICAgIF0gU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0IHsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAgICAg
ICBnZXR0ZXIgU3BlZWNoUmVjb2duaXRpb25SZXN1bHQgaXRlbShpbiB1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBi
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggM2YzYjQ1NzhkMzM1ODQxYjk5NjhkOGJj
MDE1NDM2ZjJiYWRkNGY4NC4uMTY1MWQyMzU3ZDkyN2FmYjZkMTA5NjAzMTExZWZhMzBkMzFmZjE3
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCkBAIC0zMTU0LDYgKzMxNTQsMTAgQEAgY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX0lOUFVUX1NQRUVDSD0xKSB7CiAgICAgICAgIHJlbmRlcmluZy9SZW5kZXJJbnB1dFNw
ZWVjaC5jcHAKIH0KIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NDUklQVEVEX1NQRUVDSD0x
KSB7CisgICAgU09VUkNFUyArPSAjIEZJWE1FIQorfQorCiBjb250YWlucyhERUZJTkVTLCBFTkFC
TEVfUVVPVEE9MSkgewogICAgIEhFQURFUlMgKz0gXAogICAgICAgICBzdG9yYWdlL1N0b3JhZ2VJ
bmZvLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCBiNzc3ZmUw
NjczNjJlOWZmZDJlOGRhOWZmMTMzYWEzNWU0MjA3OTA2Li41MWFmMTUzYTVkNGMxZjJkOGIxZmUy
MGI0OTVjZDRiNjAwZDg2Mjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cApAQCAtNTYsNiArNTYsNyBAQAogICAgICAgJy4uL01vZHVsZXMvaW50ZW50cycsCiAgICAgICAn
Li4vTW9kdWxlcy9pbmRleGVkZGInLAogICAgICAgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAor
ICAgICAgJy4uL01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoJywKICAgICAgICcuLi9Nb2R1bGVzL3dl
YnNvY2tldHMnLAogICAgICAgJy4uL2FjY2Vzc2liaWxpdHknLAogICAgICAgJy4uL2FjY2Vzc2li
aWxpdHkvY2hyb21pdW0nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDAwNDE5NTc5OWVmZDgyYjMzYzdj
NjQzMDk0MzVmMDcxMmY1ZDJkOTkuLjlmYWIwYzcyOTZkY2IwMzg2MGU1ZWQ0N2MxMjg1ZWFiM2Iw
NDAwNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTc0Niw2ICs3NDYsMTUgQEAKICAgICAgICAgICAg
ICdNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5p
ZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24uaWRs
JywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlk
bCcsCisgICAgICAgICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvRE9NV2luZG93U3BlZWNo
UmVjb2duaXRpb24uaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9T
cGVlY2hSZWNvZ25pdGlvbi5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvc2NyaXB0ZWRfc3Bl
ZWNoL1NwZWVjaEdyYW1tYXIuaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVzL3NjcmlwdGVkX3Nw
ZWVjaC9TcGVlY2hHcmFtbWFyTGlzdC5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvc2NyaXB0
ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUuaWRsJywKKyAgICAgICAgICAg
ICdNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9yLmlkbCcsCisg
ICAgICAgICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVu
dC5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uUmVzdWx0LmlkbCcsCisgICAgICAgICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gv
U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93
ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYnNvY2tl
dHMvRE9NV2luZG93V2ViU29ja2V0LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldC5pZGwnLApAQCAtMTMyOSw2ICsxMzM4LDI1IEBACiAgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDb250cm9sbGVyLmNwcCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgnLAorICAgICAgICAgICAg
J01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaEdyYW1tYXIuY3BwJywKKyAgICAgICAgICAg
ICdNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hHcmFtbWFyLmgnLAorICAgICAgICAgICAg
J01vZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaEdyYW1tYXJMaXN0LmNwcCcsCisgICAgICAg
ICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoR3JhbW1hckxpc3QuaCcsCisgICAg
ICAgICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uY3BwJywK
KyAgICAgICAgICAgICdNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5o
JywKKyAgICAgICAgICAgICdNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlv
bkFsdGVybmF0aXZlLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gv
U3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL3Nj
cmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNsaWVudC5oJywKKyAgICAgICAgICAgICdN
b2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIuaCcsCisg
ICAgICAgICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25Db250
cm9sbGVyLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNo
UmVjb2duaXRpb25FcnJvci5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvc2NyaXB0ZWRfc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9zY3Jp
cHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5jcHAnLAorICAgICAgICAgICAgJ01v
ZHVsZXMvc2NyaXB0ZWRfc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaCcsCisgICAgICAg
ICAgICAnTW9kdWxlcy9zY3JpcHRlZF9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuY3Bw
JywKKyAgICAgICAgICAgICdNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlv
blJlc3VsdC5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL3NjcmlwdGVkX3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvblJlc3VsdExpc3QuY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL3NjcmlwdGVk
X3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJz
b2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5jcHAKaW5kZXggY2FkZDJjNDRkMTc0YmFkMWIwNmMzMjYxYmNjNzBlYzU5OWVkZmEwNi4u
MTVmOTRkNGQ5ZDM4MTQyMWI3YmViZTk1NGY1MmE5N2Y3MGE0NGI5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuY3BwCkBAIC01Niw2ICs1NiwxMCBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Omlz
RGV2aWNlTW90aW9uRW5hYmxlZCA9IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6aXNTcGVlY2hJbnB1dEVuYWJsZWQgPSB0cnVlOwogCisjaWYgRU5BQkxFKFNDUklQ
VEVEX1NQRUVDSCkKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTY3JpcHRlZFNwZWVj
aEVuYWJsZWQgPSBmYWxzZTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIGJv
b2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNNZWRpYVN0cmVhbUVuYWJsZWQgPSB0cnVlOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IDMxOWE2M2U1YWMyNTAxZTBhNmQxM2JkZTE0Yjg3
N2RlY2JlOTAzOWYuLjQ1M2IxMjE0MTJhZTdjNThhMGZmNTViODY4NDA2ZDkyYzdhMjAzMmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCkBAIC0xNDcsNiArMTQ3LDE1IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Ym9vbCB3ZWJraXRTcGVlY2hFbmFibGVkKCkgeyByZXR1cm4gaXNTcGVlY2hJbnB1dEVuYWJsZWQ7
IH0KICAgICBzdGF0aWMgYm9vbCB3ZWJraXRHcmFtbWFyRW5hYmxlZCgpIHsgcmV0dXJuIGlzU3Bl
ZWNoSW5wdXRFbmFibGVkOyB9CiAKKyNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQorICAgIHN0
YXRpYyB2b2lkIHNldFNjcmlwdGVkU3BlZWNoRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1Nj
cmlwdGVkU3BlZWNoRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIHNjcmlw
dGVkU3BlZWNoRW5hYmxlZCgpIHsgcmV0dXJuIGlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkOyB9Cisg
ICAgc3RhdGljIGJvb2wgd2Via2l0U3BlZWNoUmVjb2duaXRpb25FbmFibGVkKCkgeyByZXR1cm4g
aXNTY3JpcHRlZFNwZWVjaEVuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCB3ZWJraXRTcGVlY2hS
ZWNvZ25pdGlvbkVycm9yRW5hYmxlZCgpIHsgcmV0dXJuIGlzU2NyaXB0ZWRTcGVlY2hFbmFibGVk
OyB9CisgICAgc3RhdGljIGJvb2wgd2Via2l0U3BlZWNoR3JhbW1hckVuYWJsZWQoKSB7IHJldHVy
biBpc1NjcmlwdGVkU3BlZWNoRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIHdlYmtpdFNwZWVj
aEdyYW1tYXJMaXN0RW5hYmxlZCgpIHsgcmV0dXJuIGlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkOyB9
CisjZW5kaWYKKwogI2lmIEVOQUJMRShYSFJfUkVTUE9OU0VfQkxPQikKICAgICBzdGF0aWMgYm9v
bCB4aHJSZXNwb25zZUJsb2JFbmFibGVkKCkgeyByZXR1cm4gaXNYSFJSZXNwb25zZUJsb2JFbmFi
bGVkOyB9CiAgICAgc3RhdGljIHZvaWQgc2V0WEhSUmVzcG9uc2VCbG9iRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBpc1hIUlJlc3BvbnNlQmxvYkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KQEAgLTIy
MSw2ICsyMzAsOSBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlzRGV2aWNlTW90aW9uRW5h
YmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsKICAgICBz
dGF0aWMgYm9vbCBpc1NwZWVjaElucHV0RW5hYmxlZDsKKyNpZiBFTkFCTEUoU0NSSVBURURfU1BF
RUNIKQorICAgIHN0YXRpYyBib29sIGlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkOworI2VuZGlmCiAj
aWYgRU5BQkxFKFhIUl9SRVNQT05TRV9CTE9CKQogICAgIHN0YXRpYyBib29sIGlzWEhSUmVzcG9u
c2VCbG9iRW5hYmxlZDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggYTYxNmY3
NDc2ZWFhYTMxODY0ZGI3NWY5MjQ2MWE5ZTViZmNmMzZmMC4uODYwNDIzMjI1NzM0Njk5NzQ2OWU3
ZDJiMjMyNGI4MGQ1NTg4NzRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xODUsNiAr
MTg1LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAgICAgbWFjcm8od2Via2l0c3Bl
ZWNoY2hhbmdlKSBcCiAgICAgXAorICAgIG1hY3JvKGF1ZGlvc3RhcnQpIFwKKyAgICBtYWNybyhz
b3VuZHN0YXJ0KSBcCisgICAgbWFjcm8oc3BlZWNoc3RhcnQpIFwKKyAgICBtYWNybyhzcGVlY2hl
bmQpIFwKKyAgICBtYWNybyhzb3VuZGVuZCkgXAorICAgIG1hY3JvKGF1ZGlvZW5kKSBcCisgICAg
bWFjcm8ocmVzdWx0KSBcCisgICAgbWFjcm8obm9tYXRjaCkgXAorICAgIG1hY3JvKHJlc3VsdGRl
bGV0ZWQpIFwKKyAgICBtYWNybyhzdGFydCkgXAorICAgIG1hY3JvKGVuZCkgXAorICAgIFwKICAg
ICBtYWNybyh3ZWJnbGNvbnRleHRsb3N0KSBcCiAgICAgbWFjcm8od2ViZ2xjb250ZXh0cmVzdG9y
ZWQpIFwKICAgICBtYWNybyh3ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9yKSBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmluCmluZGV4IDFiNTAwY2Q3OTlhOGZjNDZjZGM5YWU3OWZhZTA4MDZkZTBhYWQx
ZGQuLmQ4NjYxMTI0MDgwZTgxZDE5NTljOGMwOTUyYjU2OTYxYzdhZThmMjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmluCkBAIC0zMSw2ICszMSw3IEBAIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGNv
bmRpdGlvbmFsPVdFQl9BVURJTwogT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50IGNvbmRpdGlv
bmFsPVdFQl9BVURJTwogTWVkaWFTdHJlYW1FdmVudCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0K
IFNwZWVjaElucHV0RXZlbnQgY29uZGl0aW9uYWw9SU5QVVRfU1BFRUNICitTcGVlY2hSZWNvZ25p
dGlvbkV2ZW50IGNvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSAogV2ViR0xDb250ZXh0RXZlbnQg
Y29uZGl0aW9uYWw9V0VCR0wKIFN0b3JhZ2VFdmVudAogU1ZHRXZlbnRzIGludGVyZmFjZU5hbWU9
RXZlbnQsIGNvbmRpdGlvbmFsPVNWRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rv
cnkuaW4KaW5kZXggNzgzOTZiZDNjODQ4MTZlMWE1ZmQzZmQzZGFjZjUyODNlYzlkNjlkMC4uYTcz
YTRiY2UyODlkYWZjZDcxZjA1NjgzMzYwNjRlZTkxNTU3ZjRhMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0yMSw2ICsyMSw3IEBAIE5vdGlmaWNhdGlvbiBj
b25kaXRpb25hbD1OT1RJRklDQVRJT05TCiBQZWVyQ29ubmVjdGlvbiBjb25kaXRpb25hbD1NRURJ
QV9TVFJFQU0KIFNoYXJlZFdvcmtlciBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUwogU2hhcmVk
V29ya2VyQ29udGV4dCBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUworU3BlZWNoUmVjb2duaXRp
b24gY29uZGl0aW9uYWw9U0NSSVBURURfU1BFRUNICiBTVkdFbGVtZW50SW5zdGFuY2UgY29uZGl0
aW9uYWw9U1ZHCiBUZXh0VHJhY2sgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKIFRleHRUcmFja0N1
ZSBjb25kaXRpb25hbD1WSURFT19UUkFDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYjdlNzc2YjUz
MjI1OWEyMDRlMDE0NGUyMjFmMGJkYmY0ZDZhNDEwNS4uMGY4ZTQyZjAyZGE4YTZjMTZjYjA0ZDE1
ZjczNDI3ZmZkMWNmZTNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMDAxLDYgKzEwMDEsOCBA
QCB2b2lkIFBhZ2U6OnNldFZpc2liaWxpdHlTdGF0ZShQYWdlVmlzaWJpbGl0eVN0YXRlIHZpc2li
aWxpdHlTdGF0ZSwgYm9vbCBpc0luaXRpYQogCiAgICAgaWYgKCFpc0luaXRpYWxTdGF0ZSAmJiBt
X21haW5GcmFtZSkKICAgICAgICAgbV9tYWluRnJhbWUtPmRpc3BhdGNoVmlzaWJpbGl0eVN0YXRl
Q2hhbmdlRXZlbnQoKTsKKworICAgIC8vIEZJWE1FOiBTb21laG93IG5vdGlmeSBTcGVlY2hSZWNv
Z25pdGlvbkNvbnRyb2xsZXIgd2hlbiB0aGUgcGFnZSBpcyBoaWRkZW4uCiB9CiAKIFBhZ2VWaXNp
YmlsaXR5U3RhdGUgUGFnZTo6dmlzaWJpbGl0eVN0YXRlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaQppbmRleCA0YzQ2ZDRkZTQ4M2Q3YzFhZWRjODg5NDNhMTRlMjgwYTRi
NDE4MmFkLi5iM2RkMGM0OGRkMDY5MmVhMjY0MTM2OTg5MzAzYmJlMzBlNTc2MWE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC04MSw2ICs4MSw3IEBACiAgICAgICAnRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FPTEnLAogICAgICAgJ0VOQUJMRV9SVUJZPTEnLAog
ICAgICAgJ0VOQUJMRV9TQU5EQk9YPTEnLAorICAgICAgJ0VOQUJMRV9TQ1JJUFRFRF9TUEVFQ0g9
MScsCiAgICAgICAnRU5BQkxFX1NIQURPV19ET009MScsCiAgICAgICAnRU5BQkxFX1NIQVJFRF9X
T1JLRVJTPTEnLAogICAgICAgJ0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HPTEnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAppbmRleCAz
NGUzOTQ3ZjYzODkxMjM1OGQxN2U0NjU3NTA3MzYyMzZmOGRjMGI1Li4xODdlZjBmNTVkM2RkOTM2
OTdkNmQ2ZGUwMDU5OGY1OGQ1NDkzZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaApAQCAtOTEsNiArOTEsOSBAQCBwdWJsaWM6
CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVTcGVlY2hJbnB1dChib29sKTsK
ICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzU3BlZWNoSW5wdXRFbmFibGVkKCk7CiAK
KyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZVNjcmlwdGVkU3BlZWNoKGJvb2wp
OworICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNTY3JpcHRlZFNwZWVjaEVuYWJsZWQo
KTsKKwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlWEhSUmVzcG9uc2VCbG9i
KGJvb2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNYSFJSZXNwb25zZUJsb2JF
bmFibGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1
bnRpbWVGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1l
RmVhdHVyZXMuY3BwCmluZGV4IDE0YzkxZmRhYmQyMzYyYzZmNzFlOTg1NGE4ZmY2NzMzZjk4ZmJm
YTkuLmQyOTdhODI4Y2M2MTVmMjY3MTNhMDRjMmEyZjI0Y2Q0ODljZWZlYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApAQCAtMjYw
LDYgKzI2MCwyMiBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNTcGVlY2hJbnB1dEVuYWJs
ZWQoKQogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzcGVlY2hJbnB1dEVuYWJs
ZWQoKTsKIH0KIAordm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVNjcmlwdGVkU3BlZWNo
KGJvb2wgZW5hYmxlKQoreworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2V0U2NyaXB0ZWRTcGVlY2hFbmFibGVkKGVuYWJsZSk7CisjZW5k
aWYKK30KKworYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzU2NyaXB0ZWRTcGVlY2hFbmFibGVk
KCkKK3sKKyNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQorICAgIHJldHVybiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzY3JpcHRlZFNwZWVjaEVuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJu
IGZhbHNlOworI2VuZGlmCit9CisKIHZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVYSFJS
ZXNwb25zZUJsb2IoYm9vbCBlbmFibGUpCiB7CiAjaWYgRU5BQkxFKFhIUl9SRVNQT05TRV9CTE9C
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGM2YjJk
OTkwMzcwYzMyZDI2ZGEwZGQzNTBiNTQxODU5YmNhZWU4NDMuLmNiOTM3ZWY1ZWM1ZTUzODFmYWFh
NGI0ZTliMTIxYjg1ODQwYTNkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5jcHAKQEAgLTEwNCw2ICsxMDQsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTcGVlY2hJbnB1dENsaWVudElt
cGwuaCIKKyNpbmNsdWRlICJTcGVlY2hSZWNvZ25pdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIlRl
eHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVHJhY2VFdmVudC5o
IgpAQCAtNDEwLDYgKzQxMSw5IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xp
ZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICBwcm92aWRlU3BlZWNo
SW5wdXRUbyhtX3BhZ2UuZ2V0KCksIG1fc3BlZWNoSW5wdXRDbGllbnQuZ2V0KCkpOwogI2VuZGlm
CisjaWYgRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKKyAgICBwcm92aWRlU3BlZWNoUmVjb2duaXRp
b25UbyhtX3BhZ2UuZ2V0KCksIDApOyAvLyBGSVhNRTogUHJvdmlkZSBhIHJlYWwgaW1wbGVtZW50
YXRpb24uCisjZW5kaWYKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBwcm92aWRlTm90
aWZpY2F0aW9uKG1fcGFnZS5nZXQoKSwgbm90aWZpY2F0aW9uUHJlc2VudGVySW1wbCgpKTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAzZTIwOTAzNTVjOWE4MGMxNWY5ZTNlZTE1YTY2NDhk
ODlkODcyMWJjLi45NTIzZmE3Yzk1NmZkMGUzMDc2MzZjN2IwOTgyMTU2NTQ3MzQzNTVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtMTA5LDYgKzEwOSw3IEBAIEVOQUJMRV9QUk9HUkVTU19UQUcgPSBF
TkFCTEVfUFJPR1JFU1NfVEFHOwogRU5BQkxFX1FVT1RBID0gOwogRU5BQkxFX1JFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIgPSA7CiBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgPSBFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUU7CitFTkFCTEVfU0NSSVBURURfU1BFRUNIID0gOwog
RU5BQkxFX1NIQURPV19ET00gPSA7CiBFTkFCTEVfU0hBUkVEX1dPUktFUlMgPSBFTkFCTEVfU0hB
UkVEX1dPUktFUlM7CiBFTkFCTEVfU1FMX0RBVEFCQVNFID0gRU5BQkxFX1NRTF9EQVRBQkFTRTsK
QEAgLTEyNiw0ICsxMjcsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9IDsKIEVOQUJMRV9XT1JLRVJT
ID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChF
TkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X1NIQURFUlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9G
SUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVU
QVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJ
U0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1Nf
RklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVN
KSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNF
UlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9B
UEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BF
RCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IDNlMjA5MDM1NWM5YTgwYzE1ZjllM2VlMTVhNjY0OGQ4OWQ4NzIxYmMuLjk1
MjNmYTdjOTU2ZmQwZTMwNzYzNmM3YjA5ODIxNTY1NDczNDM1NWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0x
MDksNiArMTA5LDcgQEAgRU5BQkxFX1BST0dSRVNTX1RBRyA9IEVOQUJMRV9QUk9HUkVTU19UQUc7
CiBFTkFCTEVfUVVPVEEgPSA7CiBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiA9IDsK
IEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSA9IEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRTsKK0VOQUJMRV9TQ1JJUFRFRF9TUEVFQ0ggPSA7CiBFTkFCTEVfU0hBRE9XX0RPTSA9
IDsKIEVOQUJMRV9TSEFSRURfV09SS0VSUyA9IEVOQUJMRV9TSEFSRURfV09SS0VSUzsKIEVOQUJM
RV9TUUxfREFUQUJBU0UgPSBFTkFCTEVfU1FMX0RBVEFCQVNFOwpAQCAtMTI2LDQgKzEyNyw0IEBA
IEVOQUJMRV9XRUJfVElNSU5HID0gOwogRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
TklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVSUykg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJM
RV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5B
QkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RP
Q09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9T
SEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNF
KSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9P
QkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FU
SU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktF
UlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9B
UEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
TElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JF
U1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVEX1NQ
RUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5B
QkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQo
RU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YjA2ZGQ0MTFhMmQ5ZTdmNmIwZGE1YzAw
NWJmZmYxYTFjY2ZjMGM0Li5kYTQ0NGE2ZjhjNjhmNjE2YWNkYjNlOTllZmJhM2I2ZDk1MzE0NWUy
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTItMDMtMDEgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBJbXBsZW1lbnQgU3BlZWNoIEphdmFTY3JpcHQgQVBJCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAxOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBFTkFCTEVfU0NSSVBURURf
U1BFRUNIIGZsYWcuCisKKyAgICAgICAgRm9yIENocm9taXVtLCBlbmFibGUgdGhlIHJ1bnRpbWUg
ZmxhZyBmb3Igc3BlZWNoIHJlY29nbml0aW9uIHNvIHdlIGNhbgorICAgICAgICBydW4gdGhlIGxh
eW91dCB0ZXN0IGZvciBpdC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisgICAgICAgICog
U2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9m
ZWF0dXJlcy5wcmY6CisKIDIwMTItMDItMjkgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgbmVlZCB0byBjbG9uZSB0aGUgZ3B1IGJhc2VsaW5lcyBhbmQgZXhw
ZWN0YXRpb25zIGludG8gdGhlIG5ldyAidmlydHVhbCIgZGlyCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCBjMTc1ZmRhOTk1MmEyMzFmOGYxMWMzYjhi
MjRjYzU3YzYxYmZlMjBmLi45MjhmMjc3M2Q5Nzk0YzU1Mjg1MzIyY2E1YjgwYmRkYjBmZmIxZjkx
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTEz
MCw2ICsxMzAsNyBAQCBUZXN0U2hlbGw6OlRlc3RTaGVsbChib29sIHRlc3RTaGVsbE1vZGUpCiAg
ICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVHYW1lcGFkKHRydWUpOwogICAgIFdlYlJ1bnRp
bWVGZWF0dXJlczo6ZW5hYmxlU2hhZG93RE9NKHRydWUpOwogICAgIFdlYlJ1bnRpbWVGZWF0dXJl
czo6ZW5hYmxlU3R5bGVTY29wZWQodHJ1ZSk7CisgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFi
bGVTY3JpcHRlZFNwZWVjaCh0cnVlKTsKIAogICAgIG1fd2ViUGVybWlzc2lvbnMgPSBhZG9wdFB0
cihuZXcgV2ViUGVybWlzc2lvbnModGhpcykpOwogICAgIG1fYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIgPSBhZG9wdFB0cihuZXcgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIodGhpcykpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdl
YmtpdAppbmRleCBmMjBhYWFlNmExZGRiNjI1MDYyYWEzNzdiZGE4NzAyNjI3ZTBmZTNmLi5lOWYw
ZTMzOGZhMWQ4NzZjOWU5MmYxZmYwZTQ2MDA0YzdiNDlkODY3IDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAt
OTUsNiArOTUsNyBAQCBteSAoCiAgICAgJGluZGV4ZWREYXRhYmFzZVN1cHBvcnQsCiAgICAgJGlu
cHV0Q29sb3JTdXBwb3J0LAogICAgICRpbnB1dFNwZWVjaFN1cHBvcnQsCisgICAgJHNjcmlwdGVk
U3BlZWNoU3VwcG9ydCwKICAgICAkaW5wdXRUeXBlRGF0ZVN1cHBvcnQsCiAgICAgJGlucHV0VHlw
ZURhdGV0aW1lU3VwcG9ydCwKICAgICAkaW5wdXRUeXBlRGF0ZXRpbWVsb2NhbFN1cHBvcnQsCkBA
IC0yMjgsNiArMjI5LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJpbnB1
dC1zcGVlY2giLCBkZXNjID0+ICJTcGVlY2ggSW5wdXQgQVBJIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfSU5QVVRfU1BFRUNIIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGlu
cHV0U3BlZWNoU3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gInNjcmlwdGVkLXNwZWVjaCIs
IGRlc2MgPT4gIlNjcmlwdGVkIFNwZWVjaCBBUEkgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0giLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkc2NyaXB0
ZWRTcGVlY2hTdXBwb3J0IH0sCisKICAgICB7IG9wdGlvbiA9PiAiaW5wdXQtdHlwZS1kYXRlIiwg
ZGVzYyA9PiAiVG9nZ2xlIGRhdGUgdHlwZSA8aW5wdXQ+IHN1cHBvcnQiLAogICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfSU5QVVRfVFlQRV9EQVRFIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGlu
cHV0VHlwZURhdGVTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL3FtYWtlL21rc3BlY3Mv
ZmVhdHVyZXMvZmVhdHVyZXMucHJmIGIvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0
dXJlcy5wcmYKaW5kZXggZjZhNmYzYzhjNzMxNmI3Yjk1ZjQxNTI3ZDNhMDdmYzMzMmNkOTU0NC4u
ZDkwNDRlZmNlNWZmODNjNTVjYWI5OTliZjJmOTcxZTk3YTcxODhjNCAxMDA2NDQKLS0tIGEvVG9v
bHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmYKKysrIGIvVG9vbHMvcW1ha2Uv
bWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmYKQEAgLTc3LDYgKzc3LDcgQEAgaGF2ZVF0KDQp
OnVuaXg6IW1hYzohZW1iZWRkZWQgewogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9OT1RJRklD
QVRJT05TPS4pOiBERUZJTkVTICs9IEVOQUJMRV9OT1RJRklDQVRJT05TPTEKICFjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfSU5QVVRfQ09MT1I9Lik6IERFRklORVMgKz0gRU5BQkxFX0lOUFVUX0NP
TE9SPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSU5QVVRfU1BFRUNIPS4pOiBERUZJTkVT
ICs9IEVOQUJMRV9JTlBVVF9TUEVFQ0g9MAorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TQ1JJ
UFRFRF9TUEVFQ0g9Lik6IERFRklORVMgKz0gRU5BQkxFX1NDUklQVEVEX1NQRUVDSD0wCiAhY29u
dGFpbnMoREVGSU5FUywgRU5BQkxFX0lOU1BFQ1RPUj0uKTogREVGSU5FUyArPSBFTkFCTEVfSU5T
UEVDVE9SPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfUkVOREVSSU5HPS4pOiBERUZJ
TkVTICs9IEVOQUJMRV8zRF9SRU5ERVJJTkc9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9X
RUJfQVVESU89Lik6IERFRklORVMgKz0gRU5BQkxFX1dFQl9BVURJTz0wCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmFiYjI4
NTlhOTJjMmNhYjczMmUxMWMzMDI5YzMxYzYyNjNjYmZhNC4uODg1ZDQwNDY3Mjk5OWVhMWNkODI2
MTFlMzBjMTVjOWVkNGNjMTk4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTAxICBI
YW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IFNw
ZWVjaCBKYXZhU2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODAwMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgYSBiYXNpYyBsYXlvdXQgdGVzdCBmb3IgdGhlIFNwZWVjaCBKYXZhU2Ny
aXB0IEFQSS4KKyAgICAgICAgU2tpcCBpdCBvbiBhbGwgcGxhdGZvcm1zIGV4Y2VwdCBDaHJvbWl1
bS4KKworICAgICAgICAqIGZhc3Qvc2NyaXB0ZWRfc3BlZWNoL2Jhc2ljcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2NyaXB0ZWRfc3BlZWNoL2Jhc2ljcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBs
YXRmb3JtL3dpbi9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6
CisKIDIwMTItMDItMjkgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2NyaXB0ZWRfc3BlZWNoL2Jhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L3NjcmlwdGVkX3NwZWVjaC9iYXNpY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4ZWRjNzlm
MmRkY2M5MTIwNjdiNTI4OGI5MzQzZGEzOGM4MWJkYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3NjcmlwdGVkX3NwZWVjaC9iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNDIgQEAKK1Rlc3RzIHRoZSBiYXNpY3Mgb2YgdGhlIFNwZWVjaCBKYXZhU2NyaXB0IEFQSQor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAnd2Via2l0U3BlZWNoUmVjb2du
aXRpb24nIGluIHNlbGYgaXMgdHJ1ZQorUEFTUyB3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbiA9PSBu
dWxsIGlzIGZhbHNlCitQQVNTICd3ZWJraXRTcGVlY2hHcmFtbWFyJyBpbiBzZWxmIGlzIHRydWUK
K1BBU1Mgd2Via2l0U3BlZWNoR3JhbW1hciA9PSBudWxsIGlzIGZhbHNlCitQQVNTICd3ZWJraXRT
cGVlY2hHcmFtbWFyTGlzdCcgaW4gc2VsZiBpcyB0cnVlCitQQVNTIHdlYmtpdFNwZWVjaEdyYW1t
YXJMaXN0ID09IG51bGwgaXMgZmFsc2UKK1BBU1Mgc3BlZWNoUmVjbyA9PSBudWxsIGlzIGZhbHNl
CitQQVNTICdncmFtbWFycycgaW4gc3BlZWNoUmVjbyBpcyB0cnVlCitQQVNTIHNwZWVjaFJlY28u
Z3JhbW1hcnMgPT0gbnVsbCBpcyBmYWxzZQorUEFTUyBzcGVlY2hSZWNvLmdyYW1tYXJzLmxlbmd0
aCA9PT0gMCBpcyB0cnVlCitQQVNTICdsYW5nJyBpbiBzcGVlY2hSZWNvIGlzIHRydWUKK1BBU1Mg
J2NvbnRpbnVvdXMnIGluIHNwZWVjaFJlY28gaXMgdHJ1ZQorUEFTUyAnc3RhcnQnIGluIHNwZWVj
aFJlY28gaXMgdHJ1ZQorUEFTUyAnc3RvcCcgaW4gc3BlZWNoUmVjbyBpcyB0cnVlCitQQVNTICdh
Ym9ydCcgaW4gc3BlZWNoUmVjbyBpcyB0cnVlCitQQVNTICdvbmF1ZGlvc3RhcnQnIGluIHNwZWVj
aFJlY28gaXMgdHJ1ZQorUEFTUyAnb25zb3VuZHN0YXJ0JyBpbiBzcGVlY2hSZWNvIGlzIHRydWUK
K1BBU1MgJ29uc3BlZWNoc3RhcnQnIGluIHNwZWVjaFJlY28gaXMgdHJ1ZQorUEFTUyAnb25zcGVl
Y2hlbmQnIGluIHNwZWVjaFJlY28gaXMgdHJ1ZQorUEFTUyAnb25zb3VuZGVuZCcgaW4gc3BlZWNo
UmVjbyBpcyB0cnVlCitQQVNTICdvbmF1ZGlvZW5kJyBpbiBzcGVlY2hSZWNvIGlzIHRydWUKK1BB
U1MgJ29ucmVzdWx0JyBpbiBzcGVlY2hSZWNvIGlzIHRydWUKK1BBU1MgJ29ubm9tYXRjaCcgaW4g
c3BlZWNoUmVjbyBpcyB0cnVlCitQQVNTICdvbnJlc3VsdGRlbGV0ZWQnIGluIHNwZWVjaFJlY28g
aXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gc3BlZWNoUmVjbyBpcyB0cnVlCitQQVNTICdvbnN0
YXJ0JyBpbiBzcGVlY2hSZWNvIGlzIHRydWUKK1BBU1MgJ29uZW5kJyBpbiBzcGVlY2hSZWNvIGlz
IHRydWUKK1BBU1MgZ3JhbW1hckxpc3QgPT0gbnVsbCBpcyBmYWxzZQorUEFTUyBncmFtbWFyTGlz
dC5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBncmFtbWFyTGlzdC5sZW5ndGggPT09IDEgaXMg
dHJ1ZQorUEFTUyBncmFtbWFyID09IG51bGwgaXMgZmFsc2UKK1BBU1MgZ3JhbW1hci5zcmMgaXMg
J2h0dHA6Ly9mb28uYmFyLmJheicKK1BBU1MgZ3JhbW1hci53ZWlnaHQgaXMgNDIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3NjcmlwdGVkX3NwZWVjaC9iYXNpY3MuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2NyaXB0ZWRfc3BlZWNoL2Jhc2ljcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyNjRlMjY3MWU0
ZjQ2ZjM2N2E4YTg1MzIzNTNlMTRjNTU5MDYxNzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NjcmlwdGVkX3NwZWVjaC9iYXNpY3MuaHRtbApAQCAtMCwwICsxLDYyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rl
c2NyaXB0aW9uKCdUZXN0cyB0aGUgYmFzaWNzIG9mIHRoZSBTcGVlY2ggSmF2YVNjcmlwdCBBUEkn
KTsKKworZnVuY3Rpb24gcnVuKCkgeworICAgIC8vIENoZWNrIGF2YWlsYWJpbGl0eSBvZiBjb25z
dHJ1Y3RvcnMuCisgICAgc2hvdWxkQmVUcnVlKCInd2Via2l0U3BlZWNoUmVjb2duaXRpb24nIGlu
IHNlbGYiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJ3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbiA9PSBu
dWxsIik7CisgICAgc2hvdWxkQmVUcnVlKCInd2Via2l0U3BlZWNoR3JhbW1hcicgaW4gc2VsZiIp
OworICAgIHNob3VsZEJlRmFsc2UoIndlYmtpdFNwZWVjaEdyYW1tYXIgPT0gbnVsbCIpOworICAg
IHNob3VsZEJlVHJ1ZSgiJ3dlYmtpdFNwZWVjaEdyYW1tYXJMaXN0JyBpbiBzZWxmIik7CisgICAg
c2hvdWxkQmVGYWxzZSgid2Via2l0U3BlZWNoR3JhbW1hckxpc3QgPT0gbnVsbCIpOworCisgICAg
Ly8gQ2hlY2sgZm9yIG1lbWJlcnMgb2YgU3BlZWNoUmVjb2duaXRpb24uCisgICAgd2luZG93LnNw
ZWVjaFJlY28gPSBuZXcgd2Via2l0U3BlZWNoUmVjb2duaXRpb24oKTsKKyAgICBzaG91bGRCZUZh
bHNlKCJzcGVlY2hSZWNvID09IG51bGwiKTsKKyAgICBzaG91bGRCZVRydWUoIidncmFtbWFycycg
aW4gc3BlZWNoUmVjbyIpOworICAgIHNob3VsZEJlRmFsc2UoInNwZWVjaFJlY28uZ3JhbW1hcnMg
PT0gbnVsbCIpOworICAgIHNob3VsZEJlVHJ1ZSgic3BlZWNoUmVjby5ncmFtbWFycy5sZW5ndGgg
PT09IDAiKTsKKyAgICBzaG91bGRCZVRydWUoIidsYW5nJyBpbiBzcGVlY2hSZWNvIik7CisgICAg
c2hvdWxkQmVUcnVlKCInY29udGludW91cycgaW4gc3BlZWNoUmVjbyIpOworICAgIHNob3VsZEJl
VHJ1ZSgiJ3N0YXJ0JyBpbiBzcGVlY2hSZWNvIik7CisgICAgc2hvdWxkQmVUcnVlKCInc3RvcCcg
aW4gc3BlZWNoUmVjbyIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ2Fib3J0JyBpbiBzcGVlY2hSZWNv
Iik7CisgICAgc2hvdWxkQmVUcnVlKCInb25hdWRpb3N0YXJ0JyBpbiBzcGVlY2hSZWNvIik7Cisg
ICAgc2hvdWxkQmVUcnVlKCInb25zb3VuZHN0YXJ0JyBpbiBzcGVlY2hSZWNvIik7CisgICAgc2hv
dWxkQmVUcnVlKCInb25zcGVlY2hzdGFydCcgaW4gc3BlZWNoUmVjbyIpOworICAgIHNob3VsZEJl
VHJ1ZSgiJ29uc3BlZWNoZW5kJyBpbiBzcGVlY2hSZWNvIik7CisgICAgc2hvdWxkQmVUcnVlKCIn
b25zb3VuZGVuZCcgaW4gc3BlZWNoUmVjbyIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ29uYXVkaW9l
bmQnIGluIHNwZWVjaFJlY28iKTsKKyAgICBzaG91bGRCZVRydWUoIidvbnJlc3VsdCcgaW4gc3Bl
ZWNoUmVjbyIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ29ubm9tYXRjaCcgaW4gc3BlZWNoUmVjbyIp
OworICAgIHNob3VsZEJlVHJ1ZSgiJ29ucmVzdWx0ZGVsZXRlZCcgaW4gc3BlZWNoUmVjbyIpOwor
ICAgIHNob3VsZEJlVHJ1ZSgiJ29uZXJyb3InIGluIHNwZWVjaFJlY28iKTsKKyAgICBzaG91bGRC
ZVRydWUoIidvbnN0YXJ0JyBpbiBzcGVlY2hSZWNvIik7CisgICAgc2hvdWxkQmVUcnVlKCInb25l
bmQnIGluIHNwZWVjaFJlY28iKTsKKworICAgIC8vIFRlc3QgU3BlZWNoR3JhbW1hckxpc3QuCisg
ICAgd2luZG93LmdyYW1tYXJMaXN0ID0gbmV3IHdlYmtpdFNwZWVjaEdyYW1tYXJMaXN0KCk7Cisg
ICAgc2hvdWxkQmVGYWxzZSgiZ3JhbW1hckxpc3QgPT0gbnVsbCIpOworICAgIHNob3VsZEJlVHJ1
ZSgiZ3JhbW1hckxpc3QubGVuZ3RoID09PSAwIik7CisgICAgZ3JhbW1hckxpc3QuYWRkRnJvbVVy
aSgiaHR0cDovL2Zvby5iYXIuYmF6IiwgNDIuMCk7CisgICAgc2hvdWxkQmVUcnVlKCJncmFtbWFy
TGlzdC5sZW5ndGggPT09IDEiKTsKKyAgICB3aW5kb3cuZ3JhbW1hciA9IGdyYW1tYXJMaXN0Lml0
ZW0oMCk7CisgICAgc2hvdWxkQmVGYWxzZSgiZ3JhbW1hciA9PSBudWxsIik7CisgICAgc2hvdWxk
QmUoImdyYW1tYXIuc3JjIiwgIidodHRwOi8vZm9vLmJhci5iYXonIik7CisgICAgc2hvdWxkQmUo
ImdyYW1tYXIud2VpZ2h0IiwgIjQyIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKword2lu
ZG93Lm9ubG9hZCA9IHJ1bjsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBmMmY0ODIx
NDFmMDg3NjcxNDk0OWFhOTE5MTkxNzkxZjkwZWUwNWZlLi5jMzAxNGM0N2I0NjY0MjY3MTY5MDYx
ODg5NDBmNWQ1YmYzOWJiMTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMjU4LDYg
KzI1OCw5IEBAIGdhbWVwYWQvCiAjIFNwZWVjaCBpbnB1dCBpcyBub3QgeWV0IGVuYWJsZWQuCiBm
YXN0L3NwZWVjaAogCisjIFNwZWVjaCBKYXZhU2NyaXB0IEFQSSBub3QgZW5hYmxlZC4KK2Zhc3Qv
c2NyaXB0ZWRfc3BlZWNoCisKICMgV2ViIFRpbWluZyBpcyBub3QgZW5hYmxlZC4KICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNDMyCiBmYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnRpZXMtcGVyZm9ybWFuY2UuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBl
ZAppbmRleCBhZDcxZGMwOTFjZTg4YWVkNDViYzg1ZTA3YzdkODQ0ZTZmMzg2MWE2Li4zNWI3NTRl
MzlmYmI3Yjk1ZjIyMjM4NTdlNThhMDk0NWY0ODAwMzViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZApAQCAtMjMwLDYgKzIzMCw5IEBAIGdhbWVwYWQvCiAjIFNwZWVjaCBpbnB1dCBpcyBub3Qg
eWV0IGVuYWJsZWQuCiBmYXN0L3NwZWVjaAogCisjIFNwZWVjaCBKYXZhU2NyaXB0IEFQSSBub3Qg
ZW5hYmxlZC4KK2Zhc3Qvc2NyaXB0ZWRfc3BlZWNoCisKICMgTWVkaWEgU3RyZWFtIEFQSSBpcyBu
b3QgeWV0IGVuYWJsZWQuCiBmYXN0L2RvbS9NZWRpYVN0cmVhbQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAppbmRleCBmNTY3Mzk2M2EyOTQ5Yzk0NmNlYTdjZjE5M2M0NTBkOTcwZmE4ZmNmLi45YzBh
NzMxZDc4NjU5NDlhZmU0NmM5ZWU1YmM2MTQ3ZDNiN2U4YmE5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQKQEAgLTg4LDYgKzg4LDkgQEAgZ2FtZXBhZC8KICMgRU5BQkxFKElOUFVUX1NQRUVDSCkg
aXMgZGlzYWJsZWQuCiBmYXN0L3NwZWVjaAogCisjIFNwZWVjaCBKYXZhU2NyaXB0IEFQSSBub3Qg
ZW5hYmxlZC4KK2Zhc3Qvc2NyaXB0ZWRfc3BlZWNoCisKICMgRU5BQkxFKE1FRElBX1NUUkVBTSkg
aXMgZGlzYWJsZWQuCiBmYXN0L2RvbS9NZWRpYVN0cmVhbQogZmFzdC9tZWRpYXN0cmVhbQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCA0ZTNkMWE1YjdhNDQ3YmJkODUxOWU0OGFkOTRmZTlh
MzAyYTViNGYxLi5hY2Q2Y2U2NjU0OTlmYWZjNTNmNzBiNWRlZGMyMWMxMzQwMjRkNmM1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTE3Myw2ICsxMTczLDkgQEAgZ2FtZXBhZC8KICMg
U3BlZWNoIGlucHV0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIGZhc3Qvc3BlZWNoCiAKKyMgU3BlZWNo
IEphdmFTY3JpcHQgQVBJIG5vdCBlbmFibGVkLgorZmFzdC9zY3JpcHRlZF9zcGVlY2gKKwogIyBN
ZWRpYSBTdHJlYW0gQVBJIGlzIG5vdCB5ZXQgZW5hYmxlZC4KIGZhc3QvZG9tL01lZGlhU3RyZWFt
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCmluZGV4IDkxZDdkNDRiNGRjYTBk
ZTQwMGMzZTk4MGQ1ZDdiOTU0Y2Q5OWMzNGEuLmNjYzk2MjZmODY5OWMyN2M0ZjljOWFhNTI1NTc4
MDA1YjFkYjBiZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZApAQCAtMTY5
MCw2ICsxNjkwLDkgQEAgZ2FtZXBhZC8KICMgU3BlZWNoIGlucHV0IGlzIG5vdCB5ZXQgZW5hYmxl
ZC4KIGZhc3Qvc3BlZWNoCiAKKyMgU3BlZWNoIEphdmFTY3JpcHQgQVBJIG5vdCBlbmFibGVkLgor
ZmFzdC9zY3JpcHRlZF9zcGVlY2gKKwogIyBNZWRpYSBTdHJlYW0gQVBJIGlzIG5vdCB5ZXQgZW5h
YmxlZC4KIGZhc3QvZG9tL01lZGlhU3RyZWFtCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0No
YW5nZUxvZwppbmRleCAyNGE1ZmY0MmQ3OTkxNTQ4M2Y2ZTcxMzM2ZDU0OWI4OTZhZDk3NmViLi4x
ZDUzNTA4NDY0YWUwNzdlMDM2NDMxNmU4M2Q2YTQ4ZDI0NDE4Mjk0IDEwMDY0NAotLS0gYS9DaGFu
Z2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMDEgIEhhbnMg
V2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgU3BlZWNo
IEphdmFTY3JpcHQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MDAxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBFTkFCTEVfU0NSSVBURURfU1BFRUNIIGZsYWcuCisKKyAgICAgICAgKiBjb25m
aWd1cmUuYWM6CisKIDIwMTItMDItMjkgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJv
ZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0NNYWtlXSBVbnJldmlld2VkLCBmaXggYnVpbGQgb24g
NjQtYml0IHBsYXRmb3JtcyB3aXRoIFNIQVJFRF9DT1JFPU9OIGFmdGVyIHIxMDkxOTcuCmRpZmYg
LS1naXQgYS9XZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nIGIvV2ViS2l0TGlicmFyaWVzL0NoYW5n
ZUxvZwppbmRleCBlNWRiNjFhOWM5NmI4OWNiODUxYWMzYmFhMjk3ZDMxOWFkZTgyMjZhLi5mMjE5
MGFkNmY3M2FkMDQxNzZkZDE1MTg3NWI2YWJkMjZmODA2ODAxIDEwMDY0NAotLS0gYS9XZWJLaXRM
aWJyYXJpZXMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMi0wMy0wMSAgSGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEltcGxlbWVudCBTcGVlY2ggSmF2YVNjcmlwdCBBUEkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMDE5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEVOQUJMRV9TQ1JJUFRFRF9T
UEVFQ0ggZmxhZy4KKworICAgICAgICAqIHdpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVz
LnZzcHJvcHM6CisgICAgICAgICogd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWly
by52c3Byb3BzOgorCiAyMDEyLTAyLTI5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBw
bGUuY29tPgogCiAgICAgICAgIE1ha2UgdXNlIG9mIENHIHJvdW5kZWQtcmVjdCBwcmltaXRpdmVz
CmRpZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURl
ZmluZXMudnNwcm9wcyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJl
RGVmaW5lcy52c3Byb3BzCmluZGV4IDlhOWMyMDRkMjFmYjI0ZDc3NGU5NzNhMjRjNDlkOTc4YTBi
ZWUzNWEuLjdiMmJkNWZjZGQzNzU0NzJhNzkzNTE4ZWU0MWU3YzJhNDk1YzY0N2YgMTAwNjQ0Ci0t
LSBhL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3By
b3BzCisrKyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5l
cy52c3Byb3BzCkBAIC05LDcgKzksNyBAQAogCT4KICAgPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKTskKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9CTE9CKTskKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVO
QUJMRV9DU1NfRklMVEVSUyk7JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKTskKEVOQUJMRV9DU1Nf
U0hBREVSUyk7JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19FWENMVVNJT05TKTsk
KEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElT
VCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVUQUlMUyk7JChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJM
RV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
OyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFU
QUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX0NPTE9SKTsk
KEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSk7JChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKTsk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpOyQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFC
TEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9UQUcpOyQo
RU5BQkxFX01JQ1JPREFUQSk7JChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKTskKEVOQUJMRV9O
T1RJRklDQVRJT05TKTskKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKTskKEVOQUJMRV9QUk9H
UkVTU19UQUcpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5E
TEVSKTskKEVOQUJMRV9TSEFET1dfRE9NKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFC
TEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5E
SU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfTUVESUFf
U09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7
JChFTkFCTEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFCTEVfWFNMVCkiCisJ
CVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSk7JChFTkFCTEVfM0RfQ0FOVkFTKTskKEVOQUJMRV8zRF9SRU5ERVJJTkcpOyQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQkxPQik7JChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpOyQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVfQ1NTX0ZJ
TFRFUlMpOyQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCk7JChFTkFCTEVfQ1NTX1NIQURFUlMpOyQo
RU5BQkxFX0NTU19SRUdJT05TKTskKEVOQUJMRV9DU1NfRVhDTFVTSU9OUyk7JChFTkFCTEVfU1FM
X0RBVEFCQVNFKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVEFJTFMpOyQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRklMVEVSUyk7
JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTskKEVOQUJMRV9H
QU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9JTlBVVF9DT0xPUik7JChFTkFCTEVfSU5Q
VVRfU1BFRUNIKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfVEFHKTskKEVOQUJMRV9NSUNS
T0RBVEEpOyQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUyk7JChFTkFCTEVfTk9USUZJQ0FUSU9O
Uyk7JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSk7JChFTkFCTEVfUFJPR1JFU1NfVEFHKTsk
KEVOQUJMRV9RVU9UQSk7JChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUik7JChFTkFC
TEVfU0NSSVBURURfU1BFRUNIKTskKEVOQUJMRV9TSEFET1dfRE9NKTskKEVOQUJMRV9TSEFSRURf
V09SS0VSUyk7JChFTkFCTEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7
JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJM
RV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV09SS0VSUyk7JChF
TkFCTEVfWFNMVCkiCiAJLz4KICAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUiCkBAIC0yMzcsNiArMjM3LDExIEBACiAJCVBlcmZvcm1FbnZpcm9ubWVu
dFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCisJCU5hbWU9IkVOQUJMRV9TQ1JJUFRFRF9T
UEVFQ0giCisJCVZhbHVlPSIiCisJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKKwkvPgor
ICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9TSEFET1dfRE9NIgogCQlWYWx1ZT0iIgogCQlQ
ZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCmRpZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJpZXMv
d2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzIGIvV2ViS2l0TGli
cmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcwppbmRl
eCBiNWFkYjg1NTBkMTFmNDU0ZDE1NTA2ZjNlNDg1ZWE3ZmFhYjZjNjEyLi42ZTJiNWZhMDRlOGIx
MDIyZmFkNWVlOGNhNThiNTYxNmRhYmUwNTc2IDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMv
d2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCisrKyBiL1dlYktp
dExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMK
QEAgLTksNyArOSw3IEBACiAJPgogICA8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iJChFTkFCTEVfM0RfQ0FOVkFTKTskKEVOQUJMRV8z
RF9SRU5ERVJJTkcpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQkxP
Qik7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9M
T0NBVElPTik7JChFTkFCTEVfQ1NTX0ZJTFRFUlMpOyQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCk7
JChFTkFCTEVfQ1NTX1NIQURFUlMpOyQoRU5BQkxFX0NTU19SRUdJT05TKTskKEVOQUJMRV9DU1Nf
RVhDTFVTSU9OUyk7JChFTkFCTEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9EQVRBR1JJRCk7JChF
TkFCTEVfREFUQUxJU1QpOyQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RF
VEFJTFMpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQ
TE9BRCk7JChFTkFCTEVfRklMVEVSUyk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChF
TkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9J
TlBVVF9DT0xPUik7JChFTkFCTEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCk7JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKTskKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVC
VUdHRVIpOyQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVf
TUVURVJfVEFHKTskKEVOQUJMRV9NSUNST0RBVEEpOyQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVS
Uyk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSk7
JChFTkFCTEVfUFJPR1JFU1NfVEFHKTskKEVOQUJMRV9RVU9UQSk7JChFTkFCTEVfUkVHSVNURVJf
UFJPVE9DT0xfSEFORExFUik7JChFTkFCTEVfU0hBRE9XX0RPTSk7JChFTkFCTEVfU0hBUkVEX1dP
UktFUlMpOyQoRU5BQkxFX1NUWUxFX1NDT1BFRCk7JChFTkFCTEVfU1ZHKTskKEVOQUJMRV9TVkdf
RE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7JChFTkFCTEVfVklERU8pOyQo
RU5BQkxFX01FRElBX1NPVVJDRSk7JChFTkFCTEVfTUVESUFfU1RBVElTVElDUyk7JChFTkFCTEVf
V0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9USU1JTkcpOyQoRU5BQkxFX1dPUktFUlMpOyQoRU5B
QkxFX1hTTFQpIgorCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iJChFTkFCTEVfM0RfQ0FOVkFT
KTskKEVOQUJMRV8zRF9SRU5ERVJJTkcpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7
JChFTkFCTEVfQkxPQik7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NMSUVO
VF9CQVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVfQ1NTX0ZJTFRFUlMpOyQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCk7JChFTkFCTEVfQ1NTX1NIQURFUlMpOyQoRU5BQkxFX0NTU19SRUdJT05TKTsk
KEVOQUJMRV9DU1NfRVhDTFVTSU9OUyk7JChFTkFCTEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9E
QVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
OyQoRU5BQkxFX0RFVEFJTFMpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7JChFTkFCTEVf
RElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRklMVEVSUyk7JChFTkFCTEVfRklMRV9TWVNURU0p
OyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9M
T0NBVElPTik7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KTskKEVOQUJMRV9JTlBVVF9DT0xPUik7JChFTkFCTEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpOyQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCk7JChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspOyQoRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5BQkxFX01BVEhN
TCk7JChFTkFCTEVfTUVURVJfVEFHKTskKEVOQUJMRV9NSUNST0RBVEEpOyQoRU5BQkxFX01VVEFU
SU9OX09CU0VSVkVSUyk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSk7JChFTkFCTEVfUFJPR1JFU1NfVEFHKTskKEVOQUJMRV9RVU9UQSk7JChFTkFC
TEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUik7JChFTkFCTEVfU0NSSVBURURfU1BFRUNIKTsk
KEVOQUJMRV9TSEFET1dfRE9NKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVfU1RZ
TEVfU0NPUEVEKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7
JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfTUVESUFfU09VUkNF
KTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFC
TEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFCTEVfWFNMVCkiCiAJLz4KICAg
PFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfM0RfQ0FOVkFTIgpAQCAtMjMyLDYgKzIzMiwxMSBA
QAogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCiAJLz4KICAgPFVzZXJNYWNybworCQlO
YW1lPSJFTkFCTEVfU0NSSVBURURfU1BFRUNIIgorCQlWYWx1ZT0iIgorCQlQZXJmb3JtRW52aXJv
bm1lbnRTZXQ9InRydWUiCisJLz4KKyAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfU0hBRE9X
X0RPTSIKIAkJVmFsdWU9IiIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgpkaWZmIC0t
Z2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDhmOGIyZTk2ZmU2MmE4MDgy
ZDg1MDQxOTE5NTg5ZWFkMTIyNGE5OWUuLjA1NGUxZDZiNDJlNDg3OGZjN2U4ODU4ZjA2ODMwZDJm
ZWQ0N2IwNTMgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAg
LTY4OCw2ICs2ODgsMTQgQEAgQUNfQVJHX0VOQUJMRShpbnB1dF9zcGVlY2gsCiAgICAgICAgICAg
ICAgIFtdLFtlbmFibGVfaW5wdXRfc3BlZWNoPSJubyJdKQogQUNfTVNHX1JFU1VMVChbJGVuYWJs
ZV9pbnB1dF9zcGVlY2hdKQogCisjIGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxlIHRoZSBzY3JpcHRl
ZCBzcGVlY2ggQVBJCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIHRoZSBzY3Jp
cHRlZCBzcGVlY2ggQVBJXSkKK0FDX0FSR19FTkFCTEUoc2NyaXB0ZWRfc3BlZWNoLAorICAgICAg
ICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtc2NyaXB0ZWQtc3BlZWNoXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSB0aGUgc2NyaXB0ZWQgc3BlZWNoIEFQSSBb
ZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAgICAgW10sW2VuYWJsZV9zY3JpcHRlZF9zcGVlY2g9
Im5vIl0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX3NjcmlwdGVkX3NwZWVjaF0pCisKICMgY2hl
Y2sgd2hldGhlciB0byBidWlsZCB3aXRoIFNRTCBkYXRhYmFzZSBzdXBwb3J0CiBBQ19NU0dfQ0hF
Q0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIFNRTCBjbGllbnQtc2lkZSBkYXRhYmFzZSBzdG9yYWdl
IHN1cHBvcnRdKQogQUNfQVJHX0VOQUJMRShzcWxfZGF0YWJhc2UsCkBAIC0xMzM4LDYgKzEzNDYs
NyBAQCBBTV9DT05ESVRJT05BTChbRU5BQkxFX0lNQUdFX1JFU0laRVJdLFt0ZXN0ICIkZW5hYmxl
X2ltYWdlX3Jlc2l6ZXIiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFXSxbdGVzdCAiJGVuYWJsZV9pbmRleGVkX2RhdGFiYXNlIiA9ICJ5ZXMiXSkKIEFN
X0NPTkRJVElPTkFMKFtFTkFCTEVfSU5QVVRfQ09MT1JdLFt0ZXN0ICIkZW5hYmxlX2lucHV0X2Nv
bG9yIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfSU5QVVRfU1BFRUNIXSxbdGVz
dCAiJGVuYWJsZV9pbnB1dF9zcGVlY2giID0gInllcyJdKQorQU1fQ09ORElUSU9OQUwoW0VOQUJM
RV9TQ1JJUFRFRF9TUEVFQ0hdLFt0ZXN0ICIkZW5hYmxlX3NjcmlwdGVkX3NwZWVjaCIgPSAieWVz
Il0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1hTTFRdLFt0ZXN0ICIkZW5hYmxlX3hzbHQiID0g
InllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9GSUxURVJTXSxbdGVzdCAiJGVuYWJsZV9m
aWx0ZXJzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfR0VPTE9DQVRJT05dLCBb
dGVzdCAiJGVuYWJsZV9nZW9sb2NhdGlvbiIgPSAieWVzIl0pCkBAIC0xNDU5LDYgKzE0NjgsNyBA
QCBGZWF0dXJlczoKICBTaGFyZWRXb3JrZXJzIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA6ICRlbmFibGVfc2hhcmVkX3dvcmtlcnMKICBDb2xvciBpbnB1dCBzdXBw
b3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfaW5wdXRf
Y29sb3IKICBTcGVlY2ggaW5wdXQgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6ICRlbmFibGVfaW5wdXRfc3BlZWNoCisgU2NyaXB0ZWQgc3BlZWNoIHN1cHBvcnQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX3NjcmlwdGVkX3NwZWVj
aAogIFNWRyBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDogJGVuYWJsZV9zdmcKICBTVkcgZm9udHMgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfc3ZnX2ZvbnRzCiAgV2ViIEF1ZGlvIHN1cHBv
cnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX3dlYl9h
dWRpbwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129689</attachid>
            <date>2012-03-01 05:53:57 -0800</date>
            <delta_ts>2012-03-03 17:06:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80019-20120301135355.patch</filename>
            <type>text/plain</type>
            <size>37858</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQ3ZTFjYzUyMjBlNDgwMWE4ZGM5YjI5YTUzYTkz
NDNmYTg0NjRiMjMuLmNhNzI3NTNjMzA1ZjNiZDFiODMwZjY1Nzg2ODI0NTI1ZGYyMzdlY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAzLTAxICBIYW5z
IFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IFNwZWVj
aCBKYXZhU2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODAwMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgRU5BQkxFX1NDUklQVEVEX1NQRUVDSC4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEyLTAyLTI5ICBObydhbSBSb3Nl
bnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIEdl
dCByaWQgb2YgdGhlICNpZmRlZiBtZXNzIGluIExheWVyVHJlZUhvc3RbUHJveHldCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNmJjMWIzZmZmMjZjZTY2ZjM1YTA0YzgyNThiZThlMzZjMWQyYWM3OS4uOTUzOGEwYzg1
MzRlYzA4M2MxMTJkOWU2YTA2OTI0ZDgzZmJkYjU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4
IEBACisyMDEyLTAzLTAxICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgSW1wbGVtZW50IFNwZWVjaCBKYXZhU2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAwMTkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRU5BQkxFX1NDUklQVEVEX1NQRUVDSCBh
bmQgcnVudGltZSBmbGFnLgorCisgICAgICAgIE5vIGZ1bmN0aW9uYWxpdHkgeWV0LCBzbyBubyBu
ZXcgdGVzdHMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgor
ICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0U2NyaXB0ZWRTcGVlY2hFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNjcmlwdGVk
U3BlZWNoRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0U3BlZWNoUmVjb2duaXRpb25FcnJvckVuYWJsZWQp
OgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0U3BlZWNo
R3JhbW1hckVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6d2Via2l0U3BlZWNoR3JhbW1hckxpc3RFbmFibGVkKToKKwogMjAxMi0wMi0yOSAgSmFzb24g
TGl1ICA8amFzb24ubGl1QHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAgICAgICBbQmxhY2tCZXJy
eV1NYWtlIGFib3V0OmNhY2hlIGZlYXR1cmUgYXZhaWxhYmxlIGluIHJlbGVhc2UgdmVyc2lvbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggODlkOWZkMzIyODgwNTU1YjE3YzY5MTc2MGNi
NjY2M2M3MTIzNWVjZi4uMWFmZWRiMjM3MDk2YmJiN2MwNGY2MjMzYjE3ZTdlNTg4MzY1ZDMwNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wMy0wMSAg
SGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBT
cGVlY2ggSmF2YVNjcmlwdCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwMDE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0ggYW5kIHJ1bnRpbWUgZmxhZy4K
KworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6CisgICAgICAgICogcHVibGljL1dlYlJ1bnRpbWVG
ZWF0dXJlcy5oOgorICAgICAgICAoV2ViUnVudGltZUZlYXR1cmVzKToKKyAgICAgICAgKiBzcmMv
V2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1
cmVzOjplbmFibGVTY3JpcHRlZFNwZWVjaCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkKToKKwog
MjAxMi0wMi0yOSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW2Nocm9taXVtXSBGaXggbmF2aWdhdGlvbiBzdGFydCB0aW1lIG9uIGNyb3NzLXJlbmRl
cmVyIG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAzOGJiODZkNDk5YzA4YjBhODY1Nzgz
ZjQwNGE1YjNiMzkzNzNkOGNkLi44YzZkM2ZmYmEyZDI5NzBhMjQ0YzIwMzAwZTRkN2RlZTQ1NDFk
ZDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMDEgIEhhbnMg
V2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgU3BlZWNo
IEphdmFTY3JpcHQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MDAxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBFTkFCTEVfU0NSSVBURURfU1BFRUNILgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTItMDItMjkgIFRpbSBIb3J0b24g
IDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB1c2Ugb2YgQ0cgcm91
bmRlZC1yZWN0IHByaW1pdGl2ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhYmEwYTYwOTg0ZTljM2UxNzY2ZDhh
MWEzODAxZjNlZTEzOGIxYTI3Li43ZDlhZTBhMmQ1MDI0MWE0MWZkZjkxZTE2YTlhYzJkZjdmMzZh
YTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMDEgIEhhbnMgV2VubmJv
cmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgU3BlZWNoIEphdmFT
Y3JpcHQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDAxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBFTkFCTEVfU0NSSVBURURfU1BFRUNILgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTItMDItMjkgIE5vJ2FtIFJvc2VudGhhbCAg
PG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gR2V0IHJpZCBv
ZiB0aGUgI2lmZGVmIG1lc3MgaW4gTGF5ZXJUcmVlSG9zdFtQcm94eV0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCA1NzZlNzQ2YWQ5MmQ1ZGNkMzJlYzU4NTc1M2VlYTcyM2IwZjJkOGUyLi4y
ZTkyMDU5ZjkxYTRkNTk0ZWNjM2ExOWM1OTI3ZmI4OWIzMTg0MTY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC0xMDksNiArMTA5LDcgQEAgRU5BQkxFX1BST0dSRVNTX1RBRyA9IEVOQUJM
RV9QUk9HUkVTU19UQUc7CiBFTkFCTEVfUVVPVEEgPSA7CiBFTkFCTEVfUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUiA9IDsKIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSA9IEVOQUJMRV9S
RVFVRVNUX0FOSU1BVElPTl9GUkFNRTsKK0VOQUJMRV9TQ1JJUFRFRF9TUEVFQ0ggPSA7CiBFTkFC
TEVfU0hBRE9XX0RPTSA9IDsKIEVOQUJMRV9TSEFSRURfV09SS0VSUyA9IEVOQUJMRV9TSEFSRURf
V09SS0VSUzsKIEVOQUJMRV9TUUxfREFUQUJBU0UgPSBFTkFCTEVfU1FMX0RBVEFCQVNFOwpAQCAt
MTI2LDQgKzEyNyw0IEBAIEVOQUJMRV9XRUJfVElNSU5HID0gOwogRU5BQkxFX1dPUktFUlMgPSBF
TkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hB
REVSUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVf
U1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElP
Tl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJ
TElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFC
TEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxU
RVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BF
RUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVS
UykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkg
JChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJf
UFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVE
X1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAk
KEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggM2UyMDkwMzU1YzlhODBjMTVmOWUzZWUxNWE2NjQ4ZDg5ZDg3MjFiYy4uOTUyM2Zh
N2M5NTZmZDBlMzA3NjM2YzdiMDk4MjE1NjU0NzM0MzU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTEwOSw2
ICsxMDksNyBAQCBFTkFCTEVfUFJPR1JFU1NfVEFHID0gRU5BQkxFX1BST0dSRVNTX1RBRzsKIEVO
QUJMRV9RVU9UQSA9IDsKIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSID0gOwogRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FID0gRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FOworRU5BQkxFX1NDUklQVEVEX1NQRUVDSCA9IDsKIEVOQUJMRV9TSEFET1dfRE9NID0gOwog
RU5BQkxFX1NIQVJFRF9XT1JLRVJTID0gRU5BQkxFX1NIQVJFRF9XT1JLRVJTOwogRU5BQkxFX1NR
TF9EQVRBQkFTRSA9IEVOQUJMRV9TUUxfREFUQUJBU0U7CkBAIC0xMjYsNCArMTI3LDQgQEAgRU5B
QkxFX1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
UkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1B
VElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJ
TFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVf
UFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xf
SEFORExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NIQURP
V19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQo
RU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNf
QklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05T
X09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykg
JChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkg
JChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVO
VF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJF
Q1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19U
QUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNI
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFC
TEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
WFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBm
NmYyZDQ3NjRjY2I2ZjMyZDIzMzQ3ZDA0ODVmMzhiYmJlNDRhYzU0Li45M2ExYmNiODFkODU4ZWNh
NjgzZDE4OGM2ZmZjZDllMjBmZTIwY2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjk2LDYg
KzI5NiwxNiBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0lOUFVUX1NQRUVDSD0wCiBl
bmRpZiAjIEVORCBFTkFCTEVfSU5QVVRfU1BFRUNICiAKICMgLS0tLQorIyBTY3JpcHRlZCBTcGVl
Y2ggQVBJIHN1cHBvcnQKKyMgLS0tLQoraWYgRU5BQkxFX1NDUklQVEVEX1NQRUVDSAorRkVBVFVS
RV9ERUZJTkVTICs9IEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0g9MQord2ViY29yZV9jcHBmbGFncyAr
PSAtREVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0g9MQorZWxzZQord2ViY29yZV9jcHBmbGFncyArPSAt
REVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0g9MAorZW5kaWYgIyBFTkQgRU5BQkxFX1NDUklQVEVEX1NQ
RUVDSAorCisjIC0tLS0KICMgSWNvbiBEYXRhYmFzZSBTdXBwb3J0CiAjIC0tLS0KIGlmIEVOQUJM
RV9JQ09OREFUQUJBU0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDNmM2I0NTc4ZDMzNTg0MWI5OTY4ZDhiYzAx
NTQzNmYyYmFkZDRmODQuLjE2NTFkMjM1N2Q5MjdhZmI2ZDEwOTYwMzExMWVmYTMwZDMxZmYxNzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQpAQCAtMzE1NCw2ICszMTU0LDEwIEBAIGNvbnRhaW5zKERFRklORVMsIEVO
QUJMRV9JTlBVVF9TUEVFQ0g9MSkgewogICAgICAgICByZW5kZXJpbmcvUmVuZGVySW5wdXRTcGVl
Y2guY3BwCiB9CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0g9MSkg
eworICAgIFNPVVJDRVMgKz0gIyBGSVhNRSEKK30KKwogY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1FVT1RBPTEpIHsKICAgICBIRUFERVJTICs9IFwKICAgICAgICAgc3RvcmFnZS9TdG9yYWdlSW5m
by5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCmluZGV4IGNhZGQyYzQ0ZDE3NGJhZDFiMDZjMzI2MWJj
YzcwZWM1OTllZGZhMDYuLjE1Zjk0ZDRkOWQzODE0MjFiN2JlYmU5NTRmNTJhOTdmNzBhNDRiOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAtNTYsNiArNTYsMTAgQEAgYm9vbCBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjppc0RldmljZU1vdGlvbkVuYWJsZWQgPSB0cnVlOwogYm9vbCBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjppc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCA9IHRydWU7CiBib29s
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzU3BlZWNoSW5wdXRFbmFibGVkID0gdHJ1ZTsKIAor
I2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCitib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkID0gZmFsc2U7CisjZW5kaWYKKwogI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTWVkaWFTdHJlYW1F
bmFibGVkID0gdHJ1ZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCAzMTlhNjNlNWFjMjUw
MWUwYTZkMTNiZGUxNGI4NzdkZWNiZTkwMzlmLi40NTNiMTIxNDEyYWU3YzU4YTBmZjU1Yjg2ODQw
NmQ5MmM3YTIwMzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMTQ3LDYgKzE0NywxNSBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIGJvb2wgd2Via2l0U3BlZWNoRW5hYmxlZCgpIHsgcmV0dXJuIGlzU3Bl
ZWNoSW5wdXRFbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgd2Via2l0R3JhbW1hckVuYWJsZWQo
KSB7IHJldHVybiBpc1NwZWVjaElucHV0RW5hYmxlZDsgfQogCisjaWYgRU5BQkxFKFNDUklQVEVE
X1NQRUVDSCkKKyAgICBzdGF0aWMgdm9pZCBzZXRTY3JpcHRlZFNwZWVjaEVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgaXNTY3JpcHRlZFNwZWVjaEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBz
dGF0aWMgYm9vbCBzY3JpcHRlZFNwZWVjaEVuYWJsZWQoKSB7IHJldHVybiBpc1NjcmlwdGVkU3Bl
ZWNoRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIHdlYmtpdFNwZWVjaFJlY29nbml0aW9uRW5h
YmxlZCgpIHsgcmV0dXJuIGlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkOyB9CisgICAgc3RhdGljIGJv
b2wgd2Via2l0U3BlZWNoUmVjb2duaXRpb25FcnJvckVuYWJsZWQoKSB7IHJldHVybiBpc1Njcmlw
dGVkU3BlZWNoRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIHdlYmtpdFNwZWVjaEdyYW1tYXJF
bmFibGVkKCkgeyByZXR1cm4gaXNTY3JpcHRlZFNwZWVjaEVuYWJsZWQ7IH0KKyAgICBzdGF0aWMg
Ym9vbCB3ZWJraXRTcGVlY2hHcmFtbWFyTGlzdEVuYWJsZWQoKSB7IHJldHVybiBpc1NjcmlwdGVk
U3BlZWNoRW5hYmxlZDsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoWEhSX1JFU1BPTlNFX0JMT0Ip
CiAgICAgc3RhdGljIGJvb2wgeGhyUmVzcG9uc2VCbG9iRW5hYmxlZCgpIHsgcmV0dXJuIGlzWEhS
UmVzcG9uc2VCbG9iRW5hYmxlZDsgfQogICAgIHN0YXRpYyB2b2lkIHNldFhIUlJlc3BvbnNlQmxv
YkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNYSFJSZXNwb25zZUJsb2JFbmFibGVkID0gaXNF
bmFibGVkOyB9CkBAIC0yMjEsNiArMjMwLDkgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBp
c0RldmljZU1vdGlvbkVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlv
bkVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNTcGVlY2hJbnB1dEVuYWJsZWQ7CisjaWYgRU5B
QkxFKFNDUklQVEVEX1NQRUVDSCkKKyAgICBzdGF0aWMgYm9vbCBpc1NjcmlwdGVkU3BlZWNoRW5h
YmxlZDsKKyNlbmRpZgogI2lmIEVOQUJMRShYSFJfUkVTUE9OU0VfQkxPQikKICAgICBzdGF0aWMg
Ym9vbCBpc1hIUlJlc3BvbnNlQmxvYkVuYWJsZWQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
ZmVhdHVyZXMuZ3lwaQppbmRleCA0YzQ2ZDRkZTQ4M2Q3YzFhZWRjODg5NDNhMTRlMjgwYTRiNDE4
MmFkLi5iM2RkMGM0OGRkMDY5MmVhMjY0MTM2OTg5MzAzYmJlMzBlNTc2MWE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC04MSw2ICs4MSw3IEBACiAgICAgICAnRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FPTEnLAogICAgICAgJ0VOQUJMRV9SVUJZPTEnLAogICAg
ICAgJ0VOQUJMRV9TQU5EQk9YPTEnLAorICAgICAgJ0VOQUJMRV9TQ1JJUFRFRF9TUEVFQ0g9MScs
CiAgICAgICAnRU5BQkxFX1NIQURPV19ET009MScsCiAgICAgICAnRU5BQkxFX1NIQVJFRF9XT1JL
RVJTPTEnLAogICAgICAgJ0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HPTEnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAppbmRleCAzNGUz
OTQ3ZjYzODkxMjM1OGQxN2U0NjU3NTA3MzYyMzZmOGRjMGI1Li4xODdlZjBmNTVkM2RkOTM2OTdk
NmQ2ZGUwMDU5OGY1OGQ1NDkzZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaApAQCAtOTEsNiArOTEsOSBAQCBwdWJsaWM6CiAg
ICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVTcGVlY2hJbnB1dChib29sKTsKICAg
ICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzU3BlZWNoSW5wdXRFbmFibGVkKCk7CiAKKyAg
ICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZVNjcmlwdGVkU3BlZWNoKGJvb2wpOwor
ICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNTY3JpcHRlZFNwZWVjaEVuYWJsZWQoKTsK
KwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlWEhSUmVzcG9uc2VCbG9iKGJv
b2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNYSFJSZXNwb25zZUJsb2JFbmFi
bGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRp
bWVGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVh
dHVyZXMuY3BwCmluZGV4IDE0YzkxZmRhYmQyMzYyYzZmNzFlOTg1NGE4ZmY2NzMzZjk4ZmJmYTku
LmQyOTdhODI4Y2M2MTVmMjY3MTNhMDRjMmEyZjI0Y2Q0ODljZWZlYWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApAQCAtMjYwLDYg
KzI2MCwyMiBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNTcGVlY2hJbnB1dEVuYWJsZWQo
KQogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzcGVlY2hJbnB1dEVuYWJsZWQo
KTsKIH0KIAordm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVNjcmlwdGVkU3BlZWNoKGJv
b2wgZW5hYmxlKQoreworI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCisgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2V0U2NyaXB0ZWRTcGVlY2hFbmFibGVkKGVuYWJsZSk7CisjZW5kaWYK
K30KKworYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkKCkK
K3sKKyNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQorICAgIHJldHVybiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzY3JpcHRlZFNwZWVjaEVuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCit9CisKIHZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVYSFJSZXNw
b25zZUJsb2IoYm9vbCBlbmFibGUpCiB7CiAjaWYgRU5BQkxFKFhIUl9SRVNQT05TRV9CTE9CKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCAzZTIwOTAzNTVjOWE4MGMxNWY5ZTNlZTE1YTY2NDhkODlkODcy
MWJjLi45NTIzZmE3Yzk1NmZkMGUzMDc2MzZjN2IwOTgyMTU2NTQ3MzQzNTVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtMTA5LDYgKzEwOSw3IEBAIEVOQUJMRV9QUk9HUkVTU19UQUcgPSBFTkFCTEVf
UFJPR1JFU1NfVEFHOwogRU5BQkxFX1FVT1RBID0gOwogRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09M
X0hBTkRMRVIgPSA7CiBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgPSBFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUU7CitFTkFCTEVfU0NSSVBURURfU1BFRUNIID0gOwogRU5BQkxF
X1NIQURPV19ET00gPSA7CiBFTkFCTEVfU0hBUkVEX1dPUktFUlMgPSBFTkFCTEVfU0hBUkVEX1dP
UktFUlM7CiBFTkFCTEVfU1FMX0RBVEFCQVNFID0gRU5BQkxFX1NRTF9EQVRBQkFTRTsKQEAgLTEy
Niw0ICsxMjcsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9IDsKIEVOQUJMRV9XT1JLRVJTID0gRU5B
QkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVf
Q1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURF
UlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZ
U1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05f
T0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJ
VFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5B
QkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVS
UykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVO
QUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVD
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQo
RU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9X
T1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChF
TkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IDNlMjA5MDM1NWM5YTgwYzE1ZjllM2VlMTVhNjY0OGQ4OWQ4NzIxYmMuLjk1MjNmYTdj
OTU2ZmQwZTMwNzYzNmM3YjA5ODIxNTY1NDczNDM1NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xMDksNiAr
MTA5LDcgQEAgRU5BQkxFX1BST0dSRVNTX1RBRyA9IEVOQUJMRV9QUk9HUkVTU19UQUc7CiBFTkFC
TEVfUVVPVEEgPSA7CiBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiA9IDsKIEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSA9IEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RTsKK0VOQUJMRV9TQ1JJUFRFRF9TUEVFQ0ggPSA7CiBFTkFCTEVfU0hBRE9XX0RPTSA9IDsKIEVO
QUJMRV9TSEFSRURfV09SS0VSUyA9IEVOQUJMRV9TSEFSRURfV09SS0VSUzsKIEVOQUJMRV9TUUxf
REFUQUJBU0UgPSBFTkFCTEVfU1FMX0RBVEFCQVNFOwpAQCAtMTI2LDQgKzEyNyw0IEBAIEVOQUJM
RV9XRUJfVElNSU5HID0gOwogRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJM
RV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJ
T05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxU
RVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BS
T0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFET1df
RE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVO
QUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJ
TkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19P
TkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQo
RU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRf
QkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJ
UFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFH
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkg
JChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NR
TF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxF
X1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhU
X05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YjA2ZGQ0MTFhMmQ5ZTdmNmIwZGE1YzAwNWJmZmYx
YTFjY2ZjMGM0Li42ODUyY2JhZjk5Yzg0M2Q3YjA2YmRhYWY2NWY2MzcyOTE1NGY0ZmEyIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTItMDMtMDEgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBJbXBsZW1lbnQgU3BlZWNoIEphdmFTY3JpcHQgQVBJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAxOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBFTkFCTEVfU0NSSVBURURfU1BFRUNI
LgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogcW1ha2UvbWtz
cGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmY6CisKIDIwMTItMDItMjkgIERpcmsgUHJhbmtlICA8
ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgbmVlZCB0byBjbG9uZSB0aGUgZ3B1IGJh
c2VsaW5lcyBhbmQgZXhwZWN0YXRpb25zIGludG8gdGhlIG5ldyAidmlydHVhbCIgZGlyCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0CmluZGV4IGYyMGFhYWU2YTFkZGI2MjUwNjJhYTM3N2JkYTg3MDI2MjdlMGZlM2YuLmU5
ZjBlMzM4ZmExZDg3NmM5ZTkyZjFmZjBlNDYwMDRjN2I0OWQ4NjcgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBA
IC05NSw2ICs5NSw3IEBAIG15ICgKICAgICAkaW5kZXhlZERhdGFiYXNlU3VwcG9ydCwKICAgICAk
aW5wdXRDb2xvclN1cHBvcnQsCiAgICAgJGlucHV0U3BlZWNoU3VwcG9ydCwKKyAgICAkc2NyaXB0
ZWRTcGVlY2hTdXBwb3J0LAogICAgICRpbnB1dFR5cGVEYXRlU3VwcG9ydCwKICAgICAkaW5wdXRU
eXBlRGF0ZXRpbWVTdXBwb3J0LAogICAgICRpbnB1dFR5cGVEYXRldGltZWxvY2FsU3VwcG9ydCwK
QEAgLTIyOCw2ICsyMjksOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImlu
cHV0LXNwZWVjaCIsIGRlc2MgPT4gIlNwZWVjaCBJbnB1dCBBUEkgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9JTlBVVF9TUEVFQ0giLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwk
aW5wdXRTcGVlY2hTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAic2NyaXB0ZWQtc3BlZWNo
IiwgZGVzYyA9PiAiU2NyaXB0ZWQgU3BlZWNoIEFQSSBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX1NDUklQVEVEX1NQRUVDSCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRzY3Jp
cHRlZFNwZWVjaFN1cHBvcnQgfSwKKwogICAgIHsgb3B0aW9uID0+ICJpbnB1dC10eXBlLWRhdGUi
LCBkZXNjID0+ICJUb2dnbGUgZGF0ZSB0eXBlIDxpbnB1dD4gc3VwcG9ydCIsCiAgICAgICBkZWZp
bmUgPT4gIkVOQUJMRV9JTlBVVF9UWVBFX0RBVEUiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwk
aW5wdXRUeXBlRGF0ZVN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMvcW1ha2UvbWtzcGVj
cy9mZWF0dXJlcy9mZWF0dXJlcy5wcmYgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2Zl
YXR1cmVzLnByZgppbmRleCBmNmE2ZjNjOGM3MzE2YjdiOTVmNDE1MjdkM2EwN2ZjMzMyY2Q5NTQ0
Li5kOTA0NGVmY2U1ZmY4M2M1NWNhYjk5OWJmMmY5NzFlOTdhNzE4OGM0IDEwMDY0NAotLS0gYS9U
b29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgorKysgYi9Ub29scy9xbWFr
ZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgpAQCAtNzcsNiArNzcsNyBAQCBoYXZlUXQo
NCk6dW5peDohbWFjOiFlbWJlZGRlZCB7CiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX05PVElG
SUNBVElPTlM9Lik6IERFRklORVMgKz0gRU5BQkxFX05PVElGSUNBVElPTlM9MQogIWNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9JTlBVVF9DT0xPUj0uKTogREVGSU5FUyArPSBFTkFCTEVfSU5QVVRf
Q09MT1I9MAogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9JTlBVVF9TUEVFQ0g9Lik6IERFRklO
RVMgKz0gRU5BQkxFX0lOUFVUX1NQRUVDSD0wCishY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ND
UklQVEVEX1NQRUVDSD0uKTogREVGSU5FUyArPSBFTkFCTEVfU0NSSVBURURfU1BFRUNIPTAKICFj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfSU5TUEVDVE9SPS4pOiBERUZJTkVTICs9IEVOQUJMRV9J
TlNQRUNUT1I9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV8zRF9SRU5ERVJJTkc9Lik6IERF
RklORVMgKz0gRU5BQkxFXzNEX1JFTkRFUklORz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1dFQl9BVURJTz0uKTogREVGSU5FUyArPSBFTkFCTEVfV0VCX0FVRElPPTAKZGlmZiAtLWdpdCBh
L0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyNGE1ZmY0MmQ3OTkxNTQ4M2Y2ZTcxMzM2ZDU0
OWI4OTZhZDk3NmViLi5lMzI2ZDEyOWY4ZjNiMjZhYjNhMjYxYjliNjk1ODNlNWY5Y2IxYzhkIDEw
MDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTItMDMtMDEgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBJ
bXBsZW1lbnQgU3BlZWNoIEphdmFTY3JpcHQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBFTkFCTEVfU0NSSVBURURfU1BFRUNILgorCisgICAg
ICAgICogY29uZmlndXJlLmFjOgorCiAyMDEyLTAyLTI5ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEg
IDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFtDTWFrZV0gVW5yZXZpZXdlZCwgZml4
IGJ1aWxkIG9uIDY0LWJpdCBwbGF0Zm9ybXMgd2l0aCBTSEFSRURfQ09SRT1PTiBhZnRlciByMTA5
MTk3LgpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZyBiL1dlYktpdExpYnJh
cmllcy9DaGFuZ2VMb2cKaW5kZXggZTVkYjYxYTljOTZiODljYjg1MWFjM2JhYTI5N2QzMTlhZGU4
MjI2YS4uYTM0M2RiNDIxYWZhMzFlNjdhMWM0NDcxMWMyYmNkNzQzYzNlZjBkNyAxMDA2NDQKLS0t
IGEvV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZworKysgYi9XZWJLaXRMaWJyYXJpZXMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMDEgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgU3BlZWNoIEphdmFTY3JpcHQgQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAxOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBFTkFCTEVf
U0NSSVBURURfU1BFRUNILgorCisgICAgICAgICogd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURl
ZmluZXMudnNwcm9wczoKKyAgICAgICAgKiB3aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5l
c0NhaXJvLnZzcHJvcHM6CisKIDIwMTItMDItMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB1c2Ugb2YgQ0cgcm91bmRlZC1yZWN0IHByaW1p
dGl2ZXMKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0
dXJlRGVmaW5lcy52c3Byb3BzIGIvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0Zl
YXR1cmVEZWZpbmVzLnZzcHJvcHMKaW5kZXggOWE5YzIwNGQyMWZiMjRkNzc0ZTk3M2EyNGM0OWQ5
NzhhMGJlZTM1YS4uN2IyYmQ1ZmNkZDM3NTQ3MmE3OTM1MThlZTQxZTdjMmE0OTVjNjQ3ZiAxMDA2
NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVz
LnZzcHJvcHMKKysrIGIvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVE
ZWZpbmVzLnZzcHJvcHMKQEAgLTksNyArOSw3IEBACiAJPgogICA8VG9vbAogCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpOyQoRU5BQkxFXzNEX0NBTlZBUyk7JChFTkFCTEVfM0RfUkVOREVS
SU5HKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0JMT0IpOyQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKTskKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04p
OyQoRU5BQkxFX0NTU19GSUxURVJTKTskKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpOyQoRU5BQkxF
X0NTU19TSEFERVJTKTskKEVOQUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX0VYQ0xVU0lP
TlMpOyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RB
VEFMSVNUKTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVRBSUxTKTsk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQo
RU5BQkxFX0ZJTFRFUlMpOyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSk7JChFTkFCTEVfR0FNRVBBRCk7JChFTkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0lD
T05EQVRBQkFTRSk7JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfQ09M
T1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKTskKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpOyQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpOyQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSk7
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKTskKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKTsk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX01FVEVSX1RB
Ryk7JChFTkFCTEVfTUlDUk9EQVRBKTskKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpOyQoRU5B
QkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpOyQoRU5BQkxF
X1BST0dSRVNTX1RBRyk7JChFTkFCTEVfUVVPVEEpOyQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09M
X0hBTkRMRVIpOyQoRU5BQkxFX1NIQURPV19ET00pOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTsk
KEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5BQkxFX1NWRyk7JChFTkFCTEVfU1ZHX0RPTV9PQkpD
X0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9N
RURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1dFQl9TT0NL
RVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YU0xU
KSIKKwkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKTskKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7JChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9CTE9CKTskKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9D
U1NfRklMVEVSUyk7JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKTskKEVOQUJMRV9DU1NfU0hBREVS
Uyk7JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19FWENMVVNJT05TKTskKEVOQUJM
RV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVUQUlMUyk7JChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9GSUxU
RVJTKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5B
QkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFUQUJBU0Up
OyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX0NPTE9SKTskKEVOQUJM
RV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKTskKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpOyQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTElO
S19QUkVGRVRDSCk7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9UQUcpOyQoRU5BQkxF
X01JQ1JPREFUQSk7JChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKTskKEVOQUJMRV9OT1RJRklD
QVRJT05TKTskKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKTskKEVOQUJMRV9QUk9HUkVTU19U
QUcpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKTsk
KEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpOyQoRU5BQkxFX1NIQURPV19ET00pOyQoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTKTskKEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5BQkxFX1NWRyk7JChFTkFC
TEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJ
REVPKTskKEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQo
RU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XT1JLRVJT
KTskKEVOQUJMRV9YU0xUKSIKIAkvPgogICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSIKQEAgLTIzNyw2ICsyMzcsMTEgQEAKIAkJUGVyZm9ybUVudmly
b25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KKwkJTmFtZT0iRU5BQkxFX1NDUklQ
VEVEX1NQRUVDSCIKKwkJVmFsdWU9IiIKKwkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgor
CS8+CisgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX1NIQURPV19ET00iCiAJCVZhbHVlPSIi
CiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJh
cmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMgYi9XZWJL
aXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3Bz
CmluZGV4IGI1YWRiODU1MGQxMWY0NTRkMTU1MDZmM2U0ODVlYTdmYWFiNmM2MTIuLjZlMmI1ZmEw
NGU4YjEwMjJmYWQ1ZWU4Y2E1OGI1NjE2ZGFiZTA1NzYgMTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJh
cmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKKysrIGIv
V2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNw
cm9wcwpAQCAtOSw3ICs5LDcgQEAKIAk+CiAgIDxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5B
QkxFXzNEX1JFTkRFUklORyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJM
RV9CTE9CKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VE
X0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9DU1NfRklMVEVSUyk7JChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKTskKEVOQUJMRV9DU1NfU0hBREVSUyk7JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxF
X0NTU19FWENMVVNJT05TKTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX0RBVEFHUklE
KTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFC
TEVfREVUQUlMUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJMRV9ESVJFQ1RP
UllfVVBMT0FEKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xPQ0FUSU9O
KTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5B
QkxFX0lOUFVUX0NPTE9SKTskKEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSk7JChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKTskKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUik7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTUFUSE1MKTskKEVO
QUJMRV9NRVRFUl9UQUcpOyQoRU5BQkxFX01JQ1JPREFUQSk7JChFTkFCTEVfTVVUQVRJT05fT0JT
RVJWRVJTKTskKEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlf
QVBJKTskKEVOQUJMRV9QUk9HUkVTU19UQUcpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9SRUdJ
U1RFUl9QUk9UT0NPTF9IQU5ETEVSKTskKEVOQUJMRV9TSEFET1dfRE9NKTskKEVOQUJMRV9TSEFS
RURfV09SS0VSUyk7JChFTkFCTEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxF
X1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURF
Tyk7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVO
QUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV09SS0VSUyk7
JChFTkFCTEVfWFNMVCkiCisJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9D
QU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKTskKEVOQUJMRV9CTE9CKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVf
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9DU1NfRklMVEVSUyk7JChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKTskKEVOQUJMRV9DU1NfU0hBREVSUyk7JChFTkFCTEVfQ1NTX1JFR0lP
TlMpOyQoRU5BQkxFX0NTU19FWENMVVNJT05TKTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5B
QkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUyk7JChFTkFCTEVfREVUQUlMUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1NZ
U1RFTSk7JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxF
X0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpOyQoRU5BQkxFX0lOUFVUX0NPTE9SKTskKEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSk7JChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKTskKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKTsk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyk7JChFTkFC
TEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVf
TUFUSE1MKTskKEVOQUJMRV9NRVRFUl9UQUcpOyQoRU5BQkxFX01JQ1JPREFUQSk7JChFTkFCTEVf
TVVUQVRJT05fT0JTRVJWRVJTKTskKEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9QQUdF
X1ZJU0lCSUxJVFlfQVBJKTskKEVOQUJMRV9QUk9HUkVTU19UQUcpOyQoRU5BQkxFX1FVT1RBKTsk
KEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKTskKEVOQUJMRV9TQ1JJUFRFRF9TUEVF
Q0gpOyQoRU5BQkxFX1NIQURPV19ET00pOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJM
RV9TVFlMRV9TQ09QRUQpOyQoRU5BQkxFX1NWRyk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJ
TkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9NRURJQV9T
T1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTsk
KEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YU0xUKSIKIAkv
PgogICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV8zRF9DQU5WQVMiCkBAIC0yMzIsNiArMjMy
LDExIEBACiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3Jv
CisJCU5hbWU9IkVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0giCisJCVZhbHVlPSIiCisJCVBlcmZvcm1F
bnZpcm9ubWVudFNldD0idHJ1ZSIKKwkvPgorICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9T
SEFET1dfRE9NIgogCQlWYWx1ZT0iIgogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCmRp
ZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggOGY4YjJlOTZmZTYy
YTgwODJkODUwNDE5MTk1ODllYWQxMjI0YTk5ZS4uMDU0ZTFkNmI0MmU0ODc4ZmM3ZTg4NThmMDY4
MzBkMmZlZDQ3YjA1MyAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5h
YwpAQCAtNjg4LDYgKzY4OCwxNCBAQCBBQ19BUkdfRU5BQkxFKGlucHV0X3NwZWVjaCwKICAgICAg
ICAgICAgICAgW10sW2VuYWJsZV9pbnB1dF9zcGVlY2g9Im5vIl0pCiBBQ19NU0dfUkVTVUxUKFsk
ZW5hYmxlX2lucHV0X3NwZWVjaF0pCiAKKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgdGhlIHNj
cmlwdGVkIHNwZWVjaCBBUEkKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgdGhl
IHNjcmlwdGVkIHNwZWVjaCBBUEldKQorQUNfQVJHX0VOQUJMRShzY3JpcHRlZF9zcGVlY2gsCisg
ICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zY3JpcHRlZC1zcGVlY2hdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIHRoZSBzY3JpcHRlZCBzcGVlY2gg
QVBJIFtkZWZhdWx0PW5vXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxlX3NjcmlwdGVkX3Nw
ZWVjaD0ibm8iXSkKK0FDX01TR19SRVNVTFQoWyRlbmFibGVfc2NyaXB0ZWRfc3BlZWNoXSkKKwog
IyBjaGVjayB3aGV0aGVyIHRvIGJ1aWxkIHdpdGggU1FMIGRhdGFiYXNlIHN1cHBvcnQKIEFDX01T
R19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgU1FMIGNsaWVudC1zaWRlIGRhdGFiYXNlIHN0
b3JhZ2Ugc3VwcG9ydF0pCiBBQ19BUkdfRU5BQkxFKHNxbF9kYXRhYmFzZSwKQEAgLTEzMzgsNiAr
MTM0Niw3IEBAIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfSU1BR0VfUkVTSVpFUl0sW3Rlc3QgIiRl
bmFibGVfaW1hZ2VfcmVzaXplciIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0lO
REVYRURfREFUQUJBU0VdLFt0ZXN0ICIkZW5hYmxlX2luZGV4ZWRfZGF0YWJhc2UiID0gInllcyJd
KQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9JTlBVVF9DT0xPUl0sW3Rlc3QgIiRlbmFibGVfaW5w
dXRfY29sb3IiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9JTlBVVF9TUEVFQ0hd
LFt0ZXN0ICIkZW5hYmxlX2lucHV0X3NwZWVjaCIgPSAieWVzIl0pCitBTV9DT05ESVRJT05BTChb
RU5BQkxFX1NDUklQVEVEX1NQRUVDSF0sW3Rlc3QgIiRlbmFibGVfc2NyaXB0ZWRfc3BlZWNoIiA9
ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfWFNMVF0sW3Rlc3QgIiRlbmFibGVfeHNs
dCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0ZJTFRFUlNdLFt0ZXN0ICIkZW5h
YmxlX2ZpbHRlcnMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9HRU9MT0NBVElP
Tl0sIFt0ZXN0ICIkZW5hYmxlX2dlb2xvY2F0aW9uIiA9ICJ5ZXMiXSkKQEAgLTE0NTksNiArMTQ2
OCw3IEBAIEZlYXR1cmVzOgogIFNoYXJlZFdvcmtlcnMgc3VwcG9ydCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9zaGFyZWRfd29ya2VycwogIENvbG9yIGlucHV0
IHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9p
bnB1dF9jb2xvcgogIFNwZWVjaCBpbnB1dCBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogJGVuYWJsZV9pbnB1dF9zcGVlY2gKKyBTY3JpcHRlZCBzcGVlY2ggc3Vw
cG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfc2NyaXB0ZWRf
c3BlZWNoCiAgU1ZHIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOiAkZW5hYmxlX3N2ZwogIFNWRyBmb250cyBzdXBwb3J0ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9zdmdfZm9udHMKICBXZWIgQXVkaW8g
c3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVf
d2ViX2F1ZGlvCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>