<?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>23080</bug_id>
          
          <creation_ts>2009-01-02 11:32:49 -0800</creation_ts>
          <short_desc>Remove last vestiges of KJS references</short_desc>
          <delta_ts>2009-01-02 12:59:55 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>104134</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-01-02 11:32:49 -0800</bug_when>
    <thetext>* SUMMARY
There are still some leftover references to &quot;KJS&quot; after various renames and file moves.

* NOTES
Kill zem.  Kill zem all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104136</commentid>
    <comment_count>1</comment_count>
      <attachid>26372</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-01-02 11:34:50 -0800</bug_when>
    <thetext>Created attachment 26372
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104139</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-01-02 11:37:45 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=26372) [review]
&gt; Patch v1

Note that prior copyright years were added based on commits by Apple employees in svn history.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104150</commentid>
    <comment_count>3</comment_count>
      <attachid>26372</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-02 12:40:03 -0800</bug_when>
    <thetext>Comment on attachment 26372
Patch v1

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104162</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-01-02 12:59:55 -0800</bug_when>
    <thetext>$ git svn dcommit
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	JavaScriptCore/ChangeLog
	M	JavaScriptCore/DerivedSources.make
	M	JavaScriptCore/GNUmakefile.am
	M	JavaScriptCore/JavaScriptCore.pri
	M	JavaScriptCore/JavaScriptCoreSources.bkl
	M	JavaScriptCore/create_hash_table
	M	JavaScriptCore/jscore.bkl
	M	JavaScriptCore/parser/Grammar.y
	M	JavaScriptCore/parser/Lexer.cpp
	M	JavaScriptCore/parser/Parser.cpp
	M	JavaScriptCore/pcre/dftables
	M	JavaScriptCore/pcre/pcre_compile.cpp
	M	JavaScriptCore/pcre/pcre_exec.cpp
	M	JavaScriptCore/pcre/pcre_internal.h
	M	JavaScriptCore/pcre/pcre_tables.cpp
	M	JavaScriptCore/pcre/pcre_ucp_searchfuncs.cpp
	M	JavaScriptCore/pcre/pcre_xclass.cpp
	M	JavaScriptCore/runtime/Collector.h
	M	JavaScriptCore/runtime/CollectorHeapIterator.h
	M	JavaScriptCore/runtime/Identifier.h
	M	JavaScriptCore/runtime/JSFunction.h
	M	JavaScriptCore/runtime/JSGlobalObject.cpp
	M	JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
	M	JavaScriptCore/runtime/JSGlobalObjectFunctions.h
	M	JavaScriptCore/runtime/JSImmediate.h
	M	JavaScriptCore/runtime/JSLock.h
	M	JavaScriptCore/runtime/JSType.h
	M	JavaScriptCore/runtime/JSWrapperObject.h
	M	JavaScriptCore/runtime/Lookup.h
	M	JavaScriptCore/runtime/Operations.h
	M	JavaScriptCore/runtime/Protect.h
	M	JavaScriptCore/runtime/RegExp.h
	M	JavaScriptCore/runtime/UString.h
	M	JavaScriptCore/tests/mozilla/js1_5/Array/regress-157652.js
	M	JavaScriptCore/wrec/CharacterClassConstructor.cpp
	M	JavaScriptCore/wtf/unicode/Unicode.h
	M	JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h
	M	JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h
Committed r39554

http://trac.webkit.org/changeset/39554

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26372</attachid>
            <date>2009-01-02 11:34:50 -0800</date>
            <delta_ts>2009-01-02 12:40:03 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-23080-v1.diff</filename>
            <type>text/plain</type>
            <size>51919</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">Y29tbWl0IDU3ZTY0YThlNTE3OGFiZWFjMjM1MGMwODdmMGU1MGQxMzEyZTQ4YzIKQXV0aG9yOiBE
