<?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>33801</bug_id>
          
          <creation_ts>2010-01-18 07:49:47 -0800</creation_ts>
          <short_desc>WebCore/bridge/runtime.[cpp|h] should be renamed</short_desc>
          <delta_ts>2010-01-20 03:40:21 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>33839</dependson>
          <blocked>33712</blocked>
    
    <blocked>33589</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>abarth</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181878</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-18 07:49:47 -0800</bug_when>
    <thetext>WebCore/bridge/runtime.[cpp|h] should be renamed. This is part of the renaming of numerous files in WebCore/bridge. See Bug 33712, which this bug blocks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181890</commentid>
    <comment_count>1</comment_count>
      <attachid>46827</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-18 09:03:45 -0800</bug_when>
    <thetext>Created attachment 46827
Patch 1 for Bug 33801

Renames runtime.[cpp|h] to Bridge.[cpp|h]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181892</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-18 09:09:50 -0800</bug_when>
    <thetext>Attachment 46827 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/bridge/testbindings.cpp:23:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebCore/bridge/Bridge.h:124:  _rootObject is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bridge/Bridge.h:140:  _rootObject is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Skipping input &apos;WebCore/bridge/runtime.cpp&apos;: Can&apos;t open for reading
WebCore/bridge/testqtbindings.cpp:27:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Skipping input &apos;WebCore/bridge/runtime.h&apos;: Can&apos;t open for reading
Total errors found: 4


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181895</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-18 09:12:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 46827 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; WebCore/bridge/testbindings.cpp:23:  Found other header before a header this
&gt; file implements. Should be: config.h, primary header, blank line, and then
&gt; alphabetically sorted.  [build/include_order] [4]
This seems to be a false positive.

&gt; WebCore/bridge/Bridge.h:124:  _rootObject is incorrectly named. Don&apos;t use
&gt; underscores in your identifier names.  [readability/naming] [4]
&gt; WebCore/bridge/Bridge.h:140:  _rootObject is incorrectly named. Don&apos;t use
&gt; underscores in your identifier names.  [readability/naming] [4]
Will fix style in moved code in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181896</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-18 09:15:58 -0800</bug_when>
    <thetext>Attachment 46827 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/198037</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181902</commentid>
    <comment_count>5</comment_count>
      <attachid>46830</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-18 09:41:17 -0800</bug_when>
    <thetext>Created attachment 46830
Patch 2 for Bug 33801

Fixes qt build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181903</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-18 09:45:41 -0800</bug_when>
    <thetext>Attachment 46830 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/bridge/testbindings.cpp:23:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebCore/bridge/Bridge.h:124:  _rootObject is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bridge/Bridge.h:140:  _rootObject is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Skipping input &apos;WebCore/bridge/runtime.cpp&apos;: Can&apos;t open for reading
WebCore/bridge/testqtbindings.cpp:27:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Skipping input &apos;WebCore/bridge/runtime.h&apos;: Can&apos;t open for reading
Total errors found: 4


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181906</commentid>
    <comment_count>7</comment_count>
      <attachid>46830</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-18 09:56:27 -0800</bug_when>
    <thetext>Comment on attachment 46830
Patch 2 for Bug 33801

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181917</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-18 10:16:44 -0800</bug_when>
    <thetext>Attachment 46830 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/199035</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182199</commentid>
    <comment_count>9</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-19 03:53:19 -0800</bug_when>
    <thetext>Fixed qt build problem and landed manually as
http://trac.webkit.org/changeset/53464

Have opened Bug 33839 to fix style in moved code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182696</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-20 03:13:19 -0800</bug_when>
    <thetext>&gt; This seems to be a false positive.

Filed: https://bugs.webkit.org/show_bug.cgi?id=33891</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182719</commentid>
    <comment_count>11</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-20 03:40:21 -0800</bug_when>
    <thetext>Style is now fixed

Closing bug as resolved</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46827</attachid>
            <date>2010-01-18 09:03:45 -0800</date>
            <delta_ts>2010-01-18 09:41:17 -0800</delta_ts>
            <desc>Patch 1 for Bug 33801</desc>
            <filename>runtimeToBridge.txt</filename>
            <type>text/plain</type>
            <size>52898</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzQwOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTcgQEAKKzIwMTAtMDEtMTggIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZXMgV2ViQ29yZS9icmlkZ2UvcnVudGltZS5bY3BwfGhdIHRvIFdlYkNvcmUvYnJpZGdl