YXZpZCBLaWx6ZXIgPGRka2lsemVyQGFwcGxlLmNvbT4KRGF0ZTogICBGcmkgSmFuIDIgMTA6MDg6
NTkgMjAwOSAtMDgwMAoKICAgICAgICAgICAgQnVnIDIzMDgwOiBSZW1vdmUgbGFzdCB2ZXN0aWdl
cyBvZiBLSlMgcmVmZXJlbmNlcwogICAgCiAgICAgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwODA+CiAgICAKICAgICAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCiAgICAKICAgICAgICAgICAgQWxzbyB1cGRhdGVkIEFwcGxlIGNvcHly
aWdodCBzdGF0ZW1lbnRzLgogICAgCiAgICAgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTog
Q2hhbmdlZCBiaXNvbiAia2pzeXkiIHByZWZpeCB0byAianNjeXkiLgogICAgICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOiBEaXR0by4KICAgICAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5wcmk6IERp
dHRvLiAgQWxzbyBjaGFuZ2VkIEtKU0JJU09OIHRvIEpTQ0JJU09OCiAgICAgICAgICAgIGFuZCBr
anNiaXNvbiB0byBqc2NiaXNvbi4KICAgIAogICAgICAgICAgICAqIEphdmFTY3JpcHRDb3JlU291
cmNlcy5ia2w6IENoYW5nZWQgSlNDT1JFX0tKU19TT1VSQ0VTIHRvCiAgICAgICAgICAgIEpTQ09S
RV9KU0NfU09VUkNFUy4KICAgICAgICAgICAgKiBqc2NvcmUuYmtsOiBEaXR0by4KICAgIAogICAg
ICAgICAgICAqIGNyZWF0ZV9oYXNoX3RhYmxlOiBVcGRhdGVkIGNvcHlyaWdodCBhbmQgcmVtb3Zl
ZCBvbGQgY29tbWVudC4KICAgIAogICAgICAgICAgICAqIHBhcnNlci9HcmFtbWFyLnk6IENoYW5n
ZWQgImtqc3l5IiBwcmVmaXggdG8gImpzY3l5IiBwcmVmaXguCiAgICAgICAgICAgICogcGFyc2Vy
L0xleGVyLmNwcDogRGl0dG8uICBBbHNvIGNoYW5nZWQgS0pTX0RFQlVHX0xFWCB0bwogICAgICAg
ICAgICBKU0NfREVCVUdfTEVYLgogICAgICAgICAgICAoanNjeXlsZXgpOgogICAgICAgICAgICAo
SlNDOjpMZXhlcjo6bGV4KToKICAgICAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDogRGl0dG8u
CiAgICAgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2UpOgogICAgCiAgICAgICAgICAgICogcGNy
ZS9kZnRhYmxlczogQ2hhbmdlZCAia2pzX3BjcmVfIiBwcmVmaXggdG8gImpzY19wY3JlXyIuCiAg
ICAgICAgICAgICogcGNyZS9wY3JlX2NvbXBpbGUuY3BwOiBEaXR0by4KICAgICAgICAgICAgKGdl
dE90aGVyY2FzZVJhbmdlKToKICAgICAgICAgICAgKGVuY29kZVVURjgpOgogICAgICAgICAgICAo
Y29tcGlsZUJyYW5jaCk6CiAgICAgICAgICAgIChjYWxjdWxhdGVDb21waWxlZFBhdHRlcm5MZW5n
dGgpOgogICAgICAgICAgICAqIHBjcmUvcGNyZV9leGVjLmNwcDogRGl0dG8uCiAgICAgICAgICAg
IChtYXRjaFJlZik6CiAgICAgICAgICAgIChnZXRVVEY4Q2hhckFuZEluY3JlbWVudExlbmd0aCk6
CiAgICAgICAgICAgIChtYXRjaCk6CiAgICAgICAgICAgICogcGNyZS9wY3JlX2ludGVybmFsLmg6
IERpdHRvLgogICAgICAgICAgICAodG9Mb3dlckNhc2UpOgogICAgICAgICAgICAoZmxpcENhc2Up
OgogICAgICAgICAgICAoY2xhc3NCaXRtYXBGb3JDaGFyKToKICAgICAgICAgICAgKGNoYXJUeXBl
Rm9yQ2hhcik6CiAgICAgICAgICAgICogcGNyZS9wY3JlX3RhYmxlcy5jcHA6IERpdHRvLgogICAg
ICAgICAgICAqIHBjcmUvcGNyZV91Y3Bfc2VhcmNoZnVuY3MuY3BwOiBEaXR0by4KICAgICAgICAg
ICAgKGpzY19wY3JlX3VjcF9vdGhlcmNhc2UpOgogICAgICAgICAgICAqIHBjcmUvcGNyZV94Y2xh
c3MuY3BwOiBEaXR0by4KICAgICAgICAgICAgKGdldFVURjhDaGFyQW5kQWR2YW5jZVBvaW50ZXIp
OgogICAgICAgICAgICAoanNjX3BjcmVfeGNsYXNzKToKICAgIAogICAgICAgICAgICAqIHJ1bnRp
bWUvQ29sbGVjdG9yLmg6IFVwZGF0ZWQgaGVhZGVyIGd1YXJkcyB1c2luZyB0aGUKICAgICAgICAg
ICAgY2xlYW4taGVhZGVyLWd1YXJkcyBzY3JpcHQuCiAgICAgICAgICAgICogcnVudGltZS9Db2xs
ZWN0b3JIZWFwSXRlcmF0b3IuaDogQWRkZWQgbWlzc2luZyBoZWFkZXIgZ3VhcmQuCiAgICAgICAg
ICAgICogcnVudGltZS9JZGVudGlmaWVyLmg6IFVwZGF0ZWQgaGVhZGVyIGd1YXJkcy4KICAgICAg
ICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDogRml4ZWQgZW5kLW9mLW5hbWVzcGFjZSBjb21t
ZW50LgogICAgCiAgICAgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CiAgICAg
ICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpyZXNldCk6IFJlbmFtZWQgImtqc3ByaW50IiBk
ZWJ1ZyBmdW5jdGlvbgogICAgICAgICAgICB0byAianNjcHJpbnQiLiAgQ2hhbmdlZCBpbXBsZW1l
bnRhdGlvbiBtZXRob2QgZnJvbQogICAgICAgICAgICBnbG9iYWxGdW5jS0pTUHJpbnQoKSB0byBn
bG9iYWxGdW5jSlNDUHJpbnQoKS4KICAgICAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0
RnVuY3Rpb25zLmNwcDoKICAgICAgICAgICAgKEpTQzo6Z2xvYmFsRnVuY0pTQ1ByaW50KTogUmVu
YW1lZCBmcm9tIGdsb2JhbEZ1bmNLSlNQcmludCgpLgogICAgICAgICAgICAqIHJ1bnRpbWUvSlNH
bG9iYWxPYmplY3RGdW5jdGlvbnMuaDogRGl0dG8uCiAgICAKICAgICAgICAgICAgKiBydW50aW1l
L0pTSW1tZWRpYXRlLmg6IFVwZGF0ZWQgaGVhZGVyIGd1YXJkcy4KICAgICAgICAgICAgKiBydW50
aW1lL0pTTG9jay5oOiBEaXR0by4KICAgICAgICAgICAgKiBydW50aW1lL0pTVHlwZS5oOiBEaXR0
by4KICAgICAgICAgICAgKiBydW50aW1lL0pTV3JhcHBlck9iamVjdC5oOiBEaXR0by4KICAgICAg
ICAgICAgKiBydW50aW1lL0xvb2t1cC5oOiBEaXR0by4KICAgICAgICAgICAgKiBydW50aW1lL09w
ZXJhdGlvbnMuaDogRGl0dG8uCiAgICAgICAgICAgICogcnVudGltZS9Qcm90ZWN0Lmg6IERpdHRv
LgogICAgICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwLmg6IERpdHRvLgogICAgICAgICAgICAqIHJ1
bnRpbWUvVVN0cmluZy5oOiBEaXR0by4KICAgIAogICAgICAgICAgICAqIHRlc3RzL21vemlsbGEv
anMxXzUvQXJyYXkvcmVncmVzcy0xNTc2NTIuanM6IENoYW5nZWQgIktKUyIKICAgICAgICAgICAg
cmVmZXJlbmNlIGluIGNvbW1lbnQgdG8gIkpTQyIuCiAgICAKICAgICAgICAgICAgKiB3cmVjL0No
YXJhY3RlckNsYXNzQ29uc3RydWN0b3IuY3BwOiBDaGFuZ2UgImtqc19wY3JlXyIgZnVuY3Rpb24K
ICAgICAgICAgICAgcHJlZml4ZXMgdG8gImpzY19wY3JlXyIuCiAgICAgICAgICAgIChKU0M6OldS
RUM6OkNoYXJhY3RlckNsYXNzQ29uc3RydWN0b3I6OnB1dCk6CiAgICAgICAgICAgIChKU0M6OldS
RUM6OkNoYXJhY3RlckNsYXNzQ29uc3RydWN0b3I6OmZsdXNoKToKICAgIAogICAgICAgICAgICAq
IHd0Zi91bmljb2RlL1VuaWNvZGUuaDogQ2hhbmdlICJLSlNfIiBoZWFkZXIgZ3VhcmQgdG8gIldU
Rl8iLgogICAgICAgICAgICAqIHd0Zi91bmljb2RlL2ljdS9Vbmljb2RlSWN1Lmg6IERpdHRvLgog
ICAgICAgICAgICAqIHd0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0Lmg6IERpdHRvLgoKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZwppbmRleCAyMTkyNjJmLi5hMDEwNDdiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTAgQEAKKzIw
MDktMDEtMDIgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBC
dWcgMjMwODA6IFJlbW92ZSBsYXN0IHZlc3RpZ2VzIG9mIEtKUyByZWZlcmVuY2VzCisKKyAgICAg
ICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA4MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHNvIHVwZGF0ZWQg
QXBwbGUgY29weXJpZ2h0IHN0YXRlbWVudHMuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOiBDaGFuZ2VkIGJpc29uICJranN5eSIgcHJlZml4IHRvICJqc2N5eSIuCisgICAgICAgICog
R05VbWFrZWZpbGUuYW06IERpdHRvLgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnByaTogRGl0
dG8uICBBbHNvIGNoYW5nZWQgS0pTQklTT04gdG8gSlNDQklTT04KKyAgICAgICAgYW5kIGtqc2Jp
c29uIHRvIGpzY2Jpc29uLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmVTb3VyY2VzLmJrbDog
Q2hhbmdlZCBKU0NPUkVfS0pTX1NPVVJDRVMgdG8KKyAgICAgICAgSlNDT1JFX0pTQ19TT1VSQ0VT
LgorICAgICAgICAqIGpzY29yZS5ia2w6IERpdHRvLgorCisgICAgICAgICogY3JlYXRlX2hhc2hf
dGFibGU6IFVwZGF0ZWQgY29weXJpZ2h0IGFuZCByZW1vdmVkIG9sZCBjb21tZW50LgorCisgICAg
ICAgICogcGFyc2VyL0dyYW1tYXIueTogQ2hhbmdlZCAia2pzeXkiIHByZWZpeCB0byAianNjeXki
IHByZWZpeC4KKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOiBEaXR0by4gIEFsc28gY2hhbmdl
ZCBLSlNfREVCVUdfTEVYIHRvCisgICAgICAgIEpTQ19ERUJVR19MRVguCisgICAgICAgIChqc2N5
eWxleCk6CisgICAgICAgIChKU0M6OkxleGVyOjpsZXgpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZSk6CisKKyAgICAgICAg
KiBwY3JlL2RmdGFibGVzOiBDaGFuZ2VkICJranNfcGNyZV8iIHByZWZpeCB0byAianNjX3BjcmVf
Ii4KKyAgICAgICAgKiBwY3JlL3BjcmVfY29tcGlsZS5jcHA6IERpdHRvLgorICAgICAgICAoZ2V0
T3RoZXJjYXNlUmFuZ2UpOgorICAgICAgICAoZW5jb2RlVVRGOCk6CisgICAgICAgIChjb21waWxl
QnJhbmNoKToKKyAgICAgICAgKGNhbGN1bGF0ZUNvbXBpbGVkUGF0dGVybkxlbmd0aCk6CisgICAg
ICAgICogcGNyZS9wY3JlX2V4ZWMuY3BwOiBEaXR0by4KKyAgICAgICAgKG1hdGNoUmVmKToKKyAg
ICAgICAgKGdldFVURjhDaGFyQW5kSW5jcmVtZW50TGVuZ3RoKToKKyAgICAgICAgKG1hdGNoKToK
KyAgICAgICAgKiBwY3JlL3BjcmVfaW50ZXJuYWwuaDogRGl0dG8uCisgICAgICAgICh0b0xvd2Vy
Q2FzZSk6CisgICAgICAgIChmbGlwQ2FzZSk6CisgICAgICAgIChjbGFzc0JpdG1hcEZvckNoYXIp
OgorICAgICAgICAoY2hhclR5cGVGb3JDaGFyKToKKyAgICAgICAgKiBwY3JlL3BjcmVfdGFibGVz
LmNwcDogRGl0dG8uCisgICAgICAgICogcGNyZS9wY3JlX3VjcF9zZWFyY2hmdW5jcy5jcHA6IERp
dHRvLgorICAgICAgICAoanNjX3BjcmVfdWNwX290aGVyY2FzZSk6CisgICAgICAgICogcGNyZS9w
Y3JlX3hjbGFzcy5jcHA6IERpdHRvLgorICAgICAgICAoZ2V0VVRGOENoYXJBbmRBZHZhbmNlUG9p
bnRlcik6CisgICAgICAgIChqc2NfcGNyZV94Y2xhc3MpOgorCisgICAgICAgICogcnVudGltZS9D
b2xsZWN0b3IuaDogVXBkYXRlZCBoZWFkZXIgZ3VhcmRzIHVzaW5nIHRoZQorICAgICAgICBjbGVh
bi1oZWFkZXItZ3VhcmRzIHNjcmlwdC4KKyAgICAgICAgKiBydW50aW1lL0NvbGxlY3RvckhlYXBJ
dGVyYXRvci5oOiBBZGRlZCBtaXNzaW5nIGhlYWRlciBndWFyZC4KKyAgICAgICAgKiBydW50aW1l
L0lkZW50aWZpZXIuaDogVXBkYXRlZCBoZWFkZXIgZ3VhcmRzLgorICAgICAgICAqIHJ1bnRpbWUv
SlNGdW5jdGlvbi5oOiBGaXhlZCBlbmQtb2YtbmFtZXNwYWNlIGNvbW1lbnQuCisKKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OnJlc2V0KTogUmVuYW1lZCAia2pzcHJpbnQiIGRlYnVnIGZ1bmN0aW9uCisgICAgICAgIHRv
ICJqc2NwcmludCIuICBDaGFuZ2VkIGltcGxlbWVudGF0aW9uIG1ldGhvZCBmcm9tCisgICAgICAg
IGdsb2JhbEZ1bmNLSlNQcmludCgpIHRvIGdsb2JhbEZ1bmNKU0NQcmludCgpLgorICAgICAgICAq
IHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpnbG9i
YWxGdW5jSlNDUHJpbnQpOiBSZW5hbWVkIGZyb20gZ2xvYmFsRnVuY0tKU1ByaW50KCkuCisgICAg
ICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oOiBEaXR0by4KKworICAgICAg
ICAqIHJ1bnRpbWUvSlNJbW1lZGlhdGUuaDogVXBkYXRlZCBoZWFkZXIgZ3VhcmRzLgorICAgICAg
ICAqIHJ1bnRpbWUvSlNMb2NrLmg6IERpdHRvLgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlLmg6
IERpdHRvLgorICAgICAgICAqIHJ1bnRpbWUvSlNXcmFwcGVyT2JqZWN0Lmg6IERpdHRvLgorICAg
ICAgICAqIHJ1bnRpbWUvTG9va3VwLmg6IERpdHRvLgorICAgICAgICAqIHJ1bnRpbWUvT3BlcmF0
aW9ucy5oOiBEaXR0by4KKyAgICAgICAgKiBydW50aW1lL1Byb3RlY3QuaDogRGl0dG8uCisgICAg
ICAgICogcnVudGltZS9SZWdFeHAuaDogRGl0dG8uCisgICAgICAgICogcnVudGltZS9VU3RyaW5n
Lmg6IERpdHRvLgorCisgICAgICAgICogdGVzdHMvbW96aWxsYS9qczFfNS9BcnJheS9yZWdyZXNz
LTE1NzY1Mi5qczogQ2hhbmdlZCAiS0pTIgorICAgICAgICByZWZlcmVuY2UgaW4gY29tbWVudCB0
byAiSlNDIi4KKworICAgICAgICAqIHdyZWMvQ2hhcmFjdGVyQ2xhc3NDb25zdHJ1Y3Rvci5jcHA6
IENoYW5nZSAia2pzX3BjcmVfIiBmdW5jdGlvbgorICAgICAgICBwcmVmaXhlcyB0byAianNjX3Bj
cmVfIi4KKyAgICAgICAgKEpTQzo6V1JFQzo6Q2hhcmFjdGVyQ2xhc3NDb25zdHJ1Y3Rvcjo6cHV0
KToKKyAgICAgICAgKEpTQzo6V1JFQzo6Q2hhcmFjdGVyQ2xhc3NDb25zdHJ1Y3Rvcjo6Zmx1c2gp
OgorCisgICAgICAgICogd3RmL3VuaWNvZGUvVW5pY29kZS5oOiBDaGFuZ2UgIktKU18iIGhlYWRl
ciBndWFyZCB0byAiV1RGXyIuCisgICAgICAgICogd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJY3Uu
aDogRGl0dG8uCisgICAgICAgICogd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaDogRGl0dG8u
CisKIDIwMDktMDEtMDIgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgZGVjbGFyYXRpb24gZm9yIEpTQzo6SWRlbnRpZmllcjo6aW5pdGlhbGl6ZUlk
ZW50aWZpZXJUaHJlYWRpbmcoKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNzQ3
NWIyMC4uODY1YmE3YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQorKysgYi9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDQgKzEs
NCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4IDIwMDkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC01OSw3ICs1OSw3IEBAIExleGVyLmx1dC5oOiBjcmVhdGVfaGFzaF90YWJsZSBLZXl3b3Jkcy50
YWJsZQogIyBKYXZhU2NyaXB0IGxhbmd1YWdlIGdyYW1tYXIKIAogR3JhbW1hci5jcHA6IEdyYW1t
YXIueQotCWJpc29uIC1kIC1wIGtqc3l5ICQ8IC1vICRAID4gYmlzb25fb3V0LnR4dCAyPiYxCisJ
Ymlzb24gLWQgLXAganNjeXkgJDwgLW8gJEAgPiBiaXNvbl9vdXQudHh0IDI+JjEKIAlwZXJsIC1w
IC1lICdFTkQgeyBpZiAoJCRjb25mbGljdCkgeyB1bmxpbmsgIkdyYW1tYXIuY3BwIjsgZGllOyB9
IH0gJCRjb25mbGljdCB8fD0gL2NvbmZsaWN0LycgPCBiaXNvbl9vdXQudHh0CiAJdG91Y2ggR3Jh
bW1hci5jcHAuaAogCXRvdWNoIEdyYW1tYXIuaHBwCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5hbSBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGM4
M2IwZDMuLmZiNDlmOGEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFt
CisrKyBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC00MzAsNyArNDMwLDcgQEAg
ZW5kaWYgIyBFTkQgRU5BQkxFX0RFQlVHCiBEZXJpdmVkU291cmNlcy9HcmFtbWFyLmg6IERlcml2
ZWRTb3VyY2VzL0dyYW1tYXIuY3BwOwogCiBEZXJpdmVkU291cmNlcy9HcmFtbWFyLmNwcDogJChz
cmNkaXIpL0phdmFTY3JpcHRDb3JlL3BhcnNlci9HcmFtbWFyLnkKLQkkKEJJU09OKSAtZCAtcCBr
anN5eSAkKHNyY2RpcikvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0dyYW1tYXIueSAtbyAkQCA+IGJp
c29uX291dC50eHQgMj4mMQorCSQoQklTT04pIC1kIC1wIGpzY3l5ICQoc3JjZGlyKS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvR3JhbW1hci55IC1vICRAID4gYmlzb25fb3V0LnR4dCAyPiYxCiAJJChQ
RVJMKSAtcCAtZSAnRU5EIHsgaWYgKCQkY29uZmxpY3QpIHsgdW5saW5rICJHcmFtbWFyLmNwcCI7
IGRpZTsgfSB9ICQkY29uZmxpY3QgfHw9IC9jb25mbGljdC8nIDwgYmlzb25fb3V0LnR4dAogCWNh
dCAkKEdFTlNPVVJDRVMpL0dyYW1tYXIuaHBwID4gJChHRU5TT1VSQ0VTKS9HcmFtbWFyLmgKIAly
bSAtZiAkKEdFTlNPVVJDRVMpL0dyYW1tYXIuaHBwIGJpc29uX291dC50eHQKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaSBiL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnByaQppbmRleCAyMGY1YjUyLi5kZWQxZDcwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUucHJpCkBAIC00MSw3ICs0MSw3IEBAIExVVF9GSUxFUyArPSBcCiBLRVlXT1JETFVUX0ZJ
TEVTICs9IFwKICAgICBwYXJzZXIvS2V5d29yZHMudGFibGUKIAotS0pTQklTT04gKz0gXAorSlND
QklTT04gKz0gXAogICAgIHBhcnNlci9HcmFtbWFyLnkKIAogU09VUkNFUyArPSBcCkBAIC0xOTUs
MTIgKzE5NSwxMiBAQCBrZXl3b3JkbHV0LkNPTkZJRyArPSBub19saW5rCiBhZGRFeHRyYUNvbXBp
bGVyKGtleXdvcmRsdXQpCiAKICMgR0VORVJBVE9SIDI6IGJpc29uIGdyYW1tYXIKLWtqc2Jpc29u
Lm91dHB1dCA9ICQkR0VORVJBVEVEX1NPVVJDRVNfRElSLyR7UU1BS0VfRklMRV9CQVNFfS5jcHAK
LWtqc2Jpc29uLmNvbW1hbmRzID0gYmlzb24gLWQgLXAga2pzeXkgJHtRTUFLRV9GSUxFX05BTUV9
IC1vICR7UU1BS0VfRklMRV9CQVNFfS50YWIuYyAmJiAkKE1PVkUpICR7UU1BS0VfRklMRV9CQVNF
fS50YWIuYyAke1FNQUtFX0ZJTEVfT1VUfSAmJiAkKE1PVkUpICR7UU1BS0VfRklMRV9CQVNFfS50
YWIuaCAkJEdFTkVSQVRFRF9TT1VSQ0VTX0RJUi8ke1FNQUtFX0ZJTEVfQkFTRX0uaAota2pzYmlz
b24uZGVwZW5kID0gJHtRTUFLRV9GSUxFX05BTUV9Ci1ranNiaXNvbi5pbnB1dCA9IEtKU0JJU09O
Ci1ranNiaXNvbi52YXJpYWJsZV9vdXQgPSBHRU5FUkFURURfU09VUkNFUwota2pzYmlzb24uZGVw
ZW5kZW5jeV90eXBlID0gVFlQRV9DCi1ranNiaXNvbi5DT05GSUcgPSB0YXJnZXRfcHJlZGVwcwot
YWRkRXh0cmFDb21waWxlcldpdGhIZWFkZXIoa2pzYmlzb24pCitqc2NiaXNvbi5vdXRwdXQgPSAk
JEdFTkVSQVRFRF9TT1VSQ0VTX0RJUi8ke1FNQUtFX0ZJTEVfQkFTRX0uY3BwCitqc2NiaXNvbi5j
b21tYW5kcyA9IGJpc29uIC1kIC1wIGpzY3l5ICR7UU1BS0VfRklMRV9OQU1FfSAtbyAke1FNQUtF
X0ZJTEVfQkFTRX0udGFiLmMgJiYgJChNT1ZFKSAke1FNQUtFX0ZJTEVfQkFTRX0udGFiLmMgJHtR
TUFLRV9GSUxFX09VVH0gJiYgJChNT1ZFKSAke1FNQUtFX0ZJTEVfQkFTRX0udGFiLmggJCRHRU5F
UkFURURfU09VUkNFU19ESVIvJHtRTUFLRV9GSUxFX0JBU0V9LmgKK2pzY2Jpc29uLmRlcGVuZCA9
ICR7UU1BS0VfRklMRV9OQU1FfQoranNjYmlzb24uaW5wdXQgPSBKU0NCSVNPTgoranNjYmlzb24u
dmFyaWFibGVfb3V0ID0gR0VORVJBVEVEX1NPVVJDRVMKK2pzY2Jpc29uLmRlcGVuZGVuY3lfdHlw
ZSA9IFRZUEVfQworanNjYmlzb24uQ09ORklHID0gdGFyZ2V0X3ByZWRlcHMKK2FkZEV4dHJhQ29t
cGlsZXJXaXRoSGVhZGVyKGpzY2Jpc29uKQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZVNvdXJjZXMuYmtsIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVT
b3VyY2VzLmJrbAppbmRleCBjNWY0ZDc4Li44NGE2YWFmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZVNvdXJjZXMuYmtsCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlU291cmNlcy5ia2wKQEAgLTQ4LDcgKzQ4LDcgQEAgU291cmNlIGZpbGVzIGZvciBK
U0NvcmUuCiAgICAgICAgIGRlYnVnZ2VyL0RlYnVnZ2VyLmNwcAogICAgICAgICBkZWJ1Z2dlci9E
ZWJ1Z2dlckNhbGxGcmFtZS5jcHAKICAgICA8L3NldD4KLSAgICA8c2V0IGFwcGVuZD0iMSIgdmFy
PSJKU0NPUkVfS0pTX1NPVVJDRVMiPgorICAgIDxzZXQgYXBwZW5kPSIxIiB2YXI9IkpTQ09SRV9K
U0NfU09VUkNFUyI+CiAgICAgICAgIERlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL0dyYW1t
YXIuY3BwCiAgICAgICAgIHd0Zi9kdG9hLmNwcAogICAgIDwvc2V0PgpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvY3JlYXRlX2hhc2hfdGFibGUgYi9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfaGFz
aF90YWJsZQppbmRleCBmMjIzZGI2Li4zYmQ5Zjc2IDEwMDc1NQotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9jcmVhdGVfaGFzaF90YWJsZQorKysgYi9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfaGFzaF90YWJs
ZQpAQCAtNSw5ICs1LDcgQEAKICMgKGMpIDIwMDAtMjAwMiBieSBIYXJyaSBQb3J0ZW4gPHBvcnRl
bkBrZGUub3JnPiBhbmQKICMgICAgICAgICAgICAgICAgICBEYXZpZCBGYXVyZSA8ZmF1cmVAa2Rl
Lm9yZz4KICMgTW9kaWZpZWQgKGMpIDIwMDQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94
QGtkZS5vcmc+Ci0jIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0jCi0jIFBhcnQgb2YgdGhlIEtKUyBsaWJyYXJ5LgorIyBDb3B5cmlnaHQgKEMpIDIw
MDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2pzY29yZS5ia2wgYi9KYXZhU2NyaXB0
Q29yZS9qc2NvcmUuYmtsCmluZGV4IGMzMDM0ZjMuLmQ1ZjE2OTggMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL2pzY29yZS5ia2wKKysrIGIvSmF2YVNjcmlwdENvcmUvanNjb3JlLmJrbApAQCAt
NDAsNyArNDAsNyBAQCBKYXZhU2NyaXB0Q29yZSBCYWtlZmlsZSBwcm9qZWN0IGZpbGUuCiAgICAg
ICAgICAgICAkKEpTQ09SRV9BUElfU09VUkNFUykKICAgICAgICAgICAgICQoSlNDT1JFX0JZVEVD
T01QSUxFUl9TT1VSQ0VTKQogICAgICAgICAgICAgJChKU0NPUkVfREVCVUdHRVJfU09VUkNFUykK
LSAgICAgICAgICAgICQoSlNDT1JFX0tKU19TT1VSQ0VTKQorICAgICAgICAgICAgJChKU0NPUkVf
SlNDX1NPVVJDRVMpCiAgICAgICAgICAgICAkKEpTQ09SRV9QQ1JFX1NPVVJDRVMpCiAgICAgICAg
ICAgICAkKEpTQ09SRV9QQVJTRVJfU09VUkNFUykKICAgICAgICAgICAgICQoSlNDT1JFX1BST0ZJ
TEVSX1NPVVJDRVMpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvR3JhbW1hci55
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0dyYW1tYXIueQppbmRleCAzZjZlM2U1Li5hZTc4N2Y2
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvR3JhbW1hci55CisrKyBiL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9HcmFtbWFyLnkKQEAgLTQsNyArNCw3IEBACiAKIC8qCiAgKiAgQ29w
eXJpZ2h0IChDKSAxOTk5LTIwMDAgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKLSAqICBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVs
IDxlcmljQHdlYmtpdC5vcmc+CiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTQzLDE0ICs0MywxNCBAQAogCiAv
KiBkZWZhdWx0IHZhbHVlcyBmb3IgYmlzb24gKi8KICNkZWZpbmUgWVlERUJVRyAwIC8vIFNldCB0
byAxIHRvIGRlYnVnIGEgcGFyc2UgZXJyb3IuCi0jZGVmaW5lIGtqc3l5ZGVidWcgMCAvLyBTZXQg
dG8gMSB0byBkZWJ1ZyBhIHBhcnNlIGVycm9yLgorI2RlZmluZSBqc2N5eWRlYnVnIDAgLy8gU2V0
IHRvIDEgdG8gZGVidWcgYSBwYXJzZSBlcnJvci4KICNpZiAhUExBVEZPUk0oREFSV0lOKQogICAg
IC8vIGF2b2lkIHRyaWdnZXJpbmcgd2FybmluZ3MgaW4gb2xkZXIgYmlzb24KICNkZWZpbmUgWVlF
UlJPUl9WRVJCT1NFCiAjZW5kaWYKIAotaW50IGtqc3l5bGV4KHZvaWQqIGx2YWxwLCB2b2lkKiBs
bG9jcCwgdm9pZCogZ2xvYmFsUHRyKTsKLWludCBranN5eWVycm9yKGNvbnN0IGNoYXIqKTsKK2lu
dCBqc2N5eWxleCh2b2lkKiBsdmFscCwgdm9pZCogbGxvY3AsIHZvaWQqIGdsb2JhbFB0cik7Citp
bnQganNjeXllcnJvcihjb25zdCBjaGFyKik7CiBzdGF0aWMgaW5saW5lIGJvb2wgYWxsb3dBdXRv
bWF0aWNTZW1pY29sb24oSlNDOjpMZXhlciYsIGludCk7CiAKICNkZWZpbmUgR0xPQkFMX0RBVEEg
c3RhdGljX2Nhc3Q8SlNHbG9iYWxEYXRhKj4oZ2xvYmFsUHRyKQpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5j
cHAKaW5kZXggMzA0ZGExNi4uMGJhY2IyMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0xleGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0x
LDYgKzEsNiBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwMCBIYXJyaSBQb3J0ZW4g
KHBvcnRlbkBrZGUub3JnKQotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3
LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqICBDb3B5cmln
aHQgKEMpIDIwMDcgQ2FtZXJvbiBad2FyaWNoIChjd3p3YXJpY2hAdXdhdGVybG9vLmNhKQogICoK
ICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCkBAIC00OSw3ICs0OSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAjaW5jbHVk
ZSAiTGV4ZXIubHV0LmgiCiAKIC8vIGEgYnJpZGdlIGZvciB5YWNjIGZyb20gdGhlIEMgd29ybGQg
dG8gQysrCi1pbnQga2pzeXlsZXgodm9pZCogbHZhbHAsIHZvaWQqIGxsb2NwLCB2b2lkKiBnbG9i
YWxEYXRhKQoraW50IGpzY3l5bGV4KHZvaWQqIGx2YWxwLCB2b2lkKiBsbG9jcCwgdm9pZCogZ2xv
YmFsRGF0YSkKIHsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNHbG9iYWxEYXRhKj4oZ2xvYmFs
RGF0YSktPmxleGVyLT5sZXgobHZhbHAsIGxsb2NwKTsKIH0KQEAgLTQ2Niw3ICs0NjYsNyBAQCBp
bnQgTGV4ZXI6OmxleCh2b2lkKiBwMSwgdm9pZCogcDIpCiAgICAgLy8gdGVybWluYXRlIHN0cmlu
ZwogICAgIG1fYnVmZmVyOC5hcHBlbmQoJ1wwJyk7CiAKLSNpZmRlZiBLSlNfREVCVUdfTEVYCisj
aWZkZWYgSlNDX0RFQlVHX0xFWAogICAgIGZwcmludGYoc3RkZXJyLCAibGluZTogJWQgIiwgbGlu
ZU5vKCkpOwogICAgIGZwcmludGYoc3RkZXJyLCAieXl0ZXh0ICgleCk6ICIsIG1fYnVmZmVyOFsw
XSk7CiAgICAgZnByaW50ZihzdGRlcnIsICIlcyAiLCBtX2J1ZmZlcjguZGF0YSgpKTsKQEAgLTQ5
OSw3ICs0OTksNyBAQCBpbnQgTGV4ZXI6OmxleCh2b2lkKiBwMSwgdm9pZCogcDIpCiAgICAgICAg
IG1fc3RhdGUgPSBOdW1iZXI7CiAgICAgfQogCi0jaWZkZWYgS0pTX0RFQlVHX0xFWAorI2lmZGVm
IEpTQ19ERUJVR19MRVgKICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKICAgICAgICAgY2FzZSBFb2Y6
CiAgICAgICAgICAgICBwcmludGYoIihFT0YpXG4iKTsKQEAgLTU3Myw3ICs1NzMsNyBAQCBpbnQg
TGV4ZXI6OmxleCh2b2lkKiBwMSwgdm9pZCogcDIpCiAgICAgICAgICAgICB0b2tlbiA9IE5VTUJF
UjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEJhZDoKLSNpZmRlZiBLSlNfREVC
VUdfTEVYCisjaWZkZWYgSlNDX0RFQlVHX0xFWAogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs
ICJ5eWxleDogRVJST1IuXG4iKTsKICNlbmRpZgogICAgICAgICAgICAgbV9lcnJvciA9IHRydWU7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDEyODA2OGIuLjllYzdhZGIgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMp
IDE5OTktMjAwMSBIYXJyaSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQogICogIENvcHlyaWdodCAo
QykgMjAwMSBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQotICogIENvcHlyaWdodCAoQykgMjAw
MywgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAg
Q29weXJpZ2h0IChDKSAyMDAzLCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zMSw3ICszMSw3IEBA
CiAKIHVzaW5nIHN0ZDo6YXV0b19wdHI7CiAKLWV4dGVybiBpbnQga2pzeXlwYXJzZSh2b2lkKik7
CitleHRlcm4gaW50IGpzY3l5cGFyc2Uodm9pZCopOwogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAt
NTMsNyArNTMsNyBAQCB2b2lkIFBhcnNlcjo6cGFyc2UoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRh
LCBpbnQqIGVyckxpbmUsIFVTdHJpbmcqIGVyck1zZykKICAgICBMZXhlciYgbGV4ZXIgPSAqZ2xv
YmFsRGF0YS0+bGV4ZXI7CiAgICAgbGV4ZXIuc2V0Q29kZSgqbV9zb3VyY2UpOwogCi0gICAgaW50
IHBhcnNlRXJyb3IgPSBranN5eXBhcnNlKGdsb2JhbERhdGEpOworICAgIGludCBwYXJzZUVycm9y
ID0ganNjeXlwYXJzZShnbG9iYWxEYXRhKTsKICAgICBib29sIGxleEVycm9yID0gbGV4ZXIuc2F3
RXJyb3IoKTsKICAgICBsZXhlci5jbGVhcigpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9wY3JlL2RmdGFibGVzIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9kZnRhYmxlcwppbmRleCA5MjY4
ZjE5Li5kZTJmNWJiIDEwMDc1NQotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL2RmdGFibGVzCisr
KyBiL0phdmFTY3JpcHRDb3JlL3BjcmUvZGZ0YWJsZXMKQEAgLTgsNyArOCw3IEBACiAjIAogIyAg
ICAgICAgICAgICAgICAgIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBQaGlsaXAgSGF6ZWwKICMgICAg
ICAgICAgICBDb3B5cmlnaHQgKGMpIDE5OTctMjAwNiBVbml2ZXJzaXR5IG9mIENhbWJyaWRnZQot
IyAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA0LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDQsIDIwMDYs
IDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgCiAj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtODQsNyArODQsNyBAQCBwcmlu
dGYoT1VUCiAgICAgIlRoaXMgZmlsZSBjb250YWlucyB0aGUgZGVmYXVsdCB0YWJsZXMgZm9yIGNo
YXJhY3RlcnMgd2l0aCBjb2RlcyBsZXNzIHRoYW5cbiIgLgogICAgICIxMjggKEFTQ0lJIGNoYXJh
Y3RlcnMpLiBUaGVzZSB0YWJsZXMgYXJlIHVzZWQgd2hlbiBubyBleHRlcm5hbCB0YWJsZXMgYXJl
XG4iIC4KICAgICAicGFzc2VkIHRvIFBDUkUuICovXG5cbiIgLgotICAgICJjb25zdCB1bnNpZ25l
ZCBjaGFyIGtqc19wY3JlX2RlZmF1bHRfdGFibGVzWyVkXSA9IHtcblxuIiAuCisgICAgImNvbnN0
IHVuc2lnbmVkIGNoYXIganNjX3BjcmVfZGVmYXVsdF90YWJsZXNbJWRdID0ge1xuXG4iIC4KICAg
ICAiLyogVGhpcyB0YWJsZSBpcyBhIGxvd2VyIGNhc2luZyB0YWJsZS4gKi9cblxuIiwgJHBjcmVf
aW50ZXJuYWx7dGFibGVzX2xlbmd0aH0pOwogCiBpZiAoJHBjcmVfaW50ZXJuYWx7bGNjX29mZnNl
dH0gIT0gMCkgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2NvbXBpbGUu
Y3BwIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2NvbXBpbGUuY3BwCmluZGV4IDg4NTliYmUu
LjdhZDU2NzYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9jb21waWxlLmNw
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfY29tcGlsZS5jcHAKQEAgLTYsNyArNiw3
IEBAIG5lZWRlZCBieSBKYXZhU2NyaXB0Q29yZSBhbmQgdGhlIHJlc3Qgb2YgV2ViS2l0LgogCiAg
ICAgICAgICAgICAgICAgIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBQaGlsaXAgSGF6ZWwKICAgICAg
ICAgICAgQ29weXJpZ2h0IChjKSAxOTk3LTIwMDYgVW5pdmVyc2l0eSBvZiBDYW1icmlkZ2UKLSAg
ICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDQsIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICAgIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNCwgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgQ29weXJpZ2h0
IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAKIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCkBAIC00ODYsNyArNDg2LDcgQEAgc3RhdGljIGJvb2wgZ2V0T3RoZXJjYXNlUmFuZ2Uo
aW50KiBjcHRyLCBpbnQgZCwgaW50KiBvY3B0ciwgaW50KiBvZHB0cikKICAgICBpbnQgYywgb3Ro
ZXJjYXNlID0gMDsKICAgICAKICAgICBmb3IgKGMgPSAqY3B0cjsgYyA8PSBkOyBjKyspIHsKLSAg
ICAgICAgaWYgKChvdGhlcmNhc2UgPSBranNfcGNyZV91Y3Bfb3RoZXJjYXNlKGMpKSA+PSAwKQor
ICAgICAgICBpZiAoKG90aGVyY2FzZSA9IGpzY19wY3JlX3VjcF9vdGhlcmNhc2UoYykpID49IDAp
CiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAgICAgCkBAIC00OTcsNyArNDk3LDcgQEAgc3Rh
dGljIGJvb2wgZ2V0T3RoZXJjYXNlUmFuZ2UoaW50KiBjcHRyLCBpbnQgZCwgaW50KiBvY3B0ciwg
aW50KiBvZHB0cikKICAgICBpbnQgbmV4dCA9IG90aGVyY2FzZSArIDE7CiAgICAgCiAgICAgZm9y
ICgrK2M7IGMgPD0gZDsgYysrKSB7Ci0gICAgICAgIGlmIChranNfcGNyZV91Y3Bfb3RoZXJjYXNl
KGMpICE9IG5leHQpCisgICAgICAgIGlmIChqc2NfcGNyZV91Y3Bfb3RoZXJjYXNlKGMpICE9IG5l
eHQpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgbmV4dCsrOwogICAgIH0KQEAgLTUyNSwx
NSArNTI1LDE1IEBAIHN0YXRpYyBib29sIGdldE90aGVyY2FzZVJhbmdlKGludCogY3B0ciwgaW50
IGQsIGludCogb2NwdHIsIGludCogb2RwdHIpCiBzdGF0aWMgaW50IGVuY29kZVVURjgoaW50IGN2
YWx1ZSwgdW5zaWduZWQgY2hhciAqYnVmZmVyKQogewogICAgIGludCBpOwotICAgIGZvciAoaSA9
IDA7IGkgPCBranNfcGNyZV91dGY4X3RhYmxlMV9zaXplOyBpKyspCi0gICAgICAgIGlmIChjdmFs
dWUgPD0ga2pzX3BjcmVfdXRmOF90YWJsZTFbaV0pCisgICAgZm9yIChpID0gMDsgaSA8IGpzY19w
Y3JlX3V0ZjhfdGFibGUxX3NpemU7IGkrKykKKyAgICAgICAgaWYgKGN2YWx1ZSA8PSBqc2NfcGNy
ZV91dGY4X3RhYmxlMVtpXSkKICAgICAgICAgICAgIGJyZWFrOwogICAgIGJ1ZmZlciArPSBpOwog
ICAgIGZvciAoaW50IGogPSBpOyBqID4gMDsgai0tKSB7CiAgICAgICAgICpidWZmZXItLSA9IDB4
ODAgfCAoY3ZhbHVlICYgMHgzZik7CiAgICAgICAgIGN2YWx1ZSA+Pj0gNjsKICAgICB9Ci0gICAg
KmJ1ZmZlciA9IGtqc19wY3JlX3V0ZjhfdGFibGUyW2ldIHwgY3ZhbHVlOworICAgICpidWZmZXIg
PSBqc2NfcGNyZV91dGY4X3RhYmxlMltpXSB8IGN2YWx1ZTsKICAgICByZXR1cm4gaSArIDE7CiB9
CiAKQEAgLTkwOSw3ICs5MDksNyBAQCBjb21waWxlQnJhbmNoKGludCBvcHRpb25zLCBpbnQqIGJy
YWNrZXRzLCB1bnNpZ25lZCBjaGFyKiogY29kZVB0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMgJiBJZ25vcmVDYXNlT3B0aW9u
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG90aGVyY2FzZTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoKG90aGVyY2FzZSA9IGtqc19wY3JlX3VjcF9vdGhlcmNh
c2UoYykpID49IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKG90aGVyY2Fz
ZSA9IGpzY19wY3JlX3VjcF9vdGhlcmNhc2UoYykpID49IDApIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKmNsYXNzX3V0ZjhkYXRhKysgPSBYQ0xfU0lOR0xFOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjbGFzc191dGY4ZGF0YSArPSBlbmNvZGVVVEY4KG90aGVy
Y2FzZSwgY2xhc3NfdXRmOGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAg
LTIwNTUsOCArMjA1NSw4IEBAIHN0YXRpYyBpbnQgY2FsY3VsYXRlQ29tcGlsZWRQYXR0ZXJuTGVu
Z3RoKGNvbnN0IFVDaGFyKiBwYXR0ZXJuLCBpbnQgcGF0dGVybkxlbmd0CiAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICBpZiAoYyA+IDEyNykgewogICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBp
IDwga2pzX3BjcmVfdXRmOF90YWJsZTFfc2l6ZTsgaSsrKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChjIDw9IGtqc19wY3JlX3V0ZjhfdGFibGUxW2ldKSBicmVhazsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBqc2NfcGNyZV91dGY4X3RhYmxlMV9zaXpl
OyBpKyspCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMgPD0ganNjX3BjcmVfdXRm
OF90YWJsZTFbaV0pIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoICs9IGk7
CiAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0aXRlbWxlbmd0aCArPSBpOwogICAgICAgICAg
ICAgICAgICAgICB9CkBAIC0yNTA5LDggKzI1MDksOCBAQCBzdGF0aWMgaW50IGNhbGN1bGF0ZUNv
bXBpbGVkUGF0dGVybkxlbmd0aChjb25zdCBVQ2hhciogcGF0dGVybiwgaW50IHBhdHRlcm5MZW5n
dAogCiAgICAgICAgICAgICAgICAgaWYgKGMgPiAxMjcpIHsKICAgICAgICAgICAgICAgICAgICAg
aW50IGk7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBranNfcGNyZV91dGY4
X3RhYmxlMV9zaXplOyBpKyspCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYyA8PSBranNf
cGNyZV91dGY4X3RhYmxlMVtpXSkKKyAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8
IGpzY19wY3JlX3V0ZjhfdGFibGUxX3NpemU7IGkrKykKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChjIDw9IGpzY19wY3JlX3V0ZjhfdGFibGUxW2ldKQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICBsZW5ndGggKz0gaTsKICAgICAgICAg
ICAgICAgICAgICAgbGFzdGl0ZW1sZW5ndGggKz0gaTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNw
cAppbmRleCAzMTIzOTNjLi4zNGUyNzg2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3Jl
L3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBA
IC02LDcgKzYsNyBAQCBuZWVkZWQgYnkgSmF2YVNjcmlwdENvcmUgYW5kIHRoZSByZXN0IG9mIFdl
YktpdC4KIAogICAgICAgICAgICAgICAgICBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgUGhpbGlwIEhh
emVsCiAgICAgICAgICAgIENvcHlyaWdodCAoYykgMTk5Ny0yMDA2IFVuaXZlcnNpdHkgb2YgQ2Ft
YnJpZGdlCi0gICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA0LCAyMDA2LCAyMDA3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDQsIDIw
MDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAg
IENvcHlyaWdodCAoQykgMjAwNyBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogCiAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQpAQCAtMjUwLDcgKzI1MCw3IEBAIHN0YXRpYyBib29sIG1hdGNoUmVm
KGludCBvZmZzZXQsIGNvbnN0IFVDaGFyKiBzdWJqZWN0UHRyLCBpbnQgbGVuZ3RoLCBjb25zdCBN
YXRjCiAgICAgaWYgKG1kLmlnbm9yZUNhc2UpIHsKICAgICAgICAgd2hpbGUgKGxlbmd0aC0tID4g
MCkgewogICAgICAgICAgICAgVUNoYXIgYyA9ICpwKys7Ci0gICAgICAgICAgICBpbnQgb3RoZXJj
YXNlID0ga2pzX3BjcmVfdWNwX290aGVyY2FzZShjKTsKKyAgICAgICAgICAgIGludCBvdGhlcmNh
c2UgPSBqc2NfcGNyZV91Y3Bfb3RoZXJjYXNlKGMpOwogICAgICAgICAgICAgVUNoYXIgZCA9ICpz
dWJqZWN0UHRyKys7CiAgICAgICAgICAgICBpZiAoYyAhPSBkICYmIG90aGVyY2FzZSAhPSBkKQog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQwMyw5ICs0MDMsOSBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgZ2V0VVRGOENoYXJBbmRJbmNyZW1lbnRMZW5ndGgoaW50JiBjLCBjb25zdCB1
bnNpZ25lZCBjaGFyKiBzdQogewogICAgIGMgPSAqc3ViamVjdFB0cjsKICAgICBpZiAoKGMgJiAw
eGMwKSA9PSAweGMwKSB7Ci0gICAgICAgIGludCBnY2FhID0ga2pzX3BjcmVfdXRmOF90YWJsZTRb
YyAmIDB4M2ZdOyAgLyogTnVtYmVyIG9mIGFkZGl0aW9uYWwgYnl0ZXMgKi8KKyAgICAgICAgaW50
IGdjYWEgPSBqc2NfcGNyZV91dGY4X3RhYmxlNFtjICYgMHgzZl07ICAvKiBOdW1iZXIgb2YgYWRk
aXRpb25hbCBieXRlcyAqLwogICAgICAgICBpbnQgZ2NzcyA9IDYgKiBnY2FhOwotICAgICAgICBj
ID0gKGMgJiBranNfcGNyZV91dGY4X3RhYmxlM1tnY2FhXSkgPDwgZ2NzczsKKyAgICAgICAgYyA9
IChjICYganNjX3BjcmVfdXRmOF90YWJsZTNbZ2NhYV0pIDw8IGdjc3M7CiAgICAgICAgIGZvciAo
aW50IGdjaWkgPSAxOyBnY2lpIDw9IGdjYWE7IGdjaWkrKykgewogICAgICAgICAgICAgZ2NzcyAt
PSA2OwogICAgICAgICAgICAgYyB8PSAoc3ViamVjdFB0cltnY2lpXSAmIDB4M2YpIDw8IGdjc3M7
CkBAIC0xMDQ4LDcgKzEwNDgsNyBAQCBSRUNVUlNFOgogICAgICAgICAgICAgICAgICAgICBpZiAo
c3RhY2suY3VycmVudEZyYW1lLT5hcmdzLnN1YmplY3RQdHIgPj0gbWQuZW5kU3ViamVjdCkKICAg
ICAgICAgICAgICAgICAgICAgICAgIFJSRVRVUk5fTk9fTUFUQ0g7CiAgICAgICAgICAgICAgICAg
ICAgIGludCBjID0gKnN0YWNrLmN1cnJlbnRGcmFtZS0+YXJncy5zdWJqZWN0UHRyKys7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICgha2pzX3BjcmVfeGNsYXNzKGMsIHN0YWNrLmN1cnJlbnRGcmFt
ZS0+bG9jYWxzLmRhdGEpKQorICAgICAgICAgICAgICAgICAgICBpZiAoIWpzY19wY3JlX3hjbGFz
cyhjLCBzdGFjay5jdXJyZW50RnJhbWUtPmxvY2Fscy5kYXRhKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIFJSRVRVUk5fTk9fTUFUQ0g7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIApAQCAtMTA2OSw3ICsxMDY5LDcgQEAgUkVDVVJTRToKICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChzdGFjay5jdXJyZW50RnJhbWUtPmxvY2Fscy5maSA+PSBzdGFjay5jdXJyZW50RnJh
bWUtPmxvY2Fscy5tYXggfHwgc3RhY2suY3VycmVudEZyYW1lLT5hcmdzLnN1YmplY3RQdHIgPj0g
bWQuZW5kU3ViamVjdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSUkVUVVJOOwogICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGMgPSAqc3RhY2suY3VycmVudEZyYW1lLT5hcmdzLnN1
YmplY3RQdHIrKzsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgha2pzX3BjcmVfeGNsYXNz
KGMsIHN0YWNrLmN1cnJlbnRGcmFtZS0+bG9jYWxzLmRhdGEpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCFqc2NfcGNyZV94Y2xhc3MoYywgc3RhY2suY3VycmVudEZyYW1lLT5sb2NhbHMu
ZGF0YSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlJFVFVSTjsKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAvKiBDb250cm9sIG5ldmVyIHJlYWNoZXMg
aGVyZSAqLwpAQCAtMTA4Myw3ICsxMDgzLDcgQEAgUkVDVVJTRToKICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChzdGFjay5jdXJyZW50RnJhbWUtPmFyZ3Muc3ViamVjdFB0ciA+PSBtZC5lbmRT
dWJqZWN0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGMgPSAqc3RhY2suY3VycmVudEZyYW1lLT5hcmdzLnN1YmplY3RQdHI7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWtqc19wY3JlX3hjbGFzcyhjLCBzdGFjay5j
dXJyZW50RnJhbWUtPmxvY2Fscy5kYXRhKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgh
anNjX3BjcmVfeGNsYXNzKGMsIHN0YWNrLmN1cnJlbnRGcmFtZS0+bG9jYWxzLmRhdGEpKQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAg
KytzdGFjay5jdXJyZW50RnJhbWUtPmFyZ3Muc3ViamVjdFB0cjsKICAgICAgICAgICAgICAgICAg
ICAgfQpAQCAtMTEyMiw3ICsxMTIyLDcgQEAgUkVDVVJTRToKICAgICAgICAgICAgICAgICBpZiAo
c3RhY2suY3VycmVudEZyYW1lLT5hcmdzLnN1YmplY3RQdHIgPj0gbWQuZW5kU3ViamVjdCkKICAg
ICAgICAgICAgICAgICAgICAgUlJFVFVSTl9OT19NQVRDSDsKICAgICAgICAgICAgICAgICBpbnQg
ZGMgPSAqc3RhY2suY3VycmVudEZyYW1lLT5hcmdzLnN1YmplY3RQdHIrKzsKLSAgICAgICAgICAg
ICAgICBpZiAoc3RhY2suY3VycmVudEZyYW1lLT5sb2NhbHMuZmMgIT0gZGMgJiYga2pzX3BjcmVf
dWNwX290aGVyY2FzZShzdGFjay5jdXJyZW50RnJhbWUtPmxvY2Fscy5mYykgIT0gZGMpCisgICAg
ICAgICAgICAgICAgaWYgKHN0YWNrLmN1cnJlbnRGcmFtZS0+bG9jYWxzLmZjICE9IGRjICYmIGpz
Y19wY3JlX3VjcF9vdGhlcmNhc2Uoc3RhY2suY3VycmVudEZyYW1lLT5sb2NhbHMuZmMpICE9IGRj
KQogICAgICAgICAgICAgICAgICAgICBSUkVUVVJOX05PX01BVENIOwogICAgICAgICAgICAgICAg
IE5FWFRfT1BDT0RFOwogICAgICAgICAgICAgfQpAQCAtMTE4Niw3ICsxMTg2LDcgQEAgUkVDVVJT
RToKICAgICAgICAgICAgICAgICBzdGFjay5jdXJyZW50RnJhbWUtPmFyZ3MuaW5zdHJ1Y3Rpb25Q
dHIgKz0gc3RhY2suY3VycmVudEZyYW1lLT5sb2NhbHMubGVuZ3RoOwogICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgIGlmIChzdGFjay5jdXJyZW50RnJhbWUtPmxvY2Fscy5mYyA8PSAw
eEZGRkYpIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IG90aGVyY2FzZSA9IG1kLmlnbm9yZUNh
c2UgPyBranNfcGNyZV91Y3Bfb3RoZXJjYXNlKHN0YWNrLmN1cnJlbnRGcmFtZS0+bG9jYWxzLmZj
KSA6IC0xOworICAgICAgICAgICAgICAgICAgICBpbnQgb3RoZXJjYXNlID0gbWQuaWdub3JlQ2Fz
ZSA/IGpzY19wY3JlX3VjcF9vdGhlcmNhc2Uoc3RhY2suY3VycmVudEZyYW1lLT5sb2NhbHMuZmMp
IDogLTE7CiAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICBmb3IgKGlu
dCBpID0gMTsgaSA8PSBtaW47IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCpz
dGFjay5jdXJyZW50RnJhbWUtPmFyZ3Muc3ViamVjdFB0ciAhPSBzdGFjay5jdXJyZW50RnJhbWUt
PmxvY2Fscy5mYyAmJiAqc3RhY2suY3VycmVudEZyYW1lLT5hcmdzLnN1YmplY3RQdHIgIT0gb3Ro
ZXJjYXNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2ludGVybmFsLmgg
Yi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfaW50ZXJuYWwuaAppbmRleCAwNmMzZTlkLi4yOTE2
NzY1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfaW50ZXJuYWwuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfaW50ZXJuYWwuaApAQCAtNiw3ICs2LDcgQEAgbmVl
ZGVkIGJ5IEphdmFTY3JpcHRDb3JlIGFuZCB0aGUgcmVzdCBvZiBXZWJLaXQuCiAKICAgICAgICAg
ICAgICAgICAgT3JpZ2luYWxseSB3cml0dGVuIGJ5IFBoaWxpcCBIYXplbAogICAgICAgICAgICBD
b3B5cmlnaHQgKGMpIDE5OTctMjAwNiBVbml2ZXJzaXR5IG9mIENhbWJyaWRnZQotICAgIENvcHly
aWdodCAoQykgMjAwMiwgMjAwNCwgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA0LCAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dApAQCAtMzQwLDM2ICszNDAsMzYgQEAgc3RydWN0IEpTUmVnRXhwIHsKICBi
dXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBQQ1JFIHB1YmxpYyBBUEkuIFRoZSBkYXRhIGZvciB0aGVz
ZSB0YWJsZXMgaXMgaW4gdGhlCiAgcGNyZV90YWJsZXMuYyBtb2R1bGUuICovCiAKLSNkZWZpbmUg
a2pzX3BjcmVfdXRmOF90YWJsZTFfc2l6ZSA2CisjZGVmaW5lIGpzY19wY3JlX3V0ZjhfdGFibGUx
X3NpemUgNgogCi1leHRlcm4gY29uc3QgaW50ICAgIGtqc19wY3JlX3V0ZjhfdGFibGUxWzZdOwot
ZXh0ZXJuIGNvbnN0IGludCAgICBranNfcGNyZV91dGY4X3RhYmxlMls2XTsKLWV4dGVybiBjb25z
dCBpbnQgICAga2pzX3BjcmVfdXRmOF90YWJsZTNbNl07Ci1leHRlcm4gY29uc3QgdW5zaWduZWQg
Y2hhciBranNfcGNyZV91dGY4X3RhYmxlNFsweDQwXTsKK2V4dGVybiBjb25zdCBpbnQgICAganNj
X3BjcmVfdXRmOF90YWJsZTFbNl07CitleHRlcm4gY29uc3QgaW50ICAgIGpzY19wY3JlX3V0Zjhf
dGFibGUyWzZdOworZXh0ZXJuIGNvbnN0IGludCAgICBqc2NfcGNyZV91dGY4X3RhYmxlM1s2XTsK
K2V4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIGpzY19wY3JlX3V0ZjhfdGFibGU0WzB4NDBdOwog
Ci1leHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciBranNfcGNyZV9kZWZhdWx0X3RhYmxlc1t0YWJs
ZXNfbGVuZ3RoXTsKK2V4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIGpzY19wY3JlX2RlZmF1bHRf
dGFibGVzW3RhYmxlc19sZW5ndGhdOwogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgdG9M
b3dlckNhc2UodW5zaWduZWQgY2hhciBjKQogewotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyKiBsb3dlckNhc2VDaGFycyA9IGtqc19wY3JlX2RlZmF1bHRfdGFibGVzICsgbGNjX29mZnNl
dDsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciogbG93ZXJDYXNlQ2hhcnMgPSBqc2Nf
cGNyZV9kZWZhdWx0X3RhYmxlcyArIGxjY19vZmZzZXQ7CiAgICAgcmV0dXJuIGxvd2VyQ2FzZUNo
YXJzW2NdOwogfQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgZmxpcENhc2UodW5zaWdu
ZWQgY2hhciBjKQogewotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyKiBmbGlwcGVkQ2Fz
ZUNoYXJzID0ga2pzX3BjcmVfZGVmYXVsdF90YWJsZXMgKyBmY2Nfb2Zmc2V0OworICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyKiBmbGlwcGVkQ2FzZUNoYXJzID0ganNjX3BjcmVfZGVmYXVs
dF90YWJsZXMgKyBmY2Nfb2Zmc2V0OwogICAgIHJldHVybiBmbGlwcGVkQ2FzZUNoYXJzW2NdOwog
fQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgY2xhc3NCaXRtYXBGb3JDaGFyKHVuc2ln
bmVkIGNoYXIgYykKIHsKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciogY2hhckNsYXNz
Qml0bWFwcyA9IGtqc19wY3JlX2RlZmF1bHRfdGFibGVzICsgY2JpdHNfb2Zmc2V0OworICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyKiBjaGFyQ2xhc3NCaXRtYXBzID0ganNjX3BjcmVfZGVm
YXVsdF90YWJsZXMgKyBjYml0c19vZmZzZXQ7CiAgICAgcmV0dXJuIGNoYXJDbGFzc0JpdG1hcHNb
Y107CiB9CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2hhciBjaGFyVHlwZUZvckNoYXIodW5z
aWduZWQgY2hhciBjKQogewotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNoYXJUeXBlTWFwID0g
a2pzX3BjcmVfZGVmYXVsdF90YWJsZXMgKyBjdHlwZXNfb2Zmc2V0OworICAgIGNvbnN0IHVuc2ln
bmVkIGNoYXIqIGNoYXJUeXBlTWFwID0ganNjX3BjcmVfZGVmYXVsdF90YWJsZXMgKyBjdHlwZXNf
b2Zmc2V0OwogICAgIHJldHVybiBjaGFyVHlwZU1hcFtjXTsKIH0KIApAQCAtNDEzLDggKzQxMyw4
IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZHZhbmNlVG9FbmRPZkJyYWNrZXQoY29uc3QgdW5zaWdu
ZWQgY2hhciomIG9wY29kZVB0cikKIHRoYXQgb25lIG9mIHRoZSBzb3VyY2UgZmlsZXMuIFRoZXkg
aGF2ZSB0byBoYXZlIGV4dGVybmFsIGxpbmthZ2UsIGJ1dAogYnV0IGFyZSBub3QgcGFydCBvZiB0
aGUgcHVibGljIEFQSSBhbmQgc28gbm90IGV4cG9ydGVkIGZyb20gdGhlIGxpYnJhcnkuICovCiAK
LWV4dGVybiBpbnQga2pzX3BjcmVfdWNwX290aGVyY2FzZSh1bnNpZ25lZCk7Ci1leHRlcm4gYm9v
bCBranNfcGNyZV94Y2xhc3MoaW50LCBjb25zdCB1bnNpZ25lZCBjaGFyKik7CitleHRlcm4gaW50
IGpzY19wY3JlX3VjcF9vdGhlcmNhc2UodW5zaWduZWQpOworZXh0ZXJuIGJvb2wganNjX3BjcmVf
eGNsYXNzKGludCwgY29uc3QgdW5zaWduZWQgY2hhciopOwogCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX3RhYmxlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9w
Y3JlL3BjcmVfdGFibGVzLmNwcAppbmRleCBkMzA2MjMzLi44Njk2ODc5IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfdGFibGVzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9w
Y3JlL3BjcmVfdGFibGVzLmNwcApAQCAtNiw3ICs2LDcgQEAgbmVlZGVkIGJ5IEphdmFTY3JpcHRD
b3JlIGFuZCB0aGUgcmVzdCBvZiBXZWJLaXQuCiAKICAgICAgICAgICAgICAgICAgT3JpZ2luYWxs
eSB3cml0dGVuIGJ5IFBoaWxpcCBIYXplbAogICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDE5OTct
MjAwNiBVbml2ZXJzaXR5IG9mIENhbWJyaWRnZQotICAgIENvcHlyaWdodCAoQykgMjAwMiwgMjAw
NCwgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgQ29weXJp
Z2h0IChDKSAyMDAyLCAyMDA0LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAt
NTAsMjAgKzUwLDIwIEBAIFBDUkUgY29kZSBtb2R1bGVzLiAqLwogLyogVGhlc2UgYXJlIHRoZSBi
cmVha3BvaW50cyBmb3IgZGlmZmVyZW50IG51bWJlcnMgb2YgYnl0ZXMgaW4gYSBVVEYtOAogY2hh
cmFjdGVyLiAqLwogCi1jb25zdCBpbnQga2pzX3BjcmVfdXRmOF90YWJsZTFbNl0gPQorY29uc3Qg
aW50IGpzY19wY3JlX3V0ZjhfdGFibGUxWzZdID0KICAgeyAweDdmLCAweDdmZiwgMHhmZmZmLCAw
eDFmZmZmZiwgMHgzZmZmZmZmLCAweDdmZmZmZmZmfTsKIAogLyogVGhlc2UgYXJlIHRoZSBpbmRp
Y2F0b3IgYml0cyBhbmQgdGhlIG1hc2sgZm9yIHRoZSBkYXRhIGJpdHMgdG8gc2V0IGluIHRoZQog
Zmlyc3QgYnl0ZSBvZiBhIGNoYXJhY3RlciwgaW5kZXhlZCBieSB0aGUgbnVtYmVyIG9mIGFkZGl0
aW9uYWwgYnl0ZXMuICovCiAKLWNvbnN0IGludCBranNfcGNyZV91dGY4X3RhYmxlMls2XSA9IHsg
MCwgICAgMHhjMCwgMHhlMCwgMHhmMCwgMHhmOCwgMHhmY307Ci1jb25zdCBpbnQga2pzX3BjcmVf
dXRmOF90YWJsZTNbNl0gPSB7IDB4ZmYsIDB4MWYsIDB4MGYsIDB4MDcsIDB4MDMsIDB4MDF9Owor
Y29uc3QgaW50IGpzY19wY3JlX3V0ZjhfdGFibGUyWzZdID0geyAwLCAgICAweGMwLCAweGUwLCAw
eGYwLCAweGY4LCAweGZjfTsKK2NvbnN0IGludCBqc2NfcGNyZV91dGY4X3RhYmxlM1s2XSA9IHsg
MHhmZiwgMHgxZiwgMHgwZiwgMHgwNywgMHgwMywgMHgwMX07CiAKIC8qIFRhYmxlIG9mIHRoZSBu
dW1iZXIgb2YgZXh0cmEgY2hhcmFjdGVycywgaW5kZXhlZCBieSB0aGUgZmlyc3QgY2hhcmFjdGVy
CiBtYXNrZWQgd2l0aCAweDNmLiBUaGUgaGlnaGVzdCBudW1iZXIgZm9yIGEgdmFsaWQgVVRGLTgg
Y2hhcmFjdGVyIGlzIGluIGZhY3QKIDB4M2QuICovCiAKLWNvbnN0IHVuc2lnbmVkIGNoYXIga2pz
X3BjcmVfdXRmOF90YWJsZTRbMHg0MF0gPSB7Citjb25zdCB1bnNpZ25lZCBjaGFyIGpzY19wY3Jl
X3V0ZjhfdGFibGU0WzB4NDBdID0gewogICAxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx
LAogICAxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLAogICAyLDIsMiwyLDIsMiwyLDIs
MiwyLDIsMiwyLDIsMiwyLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX3Vj
cF9zZWFyY2hmdW5jcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfdWNwX3NlYXJjaGZ1
bmNzLmNwcAppbmRleCA2ZTFkMGU0Li41NTkyODY1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9wY3JlL3BjcmVfdWNwX3NlYXJjaGZ1bmNzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9wY3Jl
L3BjcmVfdWNwX3NlYXJjaGZ1bmNzLmNwcApAQCAtNiw3ICs2LDcgQEAgbmVlZGVkIGJ5IEphdmFT
Y3JpcHRDb3JlIGFuZCB0aGUgcmVzdCBvZiBXZWJLaXQuCiAKICAgICAgICAgICAgICAgICAgT3Jp
Z2luYWxseSB3cml0dGVuIGJ5IFBoaWxpcCBIYXplbAogICAgICAgICAgICBDb3B5cmlnaHQgKGMp
IDE5OTctMjAwNiBVbml2ZXJzaXR5IG9mIENhbWJyaWRnZQotICAgIENvcHlyaWdodCAoQykgMjAw
MiwgMjAwNCwgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAg
Q29weXJpZ2h0IChDKSAyMDAyLCAyMDA0LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dApAQCAtNjAsNyArNjAsNyBAQCBBcmd1bWVudHM6CiBSZXR1cm5zOiAgICAgIHRoZSBvdGhlciBj
YXNlIG9yIC0xIGlmIG5vbmUKICovCiAKLWludCBranNfcGNyZV91Y3Bfb3RoZXJjYXNlKHVuc2ln
bmVkIGMpCitpbnQganNjX3BjcmVfdWNwX290aGVyY2FzZSh1bnNpZ25lZCBjKQogewogICAgIGlu
dCBib3QgPSAwOwogICAgIGludCB0b3AgPSBzaXplb2YodWNwX3RhYmxlKSAvIHNpemVvZihjbm9k
ZSk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfeGNsYXNzLmNwcCBiL0ph
dmFTY3JpcHRDb3JlL3BjcmUvcGNyZV94Y2xhc3MuY3BwCmluZGV4IDJmYjM2ZDcuLmEzMmVkZDQg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV94Y2xhc3MuY3BwCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3BjcmUvcGNyZV94Y2xhc3MuY3BwCkBAIC02LDcgKzYsNyBAQCBuZWVkZWQg
YnkgSmF2YVNjcmlwdENvcmUgYW5kIHRoZSByZXN0IG9mIFdlYktpdC4KIAogICAgICAgICAgICAg
ICAgICBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgUGhpbGlwIEhhemVsCiAgICAgICAgICAgIENvcHly
aWdodCAoYykgMTk5Ny0yMDA2IFVuaXZlcnNpdHkgb2YgQ2FtYnJpZGdlCi0gICAgQ29weXJpZ2h0
IChDKSAyMDAyLCAyMDA0LCAyMDA2LCAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDQsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CkBAIC02NCw5ICs2NCw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXRVVEY4Q2hh
ckFuZEFkdmFuY2VQb2ludGVyKGludCYgYywgY29uc3QgdW5zaWduZWQgY2hhciomIHN1CiB7CiAg
ICAgYyA9ICpzdWJqZWN0UHRyKys7CiAgICAgaWYgKChjICYgMHhjMCkgPT0gMHhjMCkgewotICAg
ICAgICBpbnQgZ2NhYSA9IGtqc19wY3JlX3V0ZjhfdGFibGU0W2MgJiAweDNmXTsgIC8qIE51bWJl
ciBvZiBhZGRpdGlvbmFsIGJ5dGVzICovCisgICAgICAgIGludCBnY2FhID0ganNjX3BjcmVfdXRm
OF90YWJsZTRbYyAmIDB4M2ZdOyAgLyogTnVtYmVyIG9mIGFkZGl0aW9uYWwgYnl0ZXMgKi8KICAg
ICAgICAgaW50IGdjc3MgPSA2ICogZ2NhYTsKLSAgICAgICAgYyA9IChjICYga2pzX3BjcmVfdXRm
OF90YWJsZTNbZ2NhYV0pIDw8IGdjc3M7CisgICAgICAgIGMgPSAoYyAmIGpzY19wY3JlX3V0Zjhf
dGFibGUzW2djYWFdKSA8PCBnY3NzOwogICAgICAgICB3aGlsZSAoZ2NhYS0tID4gMCkgewogICAg
ICAgICAgICAgZ2NzcyAtPSA2OwogICAgICAgICAgICAgYyB8PSAoKnN1YmplY3RQdHIrKyAmIDB4
M2YpIDw8IGdjc3M7CkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXRVVEY4
Q2hhckFuZEFkdmFuY2VQb2ludGVyKGludCYgYywgY29uc3QgdW5zaWduZWQgY2hhciomIHN1CiAg
ICAgfQogfQogCi1ib29sIGtqc19wY3JlX3hjbGFzcyhpbnQgYywgY29uc3QgdW5zaWduZWQgY2hh
ciogZGF0YSkKK2Jvb2wganNjX3BjcmVfeGNsYXNzKGludCBjLCBjb25zdCB1bnNpZ25lZCBjaGFy
KiBkYXRhKQogewogICAgIGJvb2wgbmVnYXRlZCA9ICgqZGF0YSAmIFhDTF9OT1QpOwogICAgIApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggZmEyNDQ4YS4uZmQ0NTYwOCAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqICBDb3B5cmln
aHQgKEMpIDE5OTktMjAwMCBIYXJyaSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQogICogIENvcHly
aWdodCAoQykgMjAwMSBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQotICogIENvcHlyaWdodCAo
QykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAy
MDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTE5LDggKzE5LDggQEAKICAqCiAgKi8KIAotI2lmbmRlZiBLSlNDT0xM
RUNUT1JfSF8KLSNkZWZpbmUgS0pTQ09MTEVDVE9SX0hfCisjaWZuZGVmIENvbGxlY3Rvcl9oCisj
ZGVmaW5lIENvbGxlY3Rvcl9oCiAKICNpbmNsdWRlICJKU0ltbWVkaWF0ZS5oIgogI2luY2x1ZGUg
PHN0ZGRlZi5oPgpAQCAtMjg0LDQgKzI4NCw0IEBAIG5hbWVzcGFjZSBKU0MgewogCiB9IC8vIG5h
bWVzcGFjZSBKU0MKIAotI2VuZGlmIC8qIEtKU0NPTExFQ1RPUl9IXyAqLworI2VuZGlmIC8qIENv
bGxlY3Rvcl9oICovCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rv
ckhlYXBJdGVyYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3JIZWFwSXRl
cmF0b3IuaAppbmRleCBjNGI5ZGZjLi5lMzhhODUyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvbGxlY3RvckhlYXBJdGVyYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29sbGVjdG9ySGVhcEl0ZXJhdG9yLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDYgKzI2LDkgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKIAorI2lmbmRlZiBDb2xsZWN0b3JIZWFw
SXRlcmF0b3JfaAorI2RlZmluZSBDb2xsZWN0b3JIZWFwSXRlcmF0b3JfaAorCiBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIHRlbXBsYXRlIDxIZWFwVHlwZSBoZWFwVHlwZT4gY2xhc3MgQ29sbGVjdG9y
SGVhcEl0ZXJhdG9yIHsKQEAgLTgzLDMgKzg2LDUgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIENvbGxlY3RvckhlYXBJdGVyYXRvcl9o
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oCmluZGV4IDAwNDZkMzMuLjYzMWNmNDIgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSWRlbnRpZmllci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqICBD
b3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTgs
OCArMTgsOCBAQAogICoKICAqLwogCi0jaWZuZGVmIEtKU19JREVOVElGSUVSX0gKLSNkZWZpbmUg
S0pTX0lERU5USUZJRVJfSAorI2lmbmRlZiBJZGVudGlmaWVyX2gKKyNkZWZpbmUgSWRlbnRpZmll
cl9oCiAKICNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKICNpbmNsdWRlICJVU3RyaW5nLmgiCkBA
IC0xNDEsNCArMTQxLDQgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwog
Ci0jZW5kaWYgLy8gS0pTX0lERU5USUZJRVJfSAorI2VuZGlmIC8vIElkZW50aWZpZXJfaApkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCBiNjJhZmYyLi5hNTYyMzNmIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAgQ29weXJp
Z2h0IChDKSAxOTk5LTIwMDAgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKLSAqICBDb3B5
cmlnaHQgKEMpIDIwMDMsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA3IENh
bWVyb24gWndhcmljaCAoY3d6d2FyaWNoQHV3YXRlcmxvby5jYSkKICAqICBDb3B5cmlnaHQgKEMp
IDIwMDcgTWFrcyBPcmxvdmljaAogICoKQEAgLTk4LDYgKzk4LDYgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0Z1bmN0aW9uKj4oYXNPYmplY3QodmFsdWUp
KTsKICAgICB9CiAKLX0gLy8gbmFtZXNwYWNlIGtKUworfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNl
bmRpZiAvLyBKU0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAKaW5kZXggZDRiMjIxMS4uZDViZmE3NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDggQ2FtZXJvbiBad2FyaWNoIChjd3p3YXJpY2hAdXdhdGVybG9vLmNh
KQogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzMwLDcgKzMzMCw3IEBAIHZvaWQgSlNHbG9iYWxPYmpl
Y3Q6OnJlc2V0KEpTVmFsdWUqIHByb3RvdHlwZSkKICAgICBwdXREaXJlY3RGdW5jdGlvbldpdGhv
dXRUcmFuc2l0aW9uKGV4ZWMsIG5ldyAoZXhlYykgUHJvdG90eXBlRnVuY3Rpb24oZXhlYywgZCgp
LT5wcm90b3R5cGVGdW5jdGlvblN0cnVjdHVyZS5nZXQoKSwgMSwgSWRlbnRpZmllcihleGVjLCAi
ZW5jb2RlVVJJIiksIGdsb2JhbEZ1bmNFbmNvZGVVUkkpLCBEb250RW51bSk7CiAgICAgcHV0RGly
ZWN0RnVuY3Rpb25XaXRob3V0VHJhbnNpdGlvbihleGVjLCBuZXcgKGV4ZWMpIFByb3RvdHlwZUZ1
bmN0aW9uKGV4ZWMsIGQoKS0+cHJvdG90eXBlRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIDEsIElk
ZW50aWZpZXIoZXhlYywgImVuY29kZVVSSUNvbXBvbmVudCIpLCBnbG9iYWxGdW5jRW5jb2RlVVJJ
Q29tcG9uZW50KSwgRG9udEVudW0pOwogI2lmbmRlZiBOREVCVUcKLSAgICBwdXREaXJlY3RGdW5j
dGlvbldpdGhvdXRUcmFuc2l0aW9uKGV4ZWMsIG5ldyAoZXhlYykgUHJvdG90eXBlRnVuY3Rpb24o
ZXhlYywgZCgpLT5wcm90b3R5cGVGdW5jdGlvblN0cnVjdHVyZS5nZXQoKSwgMSwgSWRlbnRpZmll
cihleGVjLCAia2pzcHJpbnQiKSwgZ2xvYmFsRnVuY0tKU1ByaW50KSwgRG9udEVudW0pOworICAg
IHB1dERpcmVjdEZ1bmN0aW9uV2l0aG91dFRyYW5zaXRpb24oZXhlYywgbmV3IChleGVjKSBQcm90
b3R5cGVGdW5jdGlvbihleGVjLCBkKCktPnByb3RvdHlwZUZ1bmN0aW9uU3RydWN0dXJlLmdldCgp
LCAxLCBJZGVudGlmaWVyKGV4ZWMsICJqc2NwcmludCIpLCBnbG9iYWxGdW5jSlNDUHJpbnQpLCBE
b250RW51bSk7CiAjZW5kaWYKIAogICAgIHJlc2V0UHJvdG90eXBlKHByb3RvdHlwZSk7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNw
cCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCmlu
ZGV4IGY2YWZkYWQuLjEwOTc5OTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqICBDb3B5
cmlnaHQgKEMpIDE5OTktMjAwMiBIYXJyaSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQogICogIENv
cHlyaWdodCAoQykgMjAwMSBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQotICogIENvcHlyaWdo
dCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2
LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICBD
b3B5cmlnaHQgKEMpIDIwMDcgQ2FtZXJvbiBad2FyaWNoIChjd3p3YXJpY2hAdXdhdGVybG9vLmNh
KQogICogIENvcHlyaWdodCAoQykgMjAwNyBNYWtzIE9ybG92aWNoCiAgKgpAQCAtNDIwLDcgKzQy
MCw3IEBAIEpTVmFsdWUqIGdsb2JhbEZ1bmNVbmVzY2FwZShFeGVjU3RhdGUqIGV4ZWMsIEpTT2Jq
ZWN0KiwgSlNWYWx1ZSosIGNvbnN0IEFyZ0xpc3QmCiB9CiAKICNpZm5kZWYgTkRFQlVHCi1KU1Zh
bHVlKiBnbG9iYWxGdW5jS0pTUHJpbnQoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCosIEpTVmFs
dWUqLCBjb25zdCBBcmdMaXN0JiBhcmdzKQorSlNWYWx1ZSogZ2xvYmFsRnVuY0pTQ1ByaW50KEV4
ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBKU1ZhbHVlKiwgY29uc3QgQXJnTGlzdCYgYXJncykK
IHsKICAgICBDU3RyaW5nQnVmZmVyIHN0cmluZzsKICAgICBhcmdzLmF0KGV4ZWMsIDApLT50b1N0
cmluZyhleGVjKS5nZXRDU3RyaW5nKHN0cmluZyk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKaW5kZXggOGRmNzAwZC4uMWVlNTU5YSAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaApA
QCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDAgSGFycmkgUG9y
dGVuIChwb3J0ZW5Aa2RlLm9yZykKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYsIDIwMDcs
IDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykg
MjAwMywgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA3IENhbWVyb24gWndhcmljaCAoY3d6d2FyaWNoQHV3
YXRlcmxvby5jYSkKICAqICBDb3B5cmlnaHQgKEMpIDIwMDcgTWFrcyBPcmxvdmljaAogICoKQEAg
LTQ3LDcgKzQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgSlNWYWx1ZSogZ2xvYmFsRnVuY0Vz
Y2FwZShFeGVjU3RhdGUqLCBKU09iamVjdCosIEpTVmFsdWUqLCBjb25zdCBBcmdMaXN0Jik7CiAg
ICAgSlNWYWx1ZSogZ2xvYmFsRnVuY1VuZXNjYXBlKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgSlNW
YWx1ZSosIGNvbnN0IEFyZ0xpc3QmKTsKICNpZm5kZWYgTkRFQlVHCi0gICAgSlNWYWx1ZSogZ2xv
YmFsRnVuY0tKU1ByaW50KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgSlNWYWx1ZSosIGNvbnN0IEFy
Z0xpc3QmKTsKKyAgICBKU1ZhbHVlKiBnbG9iYWxGdW5jSlNDUHJpbnQoRXhlY1N0YXRlKiwgSlNP
YmplY3QqLCBKU1ZhbHVlKiwgY29uc3QgQXJnTGlzdCYpOwogI2VuZGlmCiAKICAgICBzdGF0aWMg
Y29uc3QgZG91YmxlIG1hbnRpc3NhT3ZlcmZsb3dMb3dlckJvdW5kID0gOTAwNzE5OTI1NDc0MDk5
Mi4wOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ltbWVkaWF0ZS5oIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ltbWVkaWF0ZS5oCmluZGV4IDZlOGIzMWUuLmNlYzkw
YTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbW1lZGlhdGUuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW1tZWRpYXRlLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAy
MDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5YWtvdiAoYXBA
d2Via2l0Lm9yZykKICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMTksOCArMTksOCBAQAogICoKICAqLwogCi0j
aWZuZGVmIEtKU19KU19JTU1FRElBVEVfSAotI2RlZmluZSBLSlNfSlNfSU1NRURJQVRFX0gKKyNp
Zm5kZWYgSlNJbW1lZGlhdGVfaAorI2RlZmluZSBKU0ltbWVkaWF0ZV9oCiAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KQEAgLTQ3Nyw0
ICs0NzcsNCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRp
ZgorI2VuZGlmIC8vIEpTSW1tZWRpYXRlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCmluZGV4IDBj
MjJmZjguLjNkZGUzNTggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2Nr
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTgsOCArMTgsOCBAQAog
ICoKICAqLwogCi0jaWZuZGVmIEtKU19KU0xvY2tfaAotI2RlZmluZSBLSlNfSlNMb2NrX2gKKyNp
Zm5kZWYgSlNMb2NrX2gKKyNkZWZpbmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC05OSw0ICs5OSw0IEBAIG5h
bWVzcGFjZSBKU0MgewogCiB9IC8vIG5hbWVzcGFjZQogCi0jZW5kaWYgLy8gS0pTX0pTTG9ja19o
CisjZW5kaWYgLy8gSlNMb2NrX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNUeXBlLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oCmluZGV4IGYwZmEyOGYu
LjY4ZjI4OTAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuaApAQCAtMSw2ICsxLDUgQEAKIC8qCi0g
KiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKLSAqICBDb3B5cmlnaHQg
KEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYworICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwpAQCAtMTksOCArMTgsOCBAQAogICoKICAqLwogCi0jaWZuZGVmIEtKU19KU1RZ
UEVfSAotI2RlZmluZSBLSlNfSlNUWVBFX0gKKyNpZm5kZWYgSlNUeXBlX2gKKyNkZWZpbmUgSlNU
eXBlX2gKIAogbmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNXcmFwcGVyT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV3JhcHBl
ck9iamVjdC5oCmluZGV4IDc2ODFjNDguLjliZjc0ZmMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNXcmFwcGVyT2JqZWN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1dyYXBwZXJPYmplY3QuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChD
KSAyMDA2IE1ha3MgT3Jsb3ZpY2gKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtMTksOCArMTksOCBAQAogICoKICAqLwogCi0jaWZuZGVmIEtKU19KU1dyYXBw
ZXJPYmplY3RfaAotI2RlZmluZSBLSlNfSlNXcmFwcGVyT2JqZWN0X2gKKyNpZm5kZWYgSlNXcmFw
cGVyT2JqZWN0X2gKKyNkZWZpbmUgSlNXcmFwcGVyT2JqZWN0X2gKIAogI2luY2x1ZGUgIkpTT2Jq
ZWN0LmgiCiAKQEAgLTU3LDQgKzU3LDQgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCi0jZW5kaWYgLy8gS0pTX0pTV3JhcHBlck9iamVjdF9oCisjZW5kaWYgLy8gSlNX
cmFwcGVyT2JqZWN0X2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3Vw
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCmluZGV4IDdmZjk5ZjMuLmM2MWIx
OTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAgQ29w
eXJpZ2h0IChDKSAxOTk5LTIwMDAgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKLSAqICBD
b3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAwNywgMjAwOCwgMjAw
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBA
IC0xOCw4ICsxOCw4IEBACiAgKgogICovCiAKLSNpZm5kZWYgS0pTX2xvb2t1cF9oCi0jZGVmaW5l
IEtKU19sb29rdXBfaAorI2lmbmRlZiBMb29rdXBfaAorI2RlZmluZSBMb29rdXBfaAogCiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgpAQCAtMjczLDQgKzI3
Myw0IEBAIG5hbWVzcGFjZSBKU0MgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8v
IEtKU19sb29rdXBfaAorI2VuZGlmIC8vIExvb2t1cF9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0
aW9ucy5oCmluZGV4IDczNjg0OGEuLjE0OGY4YjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3BlcmF0aW9ucy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0
aW9ucy5oCkBAIC0xLDYgKzEsNiBAQAogLyoKLSAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
S0RFIGxpYnJhcmllcwogICogIENvcHlyaWdodCAoQykgMTk5OS0yMDAwIEhhcnJpIFBvcnRlbiAo
cG9ydGVuQGtkZS5vcmcpCisgKiAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3
LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC0xOSw4ICsxOSw4IEBACiAgKgogICovCiAKLSNpZm5kZWYgX0tKU19PUEVS
QVRJT05TX0hfCi0jZGVmaW5lIF9LSlNfT1BFUkFUSU9OU19IXworI2lmbmRlZiBPcGVyYXRpb25z
X2gKKyNkZWZpbmUgT3BlcmF0aW9uc19oCiAKICNpbmNsdWRlICJKU0ltbWVkaWF0ZS5oIgogI2lu
Y2x1ZGUgIkpTTnVtYmVyQ2VsbC5oIgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm90ZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RlY3QuaAppbmRleCA5YTQw
NmJmLi4yZWNjY2QwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RlY3Qu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RlY3QuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE5LDggKzE5LDgg
QEAKICAqLwogCiAKLSNpZm5kZWYgcHJvdGVjdF9oCi0jZGVmaW5lIHByb3RlY3RfaAorI2lmbmRl
ZiBQcm90ZWN0X2gKKyNkZWZpbmUgUHJvdGVjdF9oCiAKICNpbmNsdWRlICJKU0NlbGwuaCIKICNp
bmNsdWRlICJDb2xsZWN0b3IuaCIKQEAgLTE1MSw0ICsxNTEsNCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gcHJvdGVjdF9oCisjZW5kaWYgLy8g
UHJvdGVjdF9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5oIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuaAppbmRleCA1OTQzYjFhLi4xMzljNzU0IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogIENvcHlyaWdo
dCAoQykgMTk5OS0yMDAwIEhhcnJpIFBvcnRlbiAocG9ydGVuQGtkZS5vcmcpCi0gKiAgQ29weXJp
Z2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBD
b3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMTgsOCArMTgsOCBAQAogICoKICAqLwogCi0j
aWZuZGVmIEtKU19SRUdFWFBfSAotI2RlZmluZSBLSlNfUkVHRVhQX0gKKyNpZm5kZWYgUmVnRXhw
X2gKKyNkZWZpbmUgUmVnRXhwX2gKIAogI2luY2x1ZGUgIlVTdHJpbmcuaCIKICNpbmNsdWRlICJX
UkVDLmgiCkBAIC03NSw0ICs3NSw0IEBAIG5hbWVzcGFjZSBKU0MgewogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAotI2VuZGlmIC8vIEtKU19SRUdFWFBfSAorI2VuZGlmIC8vIFJlZ0V4cF9oCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1VTdHJpbmcuaCBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVVN0cmluZy5oCmluZGV4IGZhODg5OGMuLjc1NDAzYzAgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVVN0cmluZy5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTkt
MjAwMCBIYXJyaSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQotICogIENvcHlyaWdodCAoQykgMjAw
NCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0x
OSw4ICsxOSw4IEBACiAgKgogICovCiAKLSNpZm5kZWYgX0tKU19VU1RSSU5HX0hfCi0jZGVmaW5l
IF9LSlNfVVNUUklOR19IXworI2lmbmRlZiBVU3RyaW5nX2gKKyNkZWZpbmUgVVN0cmluZ19oCiAK
ICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKICNpbmNsdWRlIDxzdGRpbnQuaD4KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvanMxXzUvQXJyYXkvcmVncmVzcy0xNTc2NTIu
anMgYi9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2pzMV81L0FycmF5L3JlZ3Jlc3MtMTU3
NjUyLmpzCmluZGV4IDdjNjE2ODYuLjIyNmI4NzEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL21vemlsbGEvanMxXzUvQXJyYXkvcmVncmVzcy0xNTc2NTIuanMKKysrIGIvSmF2YVNj
cmlwdENvcmUvdGVzdHMvbW96aWxsYS9qczFfNS9BcnJheS9yZWdyZXNzLTE1NzY1Mi5qcwpAQCAt
MTE2LDcgKzExNiw3IEBAIHZhciBzdW1tYXJ5ID0gIlRlc3RpbmcgdGhhdCBBcnJheS5zb3J0KCkg
ZG9lc24ndCBjcmFzaCBvbiB2ZXJ5IGxhcmdlIGFycmF5cyI7CiBwcmludEJ1Z051bWJlcihidWcp
OwogcHJpbnRTdGF0dXMoc3VtbWFyeSk7CiAKLS8vIEtKUyBkb2Vzbid0IHJ1biBvdXQgb2YgbWVt
b3J5LCBzbyB3ZSBkb24ndCBleHBlY3QgYW4gYWJub3JtYWwgZXhpdCBjb2RlIAorLy8gSlNDIGRv
ZXNuJ3QgcnVuIG91dCBvZiBtZW1vcnksIHNvIHdlIGRvbid0IGV4cGVjdCBhbiBhYm5vcm1hbCBl
eGl0IGNvZGUgCiAvL2V4cGVjdEV4aXRDb2RlKDMpOwogdmFyIElOX1JISU5PID0gaW5SaGlubygp
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93cmVjL0NoYXJhY3RlckNsYXNzQ29uc3Ry
dWN0b3IuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3JlYy9DaGFyYWN0ZXJDbGFzc0NvbnN0cnVjdG9y
LmNwcAppbmRleCAwMTc5MzQ1Li4wNmY0MjYyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
cmVjL0NoYXJhY3RlckNsYXNzQ29uc3RydWN0b3IuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3dy
ZWMvQ2hhcmFjdGVyQ2xhc3NDb25zdHJ1Y3Rvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE1NywxOSArMTU3LDE5IEBAIHZvaWQg
Q2hhcmFjdGVyQ2xhc3NDb25zdHJ1Y3Rvcjo6cHV0KFVDaGFyIGNoKQogICAgICAgICAgICAgICAg
ICAgICAvLyB3ZSdyZSBnb2luZyB0byBzY2FuIGFsb25nLCB1cGRhdGluZyB0aGUgc3RhcnQgb2Yg
dGhlIHJhbmdlCiAgICAgICAgICAgICAgICAgICAgIHdoaWxlICh1bmljb2RlQ3VyciA8PSBoaSkg
ewogICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3BpbiBmb3J3YXJkcyBvdmVyIGFueSBjaGFy
YWN0ZXJzIHRoYXQgZG9uJ3QgaGF2ZSB0d28gY2FzZXMuCi0gICAgICAgICAgICAgICAgICAgICAg
ICBmb3IgKDsga2pzX3BjcmVfdWNwX290aGVyY2FzZSh1bmljb2RlQ3VycikgPT0gLTE7ICsrdW5p
Y29kZUN1cnIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoOyBqc2NfcGNyZV91Y3Bf
b3RoZXJjYXNlKHVuaWNvZGVDdXJyKSA9PSAtMTsgKyt1bmljb2RlQ3VycikgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoaXMgd2FzIHRoZSBsYXN0IGNoYXJhY3RlciBpbiB0
aGUgcmFuZ2UsIHdlJ3JlIGRvbmUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVu
aWNvZGVDdXJyID09IGhpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBp
ZiB3ZSBmYWxsIHRocm91Z2ggdG8gaGVyZSwgdW5pY29kZUN1cnIgPD0gaGkgJiBoYXMgYW5vdGhl
ciBjYXNlLiBHZXQgdGhlIG90aGVyIGNhc2UuCiAgICAgICAgICAgICAgICAgICAgICAgICBVQ2hh
ciByYW5nZVN0YXJ0ID0gdW5pY29kZUN1cnI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBVQ2hh
ciBvdGhlckN1cnIgPSBranNfcGNyZV91Y3Bfb3RoZXJjYXNlKHVuaWNvZGVDdXJyKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFVDaGFyIG90aGVyQ3VyciA9IGpzY19wY3JlX3VjcF9vdGhlcmNh
c2UodW5pY29kZUN1cnIpOwogICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBJZiB1bmljb2RlQ3VyciBpcyBub3QgeWV0IGhpLCBjaGVjayB0aGUgbmV4
dCBjaGFyIGluIHRoZSByYW5nZS4gIElmIGl0IGFsc28gaGFzIGFub3RoZXIgY2FzZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIGFuZCBpZiBpdCdzIG90aGVyIGNhc2UgdmFsdWUgaXMgb25l
IGdyZWF0ZXIgdGhlbiB0aGUgb3RoZXJjYXNlIHZhbHVlIGZvciB0aGUgY3VycmVudCBsYXN0CiAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGFyYWN0ZXIgaW5jbHVkZWQgaW4gdGhlIHJhbmdl
LCB3ZSBjYW4gaW5jbHVkZSBuZXh0IGludG8gdGhlIHJhbmdlLgotICAgICAgICAgICAgICAgICAg
ICAgICAgd2hpbGUgKCh1bmljb2RlQ3VyciA8IGhpKSAmJiAoa2pzX3BjcmVfdWNwX290aGVyY2Fz
ZSh1bmljb2RlQ3VyciArIDEpID09IChvdGhlckN1cnIgKyAxKSkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHdoaWxlICgodW5pY29kZUN1cnIgPCBoaSkgJiYgKGpzY19wY3JlX3VjcF9vdGhl
cmNhc2UodW5pY29kZUN1cnIgKyAxKSA9PSAob3RoZXJDdXJyICsgMSkpKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gaW5jcmVtZW50IHVuaWNvZGVDdXJyOyBpdCBwb2ludHMgdG8g
dGhlIGVuZCBvZiB0aGUgcmFuZ2UuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW5j
cmVtZW50IG90aGVyQ3VyciwgZHVlIHRvIHRoZSBjaGVjayBhYm92ZSBvdGhlciBmb3IgbmV4dCBt
dXN0IGJlIDEgZ3JlYXRlciB0aGFuIHRoZSBjdXJycmVudCBvdGhlciB2YWx1ZS4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICArK3VuaWNvZGVDdXJyOwpAQCAtMjE0LDcgKzIxNCw3IEBAIHZv
aWQgQ2hhcmFjdGVyQ2xhc3NDb25zdHJ1Y3Rvcjo6Zmx1c2goKQogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgYWRkU29ydGVkKG1fbWF0Y2hlc1VuaWNvZGUsIG1fY2hhckJ1ZmZlcik7CiAg
ICAgICAgICAgICBpZiAobV9pc0Nhc2VJbnNlbnNpdGl2ZSkgewotICAgICAgICAgICAgICAgIGlu
dCBvdGhlciA9IGtqc19wY3JlX3VjcF9vdGhlcmNhc2UobV9jaGFyQnVmZmVyKTsKKyAgICAgICAg
ICAgICAgICBpbnQgb3RoZXIgPSBqc2NfcGNyZV91Y3Bfb3RoZXJjYXNlKG1fY2hhckJ1ZmZlcik7
CiAgICAgICAgICAgICAgICAgaWYgKG90aGVyICE9IC0xKQogICAgICAgICAgICAgICAgICAgICBh
ZGRTb3J0ZWQobV9tYXRjaGVzVW5pY29kZSwgb3RoZXIpOwogICAgICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVW5pY29kZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvVW5pY29kZS5oCmluZGV4IDljZDM1NTUuLjlkYjgzNjEgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGUuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlLmgKQEAgLTEsNiArMSw2IEBACiAvKgotICogIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgbGlicmFyaWVzCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2
IEdlb3JnZSBTdGFpa29zIDxzdGFpa29zQGtkZS5vcmc+CisgKiAgQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC0xOSw4ICsxOSw4IEBACiAgKgogICovCiAKLSNpZm5kZWYgS0pTX1VOSUNP
REVfSAotI2RlZmluZSBLSlNfVU5JQ09ERV9ICisjaWZuZGVmIFdURl9VTklDT0RFX0gKKyNkZWZp
bmUgV1RGX1VOSUNPREVfSAogCiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKQEAgLTMyLDUg
KzMyLDQgQEAKICNlcnJvciAiVW5rbm93biBVbmljb2RlIGltcGxlbWVudGF0aW9uIgogI2VuZGlm
CiAKLSNlbmRpZgotLy8gdmltOiB0cz0yIHN3PTIgZXQKKyNlbmRpZiAvLyBXVEZfVU5JQ09ERV9I
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9pY3UvVW5pY29kZUljdS5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJY3UuaAppbmRleCA3Y2Rj
NTVjLi42MDhhZWE2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9pY3Uv
VW5pY29kZUljdS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Vbmljb2Rl
SWN1LmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMjAwNiBHZW9yZ2Ug
U3RhaWtvcyA8c3RhaWtvc0BrZGUub3JnPgogICogIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkg
UHJvc2t1cnlha292IDxhcEBueXBvcC5jb20+Ci0gKiAgQ29weXJpZ2h0IChDKSAyMDA3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcs
IDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTIwLDggKzIwLDggQEAKICAqCiAgKi8KIAotI2lmbmRlZiBLSlNfVU5JQ09E
RV9JQ1VfSAotI2RlZmluZSBLSlNfVU5JQ09ERV9JQ1VfSAorI2lmbmRlZiBXVEZfVU5JQ09ERV9J
Q1VfSAorI2RlZmluZSBXVEZfVU5JQ09ERV9JQ1VfSAogCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAj
aW5jbHVkZSA8dW5pY29kZS91Y2hhci5oPgpAQCAtMjE2LDQgKzIxNiw0IEBAIGlubGluZSBpbnQg
dW1lbWNhc2VjbXAoY29uc3QgVUNoYXIqIGEsIGNvbnN0IFVDaGFyKiBiLCBpbnQgbGVuKQogCiB9
IH0KIAotI2VuZGlmCisjZW5kaWYgLy8gV1RGX1VOSUNPREVfSUNVX0gKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0LmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5oCmluZGV4IGJiYmExNTEuLmQ3ZDc4Y2UgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0LmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaApAQCAtMSw2ICsx
LDcgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEdlb3JnZSBTdGFpa29zIDxzdGFpa29z
QGtkZS5vcmc+CiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgPGFw
QG55cG9wLmNvbT4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE5
LDggKzIwLDggQEAKICAqCiAgKi8KIAotI2lmbmRlZiBLSlNfVU5JQ09ERV9RVDRfSAotI2RlZmlu
ZSBLSlNfVU5JQ09ERV9RVDRfSAorI2lmbmRlZiBXVEZfVU5JQ09ERV9RVDRfSAorI2RlZmluZSBX
VEZfVU5JQ09ERV9RVDRfSAogCiAjaW5jbHVkZSA8UUNoYXI+CiAjaW5jbHVkZSA8UVN0cmluZz4K
QEAgLTUyMiw0ICs1MjMsNCBAQCBpbmxpbmUgQ2hhckNhdGVnb3J5IGNhdGVnb3J5KFVDaGFyMzIg
YykKIAogfSB9CiAKLSNlbmRpZgorI2VuZGlmIC8vIFdURl9VTklDT0RFX1FUNF9ICg==
</data>
<flag name="review"
          id="12502"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>