L0JyaWRnZS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMzgwMQorCisgICAgICAgIHJ1bnRpbWUuW2NwcHxoXSBjb250YWlucyBnZW5lcmFsIGludGVy
ZmFjZSBjbGFzc2VzIGZvciB1c2UgaW4gdGhlIGJyaWRnZSwKKyAgICAgICAgc28gQnJpZGdlIGlz
IGEgbW9yZSBhcHByb3ByaWF0ZSBuYW1lIHRoYW4gcnVudGltZS4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHJlbmFtaW5nIG9ubHkuCisKKyAgICAgICAgKiBBbmRyb2lkLmpzY2JpbmRpbmdzLm1r
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJD
b3JlU291cmNlcy5ia2w6CisgICAgICAgICogYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVu
Y3Rpb25zLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyR3RrLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVySGFpa3UuY3BwOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgICogYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyV2luLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyV3guY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdEluc3RhbmNlLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW06CisgICAgICAgICogYnJp
ZGdlL0JyaWRnZS5jcHA6IENvcGllZCBmcm9tIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwLgor
ICAgICAgICAqIGJyaWRnZS9CcmlkZ2UuaDogQ29waWVkIGZyb20gV2ViQ29yZS9icmlkZ2UvcnVu
dGltZS5oLgorICAgICAgICAqIGJyaWRnZS9jL2NfY2xhc3MuaDoKKyAgICAgICAgKiBicmlkZ2Uv
Yy9jX2luc3RhbmNlLmg6CisgICAgICAgICogYnJpZGdlL2MvY19ydW50aW1lLmg6CisgICAgICAg
ICogYnJpZGdlL2puaS9qbmlfaW5zdGFuY2UuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpj
X3J1bnRpbWUuaDoKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfY2xhc3MuaDoKKyAgICAgICAgKiBi
cmlkZ2UvcXQvcXRfaW5zdGFuY2UuaDoKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5o
OgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBicmlk
Z2UvcnVudGltZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2FycmF5Lmg6
CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmg6CisgICAgICAgICogYnJpZGdlL3J1
bnRpbWVfb2JqZWN0Lmg6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfcm9vdC5jcHA6CisgICAg
ICAgICogYnJpZGdlL3Rlc3RiaW5kaW5ncy5jcHA6CisgICAgICAgICogYnJpZGdlL3Rlc3RiaW5k
aW5ncy5tbToKKyAgICAgICAgKiBicmlkZ2UvdGVzdHF0YmluZGluZ3MuY3BwOgorICAgICAgICAq
IHBhZ2Uvd2luL0ZyYW1lV2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9NZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblZpZXcuY3Bw
OgorICAgICAgICAqIHBsdWdpbnMvZ3RrL1BsdWdpblZpZXdHdGsuY3BwOgorICAgICAgICAqIHBs
dWdpbnMvbWFjL1BsdWdpblZpZXdNYWMuY3BwOgorICAgICAgICAqIHBsdWdpbnMvcXQvUGx1Z2lu
Vmlld1F0LmNwcDoKKyAgICAgICAgKiBwbHVnaW5zL3N5bWJpYW4vUGx1Z2luVmlld1N5bWJpYW4u
Y3BwOgorICAgICAgICAqIHBsdWdpbnMvd2luL1BsdWdpblZpZXdXaW4uY3BwOgorCiAyMDEwLTAx
LTE4ICBUb3IgQXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5q
c2NiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3Mu
bWsJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzcsNiArMTc3LDcgQEAgTE9DQUxfU1JDX0ZJTEVTICs9IFwKIAlc
CiAJYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwIFwKIAlcCisJYnJpZGdlL0JyaWRn
ZS5jcHAgXAogCWJyaWRnZS9JZGVudGlmaWVyUmVwLmNwcCBcCiAJYnJpZGdlL05QX2pzb2JqZWN0
LmNwcCBcCiAJYnJpZGdlL2MvY19jbGFzcy5jcHAgXApAQCAtMTg5LDcgKzE5MCw2IEBAIExPQ0FM
X1NSQ19GSUxFUyArPSBcCiAJYnJpZGdlL2puaS9qbmlfdXRpbGl0eS5jcHAgXAogCWJyaWRnZS9q
bmkvanNjL2puaV91dGlsaXR5X3ByaXZhdGUuY3BwIFwKIAlicmlkZ2UvbnBydW50aW1lLmNwcCBc
Ci0JYnJpZGdlL3J1bnRpbWUuY3BwIFwKIAlicmlkZ2UvcnVudGltZV9hcnJheS5jcHAgXAogCWJy
aWRnZS9ydW50aW1lX21ldGhvZC5jcHAgXAogCWJyaWRnZS9ydW50aW1lX29iamVjdC5jcHAgXApJ
bmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdv
cmtpbmcgY29weSkKQEAgLTQ5MCw2ICs0OTAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggXAogCVdlYkNvcmUvYmlu
ZGluZ3MvanMvU3RyaW5nU291cmNlUHJvdmlkZXIuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9TY3Jp
cHRDb250cm9sbGVyQmFzZS5jcHAgXAorCVdlYkNvcmUvYnJpZGdlL0JyaWRnZS5jcHAgXAorCVdl
YkNvcmUvYnJpZGdlL0JyaWRnZS5oIFwKIAlXZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmNw
cCBcCiAJV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oIFwKIAlXZWJDb3JlL2JyaWRnZS9O
UF9qc29iamVjdC5jcHAgXApAQCAtNTEzLDggKzUxNSw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lX2ltcGwuaCBcCiAJV2ViQ29yZS9icmlkZ2UvbnBy
dW50aW1lX2ludGVybmFsLmggXAogCVdlYkNvcmUvYnJpZGdlL25wcnVudGltZV9wcml2LmggXAot
CVdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwIFwKLQlXZWJDb3JlL2JyaWRnZS9ydW50aW1lLmgg
XAogCVdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwIFwKIAlXZWJDb3JlL2JyaWRnZS9y
dW50aW1lX2FycmF5LmggXAogCVdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcCBcCklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5w
cm8JKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5
KQpAQCAtMzM5LDExICszMzksMTEgQEAgU09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvU2No
ZWR1bGVkQWN0aW9uLmNwcCBcCiAgICAgYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcCBcCiAgICAgYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwIFwKKyAgICBicmlk
Z2UvQnJpZGdlLmNwcCBcCiAgICAgYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwIFwKICAgICBicmlk
Z2UvTlBfanNvYmplY3QuY3BwIFwKICAgICBicmlkZ2UvbnBydW50aW1lLmNwcCBcCiAgICAgYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuY3BwIFwKLSAgICBicmlkZ2UvcnVudGltZS5jcHAgXAogICAgIGJy
aWRnZS9ydW50aW1lX21ldGhvZC5jcHAgXAogICAgIGJyaWRnZS9ydW50aW1lX29iamVjdC5jcHAg
XAogICAgIGJyaWRnZS9ydW50aW1lX3Jvb3QuY3BwIFwKQEAgLTEwMjYsNiArMTAyNiw3IEBAIEhF
QURFUlMgKz0gXAogICAgIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIFwKICAg
ICBiaW5kaW5ncy9qcy9TdHJpbmdTb3VyY2VQcm92aWRlci5oIFwKICAgICBiaW5kaW5ncy9qcy9X
b3JrZXJTY3JpcHRDb250cm9sbGVyLmggXAorICAgIGJyaWRnZS9CcmlkZ2UuaCBcCiAgICAgYnJp
ZGdlL2MvY19jbGFzcy5oIFwKICAgICBicmlkZ2UvYy9jX2luc3RhbmNlLmggXAogICAgIGJyaWRn
ZS9jL2NfcnVudGltZS5oIFwKQEAgLTEwMzcsNyArMTAzOCw2IEBAIEhFQURFUlMgKz0gXAogICAg
IGJyaWRnZS9xdC9xdF9pbnN0YW5jZS5oIFwKICAgICBicmlkZ2UvcXQvcXRfcnVudGltZS5oIFwK
ICAgICBicmlkZ2UvcnVudGltZV9hcnJheS5oIFwKLSAgICBicmlkZ2UvcnVudGltZS5oIFwKICAg
ICBicmlkZ2UvcnVudGltZV9tZXRob2QuaCBcCiAgICAgYnJpZGdlL3J1bnRpbWVfb2JqZWN0Lmgg
XAogICAgIGJyaWRnZS9ydW50aW1lX3Jvb3QuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmVTb3Vy
Y2VzLmJrbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbAkocmV2aXNp
b24gNTMzOTkpCisrKyBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbAkod29ya2luZyBjb3B5KQpA
QCAtMTY1LDYgKzE2NSw3IEBAIFRoaXMgZmlsZSBjb250YWlucyB0aGUgbGlzdCBvZiBmaWxlcyBu
ZWUKICAgICA8L3NldD4KIAogICAgIDxzZXQgYXBwZW5kPSIxIiB2YXI9IldFQkNPUkVfU09VUkNF
U19CUklER0UiPgorICAgICAgICBicmlkZ2UvQnJpZGdlLmNwcAogICAgICAgICBicmlkZ2UvSWRl
bnRpZmllclJlcC5jcHAKICAgICAgICAgYnJpZGdlL05QX2pzb2JqZWN0LmNwcAogICAgICAgICBi
cmlkZ2UvYy9jX2NsYXNzLmNwcApAQCAtMTcyLDcgKzE3Myw2IEBAIFRoaXMgZmlsZSBjb250YWlu
cyB0aGUgbGlzdCBvZiBmaWxlcyBuZWUKICAgICAgICAgYnJpZGdlL2MvY19ydW50aW1lLmNwcAog
ICAgICAgICBicmlkZ2UvYy9jX3V0aWxpdHkuY3BwCiAgICAgICAgIGJyaWRnZS9ucHJ1bnRpbWUu
Y3BwCi0gICAgICAgIGJyaWRnZS9ydW50aW1lLmNwcAogICAgICAgICBicmlkZ2UvcnVudGltZV9h
cnJheS5jcHAKICAgICAgICAgYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAogICAgICAgICBicmlk
Z2UvcnVudGltZV9vYmplY3QuY3BwCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzMyLDggKzMzMiw2IEBACiAJ
CTFBNTY5RDE5MEQ3RTJCODIwMDdDMzk4MyAvKiBvYmpjX3V0aWxpdHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0VBMEQ3RTJCODIwMDdDMzk4
MyAvKiBvYmpjX3V0aWxpdHkuaCAqLzsgfTsKIAkJMUE1NjlEMUEwRDdFMkI4MjAwN0MzOTgzIC8q
IG9iamNfdXRpbGl0eS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBNTY5Q0VCMEQ3RTJCODIwMDdDMzk4MyAvKiBvYmpjX3V0aWxpdHkubW0gKi87IH07
CiAJCTFBNTY5RDFCMEQ3RTJCODIwMDdDMzk4MyAvKiBXZWJTY3JpcHRPYmplY3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0VDMEQ3RTJCODIw
MDdDMzk4MyAvKiBXZWJTY3JpcHRPYmplY3QuaCAqLzsgfTsKLQkJMUE1NjlEMUMwRDdFMkI4MjAw
N0MzOTgzIC8qIHJ1bnRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE1NjlDRUQwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWUuY3BwICovOyB9
OwotCQkxQTU2OUQxRDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDRUUwRDdFMkI4MjAwN0MzOTgz
IC8qIHJ1bnRpbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkxQTU2OUQxRTBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNFRjBEN0Uy
QjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5jcHAgKi87IH07CiAJCTFBNTY5RDFGMEQ3RTJC
ODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNGMDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9h
cnJheS5oICovOyB9OwogCQkxQTU2OUQyMDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9tZXRo
b2QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1
NjlDRjEwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfbWV0aG9kLmNwcCAqLzsgfTsKQEAgLTEx
MTUsNiArMTExMyw4IEBACiAJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWRO
YW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NTBB
MEJDODA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU5OUQxRTMyMTBDOTdENkUwMEUwRUYx
MiAvKiBqbmlfdXRpbGl0eV9wcml2YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU5OUQxRTMwMTBDOTdENkUwMEUwRUYxMiAvKiBqbmlfdXRpbGl0
eV9wcml2YXRlLmNwcCAqLzsgfTsKIAkJNTk5RDFFMzMxMEM5N0Q2RTAwRTBFRjEyIC8qIGpuaV91
dGlsaXR5X3ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU5OUQxRTMxMTBDOTdENkUwMEUwRUYxMiAvKiBqbmlfdXRpbGl0eV9wcml2YXRlLmgg
Ki87IH07CisJCTU5QTNFQjE0MTEwNEIxQkIwMDk3RTdGMiAvKiBCcmlkZ2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBM0VCMTMxMTA0QjFCQjAw
OTdFN0YyIC8qIEJyaWRnZS5jcHAgKi87IH07CisJCTU5QTNFQjE2MTEwNEIxQzUwMDk3RTdGMiAv
KiBCcmlkZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU5QTNFQjE1MTEwNEIxQzUwMDk3RTdGMiAvKiBCcmlkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OUM3N0YyQTEwNTQ1QjNCMDA1MDYxMDQg
LyogR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1OUM3N0YyODEwNTQ1QjNCMDA1MDYxMDQgLyogR2VvbG9jYXRp
b25TZXJ2aWNlTW9jay5jcHAgKi87IH07CiAJCTU5Qzc3RjJCMTA1NDVCM0IwMDUwNjEwNCAvKiBH
ZW9sb2NhdGlvblNlcnZpY2VNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1OUM3N0YyOTEwNTQ1QjNCMDA1MDYxMDQgLyogR2VvbG9jYXRpb25TZXJ2
aWNlTW9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTVEMTVFM0FCMEY5RTZBQzEwMDlFMEUzRiAvKiBYTUxUb2tlbml6ZXJTY29wZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDE1RTNBOTBGOUU2
QUMxMDA5RTBFM0YgLyogWE1MVG9rZW5pemVyU2NvcGUuY3BwICovOyB9OwpAQCAtNTU3Nyw4ICs1
NTc3LDYgQEAKIAkJMUE1NjlDRUEwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamNfdXRpbGl0eS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBvYmpjX3V0aWxpdHkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE1NjlDRUIwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamNfdXRp
bGl0eS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IG9iamNfdXRp
bGl0eS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE1NjlDRUMwRDdFMkI4MjAw
N0MzOTgzIC8qIFdlYlNjcmlwdE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJTY3JpcHRPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUE1
NjlDRUQwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gcnVudGltZS5jcHA7IHBhdGggPSBicmlkZ2UvcnVudGltZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNTY5Q0VFMEQ3RTJCODIwMDdDMzk4MyAv
KiBydW50aW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHJ1bnRpbWUuaDsg
cGF0aCA9IGJyaWRnZS9ydW50aW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFB
NTY5Q0VGMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IHJ1bnRpbWVfYXJyYXkuY3BwOyBwYXRoID0gYnJpZGdl
L3J1bnRpbWVfYXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTU2OUNG
MDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBydW50aW1lX2FycmF5Lmg7IHBhdGggPSBicmlkZ2UvcnVudGltZV9hcnJh
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTU2OUNGMTBEN0UyQjgyMDA3QzM5
ODMgLyogcnVudGltZV9tZXRob2QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gcnVudGltZV9tZXRob2QuY3BwOyBwYXRoID0gYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY0NjUsNiArNjQ2Myw4IEBACiAJCTU1
MEEwQkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1YWxpZmllZE5hbWUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTU5
OUQxRTMwMTBDOTdENkUwMEUwRUYxMiAvKiBqbmlfdXRpbGl0eV9wcml2YXRlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IGpuaV91dGlsaXR5X3ByaXZhdGUuY3BwOyBw
YXRoID0ganNjL2puaV91dGlsaXR5X3ByaXZhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1OTlEMUUzMTEwQzk3RDZFMDBFMEVGMTIgLyogam5pX3V0aWxpdHlfcHJpdmF0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBqbmlfdXRpbGl0eV9wcml2YXRlLmg7
IHBhdGggPSBqc2Mvam5pX3V0aWxpdHlfcHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1OUEzRUIxMzExMDRCMUJCMDA5N0U3RjIgLyogQnJpZGdlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJyaWRnZS5jcHA7IHBhdGggPSBicmlkZ2UvQnJp
ZGdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTlBM0VCMTUxMTA0QjFDNTAw
OTdFN0YyIC8qIEJyaWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBCcmlk
Z2UuaDsgcGF0aCA9IGJyaWRnZS9CcmlkZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTlDNzdGMjgxMDU0NUIzQjAwNTA2MTA0IC8qIEdlb2xvY2F0aW9uU2VydmljZU1vY2suY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gR2VvbG9jYXRpb25TZXJ2aWNl
TW9jay5jcHA7IHBhdGggPSBtb2NrL0dlb2xvY2F0aW9uU2VydmljZU1vY2suY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1OUM3N0YyOTEwNTQ1QjNCMDA1MDYxMDQgLyogR2VvbG9j
YXRpb25TZXJ2aWNlTW9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBHZW9s
b2NhdGlvblNlcnZpY2VNb2NrLmg7IHBhdGggPSBtb2NrL0dlb2xvY2F0aW9uU2VydmljZU1vY2su
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQxNUUzQTkwRjlFNkFDMTAwOUUwRTNG
IC8qIFhNTFRva2VuaXplclNjb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFhNTFRva2VuaXplclNjb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTEwMjk0LDYgKzEwMjk0LDggQEAKIAkJMUE1NjlDQzQwRDdFMkI2MDAwN0MzOTgzIC8qIGJy
aWRnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTlB
M0VCMTUxMTA0QjFDNTAwOTdFN0YyIC8qIEJyaWRnZS5oICovLAorCQkJCTU5QTNFQjEzMTEwNEIx
QkIwMDk3RTdGMiAvKiBCcmlkZ2UuY3BwICovLAogCQkJCTFBNTY5Q0M1MEQ3RTJCODIwMDdDMzk4
MyAvKiBjICovLAogCQkJCTFBNTY5Q0NFMEQ3RTJCODIwMDdDMzk4MyAvKiBqbmkgKi8sCiAJCQkJ
MUE1NjlDRTIwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamMgKi8sCkBAIC0xMDMwNyw4ICsxMDMwOSw2
IEBACiAJCQkJMUE1NjlDREYwRDdFMkI4MjAwN0MzOTgzIC8qIG5wcnVudGltZV9pbXBsLmggKi8s
CiAJCQkJMUE1NjlDRTAwRDdFMkI4MjAwN0MzOTgzIC8qIG5wcnVudGltZV9pbnRlcm5hbC5oICov
LAogCQkJCTFBNTY5Q0UxMEQ3RTJCODIwMDdDMzk4MyAvKiBucHJ1bnRpbWVfcHJpdi5oICovLAot
CQkJCTFBNTY5Q0VEMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lLmNwcCAqLywKLQkJCQkxQTU2
OUNFRTBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZS5oICovLAogCQkJCTFBNTY5Q0VGMEQ3RTJC
ODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmNwcCAqLywKIAkJCQkxQTU2OUNGMDBEN0UyQjgy
MDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oICovLAogCQkJCTFBNTY5Q0YxMEQ3RTJCODIwMDdD
Mzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAgKi8sCkBAIC0xNzgwNyw3ICsxNzgwNyw2IEBACiAJ
CQkJQThDRkY1RTEwQTE1NUEwNTAwMEE0MjM0IC8qIFJvb3RJbmxpbmVCb3guaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ5RTkxMUM5MEVGODZENDcwMDlEMENBRiAvKiBSb3RhdGVUcmFuc2Zvcm1PcGVy
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFDNjNBMjQ4MEY3MTY0NjYwMEMwOUQ1QSAvKiBS
dW5Mb29wVGltZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTFBNTY5RDFEMEQ3RTJCODIwMDdDMzk4
MyAvKiBydW50aW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU2OUQxRjBEN0UyQjgyMDA3QzM5
ODMgLyogcnVudGltZV9hcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NjlEMjEwRDdFMkI4
MjAwN0MzOTgzIC8qIHJ1bnRpbWVfbWV0aG9kLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU2OUQy
MzBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9vYmplY3QuaCBpbiBIZWFkZXJzICovLApAQCAt
MTgzNDksNiArMTgzNDgsNyBAQAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52
YXNDb250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU0RTkxQUYxMEY3RkIz
MTAwQTI3NzlDIC8qIFdlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCBp
biBIZWFkZXJzICovLAorCQkJCTU5QTNFQjE2MTEwNEIxQzUwMDk3RTdGMiAvKiBCcmlkZ2UuaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjAwMzEsNyArMjAwMzEsNiBAQAogCQkJCUE4Q0ZGNUU3MEExNTVB
MDUwMDBBNDIzNCAvKiBSb290SW5saW5lQm94LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RTkx
MUM4MEVGODZENDcwMDlEMENBRiAvKiBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUM2M0EyNDkwRjcxNjQ2NjAwQzA5RDVBIC8qIFJ1bkxvb3BUaW1lckNG
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBNTY5RDFDMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50
aW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNTY5RDFFMEQ3RTJCODIwMDdDMzk4MyAvKiBy
dW50aW1lX2FycmF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNTY5RDIwMEQ3RTJCODIwMDdD
Mzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTU2OUQyMjBE
N0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9vYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0y
MDUxMyw2ICsyMDUxMiw3IEBACiAJCQkJNkU0RTkxQUMxMEY3RkIzMTAwQTI3NzlDIC8qIENhbnZh
c0NvbnRleHRBdHRyaWJ1dGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFNEU5MUFFMTBGN0ZC
MzEwMEEyNzc5QyAvKiBXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTZFRThBNzcyMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTlBM0VCMTQxMTA0QjFCQjAwOTdFN0YyIC8qIEJyaWRn
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNQbHVnaW5F
bGVtZW50RnVuY3Rpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
UGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMCwxMCArMjAsMTAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU1BsdWdp
bkVsZW1lbnRGdW5jdGlvbnMuaCIKIAorI2luY2x1ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQbHVnSW5FbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNI
VE1MRWxlbWVudC5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKICNpbmNsdWRlICJydW50aW1lX29i
amVjdC5oIgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDb250cm9sbGVyR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENvbnRyb2xsZXJHdGsuY3BwCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlckd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDkgKzMxLDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9s
bGVyLmgiCiAKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAj
aW5jbHVkZSAicnVudGltZV9yb290LmgiCi0jaW5jbHVkZSAicnVudGltZS5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
ckhhaWt1LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRy
b2xsZXJIYWlrdS5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVySGFpa3UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw4ICsyNyw4IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogCisj
aW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgotI2luY2x1ZGUgInJ1
bnRpbWUuaCIKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKIAogCkluZGV4OiBXZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyTWFjLm1tCShyZXZpc2lvbiA1MzM5OSkKKysrIFdl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlck1hYy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJTY3JpcHRDb250
cm9sbGVyLmgiCiAKKyNpbXBvcnQgIkJyaWRnZS5oIgogI2ltcG9ydCAiRE9NQWJzdHJhY3RWaWV3
RnJhbWUuaCIKICNpbXBvcnQgIkRPTVdpbmRvdy5oIgogI2ltcG9ydCAiRnJhbWUuaCIKQEAgLTM3
LDYgKzM4LDggQEAKICNpbXBvcnQgIkpTRE9NV2luZG93LmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRP
YmplY3RQcml2YXRlLmgiCiAjaW1wb3J0ICJXaWRnZXQuaCIKKyNpbXBvcnQgIm9iamNfaW5zdGFu
Y2UuaCIKKyNpbXBvcnQgInJ1bnRpbWVfcm9vdC5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUv
QVBJQ2FzdC5oPgogI2ltcG9ydCA8cnVudGltZS9KU0xvY2suaD4KIApAQCAtNDYsMTAgKzQ5LDYg
QEAKICNpbXBvcnQgIm5wcnVudGltZV9pbXBsLmgiCiAjZW5kaWYKIAotI2ltcG9ydCAib2JqY19p
bnN0YW5jZS5oIgotI2ltcG9ydCAicnVudGltZV9yb290LmgiCi0jaW1wb3J0ICJydW50aW1lLmgi
Ci0KICNpZiBFTkFCTEUoTUFDX0pBVkFfQlJJREdFKQogI2ltcG9ydCAiam5pX2luc3RhbmNlLmgi
CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlclF0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJRdC5j
cHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMSArMzYsMTEgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAKKyNpbmNsdWRlICJCcmlk
Z2UuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAj
aW5jbHVkZSAicXRfaW5zdGFuY2UuaCIKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKLSNpbmNs
dWRlICJydW50aW1lLmgiCiAKICNpbmNsdWRlIDxRV2lkZ2V0PgogCkluZGV4OiBXZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlcldpbi5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysg
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyV2luLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjcsOCArMjcsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlw
dENvbnRyb2xsZXIuaCIKIAorI2luY2x1ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUgIlBsdWdpblZp
ZXcuaCIKLSNpbmNsdWRlICJydW50aW1lLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M6OkJpbmRp
bmdzOwogCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJXeC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyV3guY3Bw
CShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
cld4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsOSArMjcsOSBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKIAorI2luY2x1ZGUgIkJyaWRnZS5o
IgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKLSNp
bmNsdWRlICJydW50aW1lLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDogV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRJbnN0YW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0SW5zdGFuY2UuaAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdEluc3RhbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDggKzMxLDgg
QEAKICNpZm5kZWYgU2NyaXB0SW5zdGFuY2VfaAogI2RlZmluZSBTY3JpcHRJbnN0YW5jZV9oCiAK
KyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0jaW5jbHVkZSAi
cnVudGltZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsy
Niw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldlYlNjcmlwdE9iamVjdFByaXZh
dGUuaCIKIAorI2ltcG9ydCAiQnJpZGdlLmgiCiAjaW1wb3J0ICJDb25zb2xlLmgiCiAjaW1wb3J0
ICJET01JbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NV2luZG93LmgiCkBAIC0zNiw3ICszNyw2IEBA
CiAjaW1wb3J0ICJTdHJpbmdTb3VyY2VQcm92aWRlci5oIgogI2ltcG9ydCAiV2ViQ29yZU9iakNF
eHRyYXMuaCIKICNpbXBvcnQgIm9iamNfaW5zdGFuY2UuaCIKLSNpbXBvcnQgInJ1bnRpbWUuaCIK
ICNpbXBvcnQgInJ1bnRpbWVfb2JqZWN0LmgiCiAjaW1wb3J0ICJydW50aW1lX3Jvb3QuaCIKICNp
bXBvcnQgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KSW5kZXg6IFdlYkNvcmUvYnJpZGdlL0Jy
aWRnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmNwcAkocmV2aXNp
b24gNTMzOTkpCShmcm9tIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwOjUzMzk5KQorKysgV2Vi
Q29yZS9icmlkZ2UvQnJpZGdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJydW50
aW1lLmgiCisKKyNpbmNsdWRlICJydW50aW1lX29iamVjdC5oIgorI2luY2x1ZGUgInJ1bnRpbWVf
cm9vdC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CisKKyNpZiBQTEFURk9STShRVCkK
KyNpbmNsdWRlICJxdF9pbnN0YW5jZS5oIgorI2VuZGlmCisKK25hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgQmluZGluZ3MgeworCitBcnJheTo6QXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0PiBy
b290T2JqZWN0KQorICAgIDogX3Jvb3RPYmplY3Qocm9vdE9iamVjdCkKK3sKKyAgICBBU1NFUlQo
X3Jvb3RPYmplY3QpOworfQorCitBcnJheTo6fkFycmF5KCkKK3sKK30KKworSW5zdGFuY2U6Oklu
c3RhbmNlKFBhc3NSZWZQdHI8Um9vdE9iamVjdD4gcm9vdE9iamVjdCkKKyAgICA6IF9yb290T2Jq
ZWN0KHJvb3RPYmplY3QpCisgICAgLCBtX3J1bnRpbWVPYmplY3QoMCkKK3sKKyAgICBBU1NFUlQo
X3Jvb3RPYmplY3QpOworfQorCitJbnN0YW5jZTo6fkluc3RhbmNlKCkKK3sKKyAgICBBU1NFUlQo
IW1fcnVudGltZU9iamVjdCk7Cit9CisKK3N0YXRpYyBLSlNEaWRFeGVjdXRlRnVuY3Rpb25QdHIg
c19kaWRFeGVjdXRlRnVuY3Rpb247CisKK3ZvaWQgSW5zdGFuY2U6OnNldERpZEV4ZWN1dGVGdW5j
dGlvbihLSlNEaWRFeGVjdXRlRnVuY3Rpb25QdHIgZnVuYykKK3sKKyAgICBzX2RpZEV4ZWN1dGVG
dW5jdGlvbiA9IGZ1bmM7Cit9CisKK0tKU0RpZEV4ZWN1dGVGdW5jdGlvblB0ciBJbnN0YW5jZTo6
ZGlkRXhlY3V0ZUZ1bmN0aW9uKCkKK3sKKyAgICByZXR1cm4gc19kaWRFeGVjdXRlRnVuY3Rpb247
Cit9CisKK3ZvaWQgSW5zdGFuY2U6OmJlZ2luKCkKK3sKKyAgICB2aXJ0dWFsQmVnaW4oKTsKK30K
Kwordm9pZCBJbnN0YW5jZTo6ZW5kKCkKK3sKKyAgICB2aXJ0dWFsRW5kKCk7Cit9CisKK1J1bnRp
bWVPYmplY3RJbXAqIEluc3RhbmNlOjpjcmVhdGVSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhl
YykKK3sKKyAgICBBU1NFUlQoX3Jvb3RPYmplY3QpOworICAgIEFTU0VSVChfcm9vdE9iamVjdC0+
aXNWYWxpZCgpKTsKKyAgICBpZiAobV9ydW50aW1lT2JqZWN0KQorICAgICAgICByZXR1cm4gbV9y
dW50aW1lT2JqZWN0OworICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Cisg
ICAgbV9ydW50aW1lT2JqZWN0ID0gbmV3UnVudGltZU9iamVjdChleGVjKTsKKyAgICBfcm9vdE9i
amVjdC0+YWRkUnVudGltZU9iamVjdChtX3J1bnRpbWVPYmplY3QpOworICAgIHJldHVybiBtX3J1
bnRpbWVPYmplY3Q7Cit9CisKK1J1bnRpbWVPYmplY3RJbXAqIEluc3RhbmNlOjpuZXdSdW50aW1l
T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0
aW9uc09ubHkpOworICAgIHJldHVybiBuZXcgKGV4ZWMpIFJ1bnRpbWVPYmplY3RJbXAoZXhlYywg
dGhpcyk7Cit9CisKK3ZvaWQgSW5zdGFuY2U6OndpbGxEZXN0cm95UnVudGltZU9iamVjdCgpCit7
CisgICAgQVNTRVJUKF9yb290T2JqZWN0KTsKKyAgICBBU1NFUlQoX3Jvb3RPYmplY3QtPmlzVmFs
aWQoKSk7CisgICAgQVNTRVJUKG1fcnVudGltZU9iamVjdCk7CisgICAgX3Jvb3RPYmplY3QtPnJl
bW92ZVJ1bnRpbWVPYmplY3QobV9ydW50aW1lT2JqZWN0KTsKKyAgICBtX3J1bnRpbWVPYmplY3Qg
PSAwOworfQorCit2b2lkIEluc3RhbmNlOjp3aWxsSW52YWxpZGF0ZVJ1bnRpbWVPYmplY3QoKQor
eworICAgIEFTU0VSVChtX3J1bnRpbWVPYmplY3QpOworICAgIG1fcnVudGltZU9iamVjdCA9IDA7
Cit9CisKK1Jvb3RPYmplY3QqIEluc3RhbmNlOjpyb290T2JqZWN0KCkgY29uc3QgCit7IAorICAg
IHJldHVybiBfcm9vdE9iamVjdCAmJiBfcm9vdE9iamVjdC0+aXNWYWxpZCgpID8gX3Jvb3RPYmpl
Y3QuZ2V0KCkgOiAwOworfQorCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QmluZGluZ3MKSW5kZXg6
IFdlYkNvcmUvYnJpZGdlL0JyaWRnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmNwcAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9CcmlkZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKKyNpbmNsdWRlICJCcmlkZ2UuaCIKIAogI2luY2x1
ZGUgInJ1bnRpbWVfb2JqZWN0LmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCkluZGV4OiBX
ZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS9Ccmlk
Z2UuaAkocmV2aXNpb24gNTMzOTkpCShmcm9tIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuaDo1MzM5
OSkKKysrIFdlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA4LCAyMDA5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBKQVZBU0NSSVBUQ09SRV9CSU5E
SU5HU19SVU5USU1FX0gKKyNkZWZpbmUgSkFWQVNDUklQVENPUkVfQklORElOR1NfUlVOVElNRV9I
CisKKyNpbmNsdWRlIDxydW50aW1lL0pTU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
KworbmFtZXNwYWNlIEpTQyAgeworCitjbGFzcyBBcmdMaXN0OworY2xhc3MgSWRlbnRpZmllcjsK
K2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgUHJvcGVydHlOYW1lQXJyYXk7CitjbGFzcyBS
dW50aW1lT2JqZWN0SW1wOworCituYW1lc3BhY2UgQmluZGluZ3MgeworCitjbGFzcyBJbnN0YW5j
ZTsKK2NsYXNzIE1ldGhvZDsKK2NsYXNzIFJvb3RPYmplY3Q7CisKK3R5cGVkZWYgVmVjdG9yPE1l
dGhvZCo+IE1ldGhvZExpc3Q7CisKK2NsYXNzIEZpZWxkIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFs
IEpTVmFsdWUgdmFsdWVGcm9tSW5zdGFuY2UoRXhlY1N0YXRlKiwgY29uc3QgSW5zdGFuY2UqKSBj
b25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlVG9JbnN0YW5jZShFeGVjU3RhdGUq
LCBjb25zdCBJbnN0YW5jZSosIEpTVmFsdWUpIGNvbnN0ID0gMDsKKworICAgIHZpcnR1YWwgfkZp
ZWxkKCkgeyB9Cit9OworCitjbGFzcyBNZXRob2QgOiBwdWJsaWMgTm9uY29weWFibGUgeworcHVi
bGljOgorICAgIHZpcnR1YWwgaW50IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CisgICAgICAg
IAorICAgIHZpcnR1YWwgfk1ldGhvZCgpIHsgfQorfTsKKworY2xhc3MgQ2xhc3MgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworcHVibGljOgorICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFt
ZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
RmllbGQqIGZpZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5j
ZSosIGNvbnN0IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CisKKyAgICB2
aXJ0dWFsIH5DbGFzcygpIHsgfQorfTsKKwordHlwZWRlZiB2b2lkICgqS0pTRGlkRXhlY3V0ZUZ1
bmN0aW9uUHRyKShFeGVjU3RhdGUqLCBKU09iamVjdCogcm9vdE9iamVjdCk7CisKK2NsYXNzIElu
c3RhbmNlIDogcHVibGljIFJlZkNvdW50ZWQ8SW5zdGFuY2U+IHsKK3B1YmxpYzoKKyAgICBJbnN0
YW5jZShQYXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKKworICAgIHN0YXRpYyB2b2lkIHNldERpZEV4
ZWN1dGVGdW5jdGlvbihLSlNEaWRFeGVjdXRlRnVuY3Rpb25QdHIgZnVuYyk7CisgICAgc3RhdGlj
IEtKU0RpZEV4ZWN1dGVGdW5jdGlvblB0ciBkaWRFeGVjdXRlRnVuY3Rpb24oKTsKKworICAgIC8v
IFRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIG1haW4gZW50
cnkgcG9pbnRzIGludG8KKyAgICAvLyB0aGUgbmF0aXZlIGltcGxlbWVudGF0aW9ucy4gIFRoZXkg
Y2FuIGJlIHVzZWQgdG8gZXN0YWJsaXNoIGFuZCBjbGVhbnVwCisgICAgLy8gYW55IG5lZWRlZCBz
dGF0ZS4KKyAgICB2b2lkIGJlZ2luKCk7CisgICAgdm9pZCBlbmQoKTsKKyAgICAKKyAgICB2aXJ0
dWFsIENsYXNzKiBnZXRDbGFzcygpIGNvbnN0ID0gMDsKKyAgICBSdW50aW1lT2JqZWN0SW1wKiBj
cmVhdGVSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSopOworICAgIHZvaWQgd2lsbEludmFsaWRhdGVS
dW50aW1lT2JqZWN0KCk7CisgICAgdm9pZCB3aWxsRGVzdHJveVJ1bnRpbWVPYmplY3QoKTsKKyAg
ICAKKyAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIHRoZSB2YWx1ZSB3YXMgbm90IHNldCBzdWNjZXNz
ZnVsbHkuCisgICAgdmlydHVhbCBib29sIHNldFZhbHVlT2ZVbmRlZmluZWRGaWVsZChFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSkgeyByZXR1cm4gZmFsc2U7IH0KKworICAg
IHZpcnR1YWwgSlNWYWx1ZSBpbnZva2VNZXRob2QoRXhlY1N0YXRlKiwgY29uc3QgTWV0aG9kTGlz
dCYsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpID0gMDsKKworICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0
c0ludm9rZURlZmF1bHRNZXRob2QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1
YWwgSlNWYWx1ZSBpbnZva2VEZWZhdWx0TWV0aG9kKEV4ZWNTdGF0ZSosIGNvbnN0IEFyZ0xpc3Qm
KSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CisgICAgCisgICAgdmlydHVhbCBib29sIHN1cHBv
cnRzQ29uc3RydWN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIEpTVmFs
dWUgaW52b2tlQ29uc3RydWN0KEV4ZWNTdGF0ZSosIGNvbnN0IEFyZ0xpc3QmKSB7IHJldHVybiBK
U1ZhbHVlKCk7IH0KKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0UHJvcGVydHlOYW1lcyhFeGVj
U3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYpIHsgfQorCisgICAgdmlydHVhbCBKU1ZhbHVlIGRl
ZmF1bHRWYWx1ZShFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKSBjb25zdCA9IDA7
CisgICAgCisgICAgdmlydHVhbCBKU1ZhbHVlIHZhbHVlT2YoRXhlY1N0YXRlKiBleGVjKSBjb25z
dCA9IDA7CisgICAgCisgICAgUm9vdE9iamVjdCogcm9vdE9iamVjdCgpIGNvbnN0OworICAgIAor
ICAgIHZpcnR1YWwgfkluc3RhbmNlKCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5
U2xvdCYpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5
RGVzY3JpcHRvcihKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9w
ZXJ0eURlc2NyaXB0b3ImKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBwdXQo
SlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSwgUHV0UHJv
cGVydHlTbG90JikgeyB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIHZvaWQgdmlydHVhbEJl
Z2luKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHZpcnR1YWxFbmQoKSB7IH0KKyAgICB2aXJ0dWFs
IFJ1bnRpbWVPYmplY3RJbXAqIG5ld1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKik7CisKKyAgICBS
ZWZQdHI8Um9vdE9iamVjdD4gX3Jvb3RPYmplY3Q7CisKK3ByaXZhdGU6CisgICAgUnVudGltZU9i
amVjdEltcCogbV9ydW50aW1lT2JqZWN0OworfTsKKworY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworcHVibGljOgorICAgIEFycmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwor
ICAgIHZpcnR1YWwgfkFycmF5KCk7CisgICAgCisgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXQo
RXhlY1N0YXRlICosIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBKU1ZhbHVlIHZhbHVlQXQoRXhlY1N0YXRlICosIHVuc2lnbmVkIGluZGV4KSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgZ2V0TGVuZ3RoKCkgY29uc3QgPSAwOworCitw
cm90ZWN0ZWQ6CisgICAgUmVmUHRyPFJvb3RPYmplY3Q+IF9yb290T2JqZWN0OworfTsKKworY29u
c3QgY2hhciAqc2lnbmF0dXJlRm9yUGFyYW1ldGVycyhjb25zdCBBcmdMaXN0Jik7CisKK3R5cGVk
ZWYgSGFzaE1hcDxSZWZQdHI8VVN0cmluZzo6UmVwPiwgTWV0aG9kTGlzdCo+IE1ldGhvZExpc3RN
YXA7Cit0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVTdHJpbmc6OlJlcD4sIE1ldGhvZCo+IE1ldGhv
ZE1hcDsgCit0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVTdHJpbmc6OlJlcD4sIEZpZWxkKj4gRmll
bGRNYXA7IAorICAgIAorfSAvLyBuYW1lc3BhY2UgQmluZGluZ3MKKworfSAvLyBuYW1lc3BhY2Ug
SlNDCisKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9i
cmlkZ2UvQnJpZGdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDggQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAogICovCiAKLSNpZm5kZWYgSkFWQVNDUklQVENPUkVfQklORElOR1NfUlVOVElNRV9I
Ci0jZGVmaW5lIEpBVkFTQ1JJUFRDT1JFX0JJTkRJTkdTX1JVTlRJTUVfSAorI2lmbmRlZiBCcmlk
Z2VfaAorI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSA8cnVudGltZS9KU1N0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xMzIsMTUgKzEzMiwxNSBAQCBwdWJsaWM6CiAg
ICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsK
ICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBdChFeGVjU3RhdGUgKiwgdW5zaWduZWQg
aW5kZXgsIEpTVmFsdWUpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIEpTVmFsdWUgdmFsdWVBdChF
eGVjU3RhdGUgKiwgdW5zaWduZWQgaW5kZXgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0VmFsdWVBdChFeGVjU3RhdGUqLCB1bnNpZ25lZCBpbmRleCwgSlNWYWx1ZSkgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgSlNWYWx1ZSB2YWx1ZUF0KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIGluZGV4
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgZ2V0TGVuZ3RoKCkgY29uc3Qg
PSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPFJvb3RPYmplY3Q+IF9yb290T2JqZWN0Owog
fTsKIAotY29uc3QgY2hhciAqc2lnbmF0dXJlRm9yUGFyYW1ldGVycyhjb25zdCBBcmdMaXN0Jik7
Citjb25zdCBjaGFyKiBzaWduYXR1cmVGb3JQYXJhbWV0ZXJzKGNvbnN0IEFyZ0xpc3QmKTsKIAog
dHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVU3RyaW5nOjpSZXA+LCBNZXRob2RMaXN0Kj4gTWV0aG9k
TGlzdE1hcDsKIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VVN0cmluZzo6UmVwPiwgTWV0aG9kKj4g
TWV0aG9kTWFwOyAKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNv
cmUvYnJpZGdlL3J1bnRpbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyMSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA2LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgInJ1bnRp
bWUuaCIKLQotI2luY2x1ZGUgInJ1bnRpbWVfb2JqZWN0LmgiCi0jaW5jbHVkZSAicnVudGltZV9y
b290LmgiCi0jaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KLQotI2lmIFBMQVRGT1JNKFFUKQot
I2luY2x1ZGUgInF0X2luc3RhbmNlLmgiCi0jZW5kaWYKLQotbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBCaW5kaW5ncyB7Ci0KLUFycmF5OjpBcnJheShQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJv
b3RPYmplY3QpCi0gICAgOiBfcm9vdE9iamVjdChyb290T2JqZWN0KQotewotICAgIEFTU0VSVChf
cm9vdE9iamVjdCk7Ci19Ci0KLUFycmF5Ojp+QXJyYXkoKQotewotfQotCi1JbnN0YW5jZTo6SW5z
dGFuY2UoUGFzc1JlZlB0cjxSb290T2JqZWN0PiByb290T2JqZWN0KQotICAgIDogX3Jvb3RPYmpl
Y3Qocm9vdE9iamVjdCkKLSAgICAsIG1fcnVudGltZU9iamVjdCgwKQotewotICAgIEFTU0VSVChf
cm9vdE9iamVjdCk7Ci19Ci0KLUluc3RhbmNlOjp+SW5zdGFuY2UoKQotewotICAgIEFTU0VSVCgh
bV9ydW50aW1lT2JqZWN0KTsKLX0KLQotc3RhdGljIEtKU0RpZEV4ZWN1dGVGdW5jdGlvblB0ciBz
X2RpZEV4ZWN1dGVGdW5jdGlvbjsKLQotdm9pZCBJbnN0YW5jZTo6c2V0RGlkRXhlY3V0ZUZ1bmN0
aW9uKEtKU0RpZEV4ZWN1dGVGdW5jdGlvblB0ciBmdW5jKQotewotICAgIHNfZGlkRXhlY3V0ZUZ1
bmN0aW9uID0gZnVuYzsKLX0KLQotS0pTRGlkRXhlY3V0ZUZ1bmN0aW9uUHRyIEluc3RhbmNlOjpk
aWRFeGVjdXRlRnVuY3Rpb24oKQotewotICAgIHJldHVybiBzX2RpZEV4ZWN1dGVGdW5jdGlvbjsK
LX0KLQotdm9pZCBJbnN0YW5jZTo6YmVnaW4oKQotewotICAgIHZpcnR1YWxCZWdpbigpOwotfQot
Ci12b2lkIEluc3RhbmNlOjplbmQoKQotewotICAgIHZpcnR1YWxFbmQoKTsKLX0KLQotUnVudGlt
ZU9iamVjdEltcCogSW5zdGFuY2U6OmNyZWF0ZVJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVj
KQotewotICAgIEFTU0VSVChfcm9vdE9iamVjdCk7Ci0gICAgQVNTRVJUKF9yb290T2JqZWN0LT5p
c1ZhbGlkKCkpOwotICAgIGlmIChtX3J1bnRpbWVPYmplY3QpCi0gICAgICAgIHJldHVybiBtX3J1
bnRpbWVPYmplY3Q7Ci0gICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAg
ICBtX3J1bnRpbWVPYmplY3QgPSBuZXdSdW50aW1lT2JqZWN0KGV4ZWMpOwotICAgIF9yb290T2Jq
ZWN0LT5hZGRSdW50aW1lT2JqZWN0KG1fcnVudGltZU9iamVjdCk7Ci0gICAgcmV0dXJuIG1fcnVu
dGltZU9iamVjdDsKLX0KLQotUnVudGltZU9iamVjdEltcCogSW5zdGFuY2U6Om5ld1J1bnRpbWVP
YmplY3QoRXhlY1N0YXRlKiBleGVjKQotewotICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRp
b25zT25seSk7Ci0gICAgcmV0dXJuIG5ldyAoZXhlYykgUnVudGltZU9iamVjdEltcChleGVjLCB0
aGlzKTsKLX0KLQotdm9pZCBJbnN0YW5jZTo6d2lsbERlc3Ryb3lSdW50aW1lT2JqZWN0KCkKLXsK
LSAgICBBU1NFUlQoX3Jvb3RPYmplY3QpOwotICAgIEFTU0VSVChfcm9vdE9iamVjdC0+aXNWYWxp
ZCgpKTsKLSAgICBBU1NFUlQobV9ydW50aW1lT2JqZWN0KTsKLSAgICBfcm9vdE9iamVjdC0+cmVt
b3ZlUnVudGltZU9iamVjdChtX3J1bnRpbWVPYmplY3QpOwotICAgIG1fcnVudGltZU9iamVjdCA9
IDA7Ci19Ci0KLXZvaWQgSW5zdGFuY2U6OndpbGxJbnZhbGlkYXRlUnVudGltZU9iamVjdCgpCi17
Ci0gICAgQVNTRVJUKG1fcnVudGltZU9iamVjdCk7Ci0gICAgbV9ydW50aW1lT2JqZWN0ID0gMDsK
LX0KLQotUm9vdE9iamVjdCogSW5zdGFuY2U6OnJvb3RPYmplY3QoKSBjb25zdCAKLXsgCi0gICAg
cmV0dXJuIF9yb290T2JqZWN0ICYmIF9yb290T2JqZWN0LT5pc1ZhbGlkKCkgPyBfcm9vdE9iamVj
dC5nZXQoKSA6IDA7Ci19Ci0KLX0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCaW5kaW5ncwpJbmRleDog
V2ViQ29yZS9icmlkZ2UvcnVudGltZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL3J1
bnRpbWUuaAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9ydW50aW1lLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMs
IDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZu
ZGVmIEpBVkFTQ1JJUFRDT1JFX0JJTkRJTkdTX1JVTlRJTUVfSAotI2RlZmluZSBKQVZBU0NSSVBU
Q09SRV9CSU5ESU5HU19SVU5USU1FX0gKLQotI2luY2x1ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4K
LSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0j
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgSlNDICB7Ci0KLWNsYXNzIEFyZ0xp
c3Q7Ci1jbGFzcyBJZGVudGlmaWVyOwotY2xhc3MgSlNHbG9iYWxPYmplY3Q7Ci1jbGFzcyBQcm9w
ZXJ0eU5hbWVBcnJheTsKLWNsYXNzIFJ1bnRpbWVPYmplY3RJbXA7Ci0KLW5hbWVzcGFjZSBCaW5k
aW5ncyB7Ci0KLWNsYXNzIEluc3RhbmNlOwotY2xhc3MgTWV0aG9kOwotY2xhc3MgUm9vdE9iamVj
dDsKLQotdHlwZWRlZiBWZWN0b3I8TWV0aG9kKj4gTWV0aG9kTGlzdDsKLQotY2xhc3MgRmllbGQg
ewotcHVibGljOgotICAgIHZpcnR1YWwgSlNWYWx1ZSB2YWx1ZUZyb21JbnN0YW5jZShFeGVjU3Rh
dGUqLCBjb25zdCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFs
dWVUb0luc3RhbmNlKEV4ZWNTdGF0ZSosIGNvbnN0IEluc3RhbmNlKiwgSlNWYWx1ZSkgY29uc3Qg
PSAwOwotCi0gICAgdmlydHVhbCB+RmllbGQoKSB7IH0KLX07Ci0KLWNsYXNzIE1ldGhvZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCBpbnQgbnVtUGFyYW1ldGVy
cygpIGNvbnN0ID0gMDsKLSAgICAgICAgCi0gICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9Ci19Owot
Ci1jbGFzcyBDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVh
bCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBj
b25zdCA9IDA7Ci0gICAgdmlydHVhbCBGaWVsZCogZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVy
JiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNrT2Jq
ZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7IH0KLQotICAgIHZpcnR1YWwgfkNsYXNzKCkgeyB9Ci19OwotCi10eXBlZGVm
IHZvaWQgKCpLSlNEaWRFeGVjdXRlRnVuY3Rpb25QdHIpKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBy
b290T2JqZWN0KTsKLQotY2xhc3MgSW5zdGFuY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxJbnN0YW5j
ZT4gewotcHVibGljOgotICAgIEluc3RhbmNlKFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwotCi0g
ICAgc3RhdGljIHZvaWQgc2V0RGlkRXhlY3V0ZUZ1bmN0aW9uKEtKU0RpZEV4ZWN1dGVGdW5jdGlv
blB0ciBmdW5jKTsKLSAgICBzdGF0aWMgS0pTRGlkRXhlY3V0ZUZ1bmN0aW9uUHRyIGRpZEV4ZWN1
dGVGdW5jdGlvbigpOwotCi0gICAgLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSBjYWxsZWQgYmVmb3Jl
IGFuZCBhZnRlciB0aGUgbWFpbiBlbnRyeSBwb2ludHMgaW50bwotICAgIC8vIHRoZSBuYXRpdmUg
aW1wbGVtZW50YXRpb25zLiAgVGhleSBjYW4gYmUgdXNlZCB0byBlc3RhYmxpc2ggYW5kIGNsZWFu
dXAKLSAgICAvLyBhbnkgbmVlZGVkIHN0YXRlLgotICAgIHZvaWQgYmVnaW4oKTsKLSAgICB2b2lk
IGVuZCgpOwotICAgIAotICAgIHZpcnR1YWwgQ2xhc3MqIGdldENsYXNzKCkgY29uc3QgPSAwOwot
ICAgIFJ1bnRpbWVPYmplY3RJbXAqIGNyZWF0ZVJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKik7Ci0g
ICAgdm9pZCB3aWxsSW52YWxpZGF0ZVJ1bnRpbWVPYmplY3QoKTsKLSAgICB2b2lkIHdpbGxEZXN0
cm95UnVudGltZU9iamVjdCgpOwotICAgIAotICAgIC8vIFJldHVybnMgZmFsc2UgaWYgdGhlIHZh
bHVlIHdhcyBub3Qgc2V0IHN1Y2Nlc3NmdWxseS4KLSAgICB2aXJ0dWFsIGJvb2wgc2V0VmFsdWVP
ZlVuZGVmaW5lZEZpZWxkKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlKSB7
IHJldHVybiBmYWxzZTsgfQotCi0gICAgdmlydHVhbCBKU1ZhbHVlIGludm9rZU1ldGhvZChFeGVj
U3RhdGUqLCBjb25zdCBNZXRob2RMaXN0JiwgY29uc3QgQXJnTGlzdCYgYXJncykgPSAwOwotCi0g
ICAgdmlydHVhbCBib29sIHN1cHBvcnRzSW52b2tlRGVmYXVsdE1ldGhvZCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBKU1ZhbHVlIGludm9rZURlZmF1bHRNZXRob2QoRXhl
Y1N0YXRlKiwgY29uc3QgQXJnTGlzdCYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KLSAgICAK
LSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDb25zdHJ1Y3QoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQotICAgIHZpcnR1YWwgSlNWYWx1ZSBpbnZva2VDb25zdHJ1Y3QoRXhlY1N0YXRlKiwgY29u
c3QgQXJnTGlzdCYpIHsgcmV0dXJuIEpTVmFsdWUoKTsgfQotICAgIAotICAgIHZpcnR1YWwgdm9p
ZCBnZXRQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JikgeyB9Ci0K
LSAgICB2aXJ0dWFsIEpTVmFsdWUgZGVmYXVsdFZhbHVlKEV4ZWNTdGF0ZSosIFByZWZlcnJlZFBy
aW1pdGl2ZVR5cGUpIGNvbnN0ID0gMDsKLSAgICAKLSAgICB2aXJ0dWFsIEpTVmFsdWUgdmFsdWVP
ZihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0ID0gMDsKLSAgICAKLSAgICBSb290T2JqZWN0KiByb290
T2JqZWN0KCkgY29uc3Q7Ci0gICAgCi0gICAgdmlydHVhbCB+SW5zdGFuY2UoKTsKLQotICAgIHZp
cnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25z
dCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90JikgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0
dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwg
Y29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpIHsgcmV0dXJuIGZhbHNlOyB9
Ci0gICAgdmlydHVhbCB2b2lkIHB1dChKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKSB7IH0KLQotcHJvdGVjdGVkOgotICAg
IHZpcnR1YWwgdm9pZCB2aXJ0dWFsQmVnaW4oKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdmlydHVh
bEVuZCgpIHsgfQotICAgIHZpcnR1YWwgUnVudGltZU9iamVjdEltcCogbmV3UnVudGltZU9iamVj
dChFeGVjU3RhdGUqKTsKLQotICAgIFJlZlB0cjxSb290T2JqZWN0PiBfcm9vdE9iamVjdDsKLQot
cHJpdmF0ZToKLSAgICBSdW50aW1lT2JqZWN0SW1wKiBtX3J1bnRpbWVPYmplY3Q7Ci19OwotCi1j
bGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci1wdWJsaWM6Ci0gICAgQXJyYXkoUGFz
c1JlZlB0cjxSb290T2JqZWN0Pik7Ci0gICAgdmlydHVhbCB+QXJyYXkoKTsKLSAgICAKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0VmFsdWVBdChFeGVjU3RhdGUgKiwgdW5zaWduZWQgaW5kZXgsIEpTVmFs
dWUpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIEpTVmFsdWUgdmFsdWVBdChFeGVjU3RhdGUgKiwg
dW5zaWduZWQgaW5kZXgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIGludCBnZXRM
ZW5ndGgoKSBjb25zdCA9IDA7Ci0KLXByb3RlY3RlZDoKLSAgICBSZWZQdHI8Um9vdE9iamVjdD4g
X3Jvb3RPYmplY3Q7Ci19OwotCi1jb25zdCBjaGFyICpzaWduYXR1cmVGb3JQYXJhbWV0ZXJzKGNv
bnN0IEFyZ0xpc3QmKTsKLQotdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVU3RyaW5nOjpSZXA+LCBN
ZXRob2RMaXN0Kj4gTWV0aG9kTGlzdE1hcDsKLXR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VVN0cmlu
Zzo6UmVwPiwgTWV0aG9kKj4gTWV0aG9kTWFwOyAKLXR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VVN0
cmluZzo6UmVwPiwgRmllbGQqPiBGaWVsZE1hcDsgCi0gICAgCi19IC8vIG5hbWVzcGFjZSBCaW5k
aW5ncwotCi19IC8vIG5hbWVzcGFjZSBKU0MKLQotI2VuZGlmCkluZGV4OiBXZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX2FycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvcnVudGltZV9h
cnJheS5oCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXku
aAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBSVU5USU1FX0FSUkFZ
X0hfCiAjZGVmaW5lIFJVTlRJTUVfQVJSQVlfSF8KIAotI2luY2x1ZGUgInJ1bnRpbWUuaCIKKyNp
bmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg+CiAK
IG5hbWVzcGFjZSBKU0MgewpJbmRleDogV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCShyZXZpc2lvbiA1
MzM5OSkKKysrIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUlVOVElNRV9GVU5DVElPTl9IXwogI2RlZmluZSBS
VU5USU1FX0ZVTkNUSU9OX0hfCiAKLSNpbmNsdWRlICJydW50aW1lLmgiCisjaW5jbHVkZSAiQnJp
ZGdlLmgiCiAjaW5jbHVkZSA8cnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmg+CiAjaW5jbHVkZSA8
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KSW5kZXg6
IFdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9vYmplY3QuaAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX29iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZu
ZGVmIEtKU19SVU5USU1FX09CSkVDVF9ICiAjZGVmaW5lIEtKU19SVU5USU1FX09CSkVDVF9ICiAK
LSNpbmNsdWRlICJydW50aW1lLmgiCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSA8cnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKSW5kZXg6IFdlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfcm9vdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9yb290LmNwcAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCiAKLSNpbmNsdWRlICJydW50aW1lLmgi
CisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAicnVudGltZV9vYmplY3QuaCIKICNpbmNs
dWRlIDxydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVk
U2V0Lmg+CkluZGV4OiBXZWJDb3JlL2JyaWRnZS90ZXN0YmluZGluZ3MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYnJpZGdlL3Rlc3RiaW5kaW5ncy5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysg
V2ViQ29yZS9icmlkZ2UvdGVzdGJpbmRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTksMTkg
KzE5LDE3IEBACiAgKgogICovCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSA8YXNzZXJ0
Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KIAotI2luY2x1ZGUg
IkpTVmFsdWUuaCIKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgot
I2luY2x1ZGUgInR5cGVzLmgiCisjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgImludGVy
cHJldGVyLmgiCi0KICNpbmNsdWRlICJucHJ1bnRpbWVfaW50ZXJuYWwuaCIKLQotI2luY2x1ZGUg
InJ1bnRpbWUuaCIKICNpbmNsdWRlICJydW50aW1lX29iamVjdC5oIgorI2luY2x1ZGUgInR5cGVz
LmgiCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxz
dHJpbmcuaD4KIAogCiAjZGVmaW5lIExPRyhmb3JtYXRBbmRBcmdzLi4uKSB7IFwKSW5kZXg6IFdl
YkNvcmUvYnJpZGdlL3Rlc3RiaW5kaW5ncy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRn
ZS90ZXN0YmluZGluZ3MubW0JKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvdGVz
dGJpbmRpbmdzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwyMCArMjQsMTggQEAKICAqLwogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAK
KyNpbmNsdWRlICJCcmlkZ2UuaCIKKyNpbmNsdWRlIDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbXBvcnQgPFdl
YktpdC9XZWJTY3JpcHRPYmplY3QuaD4KLQorI2luY2x1ZGUgImludGVycHJldGVyLmgiCisjaW5j
bHVkZSAicnVudGltZV9vYmplY3QuaCIKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0
cmluZy5oPgotCi0jaW5jbHVkZSAiSlNWYWx1ZS5oIgotI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAj
aW5jbHVkZSAidHlwZXMuaCIKLSNpbmNsdWRlICJpbnRlcnByZXRlci5oIgogCi0jaW5jbHVkZSAi
cnVudGltZS5oIgotI2luY2x1ZGUgInJ1bnRpbWVfb2JqZWN0LmgiCiAKICNkZWZpbmUgTE9HKGZv
cm1hdEFuZEFyZ3MuLi4pIHsgXAogICAgIGZwcmludGYgKHN0ZGVyciwgIiVzOiAgIiwgX19QUkVU
VFlfRlVOQ1RJT05fXyk7IFwKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3Rlc3RxdGJpbmRpbmdzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS90ZXN0cXRiaW5kaW5ncy5jcHAJKHJldmlz
aW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvdGVzdHF0YmluZGluZ3MuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMywyMSArMjMsMTggQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNp
bmNsdWRlIDxzdHJpbmcuaD4KIAotI2luY2x1ZGUgIkpTVmFsdWUuaCIKKyNpbmNsdWRlICJCcmlk
Z2UuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgotI2luY2x1ZGUgInR5cGVzLmgiCisjaW5jbHVk
ZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgImludGVycHJldGVyLmgiCi0KLSNpbmNsdWRlICJxb2Jq
ZWN0LmgiCiAjaW5jbHVkZSAicWRlYnVnLmgiCi0KLSNpbmNsdWRlICJydW50aW1lLmgiCisjaW5j
bHVkZSAicW9iamVjdC5oIgogI2luY2x1ZGUgInJ1bnRpbWVfb2JqZWN0LmgiCi0KKyNpbmNsdWRl
ICJ0eXBlcy5oIgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5j
bHVkZSA8c3RyaW5nLmg+CiAKIAogY2xhc3MgTXlPYmplY3QgOiBwdWJsaWMgUU9iamVjdApJbmRl
eDogV2ViQ29yZS9icmlkZ2UvYy9jX2NsYXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlk
Z2UvYy9jX2NsYXNzLmgJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvYy9jX2Ns
YXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDggQEAKIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQogCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAibnBydW50
aW1lX2ludGVybmFsLmgiCi0jaW5jbHVkZSAicnVudGltZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpJbmRleDogV2ViQ29yZS9icmlkZ2UvYy9jX2luc3Rh
bmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvYy9jX2luc3RhbmNlLmgJKHJldmlz
aW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvYy9jX2luc3RhbmNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDkgKzI4LDkgQEAKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
Ci0jaW5jbHVkZSAicnVudGltZS5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5j
bHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCisjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgTlBPYmplY3QgTlBPYmplY3Q7CiAKSW5k
ZXg6IFdlYkNvcmUvYnJpZGdlL2MvY19ydW50aW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
cmlkZ2UvYy9jX3J1bnRpbWUuaAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9j
L2NfcnVudGltZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw4IEBACiAKICNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIAorI2luY2x1ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUg
Im5wcnVudGltZV9pbnRlcm5hbC5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKIAogbmFtZXNwYWNl
IEpTQyB7CiBuYW1lc3BhY2UgQmluZGluZ3MgewpJbmRleDogV2ViQ29yZS9icmlkZ2Uvam5pL2pu
aV9pbnN0YW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL2puaS9qbmlfaW5zdGFu
Y2UuaAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9qbmkvam5pX2luc3RhbmNl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNQUNfSkFW
QV9CUklER0UpCiAKLSNpbmNsdWRlICJydW50aW1lLmgiCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAj
aW5jbHVkZSAicnVudGltZV9yb290LmgiCiAKICNpbmNsdWRlIDxKYXZhVk0vam5pLmg+CkluZGV4
OiBXZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29y
ZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsOCArMjYs
OCBAQAogI2lmbmRlZiBLSlNfQklORElOR1NfT0JKQ19SVU5USU1FX0gKICNkZWZpbmUgS0pTX0JJ
TkRJTkdTX09CSkNfUlVOVElNRV9ICiAKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJv
YmpjX2hlYWRlci5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKICNpbmNsdWRlIDxydW50aW1lL0pT
R2xvYmFsT2JqZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkluZGV4OiBXZWJD
b3JlL2JyaWRnZS9xdC9xdF9jbGFzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL3F0
L3F0X2NsYXNzLmgJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvcXQvcXRfY2xh
c3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsOCArMjAsNyBAQAogI2lmbmRlZiBCSU5ESU5HU19R
VF9DTEFTU19IXwogI2RlZmluZSBCSU5ESU5HU19RVF9DTEFTU19IXwogCi0jaW5jbHVkZSAicnVu
dGltZS5oIgotCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAicWdsb2JhbC5oIgogCiBR
VF9CRUdJTl9OQU1FU1BBQ0UKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuaAkocmV2aXNpb24g
NTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMCwxMSArMjAsMTEgQEAKICNpZm5kZWYgQklORElOR1NfUVRfSU5TVEFOQ0VfSF8KICNk
ZWZpbmUgQklORElOR1NfUVRfSU5TVEFOQ0VfSF8KIAotI2luY2x1ZGUgPFF0U2NyaXB0L3FzY3Jp
cHRlbmdpbmUuaD4KLSNpbmNsdWRlICJydW50aW1lLmgiCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAj
aW5jbHVkZSAicnVudGltZV9yb290LmgiCi0jaW5jbHVkZSA8cXBvaW50ZXIuaD4KKyNpbmNsdWRl
IDxRdFNjcmlwdC9xc2NyaXB0ZW5naW5lLmg+CiAjaW5jbHVkZSA8cWhhc2guaD4KKyNpbmNsdWRl
IDxxcG9pbnRlci5oPgogI2luY2x1ZGUgPHFzZXQuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkluZGV4
OiBXZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
cmlkZ2UvcXQvcXRfcnVudGltZS5oCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvYnJpZGdl
L3F0L3F0X3J1bnRpbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsOSArMjAsOSBAQAogI2lmbmRl
ZiBCSU5ESU5HU19RVF9SVU5USU1FX0hfCiAjZGVmaW5lIEJJTkRJTkdTX1FUX1JVTlRJTUVfSF8K
IAorI2luY2x1ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUgIkNvbXBsZXRpb24uaCIKICNpbmNsdWRl
ICJQcm90ZWN0LmgiCi0jaW5jbHVkZSAicnVudGltZS5oIgogI2luY2x1ZGUgInJ1bnRpbWVfbWV0
aG9kLmgiCiAKICNpbmNsdWRlIDxxYnl0ZWFycmF5Lmg+CkluZGV4OiBXZWJDb3JlL3BhZ2Uvd2lu
L0ZyYW1lV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uvd2luL0ZyYW1lV2luLmNw
cAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL3BhZ2Uvd2luL0ZyYW1lV2luLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjQsMTQgKzI0LDE0IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKICNpbmNsdWRlICJGcmFtZVdpbi5oIgogCi0jaW5jbHVk
ZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNs
dWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZsb2F0UmVj
dC5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2lu
Y2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKIHVzaW5nIHN0ZDo6bWluOwogCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL01lZGlhUGxheWVyUHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQ
cm94eS5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9NZWRpYVBsYXllclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIsOSArMjIsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJveHkuaCIKIAot
I2luY2x1ZGUgImNfY2xhc3MuaCIKLSNpbmNsdWRlICJjX2luc3RhbmNlLmgiCi0jaW5jbHVkZSAi
Y19ydW50aW1lLmgiCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2Fk
ZXIuaCIKICNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxWaWRl
b0VsZW1lbnQuaCIKQEAgLTMyLDE0ICszMCwxNiBAQAogI2luY2x1ZGUgIkpTUGx1Z2luRWxlbWVu
dEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCiAjaW5jbHVkZSAiTm9kZS5o
IgotI2luY2x1ZGUgIm5wcnVudGltZV9pbXBsLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyUGFydE9iamVjdC5o
IgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKLSNpbmNs
dWRlIDxydW50aW1lL0lkZW50aWZpZXIuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKKyNpbmNsdWRl
ICJjX2NsYXNzLmgiCisjaW5jbHVkZSAiY19pbnN0YW5jZS5oIgorI2luY2x1ZGUgImNfcnVudGlt
ZS5oIgorI2luY2x1ZGUgIm5wcnVudGltZV9pbXBsLmgiCisjaW5jbHVkZSA8cnVudGltZS9JZGVu
dGlmaWVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKSW5kZXg6IFdlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5WaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiUGx1Z2luVmlldy5oIgogCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAi
Q2hyb21lLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRl
ci5oIgpAQCAtNjUsNyArNjYsNiBAQAogI2luY2x1ZGUgIm5wcnVudGltZV9pbXBsLmgiCiAjaW5j
bHVkZSAicnVudGltZV9yb290LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKLSNpbmNsdWRlICJy
dW50aW1lLmgiCiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRlIDxydW50aW1l
L0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlwZS5oPgpJbmRleDogV2ViQ29yZS9w
bHVnaW5zL2d0ay9QbHVnaW5WaWV3R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsdWdp
bnMvZ3RrL1BsdWdpblZpZXdHdGsuY3BwCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvcGx1
Z2lucy9ndGsvUGx1Z2luVmlld0d0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAKKyNpbmNs
dWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50
TG9hZGVyLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtNTIsNyArNTMsNiBAQAogI2luY2x1
ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJucHJ1bnRpbWVfaW1wbC5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKICNpbmNsdWRlICJy
dW50aW1lX3Jvb3QuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgogI2luY2x1ZGUgPHJ1
bnRpbWUvSlNWYWx1ZS5oPgpJbmRleDogV2ViQ29yZS9wbHVnaW5zL21hYy9QbHVnaW5WaWV3TWFj
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsdWdpbnMvbWFjL1BsdWdpblZpZXdNYWMuY3Bw
CShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvcGx1Z2lucy9tYWMvUGx1Z2luVmlld01hYy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDEwICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogCi0jaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4K
LSNpbmNsdWRlIDxydW50aW1lL0pTVmFsdWUuaD4KLSNpbmNsdWRlICJ3dGYvUmV0YWluUHRyLmgi
Ci0KKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtNTQsNyArNTEsNiBA
QAogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJucHJ1bnRpbWVfaW1wbC5oIgog
I2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCIKQEAgLTYyLDEwICs1OCwxNCBAQAogI2luY2x1
ZGUgIlBsdWdpblBhY2thZ2UuaCIKICNpbmNsdWRlICJQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVy
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKLSNpbmNsdWRlICJydW50aW1lLmgiCi0jaW5j
bHVkZSAicnVudGltZV9yb290LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAibnBydW50aW1lX2ltcGwuaCIKKyNpbmNsdWRl
ICJydW50aW1lX3Jvb3QuaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgorI2luY2x1ZGUg
PHJ1bnRpbWUvSlNWYWx1ZS5oPgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKwogCiB1c2lu
ZyBKU0M6OkV4ZWNTdGF0ZTsKIHVzaW5nIEpTQzo6SW50ZXJwcmV0ZXI7CkluZGV4OiBXZWJDb3Jl
L3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsdWdp
bnMvcXQvUGx1Z2luVmlld1F0LmNwcAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL3BsdWdp
bnMvcXQvUGx1Z2luVmlld1F0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKIAorI2luY2x1ZGUg
IkJyaWRnZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2Fk
ZXIuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCkBAIC01NCwyNyArNTUsMjcgQEAKICNpbmNsdWRl
ICJQbHVnaW5EZWJ1Zy5oIgogI2luY2x1ZGUgIlBsdWdpblBhY2thZ2UuaCIKICNpbmNsdWRlICJQ
bHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgiCisjaW5jbHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIm5wcnVudGltZV9pbXBsLmgiCi0jaW5j
bHVkZSAicnVudGltZS5oIgogI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5oIgotI2luY2x1ZGUgIlFX
ZWJQYWdlQ2xpZW50LmgiCisKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CiAjaW5jbHVkZSA8UURl
c2t0b3BXaWRnZXQ+CiAjaW5jbHVkZSA8UUtleUV2ZW50PgogI2luY2x1ZGUgPFFQYWludGVyPgog
I2luY2x1ZGUgPFFXaWRnZXQ+CiAjaW5jbHVkZSA8UVgxMUluZm8+Ci0jaW5jbHVkZSA8cnVudGlt
ZS9KU0xvY2suaD4KLSNpbmNsdWRlIDxydW50aW1lL0pTVmFsdWUuaD4KICNpbmNsdWRlIDxYMTEv
WC5oPgogI2lmbmRlZiBRVF9OT19YUkVOREVSCiAjZGVmaW5lIEJvb2wgaW50CiAjZGVmaW5lIFN0
YXR1cyBpbnQKICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YcmVuZGVyLmg+CiAjZW5kaWYKKyNp
bmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNWYWx1ZS5oPgog
CiB1c2luZyBKU0M6OkV4ZWNTdGF0ZTsKIHVzaW5nIEpTQzo6SW50ZXJwcmV0ZXI7CkluZGV4OiBX
ZWJDb3JlL3BsdWdpbnMvc3ltYmlhbi9QbHVnaW5WaWV3U3ltYmlhbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbHVnaW5zL3N5bWJpYW4vUGx1Z2luVmlld1N5bWJpYW4uY3BwCShyZXZpc2lv
biA1MzM5OSkKKysrIFdlYkNvcmUvcGx1Z2lucy9zeW1iaWFuL1BsdWdpblZpZXdTeW1iaWFuLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKIAorI2luY2x1ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVt
ZW50LmgiCkBAIC0zNyw4ICszOCw2IEBACiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2lu
Y2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1
ZGUgIm5wZnVuY3Rpb25zLmgiCi0jaW5jbHVkZSAibnBpbnRlcmZhY2UuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1Nb3VzZUV2ZW50LmgiCkBAIC00NiwxMyArNDUsMTQgQEAKICNpbmNsdWRlICJQbHVnaW5E
ZWJ1Zy5oIgogI2luY2x1ZGUgIlBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaCIKICNpbmNsdWRl
ICJQbHVnaW5QYWNrYWdlLmgiCisjaW5jbHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRl
ICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIm5wZnVuY3Rpb25zLmgiCisjaW5jbHVkZSAibnBpbnRl
cmZhY2UuaCIKICNpbmNsdWRlICJucHJ1bnRpbWVfaW1wbC5oIgotI2luY2x1ZGUgInJ1bnRpbWUu
aCIKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKLSNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5o
IgogI2luY2x1ZGUgPFFLZXlFdmVudD4KICNpbmNsdWRlIDxRUGl4bWFwLmg+CiAjaW5jbHVkZSA8
UVJlZ2lvbj4KSW5kZXg6IFdlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luVmlld1dpbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5WaWV3V2luLmNwcAkocmV2aXNp
b24gNTMzOTkpCisrKyBXZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpblZpZXdXaW4uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaWYgIVBMQVRGT1JNKFdYKQogI2luY2x1ZGUg
IkJpdG1hcEluZm8uaCIKICNlbmRpZgorI2luY2x1ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50
LmgiCkBAIC02MywxMSArNjQsMTAgQEAKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2lu
Y2x1ZGUgIlBsdWdpbkRlYnVnLmgiCiAjaW5jbHVkZSAiUGx1Z2luUGFja2FnZS5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiY19pbnN0YW5jZS5oIgogI2luY2x1ZGUgIm5wcnVu
dGltZV9pbXBsLmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCi0jaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKLSNpbmNsdWRlICJydW50aW1lLmgiCiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4K
ICNpbmNsdWRlIDxydW50aW1lL0pTVmFsdWUuaD4KICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlwZS5o
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46830</attachid>
            <date>2010-01-18 09:41:17 -0800</date>
            <delta_ts>2010-01-18 09:56:27 -0800</delta_ts>
            <desc>Patch 2 for Bug 33801</desc>
            <filename>runtimeToBridge2.txt</filename>
            <type>text/plain</type>
            <size>53334</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzQxMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTggQEAKKzIwMTAtMDEtMTggIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZXMgV2ViQ29yZS9icmlkZ2UvcnVudGltZS5bY3BwfGhdIHRvIFdlYkNvcmUvYnJpZGdl
L0JyaWRnZS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMzgwMQorCisgICAgICAgIHJ1bnRpbWUuW2NwcHxoXSBjb250YWlucyBnZW5lcmFsIGludGVy
ZmFjZSBjbGFzc2VzIGZvciB1c2UgaW4gdGhlIGJyaWRnZSwKKyAgICAgICAgc28gQnJpZGdlIGlz
IGEgbW9yZSBhcHByb3ByaWF0ZSBuYW1lIHRoYW4gcnVudGltZS4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHJlbmFtaW5nIG9ubHkuCisKKyAgICAgICAgKiBBbmRyb2lkLmpzY2JpbmRpbmdzLm1r
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJD
b3JlU291cmNlcy5ia2w6CisgICAgICAgICogYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVu
Y3Rpb25zLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyR3RrLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVySGFpa3UuY3BwOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgICogYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyV2luLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyV3guY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdEluc3RhbmNlLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW06CisgICAgICAgICogYnJp
ZGdlL0JyaWRnZS5jcHA6IENvcGllZCBmcm9tIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwLgor
ICAgICAgICAqIGJyaWRnZS9CcmlkZ2UuaDogQ29waWVkIGZyb20gV2ViQ29yZS9icmlkZ2UvcnVu
dGltZS5oLgorICAgICAgICAqIGJyaWRnZS9jL2NfY2xhc3MuaDoKKyAgICAgICAgKiBicmlkZ2Uv
Yy9jX2luc3RhbmNlLmg6CisgICAgICAgICogYnJpZGdlL2MvY19ydW50aW1lLmg6CisgICAgICAg
ICogYnJpZGdlL2puaS9qbmlfaW5zdGFuY2UuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpj
X3J1bnRpbWUuaDoKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfY2xhc3MuaDoKKyAgICAgICAgKiBi
cmlkZ2UvcXQvcXRfaW5zdGFuY2UuaDoKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5j
cHA6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuaDoKKyAgICAgICAgKiBicmlkZ2Uv
cnVudGltZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYnJpZGdlL3J1bnRpbWUuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5oOgorICAgICAgICAqIGJyaWRnZS9y
dW50aW1lX21ldGhvZC5oOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5oOgorICAg
ICAgICAqIGJyaWRnZS9ydW50aW1lX3Jvb3QuY3BwOgorICAgICAgICAqIGJyaWRnZS90ZXN0Ymlu
ZGluZ3MuY3BwOgorICAgICAgICAqIGJyaWRnZS90ZXN0YmluZGluZ3MubW06CisgICAgICAgICog
YnJpZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcDoKKyAgICAgICAgKiBwYWdlL3dpbi9GcmFtZVdpbi5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQcm94eS5j
cHA6CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKiBwbHVnaW5z
L2d0ay9QbHVnaW5WaWV3R3RrLmNwcDoKKyAgICAgICAgKiBwbHVnaW5zL21hYy9QbHVnaW5WaWV3
TWFjLmNwcDoKKyAgICAgICAgKiBwbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHA6CisgICAgICAg
ICogcGx1Z2lucy9zeW1iaWFuL1BsdWdpblZpZXdTeW1iaWFuLmNwcDoKKyAgICAgICAgKiBwbHVn
aW5zL3dpbi9QbHVnaW5WaWV3V2luLmNwcDoKKwogMjAxMC0wMS0xOCAgRGFuaWVsIENoZW5nICA8
ZGNoZW5nQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KSW5k
ZXg6IFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9BbmRy
b2lkLmpzY2JpbmRpbmdzLm1rCSh3b3JraW5nIGNvcHkpCkBAIC0xNzcsNiArMTc3LDcgQEAgTE9D
QUxfU1JDX0ZJTEVTICs9IFwKIAlcCiAJYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3Bw
IFwKIAlcCisJYnJpZGdlL0JyaWRnZS5jcHAgXAogCWJyaWRnZS9JZGVudGlmaWVyUmVwLmNwcCBc
CiAJYnJpZGdlL05QX2pzb2JqZWN0LmNwcCBcCiAJYnJpZGdlL2MvY19jbGFzcy5jcHAgXApAQCAt
MTg5LDcgKzE5MCw2IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYnJpZGdlL2puaS9qbmlfdXRp
bGl0eS5jcHAgXAogCWJyaWRnZS9qbmkvanNjL2puaV91dGlsaXR5X3ByaXZhdGUuY3BwIFwKIAli
cmlkZ2UvbnBydW50aW1lLmNwcCBcCi0JYnJpZGdlL3J1bnRpbWUuY3BwIFwKIAlicmlkZ2UvcnVu
dGltZV9hcnJheS5jcHAgXAogCWJyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAgXAogCWJyaWRnZS9y
dW50aW1lX29iamVjdC5jcHAgXApJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNv
cmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQ5MCw2ICs0OTAsOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvU3RyaW5nU291cmNlUHJvdmlkZXIuaCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAgXAorCVdlYkNvcmUvYnJp
ZGdlL0JyaWRnZS5jcHAgXAorCVdlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIFwKIAlXZWJDb3JlL2Jy
aWRnZS9JZGVudGlmaWVyUmVwLmNwcCBcCiAJV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5o
IFwKIAlXZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAgXApAQCAtNTEzLDggKzUxNSw2IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lX2ltcGwuaCBc
CiAJV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lX2ludGVybmFsLmggXAogCVdlYkNvcmUvYnJpZGdl
L25wcnVudGltZV9wcml2LmggXAotCVdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwIFwKLQlXZWJD
b3JlL2JyaWRnZS9ydW50aW1lLmggXAogCVdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3Bw
IFwKIAlXZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmggXAogCVdlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfbWV0aG9kLmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9XZWJD
b3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtMzM5LDExICszMzksMTEgQEAgU09VUkNFUyArPSBc
CiAgICAgYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmNwcCBcCiAgICAgYmluZGluZ3MvanMv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBcCiAgICAgYmluZGluZ3MvU2NyaXB0Q29udHJvbGxl
ckJhc2UuY3BwIFwKKyAgICBicmlkZ2UvQnJpZGdlLmNwcCBcCiAgICAgYnJpZGdlL0lkZW50aWZp
ZXJSZXAuY3BwIFwKICAgICBicmlkZ2UvTlBfanNvYmplY3QuY3BwIFwKICAgICBicmlkZ2UvbnBy
dW50aW1lLmNwcCBcCiAgICAgYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwIFwKLSAgICBicmlkZ2Uv
cnVudGltZS5jcHAgXAogICAgIGJyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAgXAogICAgIGJyaWRn
ZS9ydW50aW1lX29iamVjdC5jcHAgXAogICAgIGJyaWRnZS9ydW50aW1lX3Jvb3QuY3BwIFwKQEAg
LTEwMjYsNiArMTAyNiw3IEBAIEhFQURFUlMgKz0gXAogICAgIGJpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIFwKICAgICBiaW5kaW5ncy9qcy9TdHJpbmdTb3VyY2VQcm92aWRlci5o
IFwKICAgICBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmggXAorICAgIGJyaWRn
ZS9CcmlkZ2UuaCBcCiAgICAgYnJpZGdlL2MvY19jbGFzcy5oIFwKICAgICBicmlkZ2UvYy9jX2lu
c3RhbmNlLmggXAogICAgIGJyaWRnZS9jL2NfcnVudGltZS5oIFwKQEAgLTEwMzcsNyArMTAzOCw2
IEBAIEhFQURFUlMgKz0gXAogICAgIGJyaWRnZS9xdC9xdF9pbnN0YW5jZS5oIFwKICAgICBicmlk
Z2UvcXQvcXRfcnVudGltZS5oIFwKICAgICBicmlkZ2UvcnVudGltZV9hcnJheS5oIFwKLSAgICBi
cmlkZ2UvcnVudGltZS5oIFwKICAgICBicmlkZ2UvcnVudGltZV9tZXRob2QuaCBcCiAgICAgYnJp
ZGdlL3J1bnRpbWVfb2JqZWN0LmggXAogICAgIGJyaWRnZS9ydW50aW1lX3Jvb3QuaCBcCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNv
cmVTb3VyY2VzLmJrbAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL1dlYkNvcmVTb3VyY2Vz
LmJrbAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDYgKzE2NSw3IEBAIFRoaXMgZmlsZSBjb250YWlu
cyB0aGUgbGlzdCBvZiBmaWxlcyBuZWUKICAgICA8L3NldD4KIAogICAgIDxzZXQgYXBwZW5kPSIx
IiB2YXI9IldFQkNPUkVfU09VUkNFU19CUklER0UiPgorICAgICAgICBicmlkZ2UvQnJpZGdlLmNw
cAogICAgICAgICBicmlkZ2UvSWRlbnRpZmllclJlcC5jcHAKICAgICAgICAgYnJpZGdlL05QX2pz
b2JqZWN0LmNwcAogICAgICAgICBicmlkZ2UvYy9jX2NsYXNzLmNwcApAQCAtMTcyLDcgKzE3Myw2
IEBAIFRoaXMgZmlsZSBjb250YWlucyB0aGUgbGlzdCBvZiBmaWxlcyBuZWUKICAgICAgICAgYnJp
ZGdlL2MvY19ydW50aW1lLmNwcAogICAgICAgICBicmlkZ2UvYy9jX3V0aWxpdHkuY3BwCiAgICAg
ICAgIGJyaWRnZS9ucHJ1bnRpbWUuY3BwCi0gICAgICAgIGJyaWRnZS9ydW50aW1lLmNwcAogICAg
ICAgICBicmlkZ2UvcnVudGltZV9hcnJheS5jcHAKICAgICAgICAgYnJpZGdlL3J1bnRpbWVfbWV0
aG9kLmNwcAogICAgICAgICBicmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCkluZGV4OiBXZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTMzOTkpCisrKyBX
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMzMyLDggKzMzMiw2IEBACiAJCTFBNTY5RDE5MEQ3RTJCODIwMDdDMzk4MyAvKiBvYmpjX3V0
aWxpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
NTY5Q0VBMEQ3RTJCODIwMDdDMzk4MyAvKiBvYmpjX3V0aWxpdHkuaCAqLzsgfTsKIAkJMUE1NjlE
MUEwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamNfdXRpbGl0eS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0VCMEQ3RTJCODIwMDdDMzk4MyAvKiBv
YmpjX3V0aWxpdHkubW0gKi87IH07CiAJCTFBNTY5RDFCMEQ3RTJCODIwMDdDMzk4MyAvKiBXZWJT
Y3JpcHRPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNTY5Q0VDMEQ3RTJCODIwMDdDMzk4MyAvKiBXZWJTY3JpcHRPYmplY3QuaCAqLzsgfTsK
LQkJMUE1NjlEMUMwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDRUQwRDdFMkI4MjAwN0MzOTgz
IC8qIHJ1bnRpbWUuY3BwICovOyB9OwotCQkxQTU2OUQxRDBEN0UyQjgyMDA3QzM5ODMgLyogcnVu
dGltZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1
NjlDRUUwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTU2OUQxRTBEN0UyQjgyMDA3QzM5ODMgLyog
cnVudGltZV9hcnJheS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTU2OUNFRjBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5jcHAgKi87
IH07CiAJCTFBNTY5RDFGMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU2OUNGMDBEN0UyQjgy
MDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oICovOyB9OwogCQkxQTU2OUQyMDBEN0UyQjgyMDA3
QzM5ODMgLyogcnVudGltZV9tZXRob2QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDRjEwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfbWV0
aG9kLmNwcCAqLzsgfTsKQEAgLTExMTUsNiArMTExMyw4IEBACiAJCTU1MEEwQkNBMDg1RjYwMzkw
MDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NTBBMEJDODA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFt
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU5
OUQxRTMyMTBDOTdENkUwMEUwRUYxMiAvKiBqbmlfdXRpbGl0eV9wcml2YXRlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5OUQxRTMwMTBDOTdENkUw
MEUwRUYxMiAvKiBqbmlfdXRpbGl0eV9wcml2YXRlLmNwcCAqLzsgfTsKIAkJNTk5RDFFMzMxMEM5
N0Q2RTAwRTBFRjEyIC8qIGpuaV91dGlsaXR5X3ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5OUQxRTMxMTBDOTdENkUwMEUwRUYxMiAvKiBq
bmlfdXRpbGl0eV9wcml2YXRlLmggKi87IH07CisJCTU5QTNFQjE0MTEwNEIxQkIwMDk3RTdGMiAv
KiBCcmlkZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTlBM0VCMTMxMTA0QjFCQjAwOTdFN0YyIC8qIEJyaWRnZS5jcHAgKi87IH07CisJCTU5QTNF
QjE2MTEwNEIxQzUwMDk3RTdGMiAvKiBCcmlkZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTNFQjE1MTEwNEIxQzUwMDk3RTdGMiAvKiBCcmlkZ2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OUM3
N0YyQTEwNTQ1QjNCMDA1MDYxMDQgLyogR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUM3N0YyODEwNTQ1QjNC
MDA1MDYxMDQgLyogR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHAgKi87IH07CiAJCTU5Qzc3RjJC
MTA1NDVCM0IwMDUwNjEwNCAvKiBHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUM3N0YyOTEwNTQ1QjNCMDA1MDYx
MDQgLyogR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVEMTVFM0FCMEY5RTZBQzEwMDlFMEUzRiAvKiBYTUxU
b2tlbml6ZXJTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1RDE1RTNBOTBGOUU2QUMxMDA5RTBFM0YgLyogWE1MVG9rZW5pemVyU2NvcGUuY3Bw
ICovOyB9OwpAQCAtNTU3Nyw4ICs1NTc3LDYgQEAKIAkJMUE1NjlDRUEwRDdFMkI4MjAwN0MzOTgz
IC8qIG9iamNfdXRpbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBvYmpj
X3V0aWxpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE1NjlDRUIwRDdFMkI4
MjAwN0MzOTgzIC8qIG9iamNfdXRpbGl0eS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IG9iamNfdXRpbGl0eS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUE1NjlDRUMwRDdFMkI4MjAwN0MzOTgzIC8qIFdlYlNjcmlwdE9iamVjdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTY3JpcHRPYmplY3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMUE1NjlDRUQwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gcnVudGltZS5jcHA7IHBhdGgg
PSBicmlkZ2UvcnVudGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNTY5
Q0VFMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IHJ1bnRpbWUuaDsgcGF0aCA9IGJyaWRnZS9ydW50aW1lLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBNTY5Q0VGMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2Fy
cmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IHJ1bnRpbWVfYXJy
YXkuY3BwOyBwYXRoID0gYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQTU2OUNGMDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBydW50aW1lX2FycmF5Lmg7IHBhdGgg
PSBicmlkZ2UvcnVudGltZV9hcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QTU2OUNGMTBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9tZXRob2QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gcnVudGltZV9tZXRob2QuY3BwOyBwYXRoID0gYnJp
ZGdlL3J1bnRpbWVfbWV0aG9kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY0
NjUsNiArNjQ2Myw4IEBACiAJCTU1MEEwQkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWRO
YW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGlu
ZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFF1YWxpZmllZE5hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1
c2VzVGFicyA9IDA7IH07CiAJCTU5OUQxRTMwMTBDOTdENkUwMEUwRUYxMiAvKiBqbmlfdXRpbGl0
eV9wcml2YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IGpuaV91
dGlsaXR5X3ByaXZhdGUuY3BwOyBwYXRoID0ganNjL2puaV91dGlsaXR5X3ByaXZhdGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTlEMUUzMTEwQzk3RDZFMDBFMEVGMTIgLyog
am5pX3V0aWxpdHlfcHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBq
bmlfdXRpbGl0eV9wcml2YXRlLmg7IHBhdGggPSBqc2Mvam5pX3V0aWxpdHlfcHJpdmF0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1OUEzRUIxMzExMDRCMUJCMDA5N0U3RjIgLyog
QnJpZGdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJyaWRnZS5j
cHA7IHBhdGggPSBicmlkZ2UvQnJpZGdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTlBM0VCMTUxMTA0QjFDNTAwOTdFN0YyIC8qIEJyaWRnZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBCcmlkZ2UuaDsgcGF0aCA9IGJyaWRnZS9CcmlkZ2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTlDNzdGMjgxMDU0NUIzQjAwNTA2MTA0IC8qIEdlb2xv
Y2F0aW9uU2VydmljZU1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHA7IHBhdGggPSBtb2NrL0dlb2xvY2F0aW9uU2Vy
dmljZU1vY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUM3N0YyOTEwNTQ1
QjNCMDA1MDYxMDQgLyogR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmg7IHBhdGggPSBtb2NrL0dl
b2xvY2F0aW9uU2VydmljZU1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQx
NUUzQTkwRjlFNkFDMTAwOUUwRTNGIC8qIFhNTFRva2VuaXplclNjb3BlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhNTFRva2VuaXplclNjb3BlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMjk0LDYgKzEwMjk0LDggQEAKIAkJMUE1NjlDQzQw
RDdFMkI2MDAwN0MzOTgzIC8qIGJyaWRnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNTlBM0VCMTUxMTA0QjFDNTAwOTdFN0YyIC8qIEJyaWRnZS5oICov
LAorCQkJCTU5QTNFQjEzMTEwNEIxQkIwMDk3RTdGMiAvKiBCcmlkZ2UuY3BwICovLAogCQkJCTFB
NTY5Q0M1MEQ3RTJCODIwMDdDMzk4MyAvKiBjICovLAogCQkJCTFBNTY5Q0NFMEQ3RTJCODIwMDdD
Mzk4MyAvKiBqbmkgKi8sCiAJCQkJMUE1NjlDRTIwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamMgKi8s
CkBAIC0xMDMwNyw4ICsxMDMwOSw2IEBACiAJCQkJMUE1NjlDREYwRDdFMkI4MjAwN0MzOTgzIC8q
IG5wcnVudGltZV9pbXBsLmggKi8sCiAJCQkJMUE1NjlDRTAwRDdFMkI4MjAwN0MzOTgzIC8qIG5w
cnVudGltZV9pbnRlcm5hbC5oICovLAogCQkJCTFBNTY5Q0UxMEQ3RTJCODIwMDdDMzk4MyAvKiBu
cHJ1bnRpbWVfcHJpdi5oICovLAotCQkJCTFBNTY5Q0VEMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50
aW1lLmNwcCAqLywKLQkJCQkxQTU2OUNFRTBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZS5oICov
LAogCQkJCTFBNTY5Q0VGMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmNwcCAqLywK
IAkJCQkxQTU2OUNGMDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oICovLAogCQkJ
CTFBNTY5Q0YxMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAgKi8sCkBAIC0x
NzgwNyw3ICsxNzgwNyw2IEBACiAJCQkJQThDRkY1RTEwQTE1NUEwNTAwMEE0MjM0IC8qIFJvb3RJ
bmxpbmVCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM5MEVGODZENDcwMDlEMENBRiAv
KiBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFDNjNBMjQ4
MEY3MTY0NjYwMEMwOUQ1QSAvKiBSdW5Mb29wVGltZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTFB
NTY5RDFEMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTU2OUQxRjBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUE1NjlEMjEwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfbWV0aG9kLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQTU2OUQyMzBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9vYmplY3Qu
aCBpbiBIZWFkZXJzICovLApAQCAtMTgzNDksNiArMTgzNDgsNyBAQAogCQkJCTZFNEU5MUFEMTBG
N0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNkU0RTkxQUYxMEY3RkIzMTAwQTI3NzlDIC8qIFdlYkdMQ29udGV4dEF0dHJpYnV0ZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdM
Q29udGV4dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTU5QTNFQjE2MTEwNEIxQzUw
MDk3RTdGMiAvKiBCcmlkZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjAwMzEsNyArMjAwMzEsNiBA
QAogCQkJCUE4Q0ZGNUU3MEExNTVBMDUwMDBBNDIzNCAvKiBSb290SW5saW5lQm94LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTQ5RTkxMUM4MEVGODZENDcwMDlEMENBRiAvKiBSb3RhdGVUcmFuc2Zv
cm1PcGVyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUM2M0EyNDkwRjcxNjQ2NjAwQzA5
RDVBIC8qIFJ1bkxvb3BUaW1lckNGLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBNTY5RDFDMEQ3
RTJCODIwMDdDMzk4MyAvKiBydW50aW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNTY5RDFF
MEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTFBNTY5RDIwMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQTU2OUQyMjBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9vYmplY3QuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0yMDUxMyw2ICsyMDUxMiw3IEBACiAJCQkJNkU0RTkxQUMxMEY3
RkIzMTAwQTI3NzlDIC8qIENhbnZhc0NvbnRleHRBdHRyaWJ1dGVzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTZFNEU5MUFFMTBGN0ZCMzEwMEEyNzc5QyAvKiBXZWJHTENvbnRleHRBdHRyaWJ1dGVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFRThBNzcyMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dl
YkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTlBM0VCMTQxMTA0
QjFCQjAwOTdFN0YyIC8qIEJyaWRnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUv
YmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAJKHJldmlzaW9u
IDUzMzk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMCwxMCArMjAsMTAgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJKU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaCIKIAorI2luY2x1ZGUgIkJy
aWRnZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQbHVnSW5FbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1MRWxlbWVudC5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIK
ICNpbmNsdWRlICJydW50aW1lX29iamVjdC5oIgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyR3RrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJHdGsuY3BwCShyZXZpc2lv
biA1MzM5OSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlckd0ay5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDkgKzMxLDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNs
dWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCi0jaW5jbHVkZSAi
cnVudGltZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q29udHJvbGxlckhhaWt1LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJIYWlrdS5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysg
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVySGFpa3UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw4ICsyNyw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0Q29udHJvbGxlci5oIgogCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAiUGx1Z2lu
Vmlldy5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIK
IAogCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJNYWMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyTWFjLm1tCShy
ZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlck1h
Yy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJTY3JpcHRDb250cm9sbGVyLmgiCiAKKyNpbXBvcnQgIkJyaWRnZS5oIgogI2lt
cG9ydCAiRE9NQWJzdHJhY3RWaWV3RnJhbWUuaCIKICNpbXBvcnQgIkRPTVdpbmRvdy5oIgogI2lt
cG9ydCAiRnJhbWUuaCIKQEAgLTM3LDYgKzM4LDggQEAKICNpbXBvcnQgIkpTRE9NV2luZG93Lmgi
CiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3RQcml2YXRlLmgiCiAjaW1wb3J0ICJXaWRnZXQuaCIK
KyNpbXBvcnQgIm9iamNfaW5zdGFuY2UuaCIKKyNpbXBvcnQgInJ1bnRpbWVfcm9vdC5oIgogI2lt
cG9ydCA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgogI2ltcG9ydCA8cnVudGltZS9KU0xvY2su
aD4KIApAQCAtNDYsMTAgKzQ5LDYgQEAKICNpbXBvcnQgIm5wcnVudGltZV9pbXBsLmgiCiAjZW5k
aWYKIAotI2ltcG9ydCAib2JqY19pbnN0YW5jZS5oIgotI2ltcG9ydCAicnVudGltZV9yb290Lmgi
Ci0jaW1wb3J0ICJydW50aW1lLmgiCi0KICNpZiBFTkFCTEUoTUFDX0pBVkFfQlJJREdFKQogI2lt
cG9ydCAiam5pX2luc3RhbmNlLmgiCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlclF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXJRdC5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMSAr
MzYsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVy
LmgiCiAKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAicXRfaW5zdGFuY2UuaCIKICNpbmNsdWRlICJy
dW50aW1lX3Jvb3QuaCIKLSNpbmNsdWRlICJydW50aW1lLmgiCiAKICNpbmNsdWRlIDxRV2lkZ2V0
PgogCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJXaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlcldpbi5jcHAJ
KHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVy
V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsOCArMjcsOCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKIAorI2luY2x1ZGUgIkJyaWRnZS5o
IgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKLSNpbmNsdWRlICJydW50aW1lLmgiCiAKIHVzaW5n
IG5hbWVzcGFjZSBKU0M6OkJpbmRpbmdzOwogCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXJXeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyV3guY3BwCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q29udHJvbGxlcld4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsOSArMjcs
OSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
IAorI2luY2x1ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRl
ICJydW50aW1lX3Jvb3QuaCIKLSNpbmNsdWRlICJydW50aW1lLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRJbnN0YW5jZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0SW5zdGFuY2UuaAkocmV2aXNpb24g
NTMzOTkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEluc3RhbmNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDggKzMxLDggQEAKICNpZm5kZWYgU2NyaXB0SW5zdGFuY2VfaAogI2RlZmlu
ZSBTY3JpcHRJbnN0YW5jZV9oCiAKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+Ci0jaW5jbHVkZSAicnVudGltZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
SW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQkocmV2aXNpb24g
NTMzOTkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IldlYlNjcmlwdE9iamVjdFByaXZhdGUuaCIKIAorI2ltcG9ydCAiQnJpZGdlLmgiCiAjaW1wb3J0
ICJDb25zb2xlLmgiCiAjaW1wb3J0ICJET01JbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NV2luZG93
LmgiCkBAIC0zNiw3ICszNyw2IEBACiAjaW1wb3J0ICJTdHJpbmdTb3VyY2VQcm92aWRlci5oIgog
I2ltcG9ydCAiV2ViQ29yZU9iakNFeHRyYXMuaCIKICNpbXBvcnQgIm9iamNfaW5zdGFuY2UuaCIK
LSNpbXBvcnQgInJ1bnRpbWUuaCIKICNpbXBvcnQgInJ1bnRpbWVfb2JqZWN0LmgiCiAjaW1wb3J0
ICJydW50aW1lX3Jvb3QuaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KSW5k
ZXg6IFdlYkNvcmUvYnJpZGdlL0JyaWRnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlk
Z2UvQnJpZGdlLmNwcAkocmV2aXNpb24gNTMzOTkpCShmcm9tIFdlYkNvcmUvYnJpZGdlL3J1bnRp
bWUuY3BwOjUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAw
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJydW50aW1lLmgiCisKKyNpbmNsdWRlICJydW50aW1lX29iamVjdC5o
IgorI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+
CisKKyNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlICJxdF9pbnN0YW5jZS5oIgorI2VuZGlmCisK
K25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQmluZGluZ3MgeworCitBcnJheTo6QXJyYXkoUGFz
c1JlZlB0cjxSb290T2JqZWN0PiByb290T2JqZWN0KQorICAgIDogX3Jvb3RPYmplY3Qocm9vdE9i
amVjdCkKK3sKKyAgICBBU1NFUlQoX3Jvb3RPYmplY3QpOworfQorCitBcnJheTo6fkFycmF5KCkK
K3sKK30KKworSW5zdGFuY2U6Okluc3RhbmNlKFBhc3NSZWZQdHI8Um9vdE9iamVjdD4gcm9vdE9i
amVjdCkKKyAgICA6IF9yb290T2JqZWN0KHJvb3RPYmplY3QpCisgICAgLCBtX3J1bnRpbWVPYmpl
Y3QoMCkKK3sKKyAgICBBU1NFUlQoX3Jvb3RPYmplY3QpOworfQorCitJbnN0YW5jZTo6fkluc3Rh
bmNlKCkKK3sKKyAgICBBU1NFUlQoIW1fcnVudGltZU9iamVjdCk7Cit9CisKK3N0YXRpYyBLSlNE
aWRFeGVjdXRlRnVuY3Rpb25QdHIgc19kaWRFeGVjdXRlRnVuY3Rpb247CisKK3ZvaWQgSW5zdGFu
Y2U6OnNldERpZEV4ZWN1dGVGdW5jdGlvbihLSlNEaWRFeGVjdXRlRnVuY3Rpb25QdHIgZnVuYykK
K3sKKyAgICBzX2RpZEV4ZWN1dGVGdW5jdGlvbiA9IGZ1bmM7Cit9CisKK0tKU0RpZEV4ZWN1dGVG
dW5jdGlvblB0ciBJbnN0YW5jZTo6ZGlkRXhlY3V0ZUZ1bmN0aW9uKCkKK3sKKyAgICByZXR1cm4g
c19kaWRFeGVjdXRlRnVuY3Rpb247Cit9CisKK3ZvaWQgSW5zdGFuY2U6OmJlZ2luKCkKK3sKKyAg
ICB2aXJ0dWFsQmVnaW4oKTsKK30KKwordm9pZCBJbnN0YW5jZTo6ZW5kKCkKK3sKKyAgICB2aXJ0
dWFsRW5kKCk7Cit9CisKK1J1bnRpbWVPYmplY3RJbXAqIEluc3RhbmNlOjpjcmVhdGVSdW50aW1l
T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBBU1NFUlQoX3Jvb3RPYmplY3QpOworICAg
IEFTU0VSVChfcm9vdE9iamVjdC0+aXNWYWxpZCgpKTsKKyAgICBpZiAobV9ydW50aW1lT2JqZWN0
KQorICAgICAgICByZXR1cm4gbV9ydW50aW1lT2JqZWN0OworICAgIEpTTG9jayBsb2NrKFNpbGVu
Y2VBc3NlcnRpb25zT25seSk7CisgICAgbV9ydW50aW1lT2JqZWN0ID0gbmV3UnVudGltZU9iamVj
dChleGVjKTsKKyAgICBfcm9vdE9iamVjdC0+YWRkUnVudGltZU9iamVjdChtX3J1bnRpbWVPYmpl
Y3QpOworICAgIHJldHVybiBtX3J1bnRpbWVPYmplY3Q7Cit9CisKK1J1bnRpbWVPYmplY3RJbXAq
IEluc3RhbmNlOjpuZXdSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0xv
Y2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworICAgIHJldHVybiBuZXcgKGV4ZWMpIFJ1
bnRpbWVPYmplY3RJbXAoZXhlYywgdGhpcyk7Cit9CisKK3ZvaWQgSW5zdGFuY2U6OndpbGxEZXN0
cm95UnVudGltZU9iamVjdCgpCit7CisgICAgQVNTRVJUKF9yb290T2JqZWN0KTsKKyAgICBBU1NF
UlQoX3Jvb3RPYmplY3QtPmlzVmFsaWQoKSk7CisgICAgQVNTRVJUKG1fcnVudGltZU9iamVjdCk7
CisgICAgX3Jvb3RPYmplY3QtPnJlbW92ZVJ1bnRpbWVPYmplY3QobV9ydW50aW1lT2JqZWN0KTsK
KyAgICBtX3J1bnRpbWVPYmplY3QgPSAwOworfQorCit2b2lkIEluc3RhbmNlOjp3aWxsSW52YWxp
ZGF0ZVJ1bnRpbWVPYmplY3QoKQoreworICAgIEFTU0VSVChtX3J1bnRpbWVPYmplY3QpOworICAg
IG1fcnVudGltZU9iamVjdCA9IDA7Cit9CisKK1Jvb3RPYmplY3QqIEluc3RhbmNlOjpyb290T2Jq
ZWN0KCkgY29uc3QgCit7IAorICAgIHJldHVybiBfcm9vdE9iamVjdCAmJiBfcm9vdE9iamVjdC0+
aXNWYWxpZCgpID8gX3Jvb3RPYmplY3QuZ2V0KCkgOiAwOworfQorCit9IH0gLy8gbmFtZXNwYWNl
IEpTQzo6QmluZGluZ3MKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL0JyaWRnZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmNwcAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJD
b3JlL2JyaWRnZS9CcmlkZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAg
Ki8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKKyNpbmNsdWRl
ICJCcmlkZ2UuaCIKIAogI2luY2x1ZGUgInJ1bnRpbWVfb2JqZWN0LmgiCiAjaW5jbHVkZSAicnVu
dGltZV9yb290LmgiCkluZGV4OiBXZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaAkocmV2aXNpb24gNTMzOTkpCShmcm9tIFdlYkNvcmUv
YnJpZGdlL3J1bnRpbWUuaDo1MzM5OSkKKysrIFdlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAy
MDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRl
ZiBKQVZBU0NSSVBUQ09SRV9CSU5ESU5HU19SVU5USU1FX0gKKyNkZWZpbmUgSkFWQVNDUklQVENP
UkVfQklORElOR1NfUlVOVElNRV9ICisKKyNpbmNsdWRlIDxydW50aW1lL0pTU3RyaW5nLmg+Cisj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyAgeworCitjbGFzcyBBcmdMaXN0
OworY2xhc3MgSWRlbnRpZmllcjsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgUHJvcGVy
dHlOYW1lQXJyYXk7CitjbGFzcyBSdW50aW1lT2JqZWN0SW1wOworCituYW1lc3BhY2UgQmluZGlu
Z3MgeworCitjbGFzcyBJbnN0YW5jZTsKK2NsYXNzIE1ldGhvZDsKK2NsYXNzIFJvb3RPYmplY3Q7
CisKK3R5cGVkZWYgVmVjdG9yPE1ldGhvZCo+IE1ldGhvZExpc3Q7CisKK2NsYXNzIEZpZWxkIHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIEpTVmFsdWUgdmFsdWVGcm9tSW5zdGFuY2UoRXhlY1N0YXRl
KiwgY29uc3QgSW5zdGFuY2UqKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldFZhbHVl
VG9JbnN0YW5jZShFeGVjU3RhdGUqLCBjb25zdCBJbnN0YW5jZSosIEpTVmFsdWUpIGNvbnN0ID0g
MDsKKworICAgIHZpcnR1YWwgfkZpZWxkKCkgeyB9Cit9OworCitjbGFzcyBNZXRob2QgOiBwdWJs
aWMgTm9uY29weWFibGUgeworcHVibGljOgorICAgIHZpcnR1YWwgaW50IG51bVBhcmFtZXRlcnMo
KSBjb25zdCA9IDA7CisgICAgICAgIAorICAgIHZpcnR1YWwgfk1ldGhvZCgpIHsgfQorfTsKKwor
Y2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworcHVibGljOgorICAgIHZpcnR1YWwg
TWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgRmllbGQqIGZpZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYs
IEluc3RhbmNlKikgY29uc3QgPSAwOworICAgIHZpcnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVj
dChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0IElkZW50aWZpZXImKSB7IHJldHVybiBqc1Vu
ZGVmaW5lZCgpOyB9CisKKyAgICB2aXJ0dWFsIH5DbGFzcygpIHsgfQorfTsKKwordHlwZWRlZiB2
b2lkICgqS0pTRGlkRXhlY3V0ZUZ1bmN0aW9uUHRyKShFeGVjU3RhdGUqLCBKU09iamVjdCogcm9v
dE9iamVjdCk7CisKK2NsYXNzIEluc3RhbmNlIDogcHVibGljIFJlZkNvdW50ZWQ8SW5zdGFuY2U+
IHsKK3B1YmxpYzoKKyAgICBJbnN0YW5jZShQYXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKKworICAg
IHN0YXRpYyB2b2lkIHNldERpZEV4ZWN1dGVGdW5jdGlvbihLSlNEaWRFeGVjdXRlRnVuY3Rpb25Q
dHIgZnVuYyk7CisgICAgc3RhdGljIEtKU0RpZEV4ZWN1dGVGdW5jdGlvblB0ciBkaWRFeGVjdXRl
RnVuY3Rpb24oKTsKKworICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGJlZm9yZSBh
bmQgYWZ0ZXIgdGhlIG1haW4gZW50cnkgcG9pbnRzIGludG8KKyAgICAvLyB0aGUgbmF0aXZlIGlt
cGxlbWVudGF0aW9ucy4gIFRoZXkgY2FuIGJlIHVzZWQgdG8gZXN0YWJsaXNoIGFuZCBjbGVhbnVw
CisgICAgLy8gYW55IG5lZWRlZCBzdGF0ZS4KKyAgICB2b2lkIGJlZ2luKCk7CisgICAgdm9pZCBl
bmQoKTsKKyAgICAKKyAgICB2aXJ0dWFsIENsYXNzKiBnZXRDbGFzcygpIGNvbnN0ID0gMDsKKyAg
ICBSdW50aW1lT2JqZWN0SW1wKiBjcmVhdGVSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSopOworICAg
IHZvaWQgd2lsbEludmFsaWRhdGVSdW50aW1lT2JqZWN0KCk7CisgICAgdm9pZCB3aWxsRGVzdHJv
eVJ1bnRpbWVPYmplY3QoKTsKKyAgICAKKyAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIHRoZSB2YWx1
ZSB3YXMgbm90IHNldCBzdWNjZXNzZnVsbHkuCisgICAgdmlydHVhbCBib29sIHNldFZhbHVlT2ZV
bmRlZmluZWRGaWVsZChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSkgeyBy
ZXR1cm4gZmFsc2U7IH0KKworICAgIHZpcnR1YWwgSlNWYWx1ZSBpbnZva2VNZXRob2QoRXhlY1N0
YXRlKiwgY29uc3QgTWV0aG9kTGlzdCYsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpID0gMDsKKworICAg
IHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ludm9rZURlZmF1bHRNZXRob2QoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgSlNWYWx1ZSBpbnZva2VEZWZhdWx0TWV0aG9kKEV4ZWNT
dGF0ZSosIGNvbnN0IEFyZ0xpc3QmKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CisgICAgCisg
ICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ29uc3RydWN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKyAgICB2aXJ0dWFsIEpTVmFsdWUgaW52b2tlQ29uc3RydWN0KEV4ZWNTdGF0ZSosIGNvbnN0
IEFyZ0xpc3QmKSB7IHJldHVybiBKU1ZhbHVlKCk7IH0KKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQg
Z2V0UHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYpIHsgfQorCisg
ICAgdmlydHVhbCBKU1ZhbHVlIGRlZmF1bHRWYWx1ZShFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmlt
aXRpdmVUeXBlKSBjb25zdCA9IDA7CisgICAgCisgICAgdmlydHVhbCBKU1ZhbHVlIHZhbHVlT2Yo
RXhlY1N0YXRlKiBleGVjKSBjb25zdCA9IDA7CisgICAgCisgICAgUm9vdE9iamVjdCogcm9vdE9i
amVjdCgpIGNvbnN0OworICAgIAorICAgIHZpcnR1YWwgfkluc3RhbmNlKCk7CisKKyAgICB2aXJ0
dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNv
bnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKSB7IHJldHVybiBmYWxzZTsgfQor
ICAgIHZpcnR1YWwgdm9pZCBwdXQoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90JikgeyB9CisKK3Byb3RlY3RlZDoKKyAgICB2
aXJ0dWFsIHZvaWQgdmlydHVhbEJlZ2luKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHZpcnR1YWxF
bmQoKSB7IH0KKyAgICB2aXJ0dWFsIFJ1bnRpbWVPYmplY3RJbXAqIG5ld1J1bnRpbWVPYmplY3Qo
RXhlY1N0YXRlKik7CisKKyAgICBSZWZQdHI8Um9vdE9iamVjdD4gX3Jvb3RPYmplY3Q7CisKK3By
aXZhdGU6CisgICAgUnVudGltZU9iamVjdEltcCogbV9ydW50aW1lT2JqZWN0OworfTsKKworY2xh
c3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworcHVibGljOgorICAgIEFycmF5KFBhc3NS
ZWZQdHI8Um9vdE9iamVjdD4pOworICAgIHZpcnR1YWwgfkFycmF5KCk7CisgICAgCisgICAgdmly
dHVhbCB2b2lkIHNldFZhbHVlQXQoRXhlY1N0YXRlICosIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVl
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBKU1ZhbHVlIHZhbHVlQXQoRXhlY1N0YXRlICosIHVu
c2lnbmVkIGluZGV4KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgZ2V0TGVu
Z3RoKCkgY29uc3QgPSAwOworCitwcm90ZWN0ZWQ6CisgICAgUmVmUHRyPFJvb3RPYmplY3Q+IF9y
b290T2JqZWN0OworfTsKKworY29uc3QgY2hhciAqc2lnbmF0dXJlRm9yUGFyYW1ldGVycyhjb25z
dCBBcmdMaXN0Jik7CisKK3R5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VVN0cmluZzo6UmVwPiwgTWV0
aG9kTGlzdCo+IE1ldGhvZExpc3RNYXA7Cit0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVTdHJpbmc6
OlJlcD4sIE1ldGhvZCo+IE1ldGhvZE1hcDsgCit0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVTdHJp
bmc6OlJlcD4sIEZpZWxkKj4gRmllbGRNYXA7IAorICAgIAorfSAvLyBuYW1lc3BhY2UgQmluZGlu
Z3MKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgJKHJldmlzaW9u
IDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIz
LDggKzIzLDggQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgSkFWQVNDUklQVENP
UkVfQklORElOR1NfUlVOVElNRV9ICi0jZGVmaW5lIEpBVkFTQ1JJUFRDT1JFX0JJTkRJTkdTX1JV
TlRJTUVfSAorI2lmbmRlZiBCcmlkZ2VfaAorI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9KU1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xMzIsMTUg
KzEzMiwxNSBAQCBwdWJsaWM6CiAgICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CiAg
ICAgdmlydHVhbCB+QXJyYXkoKTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBdChF
eGVjU3RhdGUgKiwgdW5zaWduZWQgaW5kZXgsIEpTVmFsdWUpIGNvbnN0ID0gMDsKLSAgICB2aXJ0
dWFsIEpTVmFsdWUgdmFsdWVBdChFeGVjU3RhdGUgKiwgdW5zaWduZWQgaW5kZXgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBdChFeGVjU3RhdGUqLCB1bnNpZ25lZCBpbmRl
eCwgSlNWYWx1ZSkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgSlNWYWx1ZSB2YWx1ZUF0KEV4ZWNT
dGF0ZSosIHVuc2lnbmVkIGluZGV4KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB1bnNpZ25lZCBp
bnQgZ2V0TGVuZ3RoKCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPFJvb3RP
YmplY3Q+IF9yb290T2JqZWN0OwogfTsKIAotY29uc3QgY2hhciAqc2lnbmF0dXJlRm9yUGFyYW1l
dGVycyhjb25zdCBBcmdMaXN0Jik7Citjb25zdCBjaGFyKiBzaWduYXR1cmVGb3JQYXJhbWV0ZXJz
KGNvbnN0IEFyZ0xpc3QmKTsKIAogdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVU3RyaW5nOjpSZXA+
LCBNZXRob2RMaXN0Kj4gTWV0aG9kTGlzdE1hcDsKIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VVN0
cmluZzo6UmVwPiwgTWV0aG9kKj4gTWV0aG9kTWFwOyAKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3J1
bnRpbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwCShyZXZp
c2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDEyMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA2LCAyMDA4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKLQotI2luY2x1ZGUgInJ1bnRpbWVfb2JqZWN0Lmgi
Ci0jaW5jbHVkZSAicnVudGltZV9yb290LmgiCi0jaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4K
LQotI2lmIFBMQVRGT1JNKFFUKQotI2luY2x1ZGUgInF0X2luc3RhbmNlLmgiCi0jZW5kaWYKLQot
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCaW5kaW5ncyB7Ci0KLUFycmF5OjpBcnJheShQYXNz
UmVmUHRyPFJvb3RPYmplY3Q+IHJvb3RPYmplY3QpCi0gICAgOiBfcm9vdE9iamVjdChyb290T2Jq
ZWN0KQotewotICAgIEFTU0VSVChfcm9vdE9iamVjdCk7Ci19Ci0KLUFycmF5Ojp+QXJyYXkoKQot
ewotfQotCi1JbnN0YW5jZTo6SW5zdGFuY2UoUGFzc1JlZlB0cjxSb290T2JqZWN0PiByb290T2Jq
ZWN0KQotICAgIDogX3Jvb3RPYmplY3Qocm9vdE9iamVjdCkKLSAgICAsIG1fcnVudGltZU9iamVj
dCgwKQotewotICAgIEFTU0VSVChfcm9vdE9iamVjdCk7Ci19Ci0KLUluc3RhbmNlOjp+SW5zdGFu
Y2UoKQotewotICAgIEFTU0VSVCghbV9ydW50aW1lT2JqZWN0KTsKLX0KLQotc3RhdGljIEtKU0Rp
ZEV4ZWN1dGVGdW5jdGlvblB0ciBzX2RpZEV4ZWN1dGVGdW5jdGlvbjsKLQotdm9pZCBJbnN0YW5j
ZTo6c2V0RGlkRXhlY3V0ZUZ1bmN0aW9uKEtKU0RpZEV4ZWN1dGVGdW5jdGlvblB0ciBmdW5jKQot
ewotICAgIHNfZGlkRXhlY3V0ZUZ1bmN0aW9uID0gZnVuYzsKLX0KLQotS0pTRGlkRXhlY3V0ZUZ1
bmN0aW9uUHRyIEluc3RhbmNlOjpkaWRFeGVjdXRlRnVuY3Rpb24oKQotewotICAgIHJldHVybiBz
X2RpZEV4ZWN1dGVGdW5jdGlvbjsKLX0KLQotdm9pZCBJbnN0YW5jZTo6YmVnaW4oKQotewotICAg
IHZpcnR1YWxCZWdpbigpOwotfQotCi12b2lkIEluc3RhbmNlOjplbmQoKQotewotICAgIHZpcnR1
YWxFbmQoKTsKLX0KLQotUnVudGltZU9iamVjdEltcCogSW5zdGFuY2U6OmNyZWF0ZVJ1bnRpbWVP
YmplY3QoRXhlY1N0YXRlKiBleGVjKQotewotICAgIEFTU0VSVChfcm9vdE9iamVjdCk7Ci0gICAg
QVNTRVJUKF9yb290T2JqZWN0LT5pc1ZhbGlkKCkpOwotICAgIGlmIChtX3J1bnRpbWVPYmplY3Qp
Ci0gICAgICAgIHJldHVybiBtX3J1bnRpbWVPYmplY3Q7Ci0gICAgSlNMb2NrIGxvY2soU2lsZW5j
ZUFzc2VydGlvbnNPbmx5KTsKLSAgICBtX3J1bnRpbWVPYmplY3QgPSBuZXdSdW50aW1lT2JqZWN0
KGV4ZWMpOwotICAgIF9yb290T2JqZWN0LT5hZGRSdW50aW1lT2JqZWN0KG1fcnVudGltZU9iamVj
dCk7Ci0gICAgcmV0dXJuIG1fcnVudGltZU9iamVjdDsKLX0KLQotUnVudGltZU9iamVjdEltcCog
SW5zdGFuY2U6Om5ld1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjKQotewotICAgIEpTTG9j
ayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgcmV0dXJuIG5ldyAoZXhlYykgUnVu
dGltZU9iamVjdEltcChleGVjLCB0aGlzKTsKLX0KLQotdm9pZCBJbnN0YW5jZTo6d2lsbERlc3Ry
b3lSdW50aW1lT2JqZWN0KCkKLXsKLSAgICBBU1NFUlQoX3Jvb3RPYmplY3QpOwotICAgIEFTU0VS
VChfcm9vdE9iamVjdC0+aXNWYWxpZCgpKTsKLSAgICBBU1NFUlQobV9ydW50aW1lT2JqZWN0KTsK
LSAgICBfcm9vdE9iamVjdC0+cmVtb3ZlUnVudGltZU9iamVjdChtX3J1bnRpbWVPYmplY3QpOwot
ICAgIG1fcnVudGltZU9iamVjdCA9IDA7Ci19Ci0KLXZvaWQgSW5zdGFuY2U6OndpbGxJbnZhbGlk
YXRlUnVudGltZU9iamVjdCgpCi17Ci0gICAgQVNTRVJUKG1fcnVudGltZU9iamVjdCk7Ci0gICAg
bV9ydW50aW1lT2JqZWN0ID0gMDsKLX0KLQotUm9vdE9iamVjdCogSW5zdGFuY2U6OnJvb3RPYmpl
Y3QoKSBjb25zdCAKLXsgCi0gICAgcmV0dXJuIF9yb290T2JqZWN0ICYmIF9yb290T2JqZWN0LT5p
c1ZhbGlkKCkgPyBfcm9vdE9iamVjdC5nZXQoKSA6IDA7Ci19Ci0KLX0gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpCaW5kaW5ncwpJbmRleDogV2ViQ29yZS9icmlkZ2UvcnVudGltZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuaAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3Jl
L2JyaWRnZS9ydW50aW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUzICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIEpBVkFTQ1JJUFRDT1JFX0JJTkRJTkdTX1JVTlRJTUVf
SAotI2RlZmluZSBKQVZBU0NSSVBUQ09SRV9CSU5ESU5HU19SVU5USU1FX0gKLQotI2luY2x1ZGUg
PHJ1bnRpbWUvSlNTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2Ug
SlNDICB7Ci0KLWNsYXNzIEFyZ0xpc3Q7Ci1jbGFzcyBJZGVudGlmaWVyOwotY2xhc3MgSlNHbG9i
YWxPYmplY3Q7Ci1jbGFzcyBQcm9wZXJ0eU5hbWVBcnJheTsKLWNsYXNzIFJ1bnRpbWVPYmplY3RJ
bXA7Ci0KLW5hbWVzcGFjZSBCaW5kaW5ncyB7Ci0KLWNsYXNzIEluc3RhbmNlOwotY2xhc3MgTWV0
aG9kOwotY2xhc3MgUm9vdE9iamVjdDsKLQotdHlwZWRlZiBWZWN0b3I8TWV0aG9kKj4gTWV0aG9k
TGlzdDsKLQotY2xhc3MgRmllbGQgewotcHVibGljOgotICAgIHZpcnR1YWwgSlNWYWx1ZSB2YWx1
ZUZyb21JbnN0YW5jZShFeGVjU3RhdGUqLCBjb25zdCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVUb0luc3RhbmNlKEV4ZWNTdGF0ZSosIGNvbnN0IEluc3Rh
bmNlKiwgSlNWYWx1ZSkgY29uc3QgPSAwOwotCi0gICAgdmlydHVhbCB+RmllbGQoKSB7IH0KLX07
Ci0KLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci1wdWJsaWM6Ci0gICAgdmly
dHVhbCBpbnQgbnVtUGFyYW1ldGVycygpIGNvbnN0ID0gMDsKLSAgICAgICAgCi0gICAgdmlydHVh
bCB+TWV0aG9kKCkgeyB9Ci19OwotCi1jbGFzcyBDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVu
dGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBGaWVsZCogZmllbGRO
YW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7Ci0gICAgdmlydHVh
bCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRl
bnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KLQotICAgIHZpcnR1YWwgfkNsYXNz
KCkgeyB9Ci19OwotCi10eXBlZGVmIHZvaWQgKCpLSlNEaWRFeGVjdXRlRnVuY3Rpb25QdHIpKEV4
ZWNTdGF0ZSosIEpTT2JqZWN0KiByb290T2JqZWN0KTsKLQotY2xhc3MgSW5zdGFuY2UgOiBwdWJs
aWMgUmVmQ291bnRlZDxJbnN0YW5jZT4gewotcHVibGljOgotICAgIEluc3RhbmNlKFBhc3NSZWZQ
dHI8Um9vdE9iamVjdD4pOwotCi0gICAgc3RhdGljIHZvaWQgc2V0RGlkRXhlY3V0ZUZ1bmN0aW9u
KEtKU0RpZEV4ZWN1dGVGdW5jdGlvblB0ciBmdW5jKTsKLSAgICBzdGF0aWMgS0pTRGlkRXhlY3V0
ZUZ1bmN0aW9uUHRyIGRpZEV4ZWN1dGVGdW5jdGlvbigpOwotCi0gICAgLy8gVGhlc2UgZnVuY3Rp
b25zIGFyZSBjYWxsZWQgYmVmb3JlIGFuZCBhZnRlciB0aGUgbWFpbiBlbnRyeSBwb2ludHMgaW50
bwotICAgIC8vIHRoZSBuYXRpdmUgaW1wbGVtZW50YXRpb25zLiAgVGhleSBjYW4gYmUgdXNlZCB0
byBlc3RhYmxpc2ggYW5kIGNsZWFudXAKLSAgICAvLyBhbnkgbmVlZGVkIHN0YXRlLgotICAgIHZv
aWQgYmVnaW4oKTsKLSAgICB2b2lkIGVuZCgpOwotICAgIAotICAgIHZpcnR1YWwgQ2xhc3MqIGdl
dENsYXNzKCkgY29uc3QgPSAwOwotICAgIFJ1bnRpbWVPYmplY3RJbXAqIGNyZWF0ZVJ1bnRpbWVP
YmplY3QoRXhlY1N0YXRlKik7Ci0gICAgdm9pZCB3aWxsSW52YWxpZGF0ZVJ1bnRpbWVPYmplY3Qo
KTsKLSAgICB2b2lkIHdpbGxEZXN0cm95UnVudGltZU9iamVjdCgpOwotICAgIAotICAgIC8vIFJl
dHVybnMgZmFsc2UgaWYgdGhlIHZhbHVlIHdhcyBub3Qgc2V0IHN1Y2Nlc3NmdWxseS4KLSAgICB2
aXJ0dWFsIGJvb2wgc2V0VmFsdWVPZlVuZGVmaW5lZEZpZWxkKEV4ZWNTdGF0ZSosIGNvbnN0IElk
ZW50aWZpZXImLCBKU1ZhbHVlKSB7IHJldHVybiBmYWxzZTsgfQotCi0gICAgdmlydHVhbCBKU1Zh
bHVlIGludm9rZU1ldGhvZChFeGVjU3RhdGUqLCBjb25zdCBNZXRob2RMaXN0JiwgY29uc3QgQXJn
TGlzdCYgYXJncykgPSAwOwotCi0gICAgdmlydHVhbCBib29sIHN1cHBvcnRzSW52b2tlRGVmYXVs
dE1ldGhvZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBKU1ZhbHVlIGlu
dm9rZURlZmF1bHRNZXRob2QoRXhlY1N0YXRlKiwgY29uc3QgQXJnTGlzdCYpIHsgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7IH0KLSAgICAKLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDb25zdHJ1Y3Qo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgSlNWYWx1ZSBpbnZva2VDb25z
dHJ1Y3QoRXhlY1N0YXRlKiwgY29uc3QgQXJnTGlzdCYpIHsgcmV0dXJuIEpTVmFsdWUoKTsgfQot
ICAgIAotICAgIHZpcnR1YWwgdm9pZCBnZXRQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3Bl
cnR5TmFtZUFycmF5JikgeyB9Ci0KLSAgICB2aXJ0dWFsIEpTVmFsdWUgZGVmYXVsdFZhbHVlKEV4
ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpIGNvbnN0ID0gMDsKLSAgICAKLSAgICB2
aXJ0dWFsIEpTVmFsdWUgdmFsdWVPZihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0ID0gMDsKLSAgICAK
LSAgICBSb290T2JqZWN0KiByb290T2JqZWN0KCkgY29uc3Q7Ci0gICAgCi0gICAgdmlydHVhbCB+
SW5zdGFuY2UoKTsKLQotICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmpl
Y3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90JikgeyByZXR1
cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpT
T2JqZWN0KiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRv
ciYpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCB2b2lkIHB1dChKU09iamVjdCosIEV4
ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKSB7
IH0KLQotcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgdm9pZCB2aXJ0dWFsQmVnaW4oKSB7IH0KLSAg
ICB2aXJ0dWFsIHZvaWQgdmlydHVhbEVuZCgpIHsgfQotICAgIHZpcnR1YWwgUnVudGltZU9iamVj
dEltcCogbmV3UnVudGltZU9iamVjdChFeGVjU3RhdGUqKTsKLQotICAgIFJlZlB0cjxSb290T2Jq
ZWN0PiBfcm9vdE9iamVjdDsKLQotcHJpdmF0ZToKLSAgICBSdW50aW1lT2JqZWN0SW1wKiBtX3J1
bnRpbWVPYmplY3Q7Ci19OwotCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci1w
dWJsaWM6Ci0gICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7Ci0gICAgdmlydHVhbCB+
QXJyYXkoKTsKLSAgICAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBdChFeGVjU3RhdGUgKiwg
dW5zaWduZWQgaW5kZXgsIEpTVmFsdWUpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIEpTVmFsdWUg
dmFsdWVBdChFeGVjU3RhdGUgKiwgdW5zaWduZWQgaW5kZXgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0
dWFsIHVuc2lnbmVkIGludCBnZXRMZW5ndGgoKSBjb25zdCA9IDA7Ci0KLXByb3RlY3RlZDoKLSAg
ICBSZWZQdHI8Um9vdE9iamVjdD4gX3Jvb3RPYmplY3Q7Ci19OwotCi1jb25zdCBjaGFyICpzaWdu
YXR1cmVGb3JQYXJhbWV0ZXJzKGNvbnN0IEFyZ0xpc3QmKTsKLQotdHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxVU3RyaW5nOjpSZXA+LCBNZXRob2RMaXN0Kj4gTWV0aG9kTGlzdE1hcDsKLXR5cGVkZWYg
SGFzaE1hcDxSZWZQdHI8VVN0cmluZzo6UmVwPiwgTWV0aG9kKj4gTWV0aG9kTWFwOyAKLXR5cGVk
ZWYgSGFzaE1hcDxSZWZQdHI8VVN0cmluZzo6UmVwPiwgRmllbGQqPiBGaWVsZE1hcDsgCi0gICAg
Ci19IC8vIG5hbWVzcGFjZSBCaW5kaW5ncwotCi19IC8vIG5hbWVzcGFjZSBKU0MKLQotI2VuZGlm
CkluZGV4OiBXZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfYXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAog
I2lmbmRlZiBSVU5USU1FX0FSUkFZX0hfCiAjZGVmaW5lIFJVTlRJTUVfQVJSQVlfSF8KIAotI2lu
Y2x1ZGUgInJ1bnRpbWUuaCIKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlIDxydW50aW1l
L0pTR2xvYmFsT2JqZWN0Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewpJbmRleDogV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9tZXRob2QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS9ydW50aW1l
X21ldGhvZC5oCShyZXZpc2lvbiA1MzM5OSkKKysrIFdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0
aG9kLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUlVOVElNRV9G
VU5DVElPTl9IXwogI2RlZmluZSBSVU5USU1FX0ZVTkNUSU9OX0hfCiAKLSNpbmNsdWRlICJydW50
aW1lLmgiCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSA8cnVudGltZS9JbnRlcm5hbEZ1
bmN0aW9uLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0dsb2JhbE9iamVjdC5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAkocmV2aXNpb24gNTMz
OTkpCisrKyBXZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIEtKU19SVU5USU1FX09CSkVDVF9ICiAjZGVmaW5lIEtK
U19SVU5USU1FX09CSkVDVF9ICiAKLSNpbmNsdWRlICJydW50aW1lLmgiCisjaW5jbHVkZSAiQnJp
ZGdlLmgiCiAjaW5jbHVkZSA8cnVudGltZS9KU0dsb2JhbE9iamVjdC5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmNwcAkocmV2aXNpb24gNTMzOTkpCisrKyBX
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCiAK
LSNpbmNsdWRlICJydW50aW1lLmgiCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAicnVu
dGltZV9vYmplY3QuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CkluZGV4OiBXZWJDb3JlL2JyaWRnZS90ZXN0Ymlu
ZGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL3Rlc3RiaW5kaW5ncy5jcHAJ
KHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvdGVzdGJpbmRpbmdzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTksMTkgKzE5LDE3IEBACiAgKgogICovCiAjaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxz
dHJpbmcuaD4KIAotI2luY2x1ZGUgIkpTVmFsdWUuaCIKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNp
bmNsdWRlICJKU09iamVjdC5oIgotI2luY2x1ZGUgInR5cGVzLmgiCisjaW5jbHVkZSAiSlNWYWx1
ZS5oIgogI2luY2x1ZGUgImludGVycHJldGVyLmgiCi0KICNpbmNsdWRlICJucHJ1bnRpbWVfaW50
ZXJuYWwuaCIKLQotI2luY2x1ZGUgInJ1bnRpbWUuaCIKICNpbmNsdWRlICJydW50aW1lX29iamVj
dC5oIgorI2luY2x1ZGUgInR5cGVzLmgiCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8
c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogCiAjZGVmaW5lIExPRyhmb3JtYXRBbmRB
cmdzLi4uKSB7IFwKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL3Rlc3RiaW5kaW5ncy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS90ZXN0YmluZGluZ3MubW0JKHJldmlzaW9uIDUzMzk5KQor
KysgV2ViQ29yZS9icmlkZ2UvdGVzdGJpbmRpbmdzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwy
MCArMjQsMTggQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSA8Rm91bmRh
dGlvbi9Gb3VuZGF0aW9uLmg+CiAKKyNpbmNsdWRlICJCcmlkZ2UuaCIKKyNpbmNsdWRlIDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1ZGUgIkpT
VmFsdWUuaCIKICNpbXBvcnQgPFdlYktpdC9XZWJTY3JpcHRPYmplY3QuaD4KLQorI2luY2x1ZGUg
ImludGVycHJldGVyLmgiCisjaW5jbHVkZSAicnVudGltZV9vYmplY3QuaCIKICNpbmNsdWRlIDxz
dGRpby5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgotCi0jaW5jbHVkZSAiSlNWYWx1ZS5oIgotI2lu
Y2x1ZGUgIkpTT2JqZWN0LmgiCiAjaW5jbHVkZSAidHlwZXMuaCIKLSNpbmNsdWRlICJpbnRlcnBy
ZXRlci5oIgogCi0jaW5jbHVkZSAicnVudGltZS5oIgotI2luY2x1ZGUgInJ1bnRpbWVfb2JqZWN0
LmgiCiAKICNkZWZpbmUgTE9HKGZvcm1hdEFuZEFyZ3MuLi4pIHsgXAogICAgIGZwcmludGYgKHN0
ZGVyciwgIiVzOiAgIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7IFwKSW5kZXg6IFdlYkNvcmUvYnJp
ZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS90ZXN0
cXRiaW5kaW5ncy5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvdGVzdHF0
YmluZGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMywyMSArMjMsMTggQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAogICovCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0j
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KIAotI2luY2x1ZGUgIkpTVmFs
dWUuaCIKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgotI2luY2x1
ZGUgInR5cGVzLmgiCisjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgImludGVycHJldGVy
LmgiCi0KLSNpbmNsdWRlICJxb2JqZWN0LmgiCiAjaW5jbHVkZSAicWRlYnVnLmgiCi0KLSNpbmNs
dWRlICJydW50aW1lLmgiCisjaW5jbHVkZSAicW9iamVjdC5oIgogI2luY2x1ZGUgInJ1bnRpbWVf
b2JqZWN0LmgiCi0KKyNpbmNsdWRlICJ0eXBlcy5oIgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2lu
Y2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKIAogY2xhc3MgTXlPYmplY3Qg
OiBwdWJsaWMgUU9iamVjdApJbmRleDogV2ViQ29yZS9icmlkZ2UvYy9jX2NsYXNzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvYy9jX2NsYXNzLmgJKHJldmlzaW9uIDUzMzk5KQorKysg
V2ViQ29yZS9icmlkZ2UvYy9jX2NsYXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDgg
QEAKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCisjaW5jbHVkZSAiQnJpZGdl
LmgiCiAjaW5jbHVkZSAibnBydW50aW1lX2ludGVybmFsLmgiCi0jaW5jbHVkZSAicnVudGltZS5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpJbmRleDogV2Vi
Q29yZS9icmlkZ2UvYy9jX2luc3RhbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uv
Yy9jX2luc3RhbmNlLmgJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2UvYy9jX2lu
c3RhbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDkgKzI4LDkgQEAKIAogI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogCi0jaW5jbHVkZSAicnVudGltZS5oIgotI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAicnVudGltZV9y
b290LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgTlBP
YmplY3QgTlBPYmplY3Q7CiAKSW5kZXg6IFdlYkNvcmUvYnJpZGdlL2MvY19ydW50aW1lLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvYy9jX3J1bnRpbWUuaAkocmV2aXNpb24gNTMzOTkp
CisrKyBXZWJDb3JlL2JyaWRnZS9jL2NfcnVudGltZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4
ICsyOCw4IEBACiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIAorI2luY2x1ZGUg
IkJyaWRnZS5oIgogI2luY2x1ZGUgIm5wcnVudGltZV9pbnRlcm5hbC5oIgotI2luY2x1ZGUgInJ1
bnRpbWUuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiBuYW1lc3BhY2UgQmluZGluZ3MgewpJbmRleDog
V2ViQ29yZS9icmlkZ2Uvam5pL2puaV9pbnN0YW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YnJpZGdlL2puaS9qbmlfaW5zdGFuY2UuaAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2Jy
aWRnZS9qbmkvam5pX2luc3RhbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAK
IAogI2lmIEVOQUJMRShNQUNfSkFWQV9CUklER0UpCiAKLSNpbmNsdWRlICJydW50aW1lLmgiCisj
aW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCiAKICNpbmNsdWRl
IDxKYXZhVk0vam5pLmg+CkluZGV4OiBXZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgJKHJldmlz
aW9uIDUzMzk5KQorKysgV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBLSlNfQklORElOR1NfT0JKQ19SVU5U
SU1FX0gKICNkZWZpbmUgS0pTX0JJTkRJTkdTX09CSkNfUlVOVElNRV9ICiAKKyNpbmNsdWRlICJC
cmlkZ2UuaCIKICNpbmNsdWRlICJvYmpjX2hlYWRlci5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIK
ICNpbmNsdWRlIDxydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgogCkluZGV4OiBXZWJDb3JlL2JyaWRnZS9xdC9xdF9jbGFzcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYnJpZGdlL3F0L3F0X2NsYXNzLmgJKHJldmlzaW9uIDUzMzk5KQorKysgV2Vi
Q29yZS9icmlkZ2UvcXQvcXRfY2xhc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsOCArMjAsNyBA
QAogI2lmbmRlZiBCSU5ESU5HU19RVF9DTEFTU19IXwogI2RlZmluZSBCSU5ESU5HU19RVF9DTEFT
U19IXwogCi0jaW5jbHVkZSAicnVudGltZS5oIgotCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5j
bHVkZSAicWdsb2JhbC5oIgogCiBRVF9CRUdJTl9OQU1FU1BBQ0UKSW5kZXg6IFdlYkNvcmUvYnJp
ZGdlL3F0L3F0X2luc3RhbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvcXQvcXRf
aW5zdGFuY2UuaAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0
YW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCwxMSArMjAsMTEgQEAKICNpZm5kZWYgQklORElO
R1NfUVRfSU5TVEFOQ0VfSF8KICNkZWZpbmUgQklORElOR1NfUVRfSU5TVEFOQ0VfSF8KIAotI2lu
Y2x1ZGUgPFF0U2NyaXB0L3FzY3JpcHRlbmdpbmUuaD4KLSNpbmNsdWRlICJydW50aW1lLmgiCisj
aW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCi0jaW5jbHVkZSA8
cXBvaW50ZXIuaD4KKyNpbmNsdWRlIDxRdFNjcmlwdC9xc2NyaXB0ZW5naW5lLmg+CiAjaW5jbHVk
ZSA8cWhhc2guaD4KKyNpbmNsdWRlIDxxcG9pbnRlci5oPgogI2luY2x1ZGUgPHFzZXQuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkluZGV4OiBXZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAkocmV2aXNpb24g
NTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgInF2YXJsZW5ndGhhcnJheS5oIgogI2luY2x1
ZGUgPEpTRnVuY3Rpb24uaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KLSNpbmNsdWRlIDxydW50aW1l
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgogI2luY2x1ZGUgPHJ1bnRpbWVfYXJyYXku
aD4KICNpbmNsdWRlIDxydW50aW1lX29iamVjdC5oPgpJbmRleDogV2ViQ29yZS9icmlkZ2UvcXQv
cXRfcnVudGltZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUu
aAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIwLDkgKzIwLDkgQEAKICNpZm5kZWYgQklORElOR1NfUVRfUlVOVElN
RV9IXwogI2RlZmluZSBCSU5ESU5HU19RVF9SVU5USU1FX0hfCiAKKyNpbmNsdWRlICJCcmlkZ2Uu
aCIKICNpbmNsdWRlICJDb21wbGV0aW9uLmgiCiAjaW5jbHVkZSAiUHJvdGVjdC5oIgotI2luY2x1
ZGUgInJ1bnRpbWUuaCIKICNpbmNsdWRlICJydW50aW1lX21ldGhvZC5oIgogCiAjaW5jbHVkZSA8
cWJ5dGVhcnJheS5oPgpJbmRleDogV2ViQ29yZS9wYWdlL3dpbi9GcmFtZVdpbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL3dpbi9GcmFtZVdpbi5jcHAJKHJldmlzaW9uIDUzMzk5KQor
KysgV2ViQ29yZS9wYWdlL3dpbi9GcmFtZVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDE0
ICsyNCwxNCBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJydW50aW1l
LmgiCiAjaW5jbHVkZSAiRnJhbWVXaW4uaCIKIAotI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJSZW5k
ZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJUcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oIgogCiB1c2luZyBzdGQ6Om1pbjsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW5jZS9NZWRpYVBsYXllclByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL01lZGlhUGxheWVyUHJveHkuY3BwCShyZXZpc2lvbiA1
MzM5OSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQcm94
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyLDkgKzIyLDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJNZWRpYVBsYXllclByb3h5LmgiCiAKLSNpbmNsdWRlICJjX2NsYXNzLmgi
Ci0jaW5jbHVkZSAiY19pbnN0YW5jZS5oIgotI2luY2x1ZGUgImNfcnVudGltZS5oIgorI2luY2x1
ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRN
TFBsdWdJbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVmlkZW9FbGVtZW50LmgiCkBAIC0zMiwx
NCArMzAsMTYgQEAKICNpbmNsdWRlICJKU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaCIKICNpbmNs
dWRlICJNZWRpYVBsYXllci5oIgogI2luY2x1ZGUgIk5vZGUuaCIKLSNpbmNsdWRlICJucHJ1bnRp
bWVfaW1wbC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiUGx1Z2lu
Vmlldy5oIgogI2luY2x1ZGUgIlJlbmRlclBhcnRPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJX
aWRnZXQuaCIKLSNpbmNsdWRlICJydW50aW1lLmgiCi0jaW5jbHVkZSA8cnVudGltZS9JZGVudGlm
aWVyLmg+CiAjaW5jbHVkZSAiV2lkZ2V0LmgiCisjaW5jbHVkZSAiY19jbGFzcy5oIgorI2luY2x1
ZGUgImNfaW5zdGFuY2UuaCIKKyNpbmNsdWRlICJjX3J1bnRpbWUuaCIKKyNpbmNsdWRlICJucHJ1
bnRpbWVfaW1wbC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSWRlbnRpZmllci5oPgogCiB1c2luZyBu
YW1lc3BhY2UgSlNDOwogCkluZGV4OiBXZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCShyZXZpc2lvbiA1MzM5
OSkKKysrIFdlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcu
aCIKIAorI2luY2x1ZGUgIkJyaWRnZS5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTY1LDcgKzY2LDYg
QEAKICNpbmNsdWRlICJucHJ1bnRpbWVfaW1wbC5oIgogI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5o
IgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCi0jaW5jbHVkZSAicnVudGltZS5oIgogI2luY2x1ZGUg
PHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU1ZhbHVlLmg+CiAjaW5jbHVk
ZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KSW5kZXg6IFdlYkNvcmUvcGx1Z2lucy9ndGsvUGx1Z2luVmll
d0d0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5WaWV3R3Rr
LmNwcAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblZpZXdH
dGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogCisjaW5jbHVkZSAiQnJpZGdlLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUg
IkVsZW1lbnQuaCIKQEAgLTUyLDcgKzUzLDYgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIK
ICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAibnBydW50aW1lX2ltcGwu
aCIKLSNpbmNsdWRlICJydW50aW1lLmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCiAjaW5j
bHVkZSA8cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRlIDxydW50aW1lL0pTVmFsdWUuaD4KSW5k
ZXg6IFdlYkNvcmUvcGx1Z2lucy9tYWMvUGx1Z2luVmlld01hYy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbHVnaW5zL21hYy9QbHVnaW5WaWV3TWFjLmNwcAkocmV2aXNpb24gNTMzOTkpCisr
KyBXZWJDb3JlL3BsdWdpbnMvbWFjL1BsdWdpblZpZXdNYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSwxMCArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsdWdpblZp
ZXcuaCIKIAotI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9K
U1ZhbHVlLmg+Ci0jaW5jbHVkZSAid3RmL1JldGFpblB0ci5oIgotCisjaW5jbHVkZSAiQnJpZGdl
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgog
I2luY2x1ZGUgIkVsZW1lbnQuaCIKQEAgLTU0LDcgKzUxLDYgQEAKICNpbmNsdWRlICJLZXlib2Fy
ZEV2ZW50LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCi0jaW5jbHVkZSAibnBydW50aW1lX2ltcGwuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50LmgiCkBAIC02MiwxMCArNTgsMTQgQEAKICNpbmNsdWRlICJQbHVnaW5QYWNrYWdlLmgi
CiAjaW5jbHVkZSAiUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIgogI2luY2x1ZGUgIlJlbmRl
ckxheWVyLmgiCi0jaW5jbHVkZSAicnVudGltZS5oIgotI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5o
IgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgor
I2luY2x1ZGUgIm5wcnVudGltZV9pbXBsLmgiCisjaW5jbHVkZSAicnVudGltZV9yb290LmgiCisj
aW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KKyNpbmNsdWRlIDxydW50aW1lL0pTVmFsdWUuaD4K
KyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisKIAogdXNpbmcgSlNDOjpFeGVjU3RhdGU7CiB1
c2luZyBKU0M6OkludGVycHJldGVyOwpJbmRleDogV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZp
ZXdRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5j
cHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRWxl
bWVudC5oIgpAQCAtNTQsMjcgKzU1LDI3IEBACiAjaW5jbHVkZSAiUGx1Z2luRGVidWcuaCIKICNp
bmNsdWRlICJQbHVnaW5QYWNrYWdlLmgiCiAjaW5jbHVkZSAiUGx1Z2luTWFpblRocmVhZFNjaGVk
dWxlci5oIgorI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5
ZXIuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJucHJ1bnRpbWVfaW1wbC5oIgotI2luY2x1ZGUgInJ1bnRpbWUuaCIKICNp
bmNsdWRlICJydW50aW1lX3Jvb3QuaCIKLSNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgorCiAj
aW5jbHVkZSA8UUFwcGxpY2F0aW9uPgogI2luY2x1ZGUgPFFEZXNrdG9wV2lkZ2V0PgogI2luY2x1
ZGUgPFFLZXlFdmVudD4KICNpbmNsdWRlIDxRUGFpbnRlcj4KICNpbmNsdWRlIDxRV2lkZ2V0Pgog
I2luY2x1ZGUgPFFYMTFJbmZvPgotI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+Ci0jaW5jbHVk
ZSA8cnVudGltZS9KU1ZhbHVlLmg+CiAjaW5jbHVkZSA8WDExL1guaD4KICNpZm5kZWYgUVRfTk9f
WFJFTkRFUgogI2RlZmluZSBCb29sIGludAogI2RlZmluZSBTdGF0dXMgaW50CiAjaW5jbHVkZSA8
WDExL2V4dGVuc2lvbnMvWHJlbmRlci5oPgogI2VuZGlmCisjaW5jbHVkZSA8cnVudGltZS9KU0xv
Y2suaD4KKyNpbmNsdWRlIDxydW50aW1lL0pTVmFsdWUuaD4KIAogdXNpbmcgSlNDOjpFeGVjU3Rh
dGU7CiB1c2luZyBKU0M6OkludGVycHJldGVyOwpJbmRleDogV2ViQ29yZS9wbHVnaW5zL3N5bWJp
YW4vUGx1Z2luVmlld1N5bWJpYW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGx1Z2lucy9z
eW1iaWFuL1BsdWdpblZpZXdTeW1iaWFuLmNwcAkocmV2aXNpb24gNTMzOTkpCisrKyBXZWJDb3Jl
L3BsdWdpbnMvc3ltYmlhbi9QbHVnaW5WaWV3U3ltYmlhbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3
LmgiCiAKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtMzcsOCArMzgs
NiBAQAogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50Lmgi
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJucGZ1bmN0aW9ucy5oIgot
I2luY2x1ZGUgIm5waW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgpA
QCAtNDYsMTMgKzQ1LDE0IEBACiAjaW5jbHVkZSAiUGx1Z2luRGVidWcuaCIKICNpbmNsdWRlICJQ
bHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luUGFja2FnZS5oIgor
I2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNs
dWRlICJucGZ1bmN0aW9ucy5oIgorI2luY2x1ZGUgIm5waW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAi
bnBydW50aW1lX2ltcGwuaCIKLSNpbmNsdWRlICJydW50aW1lLmgiCiAjaW5jbHVkZSAicnVudGlt
ZV9yb290LmgiCi0jaW5jbHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlIDxRS2V5RXZl
bnQ+CiAjaW5jbHVkZSA8UVBpeG1hcC5oPgogI2luY2x1ZGUgPFFSZWdpb24+CkluZGV4OiBXZWJD
b3JlL3BsdWdpbnMvd2luL1BsdWdpblZpZXdXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGx1Z2lucy93aW4vUGx1Z2luVmlld1dpbi5jcHAJKHJldmlzaW9uIDUzMzk5KQorKysgV2ViQ29y
ZS9wbHVnaW5zL3dpbi9QbHVnaW5WaWV3V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiAr
MzMsNyBAQAogI2lmICFQTEFURk9STShXWCkKICNpbmNsdWRlICJCaXRtYXBJbmZvLmgiCiAjZW5k
aWYKKyNpbmNsdWRlICJCcmlkZ2UuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtNjMsMTEgKzY0LDEw
IEBACiAjaW5jbHVkZSAiUGx1Z2luRGF0YWJhc2UuaCIKICNpbmNsdWRlICJQbHVnaW5EZWJ1Zy5o
IgogI2luY2x1ZGUgIlBsdWdpblBhY2thZ2UuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgImNfaW5zdGFuY2UuaCIKICNpbmNsdWRlICJucHJ1bnRpbWVfaW1wbC5oIgogI2luY2x1
ZGUgInJ1bnRpbWVfcm9vdC5oIgotI2luY2x1ZGUgIlNldHRpbmdzLmgiCi0jaW5jbHVkZSAicnVu
dGltZS5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8cnVudGltZS9K
U1ZhbHVlLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4K
</data>
<flag name="review"
          id="29154"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>