<?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>43993</bug_id>
          
          <creation_ts>2010-08-13 15:22:50 -0700</creation_ts>
          <short_desc>Add idl and mock classes for FileSystem API&apos;s {File,Directory}Entry and related interfaces</short_desc>
          <delta_ts>2010-08-16 19:22:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>42903</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dumi</cc>
    
    <cc>ericu</cc>
    
    <cc>fishd</cc>
    
    <cc>michaeln</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>264518</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-13 15:22:50 -0700</bug_when>
    <thetext>Add idl and mock classes for FileEntry, DirectoryEntry, DirectoryReader and EntriesCallback interfaces defined in HTML5 FileSystem API.
As defined in: http://dev.w3.org/2009/dap/file-system/file-dir-sys.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264520</commentid>
    <comment_count>1</comment_count>
      <attachid>64380</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-13 15:29:33 -0700</bug_when>
    <thetext>Created attachment 64380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264556</commentid>
    <comment_count>2</comment_count>
      <attachid>64380</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-08-13 17:33:31 -0700</bug_when>
    <thetext>Comment on attachment 64380
Patch

WebCore/ChangeLog:14
 +          * WebCore.xcodeproj/project.pbxproj:
you need to add these new files to a whole lot more build files (and possibly JSDerivedSources too): see http://trac.webkit.org/changeset/61531

WebCore/storage/DirectoryEntry.cpp:54
 +      // FIXME: to be implemented.
might be worth adding ASSERT_NOT_REACHED() to all methods that are not yet implemented.

WebCore/storage/DirectoryEntry.idl:38
 +          void getFile(in DOMString path, in [Optional] Flags options, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
will &quot;[Optional] Flags options&quot; generate &quot;RefPtr&lt;Flags&gt; options;&quot; or just &quot;Flags* options&quot;?


r- mostly because of the changes required to other build files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265253</commentid>
    <comment_count>3</comment_count>
      <attachid>64526</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-16 15:13:47 -0700</bug_when>
    <thetext>Created attachment 64526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265258</commentid>
    <comment_count>4</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-16 15:21:52 -0700</bug_when>
    <thetext>Thanks for reviewing.

(In reply to comment #2)
&gt; (From update of attachment 64380 [details])
&gt; WebCore/ChangeLog:14
&gt;  +          * WebCore.xcodeproj/project.pbxproj:
&gt; you need to add these new files to a whole lot more build files (and possibly JSDerivedSources too): see http://trac.webkit.org/changeset/61531

Fixed.  I also added entries for basic idls/classes added in changeset 64414.
I was assuming we wouldn&apos;t need to include them on other platforms yet but on the second thought not having them on some platforms might be confusing.

&gt; WebCore/storage/DirectoryEntry.cpp:54
&gt;  +      // FIXME: to be implemented.
&gt; might be worth adding ASSERT_NOT_REACHED() to all methods that are not yet implemented.

Added.

&gt; WebCore/storage/DirectoryEntry.idl:38
&gt;  +          void getFile(in DOMString path, in [Optional] Flags options, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
&gt; will &quot;[Optional] Flags options&quot; generate &quot;RefPtr&lt;Flags&gt; options;&quot; or just &quot;Flags* options&quot;?

Yes.

&gt; r- mostly because of the changes required to other build files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265262</commentid>
    <comment_count>5</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-16 15:24:33 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Thanks for reviewing.
&gt; 
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 64380 [details] [details])
&gt; &gt; WebCore/ChangeLog:14
&gt; &gt;  +          * WebCore.xcodeproj/project.pbxproj:
&gt; &gt; you need to add these new files to a whole lot more build files (and possibly JSDerivedSources too): see http://trac.webkit.org/changeset/61531
&gt; 
&gt; Fixed.  I also added entries for basic idls/classes added in changeset 64414.
&gt; I was assuming we wouldn&apos;t need to include them on other platforms yet but on the second thought not having them on some platforms might be confusing.
&gt; 
&gt; &gt; WebCore/storage/DirectoryEntry.cpp:54
&gt; &gt;  +      // FIXME: to be implemented.
&gt; &gt; might be worth adding ASSERT_NOT_REACHED() to all methods that are not yet implemented.
&gt; 
&gt; Added.
&gt; 
&gt; &gt; WebCore/storage/DirectoryEntry.idl:38
&gt; &gt;  +          void getFile(in DOMString path, in [Optional] Flags options, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
&gt; &gt; will &quot;[Optional] Flags options&quot; generate &quot;RefPtr&lt;Flags&gt; options;&quot; or just &quot;Flags* options&quot;?
&gt; 
&gt; Yes.

Oops, I meant:  it generates RefPtr&lt;Flags&gt; options (PassRefPtr for args).
Do you mean creating ref-counted objects for such flags might be too much?  Currently I don&apos;t have a good idea how we should treat those super lightweight (but not directly mapped to a native type) interfaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265277</commentid>
    <comment_count>6</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-08-16 16:08:45 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Oops, I meant:  it generates RefPtr&lt;Flags&gt; options (PassRefPtr for args).
&gt; Do you mean creating ref-counted objects for such flags might be too much?  Currently I don&apos;t have a good idea how we should treat those super lightweight (but not directly mapped to a native type) interfaces.

I saw your .cpp code takes PassRefPtr&lt;Flags&gt; parameters, and was worried that the auto-generated bindings could create raw pointers instead of RefPtr&lt;Flags&gt; and pass those in, but apparently that&apos;s not the case.

Looking at the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265287</commentid>
    <comment_count>7</comment_count>
      <attachid>64526</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-08-16 16:20:52 -0700</bug_when>
    <thetext>Comment on attachment 64526
Patch

r=me. please wait for the chromium EWS bot to turn green before submitting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265301</commentid>
    <comment_count>8</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-16 17:00:26 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Oops, I meant:  it generates RefPtr&lt;Flags&gt; options (PassRefPtr for args).
&gt; &gt; Do you mean creating ref-counted objects for such flags might be too much?  Currently I don&apos;t have a good idea how we should treat those super lightweight (but not directly mapped to a native type) interfaces.
&gt; 
&gt; I saw your .cpp code takes PassRefPtr&lt;Flags&gt; parameters, and was worried that the auto-generated bindings could create raw pointers instead of RefPtr&lt;Flags&gt; and pass those in, but apparently that&apos;s not the case.

I see, thanks for taking care of it.  Going to submit after checking the builds on bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265324</commentid>
    <comment_count>9</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-16 18:07:24 -0700</bug_when>
    <thetext>Committed r65474: &lt;http://trac.webkit.org/changeset/65474&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265340</commentid>
    <comment_count>10</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-16 19:22:02 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Committed r65474: &lt;http://trac.webkit.org/changeset/65474&gt;

Submitted except for WebCore/Android.derived.{jsc,v8}bindings.mk changes.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64380</attachid>
            <date>2010-08-13 15:29:33 -0700</date>
            <delta_ts>2010-08-16 15:13:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43993-20100813152932.patch</filename>
            <type>text/plain</type>
            <size>64853</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDkxMDI4NGFiZDM2MjllOGM0ZmJhYjJlNTIxOTkwOTE2MjdkMjQyNS4uODQzMTQxOTg0MTJjYTA5
NTg5N2QwYzAyNjY5NzJiZDNhYjNhYjJkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NyBAQAorMjAxMC0wOC0xMyAgS2lu
dWtvIFlhc3VkYSAgPGtpbnVrb0BraW51a28yLW1hY3Byby5tdHYuY29ycC5nb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwg
YW5kIG1vY2sgY2xhc3NlcyBmb3IgRmlsZVN5c3RlbSBBUEkncyB7RmlsZSxEaXJlY3Rvcnl9RW50
cnkgYW5kIHJlbGF0ZWQgaW50ZXJmYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDM5OTMKKworICAgICAgICBGb3Igbm93IHRoZXkgYXJlIGFkZGVk
IG9ubHkgZm9yIE1hYyBhbmQgY2hyb21pdW0uCisKKyAgICAgICAgVGVzdHMgd2lsbCBiZSBhZGRl
ZCB3aGVuIHdlIGFkZCB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHN0b3JhZ2UvRE9NRmls
ZVN5c3RlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lzdGVtOjpyb290KToKKyAg
ICAgICAgKiBzdG9yYWdlL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiBzdG9yYWdlL0RPTUZp
bGVTeXN0ZW0uaWRsOgorICAgICAgICAqIHN0b3JhZ2UvRGlyZWN0b3J5RW50cnkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKiBzdG9yYWdlL0RpcmVjdG9yeUVudHJ5Lmg6IEFkZGVkLgorICAgICAgICAq
IHN0b3JhZ2UvRGlyZWN0b3J5RW50cnkuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL0Rp
cmVjdG9yeVJlYWRlci5jcHA6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvRGlyZWN0b3J5UmVh
ZGVyLmg6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmlkbDogQWRk
ZWQuCisgICAgICAgICogc3RvcmFnZS9FbnRyaWVzQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAg
ICogc3RvcmFnZS9FbnRyaWVzQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdl
L0VudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVudHJ5OjpFbnRyeSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbnRyeTo6Z2V0TWV0YWRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RW50cnk6Om1v
dmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6Y29weVRvKToKKyAgICAgICAgKFdlYkNv
cmU6OkVudHJ5OjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6RW50cnk6OmdldFBhcmVudCk6
CisgICAgICAgICogc3RvcmFnZS9FbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6RW50cnk6Omlz
RmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6aXNEaXJlY3RvcnkpOgorICAgICAgICAq
IHN0b3JhZ2UvRW50cnkuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvRW50cnlBcnJheS5jcHA6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvRW50cnlBcnJheS5oOiBBZGRlZC4KKyAgICAgICAgKiBz
dG9yYWdlL0VudHJ5QXJyYXkuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL0ZpbGVFbnRy
eS5jcHA6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvRmlsZUVudHJ5Lmg6IEFkZGVkLgorICAg
ICAgICAqIHN0b3JhZ2UvRmlsZUVudHJ5LmlkbDogQWRkZWQuCisKIDIwMTAtMDgtMTMgIExlYW5k
cm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gVW5y
ZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMzdjMmYxMGQzM2Y4ZGJkOTIz
OGRiYjRlMjQ1ZmVlYzM5YjZjOWVkZi4uNDI3MmEyNWYyODY4M2VkZjFjMzQ4OTgxYjRmODAyNjFk
NTc4YWI4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI5LDYgKzEyOSw4IEBAIERPTV9DTEFTU0VT
ID0gXAogICAgIERhdGFiYXNlU3luYyBcCiAgICAgRGV2aWNlTW90aW9uRXZlbnQgXAogICAgIERl
dmljZU9yaWVudGF0aW9uRXZlbnQgXAorICAgIERpcmVjdG9yeUVudHJ5IFwKKyAgICBEaXJlY3Rv
cnlSZWFkZXIgXAogICAgIERvY3VtZW50IFwKICAgICBEb2N1bWVudEZyYWdtZW50IFwKICAgICBE
b2N1bWVudFR5cGUgXApAQCAtMTM2LDcgKzEzOCw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEVs
ZW1lbnRUaW1lQ29udHJvbCBcCiAgICAgRW50aXR5IFwKICAgICBFbnRpdHlSZWZlcmVuY2UgXAor
ICAgIEVudHJpZXNDYWxsYmFjayBcCiAgICAgRW50cnkgXAorICAgIEVudHJ5QXJyYXkgXAogICAg
IEVudHJ5Q2FsbGJhY2sgXAogICAgIEVycm9yQ2FsbGJhY2sgXAogICAgIEVycm9yRXZlbnQgXApA
QCAtMTQ2LDYgKzE1MCw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEV2ZW50U291cmNlIFwKICAg
ICBFdmVudFRhcmdldCBcCiAgICAgRmlsZSBcCisgICAgRmlsZUVudHJ5IFwKICAgICBGaWxlRXJy
b3IgXAogICAgIEZpbGVMaXN0IFwKICAgICBGaWxlUmVhZGVyIFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNjlmM2Y5OTdiNzIw
MDhkMzE3ZjEwODJhYjk2OTk3MmE3ZjNjMDUwMy4uMjI4YmIyNzdiY2FkOWRjYjE1MDA0NjAxZmIw
MDIyYTU5NmZkMjI3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMSwxMCArMjMxLDE1IEBACiAgICAgICAgICAgICAnc3Rv
cmFnZS9EYXRhYmFzZS5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFj
ay5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmlkbCcsCisgICAgICAg
ICAgICAnc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5pZGwnLAorICAgICAgICAgICAgJ3N0b3JhZ2Uv
RGlyZWN0b3J5UmVhZGVyLmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9ET01GaWxlU3lzdGVt
LmlkbCcsCisgICAgICAgICAgICAnc3RvcmFnZS9FbnRyaWVzQ2FsbGJhY2suaWRsJywKICAgICAg
ICAgICAgICdzdG9yYWdlL0VudHJ5LmlkbCcsCisgICAgICAgICAgICAnc3RvcmFnZS9FbnRyeUFy
cmF5LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9FbnRyeUNhbGxiYWNrLmlkbCcsCiAgICAg
ICAgICAgICAnc3RvcmFnZS9FcnJvckNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnc3RvcmFn
ZS9GaWxlRW50cnkuaWRsJywKICAgICAgICAgICAgICdzdG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFj
ay5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvRmxhZ3MuaWRsJywKICAgICAgICAgICAgICdz
dG9yYWdlL0lEQkFueS5pZGwnLApAQCAtMzUwNSwxMSArMzUxMCwyMSBAQAogICAgICAgICAgICAg
J3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRh
YmFzZVRyYWNrZXIuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXJDbGll
bnQuaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5jcHAnLAorICAgICAg
ICAgICAgJ3N0b3JhZ2UvRGlyZWN0b3J5RW50cnkuaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9E
aXJlY3RvcnlSZWFkZXIuY3BwJywKKyAgICAgICAgICAgICdzdG9yYWdlL0RpcmVjdG9yeVJlYWRl
ci5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0RPTUZpbGVTeXN0ZW0uY3BwJywKICAgICAgICAg
ICAgICdzdG9yYWdlL0RPTUZpbGVTeXN0ZW0uaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9FbnRy
aWVzQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9FbnRyeS5jcHAnLAogICAgICAg
ICAgICAgJ3N0b3JhZ2UvRW50cnkuaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9FbnRyeUFycmF5
LmNwcCcsCisgICAgICAgICAgICAnc3RvcmFnZS9FbnRyeUFycmF5LmgnLAogICAgICAgICAgICAg
J3N0b3JhZ2UvRW50cnlDYWxsYmFjay5oJywKKyAgICAgICAgICAgICdzdG9yYWdlL0Vycm9yQ2Fs
bGJhY2suaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9GaWxlRW50cnkuY3BwJywKKyAgICAgICAg
ICAgICdzdG9yYWdlL0ZpbGVFbnRyeS5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0ZpbGVTeXN0
ZW1DYWxsYmFjay5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0ZsYWdzLmgnLAogICAgICAgICAg
ICAgJ3N0b3JhZ2UvSURCQW55LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGYxMmJjYzI1Nzk2MGJhNmE2OWM1MjM1MjAzMWUyZDNkYTRlN2FhNGQu
LmExYWQyZTU1ODcxYzFhMmE2Y2Q0MWY5NThlNDBjZTAxNDAyMDg2YmEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzc4LDYgKzIzNzgsNDUgQEAKIAkJ
ODk1MjUzREYxMTZDNEYwNjAwQ0FCRjAwIC8qIEZpbGVUaHJlYWRUYXNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTUyNTNERTExNkM0RjA2MDBDQUJG
MDAgLyogRmlsZVRocmVhZFRhc2suaCAqLzsgfTsKIAkJODk4OEUxMEUxMUEzNTA4QjAwREI3MzJF
IC8qIEJsb2JJdGVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5ODhFMTBDMTFBMzUwOEIwMERCNzMyRSAvKiBCbG9iSXRlbS5jcHAgKi87IH07CiAJ
CTg5ODhFMTBGMTFBMzUwOEIwMERCNzMyRSAvKiBCbG9iSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4OEUxMEQxMUEzNTA4QjAwREI3MzJFIC8q
IEJsb2JJdGVtLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJODk5QUJDMjYxMjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeUVudHJ5LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzIwMTIxNUU0
QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgKi87IH07CisJCTg5OUFCQzI3MTIxNUU0
QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODk5QUJDMjExMjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9y
eUVudHJ5LmggKi87IH07CisJCTg5OUFCQzI5MTIxNUU0QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlS
ZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODk5QUJDMjMxMjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeVJlYWRlci5jcHAgKi87IH07CisJ
CTg5OUFCQzJBMTIxNUU0QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlSZWFkZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzI0MTIxNUU0QTMwMEY5
RjIxOSAvKiBEaXJlY3RvcnlSZWFkZXIuaCAqLzsgfTsKKwkJODk5QUJDMzQxMjE1RTRCRTAwRjlG
MjE5IC8qIEVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODk5QUJDMkMxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJpZXNDYWxsYmFj
ay5oICovOyB9OworCQk4OTlBQkMzNjEyMTVFNEJFMDBGOUYyMTkgLyogRW50cnlBcnJheS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkMyRTEy
MTVFNEJFMDBGOUYyMTkgLyogRW50cnlBcnJheS5jcHAgKi87IH07CisJCTg5OUFCQzM3MTIxNUU0
QkUwMEY5RjIxOSAvKiBFbnRyeUFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkMyRjEyMTVFNEJFMDBGOUYyMTkgLyogRW50cnlBcnJheS5o
ICovOyB9OworCQk4OTlBQkMzOTEyMTVFNEJFMDBGOUYyMTkgLyogRmlsZUVudHJ5LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzMxMTIxNUU0
QkUwMEY5RjIxOSAvKiBGaWxlRW50cnkuY3BwICovOyB9OworCQk4OTlBQkMzQTEyMTVFNEJFMDBG
OUYyMTkgLyogRmlsZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTlBQkMzMjEyMTVFNEJFMDBGOUYyMTkgLyogRmlsZUVudHJ5LmggKi87IH07
CisJCTg5OUFCQzVEMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0RpcmVjdG9yeUVudHJ5LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzU1MTIxNUVC
MkEwMEY5RjIxOSAvKiBKU0RpcmVjdG9yeUVudHJ5LmNwcCAqLzsgfTsKKwkJODk5QUJDNUUxMjE1
RUIyQTAwRjlGMjE5IC8qIEpTRGlyZWN0b3J5RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzU2MTIxNUVCMkEwMEY5RjIxOSAvKiBKU0Rp
cmVjdG9yeUVudHJ5LmggKi87IH07CisJCTg5OUFCQzVGMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0Vu
dHJpZXNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTlBQkM1NzEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyaWVzQ2FsbGJhY2suY3Bw
ICovOyB9OworCQk4OTlBQkM2MDEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyaWVzQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzU4
MTIxNUVCMkEwMEY5RjIxOSAvKiBKU0VudHJpZXNDYWxsYmFjay5oICovOyB9OworCQk4OTlBQkM2
MTEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyeUFycmF5LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzU5MTIxNUVCMkEwMEY5RjIxOSAvKiBK
U0VudHJ5QXJyYXkuY3BwICovOyB9OworCQk4OTlBQkM2MjEyMTVFQjJBMDBGOUYyMTkgLyogSlNF
bnRyeUFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4OTlBQkM1QTEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyeUFycmF5LmggKi87IH07CisJCTg5
OUFCQzYzMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0ZpbGVFbnRyeS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkM1QjEyMTVFQjJBMDBGOUYyMTkg
LyogSlNGaWxlRW50cnkuY3BwICovOyB9OworCQk4OTlBQkM2NDEyMTVFQjJBMDBGOUYyMTkgLyog
SlNGaWxlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5OUFCQzVDMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0ZpbGVFbnRyeS5oICovOyB9OworCQk4
OTlBQkM2RDEyMTVFQ0VGMDBGOUYyMTkgLyogSlNEaXJlY3RvcnlSZWFkZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk5QUJDNkIxMjE1RUNFRjAw
RjlGMjE5IC8qIEpTRGlyZWN0b3J5UmVhZGVyLmNwcCAqLzsgfTsKKwkJODk5QUJDNkUxMjE1RUNF
RjAwRjlGMjE5IC8qIEpTRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkM2QzEyMTVFQ0VGMDBGOUYyMTkgLyogSlNEaXJl
Y3RvcnlSZWFkZXIuaCAqLzsgfTsKKwkJODk5QUJDNzkxMjE1RjAzMTAwRjlGMjE5IC8qIEpTRE9N
RmlsZVN5c3RlbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTdBMkQ4RDEyMDAwMzVGMDA4Mjc0MEMgLyogSlNET01GaWxlU3lzdGVtLmNwcCAqLzsg
fTsKKwkJODk5QUJDN0ExMjE1RjAzMTAwRjlGMjE5IC8qIEpTRE9NRmlsZVN5c3RlbS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJEOEUxMjAwMDM1
RjAwODI3NDBDIC8qIEpTRE9NRmlsZVN5c3RlbS5oICovOyB9OworCQk4OTlBQkM3QjEyMTVGMDMz
MDBGOUYyMTkgLyogSlNFbnRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTdBMkQ0OTExRkY2QzkwMDA4Mjc0MEMgLyogSlNFbnRyeS5jcHAgKi87
IH07CisJCTg5OUFCQzdDMTIxNUYwMzMwMEY5RjIxOSAvKiBKU0VudHJ5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTdBMkQ0QTExRkY2QzkwMDA4Mjc0
MEMgLyogSlNFbnRyeS5oICovOyB9OworCQk4OTlBQkM3RDEyMTVGMDM2MDBGOUYyMTkgLyogSlNF
bnRyeUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5N0EyRDRCMTFGRjZDOTAwMDgyNzQwQyAvKiBKU0VudHJ5Q2FsbGJhY2suY3BwICov
OyB9OworCQk4OTlBQkM3RTEyMTVGMDM3MDBGOUYyMTkgLyogSlNFbnRyeUNhbGxiYWNrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTdBMkQ0QzExRkY2
QzkwMDA4Mjc0MEMgLyogSlNFbnRyeUNhbGxiYWNrLmggKi87IH07CisJCTg5OUFCQzdGMTIxNUYw
MzgwMEY5RjIxOSAvKiBKU0Vycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJENEQxMUZGNkM5MDAwODI3NDBDIC8qIEpTRXJy
b3JDYWxsYmFjay5jcHAgKi87IH07CisJCTg5OUFCQzgwMTIxNUYwMzgwMEY5RjIxOSAvKiBKU0Vy
cm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5N0EyRDRFMTFGRjZDOTAwMDgyNzQwQyAvKiBKU0Vycm9yQ2FsbGJhY2suaCAqLzsgfTsK
KwkJODk5QUJDODExMjE1RjAzQjAwRjlGMjE5IC8qIEpTRmxhZ3MuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDkyMTIwMDAzNzYwMDgyNzQwQyAv
KiBKU0ZsYWdzLmggKi87IH07CisJCTg5OUFCQzgyMTIxNUYwM0IwMEY5RjIxOSAvKiBKU0ZsYWdz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0Ey
RDkxMTIwMDAzNzYwMDgyNzQwQyAvKiBKU0ZsYWdzLmNwcCAqLzsgfTsKKwkJODk5QUJDODMxMjE1
RjAzQzAwRjlGMjE5IC8qIEpTRmlsZVN5c3RlbUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTdBMkQ1NjExRkY2Q0E0MDA4Mjc0MEMgLyog
SlNGaWxlU3lzdGVtQ2FsbGJhY2suaCAqLzsgfTsKKwkJODk5QUJDODQxMjE1RjAzRDAwRjlGMjE5
IC8qIEpTRmlsZVN5c3RlbUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDU1MTFGRjZDQTQwMDgyNzQwQyAvKiBKU0ZpbGVTeXN0
ZW1DYWxsYmFjay5jcHAgKi87IH07CisJCTg5OUFCQzg2MTIxNUYwRDgwMEY5RjIxOSAvKiBET01G
aWxlU3lzdGVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5N0EyRDE5MTFGRjU4QTUwMDgyNzQwQyAvKiBET01GaWxlU3lzdGVtLmNwcCAqLzsgfTsK
KwkJODk5QUJDODcxMjE1RjBERjAwRjlGMjE5IC8qIERPTUZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDFBMTFGRjU4QTUwMDgy
NzQwQyAvKiBET01GaWxlU3lzdGVtLmggKi87IH07CisJCTg5OUFCQzk2MTIxNUY5REEwMEY5RjIx
OSAvKiBFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTdBMkQyMDExRkY1OEE1MDA4Mjc0MEMgLyogRXJyb3JDYWxsYmFjay5oICov
OyB9OworCQk4OTlBQkM5NzEyMTVGOURGMDBGOUYyMTkgLyogRW50cnlDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJEMUUxMUZGNThB
NTAwODI3NDBDIC8qIEVudHJ5Q2FsbGJhY2suaCAqLzsgfTsKKwkJODk5QUJDQUExMjE1RkE1NTAw
RjlGMjE5IC8qIEZpbGVTeXN0ZW1DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJEMjExMUZGNThBNTAwODI3NDBDIC8qIEZpbGVTeXN0
ZW1DYWxsYmFjay5oICovOyB9OworCQk4OTlBQkNBQjEyMTVGQTVBMDBGOUYyMTkgLyogRmxhZ3Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDYw
MTIwMDAxMjIwMDgyNzQwQyAvKiBGbGFncy5oICovOyB9OworCQk4OTlBQkNCOTEyMTVGQUI1MDBG
OUYyMTkgLyogRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5N0EyRDFEMTFGRjU4QTUwMDgyNzQwQyAvKiBFbnRyeS5oICovOyB9OworCQk4OTlB
QkNCQTEyMTVGQUI4MDBGOUYyMTkgLyogRW50cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJEMUMxMUZGNThBNTAwODI3NDBDIC8qIEVudHJ5
LmNwcCAqLzsgfTsKIAkJODlCNUVBQTExMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlCNUVBOUYx
MUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuY3BwICovOyB9OwogCQk4OUI1RUFBMjExRTgw
MDNEMDBGMjM2N0UgLyogTGluZUVuZGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODlCNUVBQTAxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4OUJF
RDVFQjExQkUxMUNFMDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlCRUQ1RTkxMUJFMTFDRTAwNDQ4NDkyIC8q
IEJsb2JCdWlsZGVyLmNwcCAqLzsgfTsKQEAgLTgyMDQsNiArODI0MywzMCBAQAogCQk4OTdBMkQ5
MjEyMDAwMzc2MDA4Mjc0MEMgLyogSlNGbGFncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0ZsYWdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODhFMTBD
MTFBMzUwOEIwMERCNzMyRSAvKiBCbG9iSXRlbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBCbG9iSXRlbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg5ODhFMTBEMTFBMzUwOEIwMERCNzMyRSAvKiBCbG9iSXRlbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBCbG9iSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTlBQkMyMDEyMTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5RW50cnkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGlyZWN0b3J5RW50cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkMyMTEyMTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0
b3J5RW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlyZWN0b3J5RW50
cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk5QUJDMjIxMjE1RTRBMzAwRjlG
MjE5IC8qIERpcmVjdG9yeUVudHJ5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEaXJlY3Rv
cnlFbnRyeS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzIzMTIxNUU0
QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRGlyZWN0b3J5UmVhZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODk5QUJDMjQxMjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeVJlYWRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXJlY3RvcnlSZWFkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk5QUJDMjUxMjE1RTRBMzAwRjlGMjE5IC8qIERpcmVj
dG9yeVJlYWRlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGlyZWN0b3J5UmVhZGVyLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk5QUJDMkMxMjE1RTRCRTAwRjlGMjE5
IC8qIEVudHJpZXNDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBF
bnRyaWVzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk5QUJDMkQx
MjE1RTRCRTAwRjlGMjE5IC8qIEVudHJpZXNDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gRW50cmllc0NhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODk5QUJDMkUxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJyYXkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRW50cnlBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg5OUFCQzJGMTIxNUU0QkUwMEY5RjIxOSAvKiBFbnRyeUFycmF5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVudHJ5QXJyYXkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODk5QUJDMzAxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJyYXku
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVudHJ5QXJyYXkuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4OTlBQkMzMTEyMTVFNEJFMDBGOUYyMTkgLyogRmlsZUVudHJ5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGVFbnRyeS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzMyMTIxNUU0QkUwMEY5RjIxOSAvKiBG
aWxlRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmlsZUVudHJ5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzMzMTIxNUU0QkUwMEY5RjIxOSAv
KiBGaWxlRW50cnkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZpbGVFbnRyeS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzU1MTIxNUVCMkEwMEY5RjIxOSAvKiBK
U0RpcmVjdG9yeUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTRGlyZWN0b3J5RW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlB
QkM1NjEyMTVFQjJBMDBGOUYyMTkgLyogSlNEaXJlY3RvcnlFbnRyeS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg5OUFCQzU3MTIxNUVCMkEwMEY5RjIxOSAvKiBKU0VudHJpZXNDYWxsYmFj
ay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VudHJpZXNDYWxs
YmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzU4MTIxNUVCMkEw
MEY5RjIxOSAvKiBKU0VudHJpZXNDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0VudHJpZXNDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4OTlBQkM1OTEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyeUFycmF5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW50cnlBcnJheS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzVBMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0VudHJ5QXJy
YXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFbnRyeUFycmF5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzVCMTIxNUVCMkEwMEY5RjIxOSAvKiBK
U0ZpbGVFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Zp
bGVFbnRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzVDMTIxNUVC
MkEwMEY5RjIxOSAvKiBKU0ZpbGVFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0ZpbGVFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkM2
QjEyMTVFQ0VGMDBGOUYyMTkgLyogSlNEaXJlY3RvcnlSZWFkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEaXJlY3RvcnlSZWFkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTlBQkM2QzEyMTVFQ0VGMDBGOUYyMTkgLyogSlNEaXJlY3Rv
cnlSZWFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEaXJlY3RvcnlS
ZWFkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODlCNUVBOUYxMUU4MDAzRDAw
RjIzNjdFIC8qIExpbmVFbmRpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTGluZUVuZGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5QjVF
QUEwMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExpbmVFbmRpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODlCRUQ1RTkxMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb2JCdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTExNDczLDE2ICsxMTUzNiwzMCBAQAogCQkJCTFBRDUxQTEzMENCNTlD
RDMwMDk1M0QxMSAvKiBEYXRhYmFzZVRyYWNrZXIuY3BwICovLAogCQkJCTFBRDUxQTEyMENCNTlD
RDMwMDk1M0QxMSAvKiBEYXRhYmFzZVRyYWNrZXIuaCAqLywKIAkJCQk1MUZBRkUzMzBDRUNCRjJE
MDBCQjNGMjQgLyogRGF0YWJhc2VUcmFja2VyQ2xpZW50LmggKi8sCisJCQkJODk5QUJDMjAxMjE1
RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeUVudHJ5LmNwcCAqLywKKwkJCQk4OTlBQkMyMTEyMTVF
NEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5RW50cnkuaCAqLywKKwkJCQk4OTlBQkMyMjEyMTVFNEEz
MDBGOUYyMTkgLyogRGlyZWN0b3J5RW50cnkuaWRsICovLAorCQkJCTg5OUFCQzIzMTIxNUU0QTMw
MEY5RjIxOSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICovLAorCQkJCTg5OUFCQzI0MTIxNUU0QTMw
MEY5RjIxOSAvKiBEaXJlY3RvcnlSZWFkZXIuaCAqLywKKwkJCQk4OTlBQkMyNTEyMTVFNEEzMDBG
OUYyMTkgLyogRGlyZWN0b3J5UmVhZGVyLmlkbCAqLywKIAkJCQk4OTdBMkQxOTExRkY1OEE1MDA4
Mjc0MEMgLyogRE9NRmlsZVN5c3RlbS5jcHAgKi8sCiAJCQkJODk3QTJEMUExMUZGNThBNTAwODI3
NDBDIC8qIERPTUZpbGVTeXN0ZW0uaCAqLywKIAkJCQk4OTdBMkQxQjExRkY1OEE1MDA4Mjc0MEMg
LyogRE9NRmlsZVN5c3RlbS5pZGwgKi8sCisJCQkJODk5QUJDMkMxMjE1RTRCRTAwRjlGMjE5IC8q
IEVudHJpZXNDYWxsYmFjay5oICovLAorCQkJCTg5OUFCQzJEMTIxNUU0QkUwMEY5RjIxOSAvKiBF
bnRyaWVzQ2FsbGJhY2suaWRsICovLAogCQkJCTg5N0EyRDFDMTFGRjU4QTUwMDgyNzQwQyAvKiBF
bnRyeS5jcHAgKi8sCiAJCQkJODk3QTJEMUQxMUZGNThBNTAwODI3NDBDIC8qIEVudHJ5LmggKi8s
CiAJCQkJODk3QTJEM0IxMUZGNjM4NjAwODI3NDBDIC8qIEVudHJ5LmlkbCAqLywKKwkJCQk4OTlB
QkMyRTEyMTVFNEJFMDBGOUYyMTkgLyogRW50cnlBcnJheS5jcHAgKi8sCisJCQkJODk5QUJDMkYx
MjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJyYXkuaCAqLywKKwkJCQk4OTlBQkMzMDEyMTVFNEJF
MDBGOUYyMTkgLyogRW50cnlBcnJheS5pZGwgKi8sCiAJCQkJODk3QTJEMUUxMUZGNThBNTAwODI3
NDBDIC8qIEVudHJ5Q2FsbGJhY2suaCAqLywKIAkJCQk4OTdBMkQxRjExRkY1OEE1MDA4Mjc0MEMg
LyogRW50cnlDYWxsYmFjay5pZGwgKi8sCiAJCQkJODk3QTJEMjAxMUZGNThBNTAwODI3NDBDIC8q
IEVycm9yQ2FsbGJhY2suaCAqLywKIAkJCQk4OTdBMkQ1RDEyMDAwMEZGMDA4Mjc0MEMgLyogRXJy
b3JDYWxsYmFjay5pZGwgKi8sCisJCQkJODk5QUJDMzExMjE1RTRCRTAwRjlGMjE5IC8qIEZpbGVF
bnRyeS5jcHAgKi8sCisJCQkJODk5QUJDMzIxMjE1RTRCRTAwRjlGMjE5IC8qIEZpbGVFbnRyeS5o
ICovLAorCQkJCTg5OUFCQzMzMTIxNUU0QkUwMEY5RjIxOSAvKiBGaWxlRW50cnkuaWRsICovLAog
CQkJCTg5N0EyRDIxMTFGRjU4QTUwMDgyNzQwQyAvKiBGaWxlU3lzdGVtQ2FsbGJhY2suaCAqLywK
IAkJCQk4OTdBMkQ1RjEyMDAwMTIyMDA4Mjc0MEMgLyogRmlsZVN5c3RlbUNhbGxiYWNrLmlkbCAq
LywKIAkJCQk4OTdBMkQ2MDEyMDAwMTIyMDA4Mjc0MEMgLyogRmxhZ3MuaCAqLywKQEAgLTE0OTU3
LDE0ICsxNTAzNCwyNCBAQAogCQkJCUI1OURENjk3MTE5MDI5RTUwMDdFOTY4NCAvKiBKU0RhdGFi
YXNlQ2FsbGJhY2suaCAqLywKIAkJCQlCNThDRUI2ODExOTEzNjA3MDAyQTY3OTAgLyogSlNEYXRh
YmFzZVN5bmMuY3BwICovLAogCQkJCUI1OENFQjY3MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFi
YXNlU3luYy5oICovLAorCQkJCTg5OUFCQzU1MTIxNUVCMkEwMEY5RjIxOSAvKiBKU0RpcmVjdG9y
eUVudHJ5LmNwcCAqLywKKwkJCQk4OTlBQkM1NjEyMTVFQjJBMDBGOUYyMTkgLyogSlNEaXJlY3Rv
cnlFbnRyeS5oICovLAorCQkJCTg5OUFCQzZCMTIxNUVDRUYwMEY5RjIxOSAvKiBKU0RpcmVjdG9y
eVJlYWRlci5jcHAgKi8sCisJCQkJODk5QUJDNkMxMjE1RUNFRjAwRjlGMjE5IC8qIEpTRGlyZWN0
b3J5UmVhZGVyLmggKi8sCiAJCQkJODk3QTJEOEQxMjAwMDM1RjAwODI3NDBDIC8qIEpTRE9NRmls
ZVN5c3RlbS5jcHAgKi8sCiAJCQkJODk3QTJEOEUxMjAwMDM1RjAwODI3NDBDIC8qIEpTRE9NRmls
ZVN5c3RlbS5oICovLAorCQkJCTg5OUFCQzU3MTIxNUVCMkEwMEY5RjIxOSAvKiBKU0VudHJpZXND
YWxsYmFjay5jcHAgKi8sCisJCQkJODk5QUJDNTgxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cmll
c0NhbGxiYWNrLmggKi8sCiAJCQkJODk3QTJENDkxMUZGNkM5MDAwODI3NDBDIC8qIEpTRW50cnku
Y3BwICovLAogCQkJCTg5N0EyRDRBMTFGRjZDOTAwMDgyNzQwQyAvKiBKU0VudHJ5LmggKi8sCisJ
CQkJODk5QUJDNTkxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cnlBcnJheS5jcHAgKi8sCisJCQkJ
ODk5QUJDNUExMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cnlBcnJheS5oICovLAogCQkJCTg5N0Ey
RDRCMTFGRjZDOTAwMDgyNzQwQyAvKiBKU0VudHJ5Q2FsbGJhY2suY3BwICovLAogCQkJCTg5N0Ey
RDRDMTFGRjZDOTAwMDgyNzQwQyAvKiBKU0VudHJ5Q2FsbGJhY2suaCAqLywKIAkJCQk4OTdBMkQ0
RDExRkY2QzkwMDA4Mjc0MEMgLyogSlNFcnJvckNhbGxiYWNrLmNwcCAqLywKIAkJCQk4OTdBMkQ0
RTExRkY2QzkwMDA4Mjc0MEMgLyogSlNFcnJvckNhbGxiYWNrLmggKi8sCisJCQkJODk5QUJDNUIx
MjE1RUIyQTAwRjlGMjE5IC8qIEpTRmlsZUVudHJ5LmNwcCAqLywKKwkJCQk4OTlBQkM1QzEyMTVF
QjJBMDBGOUYyMTkgLyogSlNGaWxlRW50cnkuaCAqLywKIAkJCQk4OTdBMkQ1NTExRkY2Q0E0MDA4
Mjc0MEMgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suY3BwICovLAogCQkJCTg5N0EyRDU2MTFGRjZD
QTQwMDgyNzQwQyAvKiBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5oICovLAogCQkJCTg5N0EyRDkxMTIw
MDAzNzYwMDgyNzQwQyAvKiBKU0ZsYWdzLmNwcCAqLywKQEAgLTIwMTYzLDYgKzIwMjUwLDI4IEBA
CiAJCQkJOTdERDREODcwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNFMTcyRTAxMTEzNkU4Q0UwMDYyQTUzMyAvKiBab29tTW9kZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkVFRDU3RkUxMjE0QTlDMjAwNzY1NkJCIC8qIFRocmVhZGFibGVCbG9iUmVn
aXN0cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFCQzI3MTIxNUU0QTMwMEY5RjIxOSAvKiBE
aXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDMkExMjE1RTRBMzAwRjlG
MjE5IC8qIERpcmVjdG9yeVJlYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDMzQxMjE1
RTRCRTAwRjlGMjE5IC8qIEVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5
QUJDMzcxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTg5OUFCQzNBMTIxNUU0QkUwMEY5RjIxOSAvKiBGaWxlRW50cnkuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg5OUFCQzVFMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0RpcmVjdG9yeUVudHJ5LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4OTlBQkM2MDEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyaWVzQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFCQzYyMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0Vu
dHJ5QXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFCQzY0MTIxNUVCMkEwMEY5RjIxOSAv
KiBKU0ZpbGVFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDNkUxMjE1RUNFRjAwRjlG
MjE5IC8qIEpTRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTlBQkM3QTEy
MTVGMDMxMDBGOUYyMTkgLyogSlNET01GaWxlU3lzdGVtLmggaW4gSGVhZGVycyAqLywKKwkJCQk4
OTlBQkM3QzEyMTVGMDMzMDBGOUYyMTkgLyogSlNFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODk5QUJDN0UxMjE1RjAzNzAwRjlGMjE5IC8qIEpTRW50cnlDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODk5QUJDODAxMjE1RjAzODAwRjlGMjE5IC8qIEpTRXJyb3JDYWxsYmFjay5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODk5QUJDODExMjE1RjAzQjAwRjlGMjE5IC8qIEpTRmxhZ3MuaCBp
biBIZWFkZXJzICovLAorCQkJCTg5OUFCQzgzMTIxNUYwM0MwMEY5RjIxOSAvKiBKU0ZpbGVTeXN0
ZW1DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDODcxMjE1RjBERjAwRjlGMjE5
IC8qIERPTUZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFCQzk2MTIxNUY5REEw
MEY5RjIxOSAvKiBFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTlBQkM5NzEy
MTVGOURGMDBGOUYyMTkgLyogRW50cnlDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5
QUJDQUExMjE1RkE1NTAwRjlGMjE5IC8qIEZpbGVTeXN0ZW1DYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODk5QUJDQUIxMjE1RkE1QTAwRjlGMjE5IC8qIEZsYWdzLmggaW4gSGVhZGVycyAq
LywKKwkJCQk4OTlBQkNCOTEyMTVGQUI1MDBGOUYyMTkgLyogRW50cnkuaCBpbiBIZWFkZXJzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpAQCAtMjI1OTAsNiArMjI2OTksMjMgQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkg
LyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3REQ0RDg2MEZERjRE
NkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFRUQ1N0ZE
MTIxNEE5QzIwMDc2NTZCQiAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTg5OUFCQzI2MTIxNUU0QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk4OTlBQkMyOTEyMTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5
UmVhZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFCQzM2MTIxNUU0QkUwMEY5RjIxOSAv
KiBFbnRyeUFycmF5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFCQzM5MTIxNUU0QkUwMEY5
RjIxOSAvKiBGaWxlRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5QUJDNUQxMjE1RUIy
QTAwRjlGMjE5IC8qIEpTRGlyZWN0b3J5RW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5
QUJDNUYxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cmllc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTg5OUFCQzYxMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0VudHJ5QXJyYXkuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJODk5QUJDNjMxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRmlsZUVudHJ5
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFCQzZEMTIxNUVDRUYwMEY5RjIxOSAvKiBKU0Rp
cmVjdG9yeVJlYWRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTlBQkM3OTEyMTVGMDMxMDBG
OUYyMTkgLyogSlNET01GaWxlU3lzdGVtLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFCQzdC
MTIxNUYwMzMwMEY5RjIxOSAvKiBKU0VudHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFC
QzdEMTIxNUYwMzYwMEY5RjIxOSAvKiBKU0VudHJ5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJODk5QUJDN0YxMjE1RjAzODAwRjlGMjE5IC8qIEpTRXJyb3JDYWxsYmFjay5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4OTlBQkM4MjEyMTVGMDNCMDBGOUYyMTkgLyogSlNGbGFncy5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk4OTlBQkM4NDEyMTVGMDNEMDBGOUYyMTkgLyogSlNGaWxlU3lz
dGVtQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5QUJDODYxMjE1RjBEODAwRjlG
MjE5IC8qIERPTUZpbGVTeXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5QUJDQkExMjE1
RkFCODAwRjlGMjE5IC8qIEVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL0RPTUZpbGVTeXN0ZW0uY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0RPTUZpbGVT
eXN0ZW0uY3BwCmluZGV4IDE5Yzc1ZmM3N2I1ZTQ1MzBjNjNkNDhjNzZjNDExOTFmZTdkMzAyZDgu
LmMzZGJkMzQwMTRlYTIwZWNlZmQ4YWFkZDdjNmJkYzlkYmQwZWU5NjIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9ET01GaWxlU3lzdGVtLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRE9N
RmlsZVN5c3RlbS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKIAotI2luY2x1ZGUgIkVudHJ5LmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnkuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Myw5ICs0Myw5IEBAIERPTUZpbGVTeXN0ZW06OkRP
TUZpbGVTeXN0ZW0oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHJvb3RQYXRoKQog
ewogfQogCi1QYXNzUmVmUHRyPEVudHJ5PiBET01GaWxlU3lzdGVtOjpyb290KCkKK1Bhc3NSZWZQ
dHI8RGlyZWN0b3J5RW50cnk+IERPTUZpbGVTeXN0ZW06OnJvb3QoKQogewotICAgIHJldHVybiBF
bnRyeTo6Y3JlYXRlKHRoaXMsICIvIik7CisgICAgcmV0dXJuIERpcmVjdG9yeUVudHJ5OjpjcmVh
dGUodGhpcywgIi8iKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9ET01GaWxlU3lzdGVtLmggYi9XZWJDb3JlL3N0b3JhZ2UvRE9NRmlsZVN5c3RlbS5o
CmluZGV4IDQ1NDIwNWRjNDI4Yjc1MjUxNzRjOTIzMzI0MzAxODAzZGExNDg4YTYuLmI4N2FhYWYz
MmNkOWVhYzBmMjJjNDllZTE3NjcyZGQ1YTJlNzc2NzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9ET01GaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RPTUZpbGVTeXN0ZW0u
aApAQCAtMzksNyArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEVudHJ5
OworY2xhc3MgRGlyZWN0b3J5RW50cnk7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMg
UmVmQ291bnRlZDxET01GaWxlU3lzdGVtPiB7CiBwdWJsaWM6CkBAIC00OSw3ICs0OSw3IEBAIHB1
YmxpYzoKICAgICB9CiAKICAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBt
X25hbWU7IH0KLSAgICBQYXNzUmVmUHRyPEVudHJ5PiByb290KCk7CisgICAgUGFzc1JlZlB0cjxE
aXJlY3RvcnlFbnRyeT4gcm9vdCgpOwogCiBwcml2YXRlOgogICAgIERPTUZpbGVTeXN0ZW0oY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHJvb3RQYXRoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9ET01GaWxlU3lzdGVtLmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9ET01GaWxl
U3lzdGVtLmlkbAppbmRleCAwMjQxYzRhNmZiZDIyZjE5MjExZGFjMTM3MTI0YTRiN2QxZjg1NDA2
Li5iNzMwN2UyYzE2OTljNWM2MjgwNDgyNTIxZDc5NWM3NWIyNDY3ZTc2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvRE9NRmlsZVN5c3RlbS5pZGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RP
TUZpbGVTeXN0ZW0uaWRsCkBAIC0zMyw2ICszMyw2IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAg
ICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0KICAgICBdIERPTUZpbGVTeXN0ZW0gewogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBFbnRyeSByb290OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRGlyZWN0b3J5
RW50cnkgcm9vdDsKICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RpcmVj
dG9yeUVudHJ5LmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjNjNjJmYjE3MzdjNDUzNTQzZDllMWI4MTQ3YzliODYxNTUyMmE2MQotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5jcHAKQEAgLTAsMCArMSw2
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5oIgorCisj
aWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyLmgiCisj
aW5jbHVkZSAiRW50cnlDYWxsYmFjay5oIgorI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitEaXJlY3RvcnlFbnRyeTo6RGlyZWN0b3J5RW50cnkoUGFz
c1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRo
KQorICAgIDogRW50cnkoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQdHI8
RGlyZWN0b3J5UmVhZGVyPiBEaXJlY3RvcnlFbnRyeTo6Y3JlYXRlUmVhZGVyKCkKK3sKKyAgICBy
ZXR1cm4gRGlyZWN0b3J5UmVhZGVyOjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Z1bGxQYXRoKTsK
K30KKwordm9pZCBEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZShjb25zdCBTdHJpbmcmLCBQYXNzUmVm
UHRyPEZsYWdzPiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCit9CisKK3ZvaWQg
RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEZs
YWdzPiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNr
PikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCit9CisKK30gLy8gbmFtZXNw
YWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvRGlyZWN0b3J5RW50cnkuaCBiL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlFbnRy
eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJhZTRmYjU0ZjM5YWU3MGFhNjNlNzMwNjc0ZTZmOGM3M2IxZTg5MzUK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRGlyZWN0b3J5RW50cnkuaApAQCAt
MCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBEaXJlY3RvcnlFbnRyeV9oCisjZGVmaW5lIERpcmVjdG9yeUVu
dHJ5X2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5LmgiCisj
aW5jbHVkZSAiRmxhZ3MuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBEaXJlY3RvcnlSZWFkZXI7CitjbGFzcyBFbnRyeUNhbGxi
YWNrOworY2xhc3MgRXJyb3JDYWxsYmFjazsKKworY2xhc3MgRGlyZWN0b3J5RW50cnkgOiBwdWJs
aWMgRW50cnkgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5
PiBjcmVhdGUoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJp
bmcmIGZ1bGxQYXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEaXJlY3Rv
cnlFbnRyeShmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOworICAgIH0KKyAgICB2aXJ0dWFsIGJvb2wg
aXNEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBQYXNzUmVmUHRyPERp
cmVjdG9yeVJlYWRlcj4gY3JlYXRlUmVhZGVyKCk7CisgICAgdm9pZCBnZXRGaWxlKGNvbnN0IFN0
cmluZyYgcGF0aCwgUGFzc1JlZlB0cjxGbGFncz4gb3B0aW9ucyA9IDAsIFBhc3NSZWZQdHI8RW50
cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrID0gMCk7CisgICAgdm9pZCBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5n
JiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiBvcHRpb25zID0gMCwgUGFzc1JlZlB0cjxFbnRyeUNh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2sgPSAwKTsKKworcHJpdmF0ZToKKyAgICBEaXJlY3RvcnlFbnRyeShQYXNzUmVm
UHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOwor
fTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKwor
I2VuZGlmIC8vIERpcmVjdG9yeUVudHJ5X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9E
aXJlY3RvcnlFbnRyeS5pZGwgYi9XZWJDb3JlL3N0b3JhZ2UvRGlyZWN0b3J5RW50cnkuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFjMzBjN2Y4ODMzN2ViM2Q4NjJjNTVmODQ2ZDkyN2YwMGQ1ZmFhMjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRGlyZWN0b3J5RW50cnkuaWRsCkBAIC0wLDAg
KzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0
aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAorICAg
ICAgICBHZW5lcmF0ZVRvSlMKKyAgICBdIERpcmVjdG9yeUVudHJ5IDogRW50cnkgeworICAgICAg
ICBEaXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVyKCk7CisgICAgICAgIHZvaWQgZ2V0RmlsZShp
biBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBGbGFncyBvcHRpb25zLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
LCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICAgICAgdm9pZCBn
ZXREaXJlY3RvcnkoaW4gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRmxhZ3Mgb3B0aW9u
cywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Cisg
ICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlSZWFkZXIuY3Bw
IGIvV2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM5ZDgw
ZWI5NTIxN2U5MTY2MTFhOGUzNzRhNzk0MjMyZjEyMmVjZgotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlSZWFkZXIuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyLmgiCisKKyNpZiBFTkFCTEUo
RklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiRW50
cmllc0NhbGxiYWNrLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0RpcmVjdG9yeVJlYWRlcjo6RGlyZWN0b3J5UmVhZGVyKFBhc3NSZWZQdHI8
RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBwYXRoKQorICAgIDogbV9m
aWxlU3lzdGVtKGZpbGVTeXN0ZW0pCisgICAgLCBtX3BhdGgocGF0aCkKK3sKK30KKwordm9pZCBE
aXJlY3RvcnlSZWFkZXI6OnJlYWRFbnRyaWVzKFBhc3NSZWZQdHI8RW50cmllc0NhbGxiYWNrPiwg
UGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVt
ZW50ZWQuCit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNU
RU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmggYi9XZWJD
b3JlL3N0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Y1ZGE4ZjNkYzc1ZjQz
MGUzZTY0NmM4OTJlNzU2NjVkMWQ0NTE3MAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9EaXJlY3RvcnlSZWFkZXIuaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEaXJlY3RvcnlS
ZWFkZXJfaAorI2RlZmluZSBEaXJlY3RvcnlSZWFkZXJfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQorCisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVudHJpZXNDYWxsYmFjazsK
K2NsYXNzIEVycm9yQ2FsbGJhY2s7CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPERpcmVjdG9yeVJlYWRlcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPERpcmVjdG9yeVJlYWRlcj4gY3JlYXRlKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmls
ZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBwYXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBEaXJlY3RvcnlSZWFkZXIoZmlsZVN5c3RlbSwgcGF0aCkpOworICAgIH0KKworICAg
IHZvaWQgcmVhZEVudHJpZXMoUGFzc1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxs
YmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gMCk7CisKK3By
aXZhdGU6CisgICAgRGlyZWN0b3J5UmVhZGVyKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmls
ZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBwYXRoKTsKKworICAgIFJlZlB0cjxET01GaWxlU3lzdGVt
PiBtX2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fcGF0aDsKK307CisKK30gLy8gbmFtZXNwYWNl
CisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBEaXJlY3RvcnlS
ZWFkZXJfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5pZGwg
Yi9XZWJDb3JlL3N0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2M3MDEy
MDJkYTA4ZWI0YmMxYjc1NzFkNjI4YTE3ZjJjZjM0MTk2Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9zdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBz
dG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RF
TQorICAgIF0gRGlyZWN0b3J5UmVhZGVyIHsKKyAgICAgICAgdm9pZCByZWFkRW50cmllcyhpbiBb
Q2FsbGJhY2tdIEVudHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwg
Q2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgfTsKK30KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9FbnRyaWVzQ2FsbGJhY2suaCBiL1dlYkNvcmUvc3RvcmFn
ZS9FbnRyaWVzQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjgxMmU5NzhiNGJmZmRhOTZkMTdlZjQ5
ZTcxZDc5ZjlmNzQ5MjA1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0VudHJp
ZXNDYWxsYmFjay5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVudHJpZXNDYWxsYmFja19oCisj
ZGVmaW5lIEVudHJpZXNDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEVudHJ5QXJyYXk7CisKK2NsYXNzIEVudHJpZXNDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVk
PEVudHJpZXNDYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfkVudHJpZXNDYWxsYmFj
aygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChFbnRyeUFycmF5KikgPSAwOwor
fTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKwor
I2VuZGlmIC8vIEVudHJpZXNDYWxsYmFja19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
RW50cmllc0NhbGxiYWNrLmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9FbnRyaWVzQ2FsbGJhY2suaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjczYjM3NGQ3OTI4ZWU0ODA2NjJlYzM5YzMzYzliMWYwNGU4NjgxMzcKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRW50cmllc0NhbGxiYWNrLmlkbApAQCAt
MCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENv
bmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBDYWxsYmFjaworICAgIF0gRW50cmllc0Nh
bGxiYWNrIHsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBFbnRyeUFycmF5IGVudHJp
ZXMpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRW50cnkuY3BwIGIv
V2ViQ29yZS9zdG9yYWdlL0VudHJ5LmNwcAppbmRleCBiODgyMjk3ZGIzMTk5YjU3MDg5M2U3ZjQy
N2E1ZGQ4MWRmYjdkMWU4Li44MGQ5ZWZjNDE2YTJiYzI1ZTk3NGU1NTdhNmE3YTFhNzMyMmEzMmQ2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRW50cnkuY3BwCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9FbnRyeS5jcHAKQEAgLTQwLDEwICs0MCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotRW50cnk6OkVudHJ5KFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29u
c3QgU3RyaW5nJiBmdWxsUGF0aCwgYm9vbCBpc0RpcmVjdG9yeSkKK0VudHJ5OjpFbnRyeShQYXNz
UmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
CiAgICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKICAgICAsIG1fZnVsbFBhdGgoZnVsbFBh
dGgpCi0gICAgLCBtX2lzRGlyZWN0b3J5KGlzRGlyZWN0b3J5KQogewogICAgIGludCBpbmRleCA9
IGZ1bGxQYXRoLnJldmVyc2VGaW5kKCIvIik7CiAgICAgaWYgKGluZGV4ICE9IC0xKQpAQCAtNTIs
MjcgKzUxLDI3IEBAIEVudHJ5OjpFbnRyeShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVT
eXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgsIGJvb2wKICAgICAgICAgbV9uYW1lID0gZnVs
bFBhdGg7CiB9CiAKLXZvaWQgRW50cnk6OmdldE1ldGFkYXRhKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPE1ldGFkYXRhQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJh
Y2s+KQordm9pZCBFbnRyeTo6Z2V0TWV0YWRhdGEoUGFzc1JlZlB0cjxNZXRhZGF0YUNhbGxiYWNr
PiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKIHsKICAgICAvLyBGSVhNRTogdG8gYmUgaW1w
bGVtZW50ZWQuCiB9CiAKLXZvaWQgRW50cnk6Om1vdmVUbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgUGFzc1JlZlB0cjxFbnRyeT4sIGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8RW50cnlDYWxs
YmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4pCit2b2lkIEVudHJ5Ojptb3ZlVG8oUGFz
c1JlZlB0cjxFbnRyeT4sIGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4s
IFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4pCiB7CiAgICAgLy8gRklYTUU6IHRvIGJlIGltcGxl
bWVudGVkLgogfQogCi12b2lkIEVudHJ5Ojpjb3B5VG8oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFBhc3NSZWZQdHI8RW50cnk+LCBjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJh
Y2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KQordm9pZCBFbnRyeTo6Y29weVRvKFBhc3NS
ZWZQdHI8RW50cnk+LCBjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+LCBQ
YXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KQogewogICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1l
bnRlZC4KIH0KIAotdm9pZCBFbnRyeTo6cmVtb3ZlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4pCit2b2lk
IEVudHJ5OjpyZW1vdmUoUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9y
Q2FsbGJhY2s+KQogewogICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KIH0KIAotdm9p
ZCBFbnRyeTo6Z2V0UGFyZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPEVu
dHJ5Q2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KQordm9pZCBFbnRyeTo6Z2V0
UGFyZW50KFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFj
az4pCiB7CiAgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0VudHJ5LmggYi9XZWJDb3JlL3N0b3JhZ2UvRW50cnkuaAppbmRleCAx
Y2FiZTU4ZGVmOTE1M2Y5MDc4OTQyZDNhZTI0MDZhZGU3YjU5MDdjLi43YmJiMjY1NzRhYjExNzAw
NmEyMTIxOGQ1ZWY1YzA0OGMyNjhjMzFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRW50
cnkuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRW50cnkuaApAQCAtNDIsNDIgKzQyLDM1IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVudHJ5Q2FsbGJhY2s7CiBjbGFzcyBFcnJvckNhbGxi
YWNrOwogY2xhc3MgTWV0YWRhdGFDYWxsYmFjazsKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiAKIGNsYXNzIEVudHJ5IDogcHVibGljIFJlZkNvdW50
ZWQ8RW50cnk+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxFbnRyeT4gY3JlYXRl
KFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxs
UGF0aCwgYm9vbCBpc0RpcmVjdG9yeSA9IGZhbHNlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBFbnRyeShmaWxlU3lzdGVtLCBmdWxsUGF0aCwgaXNEaXJlY3RvcnkpKTsKLSAg
ICB9Ci0KICAgICB2aXJ0dWFsIH5FbnRyeSgpIHsgfQogCi0gICAgdmlydHVhbCBib29sIGlzRmls
ZSgpIGNvbnN0IHsgcmV0dXJuICFtX2lzRGlyZWN0b3J5OyB9Ci0gICAgdmlydHVhbCBib29sIGlz
RGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9pc0RpcmVjdG9yeTsgfQorICAgIHZpcnR1YWwg
Ym9vbCBpc0ZpbGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBp
c0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBjb25zdCBTdHJpbmcm
IGZ1bGxQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9mdWxsUGF0aDsgfQogICAgIGNvbnN0IFN0cmlu
ZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQogCiAgICAgRE9NRmlsZVN5c3RlbSog
ZmlsZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsZVN5c3RlbS5nZXQoKTsgfQogCi0gICAg
dmlydHVhbCB2b2lkIGdldE1ldGFkYXRhKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPE1ldGFkYXRhQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQdHI8RXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IDApOworICAgIHZpcnR1YWwgdm9pZCBnZXRNZXRh
ZGF0YShQYXNzUmVmUHRyPE1ldGFkYXRhQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IDAsIFBh
c3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IDApOwogCi0gICAgdmlydHVh
bCB2b2lkIG1vdmVUbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxFbnRyeT4g
cGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUgPSBTdHJpbmcoKSwgUGFzc1JlZlB0cjxFbnRyeUNh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2sgPSAwKTsKLSAgICB2aXJ0dWFsIHZvaWQgY29weVRvKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBQYXNzUmVmUHRyPEVudHJ5PiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgbmFtZSA9
IFN0cmluZygpLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IDAs
IFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IDApOwotICAgIHZpcnR1
YWwgdm9pZCByZW1vdmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2sgPSAwKTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0UGFyZW50KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9
IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IDApOworICAgIHZp
cnR1YWwgdm9pZCBtb3ZlVG8oUGFzc1JlZlB0cjxFbnRyeT4gcGFyZW50LCBjb25zdCBTdHJpbmcm
IG5hbWUgPSBTdHJpbmcoKSwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJh
Y2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSAwKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgY29weVRvKFBhc3NSZWZQdHI8RW50cnk+IHBhcmVudCwgY29uc3QgU3Ry
aW5nJiBuYW1lID0gU3RyaW5nKCksIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0Nh
bGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gMCk7
CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZShQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vz
c0NhbGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0g
MCk7CisgICAgdmlydHVhbCB2b2lkIGdldFBhcmVudChQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+
IHN1Y2Nlc3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxs
YmFjayA9IDApOwogCiAgICAgdmlydHVhbCBTdHJpbmcgdG9VUkkoY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSA9IFN0cmluZygpKTsKIAogcHJvdGVjdGVkOgotICAgIEVudHJ5KFBhc3NSZWZQdHI8RE9N
RmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCwgYm9vbCBpc0Rp
cmVjdG9yeSk7CisgICAgRW50cnkoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVt
LCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKIAogICAgIFJlZlB0cjxET01GaWxlU3lzdGVtPiBt
X2ZpbGVTeXN0ZW07CiAgICAgU3RyaW5nIG1fZnVsbFBhdGg7IC8vIHZpcnR1YWwgcGF0aAogICAg
IFN0cmluZyBtX25hbWU7Ci0gICAgYm9vbCBtX2lzRGlyZWN0b3J5OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0VudHJ5LmlkbCBiL1dl
YkNvcmUvc3RvcmFnZS9FbnRyeS5pZGwKaW5kZXggOTcyNzUxZTFjOTIzMzgxNWRlNjA2NWE5YTE1
YmUzMTRiYjY3OGNhZi4uN2Q0ZmZlZTdmNWQ0NmUzZmY5OWIyMjIzNGM0MjI0YzYwOTExNGRlZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0VudHJ5LmlkbAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvRW50cnkuaWRsCkBAIC0zOCwxMCArMzgsMTAgQEAgbW9kdWxlIHN0b3JhZ2UgewogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZ1bGxQYXRoOwogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NRmlsZVN5c3RlbSBmaWxlc3lzdGVtOwogCi0gICAgICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIG1vdmVUbyhpbiBFbnRyeSBwYXJlbnQsIGlu
IFtPcHRpb25hbF0gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5
Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNh
bGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gdm9pZCBjb3B5VG8oaW4gRW50cnkgcGFyZW50LCBpbiBbT3B0aW9uYWxdIERPTVN0
cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3ND
YWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKKyAgICAgICAgdm9pZCBtb3ZlVG8oaW4gRW50cnkgcGFyZW50LCBpbiBbT3B0aW9uYWxd
IERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrKTsKKyAgICAgICAgdm9pZCBjb3B5VG8oaW4gRW50cnkgcGFyZW50LCBpbiBbT3B0
aW9uYWxdIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFj
ayBlcnJvckNhbGxiYWNrKTsKKyAgICAgICAgdm9pZCByZW1vdmUoaW4gW09wdGlvbmFsLCBDYWxs
YmFja10gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFj
a10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAgICAgICAgdm9pZCBnZXRQYXJlbnQo
aW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGlu
IFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiAgICAg
ICAgIERPTVN0cmluZyB0b1VSSShpbiBbT3B0aW9uYWxdIERPTVN0cmluZyBtaW1lVHlwZSk7Ci0g
ICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHJlbW92ZShpbiBb
T3B0aW9uYWwsIENhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgICAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBnZXRQYXJlbnQoaW4gW09wdGlv
bmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25h
bCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiAgICAgfTsKIH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9FbnRyeUFycmF5LmNwcCBiL1dlYkNvcmUvc3RvcmFn
ZS9FbnRyeUFycmF5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzRmNzRmYjU4ZDkxYjFkYTFjYWY3YWNmZmMw
Mjk5YzhjZThlZmNiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0VudHJ5QXJy
YXkuY3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50
cnlBcnJheS5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0VudHJ5QXJyYXk6OkVudHJ5QXJyYXkoKQoreworfQorCitFbnRyeSogRW50cnlBcnJh
eTo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9lbnRy
aWVzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fZW50cmllc1tpbmRl
eF0uZ2V0KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9T
WVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRW50cnlBcnJheS5oIGIvV2ViQ29y
ZS9zdG9yYWdlL0VudHJ5QXJyYXkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTk1N2FiZDEwMzFhOWUzMjNmNDMx
ZDA4ZTFhZGI4NWRlYjBkYTViCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0Vu
dHJ5QXJyYXkuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBFbnRyeUFycmF5X2gKKyNkZWZpbmUg
RW50cnlBcnJheV9oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJFbnRy
eS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBFbnRyeUFycmF5IDogcHVibGlj
IFJlZkNvdW50ZWQ8RW50cnlBcnJheT4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEVudHJ5QXJyYXk+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEVudHJ5QXJyYXkoKSk7CisgICAgfQorCisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyBy
ZXR1cm4gbV9lbnRyaWVzLnNpemUoKTsgfQorICAgIEVudHJ5KiBpdGVtKHVuc2lnbmVkIGluZGV4
KSBjb25zdDsKKyAgICB2b2lkIHNldCh1bnNpZ25lZCBpbmRleCwgUGFzc1JlZlB0cjxFbnRyeT4g
ZW50cnkpOworCisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9lbnRyaWVzLmlz
RW1wdHkoKTsgfQorICAgIHZvaWQgY2xlYXIoKSB7IG1fZW50cmllcy5jbGVhcigpOyB9CisgICAg
dm9pZCBhcHBlbmQoUGFzc1JlZlB0cjxFbnRyeT4gZW50cnkpIHsgbV9lbnRyaWVzLmFwcGVuZChl
bnRyeSk7IH0KKworcHJpdmF0ZToKKyAgICBFbnRyeUFycmF5KCk7CisKKyAgICBWZWN0b3I8UmVm
UHRyPEVudHJ5PiA+IG1fZW50cmllczsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAv
LyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBFbnRyeUFycmF5X2gKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9FbnRyeUFycmF5LmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9FbnRy
eUFycmF5LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTg3ZWNlZmViZWRiY2FlZWJjM2E3ZjEyYjk3MDZlZTkz
OGE0ZGYwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0VudHJ5QXJyYXkuaWRs
CkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAg
ICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAgICAgIEhhc0luZGV4R2V0dGVyLAorICAg
IF0gRW50cnlBcnJheSB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxlbmd0aDsKKyAgICAgICAgRW50cnkgaXRlbShpbiBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBp
bmRleCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9GaWxlRW50cnku
Y3BwIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVFbnRyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGJlYzAxZDg5
ZmI2NjVjNGIzOWMyOTc4NGUyMDBjYjQxMzM3YjA4ZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9GaWxlRW50cnkuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5LmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworRmlsZUVudHJ5OjpGaWxlRW50cnkoUGFzc1JlZlB0cjxE
T01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDog
RW50cnkoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
RmlsZUVudHJ5LmggYi9XZWJDb3JlL3N0b3JhZ2UvRmlsZUVudHJ5LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjAy
YjVjNzA0OWFmMzc2NWMyZWQ5ZWZmZTMxMzVkNjE4Y2MxMzM3ZgotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvc3RvcmFnZS9GaWxlRW50cnkuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBGaWxl
RW50cnlfaAorI2RlZmluZSBGaWxlRW50cnlfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQor
CisjaW5jbHVkZSAiRW50cnkuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01GaWxlU3lzdGVtOworCitjbGFzcyBGaWxlRW50
cnkgOiBwdWJsaWMgRW50cnkgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZpbGVF
bnRyeT4gY3JlYXRlKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3Qg
U3RyaW5nJiBmdWxsUGF0aCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRmls
ZUVudHJ5KGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CisgICAgfQorICAgIHZpcnR1YWwgYm9vbCBp
c0ZpbGUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKK3ByaXZhdGU6CisgICAgRmlsZUVudHJ5
KFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxs
UGF0aCk7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lT
VEVNKQorCisjZW5kaWYgLy8gRmlsZUVudHJ5X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9GaWxlRW50cnkuaWRsIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVFbnRyeS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWYzYjgwNzVhZTM3NTFkNTUyZmUyODI1MjllNzVkMWFkNTMwN2M2MgotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9GaWxlRW50cnkuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1
bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9T
WVNURU0sCisgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAorICAgICAgICBHZW5lcmF0
ZVRvSlMKKyAgICBdIEZpbGVFbnRyeSA6IEVudHJ5IHsKKyAgICB9OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64526</attachid>
            <date>2010-08-16 15:13:47 -0700</date>
            <delta_ts>2010-08-16 16:20:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43993-20100816151346.patch</filename>
            <type>text/plain</type>
            <size>96154</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggNDg2ZDhjZDNhZWE1MTVl
OGM5ZTFkOTlhYzI1MTk5YzkyZjE1OWRlOS4uZThlODZmNjJjYzQxMjZmZTI1MGYwMjY0ZThjMGQ3
ZjhmNjFlMjdjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGlu
Z3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTM4
Nyw2ICszODcsMzIgQEAgTE9DQUxfR0VORVJBVEVEX1NPVVJDRVMgKz0gJChHRU4pICQoR0VOOiUu
aD0lLmNwcCkKICMgYWJvdmUgcnVsZXMuICBTcGVjaWZ5aW5nIHRoaXMgZXhwbGljaXRseSBtYWtl
cyAtajIgd29yay4KICQocGF0c3Vic3QgJS5oLCUuY3BwLCQoR0VOKSk6ICQoaW50ZXJtZWRpYXRl
cykvc3RvcmFnZS8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS8lLmgKIAorIyBGaWxl
U3lzdGVtCitHRU4gOj0gXAorICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0RpcmVjdG9y
eUVudHJ5LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0RpcmVjdG9yeVJlYWRl
ci5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL3N0b3JhZ2UvSlNET01GaWxlU3lzdGVtLmggXAor
ICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0VudHJpZXNDYWxsYmFjay5oIFwKKyAgICAk
KGludGVybWVkaWF0ZXMpL3N0b3JhZ2UvSlNFbnRyeS5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMp
L3N0b3JhZ2UvSlNFbnRyeUFycmF5LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9K
U0VudHJ5Q2FsbGJhY2suaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL0pTRXJyb3JD
YWxsYmFjay5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL3N0b3JhZ2UvSlNGaWxlRW50cnkuaCBc
CisgICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL0pTRmlsZVN5c3RlbUNhbGxiYWNrLmggXAor
ICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0ZsYWdzLmggXAorICAgICQoaW50ZXJtZWRp
YXRlcykvc3RvcmFnZS9KU01ldGFkYXRhLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFn
ZS9KU01ldGFkYXRhQ2FsbGJhY2suaAorCiskKEdFTik6IFBSSVZBVEVfUEFUSCA6PSAkKExPQ0FM
X1BBVEgpCiskKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wgPSBwZXJsIC1JJChQUklWQVRFX1BB
VEgpL2JpbmRpbmdzL3NjcmlwdHMgJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMvZ2Vu
ZXJhdGUtYmluZGluZ3MucGwgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5FUykgTEFOR1VBR0Vf
SkFWQVNDUklQVCIgLS1nZW5lcmF0b3IgSlMgLS1pbmNsdWRlIGRvbSAtLWluY2x1ZGUgaHRtbCAt
LW91dHB1dGRpciAkKGRpciAkQCkgJDwKKyQoR0VOKTogJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdl
L0pTJS5oIDogJChMT0NBTF9QQVRIKS9zdG9yYWdlLyUuaWRsICQoanNfYmluZGluZ19zY3JpcHRz
KQorICAgICAgICQodHJhbnNmb3JtLWdlbmVyYXRlZC1zb3VyY2UpCitMT0NBTF9HRU5FUkFURURf
U09VUkNFUyArPSAkKEdFTikgJChHRU46JS5oPSUuY3BwKQorCisjIFdlIGFsc28gbmVlZCB0aGUg
LmNwcCBmaWxlcywgd2hpY2ggYXJlIGdlbmVyYXRlZCBhcyBzaWRlIGVmZmVjdHMgb2YgdGhlCisj
IGFib3ZlIHJ1bGVzLiAgU3BlY2lmeWluZyB0aGlzIGV4cGxpY2l0bHkgbWFrZXMgLWoyIHdvcmsu
CiskKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVkaWF0ZXMpL3N0b3JhZ2Uv
JS5jcHAgOiAkKGludGVybWVkaWF0ZXMpL3N0b3JhZ2UvJS5oCisKICMgU1ZHCiBpZmVxICgkKEVO
QUJMRV9TVkcpLCB0cnVlKQogR0VOIDo9IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5k
ZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCmluZGV4IDliOGYyMmMyOWEzODlkOTlhNzI3M2ZlZDQ2MTMwOWFjZjQ3YzNjYTMuLjc1ZjNi
ODk3NGQyMjA2NTQyMjkyNzgyM2QwZTNlMDAzZGJjZjAwNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
QW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5tawpAQCAtMjQ5LDYgKzI0OSwzMiBAQCBMT0NBTF9HRU5FUkFURURfU09V
UkNFUyArPSAkKEdFTikKICMgYWJvdmUgcnVsZXMuICBTcGVjaWZ5aW5nIHRoaXMgZXhwbGljaXRs
eSBtYWtlcyAtajIgd29yay4KICQocGF0c3Vic3QgJS5oLCUuY3BwLCQoR0VOKSk6ICQoaW50ZXJt
ZWRpYXRlcykvYmluZGluZ3MvJS5jcHAgOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuaAog
CisjIEZpbGVTeXN0ZW0KK0dFTiA6PSBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL1Y4
RGlyZWN0b3J5RW50cnkuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL1Y4RGlyZWN0
b3J5UmVhZGVyLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9WOERPTUZpbGVTeXN0
ZW0uaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL1Y4RW50cmllc0NhbGxiYWNrLmgg
XAorICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9WOEVudHJ5LmggXAorICAgICQoaW50ZXJt
ZWRpYXRlcykvc3RvcmFnZS9WOEVudHJ5QXJyYXkuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9z
dG9yYWdlL1Y4RW50cnlDYWxsYmFjay5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL3N0b3JhZ2Uv
VjhFcnJvckNhbGxiYWNrLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9WOEZpbGVF
bnRyeS5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL3N0b3JhZ2UvVjhGaWxlU3lzdGVtQ2FsbGJh
Y2suaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL1Y4RmxhZ3MuaCBcCisgICAgJChp
bnRlcm1lZGlhdGVzKS9zdG9yYWdlL1Y4TWV0YWRhdGEuaCBcCisgICAgJChpbnRlcm1lZGlhdGVz
KS9zdG9yYWdlL1Y4TWV0YWRhdGFDYWxsYmFjay5oCisKKyQoR0VOKTogUFJJVkFURV9QQVRIIDo9
ICQoTE9DQUxfUEFUSCkKKyQoR0VOKTogUFJJVkFURV9DVVNUT01fVE9PTCA9IFNPVVJDRV9ST09U
PSQoUFJJVkFURV9QQVRIKSBwZXJsIC1JJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMg
JChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgLS1k
ZWZpbmVzICIkKEZFQVRVUkVfREVGSU5FUykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5lcmF0
b3IgVjggLS1pbmNsdWRlIGRvbSAtLWluY2x1ZGUgaHRtbCAtLWluY2x1ZGUgc3RvcmFnZSAtLW91
dHB1dGRpciAkKGRpciAkQCkgJDwKKyQoR0VOKTogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9W
OCUuaCA6ICQoTE9DQUxfUEFUSCkvc3RvcmFnZS8lLmlkbCAkKGpzX2JpbmRpbmdfc2NyaXB0cykK
KyAgICAgICAkKHRyYW5zZm9ybS1nZW5lcmF0ZWQtc291cmNlKQorTE9DQUxfR0VORVJBVEVEX1NP
VVJDRVMgKz0gJChHRU4pCisKKyMgV2UgYWxzbyBuZWVkIHRoZSAuY3BwIGZpbGVzLCB3aGljaCBh
cmUgZ2VuZXJhdGVkIGFzIHNpZGUgZWZmZWN0cyBvZiB0aGUKKyMgYWJvdmUgcnVsZXMuICBTcGVj
aWZ5aW5nIHRoaXMgZXhwbGljaXRseSBtYWtlcyAtajIgd29yay4KKyQocGF0c3Vic3QgJS5oLCUu
Y3BwLCQoR0VOKSk6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5jcHAgOiAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzLyUuaAorCiAjIEFwcGNhY2hlCiBHRU4gOj0gXAogICAgICQoaW50ZXJt
ZWRpYXRlcykvYmluZGluZ3MvVjhET01BcHBsaWNhdGlvbkNhY2hlLmgKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDZmYmZi
NDU0YWU3MzNkZDllNjFkNzAyN2M3YTQzMjExODZmOTQ0NWMuLjE3ZjE4ZTZhMGRlYzczZGE5MmEx
YTdlYjEzNzcxNTkyNjhmNWZiNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzM0LDYgKzMzNCwxNyBAQCBTRVQoV2Vi
Q29yZV9JRExfRklMRVMKICAgICBzdG9yYWdlL0RhdGFiYXNlLmlkbAogICAgIHN0b3JhZ2UvRGF0
YWJhc2VDYWxsYmFjay5pZGwKICAgICBzdG9yYWdlL0RhdGFiYXNlU3luYy5pZGwKKyAgICBzdG9y
YWdlL0RpcmVjdG9yeUVudHJ5LmlkbAorICAgIHN0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmlkbAor
ICAgIHN0b3JhZ2UvRE9NRmlsZVN5c3RlbS5pZGwKKyAgICBzdG9yYWdlL0VudHJpZXNDYWxsYmFj
ay5pZGwKKyAgICBzdG9yYWdlL0VudHJ5LmlkbAorICAgIHN0b3JhZ2UvRW50cnlBcnJheS5pZGwK
KyAgICBzdG9yYWdlL0VudHJ5Q2FsbGJhY2suaWRsCisgICAgc3RvcmFnZS9FcnJvckNhbGxiYWNr
LmlkbAorICAgIHN0b3JhZ2UvRmlsZUVudHJ5LmlkbAorICAgIHN0b3JhZ2UvRmlsZVN5c3RlbUNh
bGxiYWNrLmlkbAorICAgIHN0b3JhZ2UvRmxhZ3MuaWRsCiAgICAgc3RvcmFnZS9JREJBbnkuaWRs
CiAgICAgc3RvcmFnZS9JREJDdXJzb3IuaWRsCiAgICAgc3RvcmFnZS9JREJEYXRhYmFzZUVycm9y
LmlkbApAQCAtMzQ5LDYgKzM2MCw4IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHN0b3Jh
Z2UvSURCUmVxdWVzdC5pZGwKICAgICBzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5pZGwKICAgICBz
dG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbAorICAgIHN0b3JhZ2UvTWV0YWRhdGEuaWRsCisgICAg
c3RvcmFnZS9NZXRhZGF0YUNhbGxiYWNrLmlkbAogICAgIHN0b3JhZ2UvU1FMRXJyb3IuaWRsCiAg
ICAgc3RvcmFnZS9TUUxFeGNlcHRpb24uaWRsCiAgICAgc3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRs
CkBAIC0xNDM5LDYgKzE0NTIsMTIgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHN0b3JhZ2Uv
RGF0YWJhc2VUYXNrLmNwcAogICAgIHN0b3JhZ2UvRGF0YWJhc2VUaHJlYWQuY3BwCiAgICAgc3Rv
cmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwCisgICAgc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5jcHAK
KyAgICBzdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5jcHAKKyAgICBzdG9yYWdlL0RPTUZpbGVTeXN0
ZW0uY3BwCisgICAgc3RvcmFnZS9FbnRyeS5jcHAKKyAgICBzdG9yYWdlL0VudHJ5QXJyYXkuY3Bw
CisgICAgc3RvcmFnZS9GaWxlRW50cnkuY3BwCiAgICAgc3RvcmFnZS9JREJBbnkuY3BwCiAgICAg
c3RvcmFnZS9JREJEYXRhYmFzZS5jcHAKICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZElt
cGwuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGE1YmJjNzRhOTc1ZmRiNTA1NmNjYzk3OGRiMjUyOWFjZWQ2YTE5NjEuLjNkNzhjNTQ2
MTJkZTQ3MGJmMGE4MjUzMDQ4Y2NhMWZjYTg5ZGJlNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTAtMDgt
MTYgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpZGwgYW5kIG1vY2sgY2xhc3Nl
cyBmb3IgRmlsZVN5c3RlbSBBUEkncyB7RmlsZSxEaXJlY3Rvcnl9RW50cnkgYW5kIHJlbGF0ZWQg
aW50ZXJmYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDM5OTMKKworICAgICAgICBBZGRpbmcgRGlyZWN0b3J5RW50cnksIERpcmVjdG9yeVJlYWRl
ciwgRW50cmllc0NhbGxiYWNrIGFuZCBGaWxlRW50cnkgYXMgZGVmaW5lZCBpbiBIVE1MNSBGaWxl
U3lzdGVtIEFQSS4KKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvMjAwOS9kYXAvZmlsZS1zeXN0
ZW0vZmlsZS1kaXItc3lzLmh0bWwKKworICAgICAgICBBbHNvIGFkZGluZyBNYWtlZmlsZSBlbnRy
aWVzIGZvciBpZGwgYW5kIG1vY2sgY2xhc3NlcyBhZGRlZCBpbiBjaGFuZ2VzZXQgNjQ0MTQuCisK
KyAgICAgICAgVGVzdHMgd2lsbCBiZSBhZGRlZCB3aGVuIHdlIGFkZCB1bmRlcmx5aW5nIGltcGxl
bWVudGF0aW9uLgorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgor
ICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBy
bzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogc3RvcmFnZS9ET01G
aWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUZpbGVTeXN0ZW06OnJvb3QpOgor
ICAgICAgICAqIHN0b3JhZ2UvRE9NRmlsZVN5c3RlbS5oOgorICAgICAgICAqIHN0b3JhZ2UvRE9N
RmlsZVN5c3RlbS5pZGw6CisgICAgICAgICogc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5jcHA6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvRGlyZWN0b3J5RW50cnkuaDogQWRkZWQuCisgICAgICAg
ICogc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5pZGw6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2Uv
RGlyZWN0b3J5UmVhZGVyLmNwcDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9EaXJlY3RvcnlS
ZWFkZXIuaDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9EaXJlY3RvcnlSZWFkZXIuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL0VudHJpZXNDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAg
ICAgKiBzdG9yYWdlL0VudHJpZXNDYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIHN0b3Jh
Z2UvRW50cnlBcnJheS5jcHA6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvRW50cnlBcnJheS5o
OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL0VudHJ5QXJyYXkuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBzdG9yYWdlL0VudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVudHJ5OjpFbnRyeSk6
CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6Z2V0TWV0YWRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RW50cnk6Om1vdmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6Y29weVRvKToKKyAg
ICAgICAgKFdlYkNvcmU6OkVudHJ5OjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6RW50cnk6
OmdldFBhcmVudCk6CisgICAgICAgICogc3RvcmFnZS9FbnRyeS5oOgorICAgICAgICAoV2ViQ29y
ZTo6RW50cnk6OmlzRmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6aXNEaXJlY3Rvcnkp
OgorICAgICAgICAqIHN0b3JhZ2UvRW50cnkuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvRmlsZUVu
dHJ5LmNwcDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9GaWxlRW50cnkuaDogQWRkZWQuCisg
ICAgICAgICogc3RvcmFnZS9GaWxlRW50cnkuaWRsOiBBZGRlZC4KKwogMjAxMC0wOC0xNiAgRGF2
aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJz
IENhcmxzc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCBlYjQwZGZhYjY4NjFhODNjMzBiYmI1ZmVhNjQ4
MTMzMGM0NTM1MzFiLi4zNTFkYjU0MDA0MGE3ODY5NzM2ZDMzZWRiNTA0NDk2ZTEwY2MyNjA5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcApAQCAtNzMsMTEgKzczLDE0IEBACiAjaW5jbHVkZSAiSlNEYXRhR3JpZENv
bHVtbkxpc3QuY3BwIgogI2luY2x1ZGUgIkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAiCiAj
aW5jbHVkZSAiSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU0RpcmVj
dG9yeUVudHJ5LmNwcCIKKyNpbmNsdWRlICJKU0RpcmVjdG9yeVJlYWRlci5jcHAiCiAjaW5jbHVk
ZSAiSlNEb2N1bWVudC5jcHAiCiAjaW5jbHVkZSAiSlNEb2N1bWVudEZyYWdtZW50LmNwcCIKICNp
bmNsdWRlICJKU0RvY3VtZW50VHlwZS5jcHAiCiAjaW5jbHVkZSAiSlNET01BcHBsaWNhdGlvbkNh
Y2hlLmNwcCIKICNpbmNsdWRlICJKU0RPTUNvcmVFeGNlcHRpb24uY3BwIgorI2luY2x1ZGUgIkpT
RE9NRmlsZVN5c3RlbS5jcHAiCiAjaW5jbHVkZSAiSlNET01Gb3JtRGF0YS5jcHAiCiAjaW5jbHVk
ZSAiSlNET01JbXBsZW1lbnRhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNET01NaW1lVHlwZS5jcHAi
CkBAIC05MiwxNCArOTUsMjIgQEAKICNpbmNsdWRlICJKU0VsZW1lbnQuY3BwIgogI2luY2x1ZGUg
IkpTRW50aXR5LmNwcCIKICNpbmNsdWRlICJKU0VudGl0eVJlZmVyZW5jZS5jcHAiCisjaW5jbHVk
ZSAiSlNFbnRyaWVzQ2FsbGJhY2suY3BwIgorI2luY2x1ZGUgIkpTRW50cnkuY3BwIgorI2luY2x1
ZGUgIkpTRW50cnlBcnJheS5jcHAiCisjaW5jbHVkZSAiSlNFbnRyeUNhbGxiYWNrLmNwcCIKKyNp
bmNsdWRlICJKU0Vycm9yQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTRXJyb3JFdmVudC5jcHAi
CiAjaW5jbHVkZSAiSlNFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNFdmVudEV4Y2VwdGlvbi5jcHAi
CiAjaW5jbHVkZSAiSlNFdmVudFNvdXJjZS5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlLmNwcCIKKyNp
bmNsdWRlICJKU0ZpbGVFbnRyeS5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlRXJyb3IuY3BwIgogI2lu
Y2x1ZGUgIkpTRmlsZUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTRmlsZVJlYWRlci5jcHAiCisjaW5j
bHVkZSAiSlNGaWxlU3lzdGVtQ2FsbGJhY2suY3BwIgorI2luY2x1ZGUgIkpTRmxhZ3MuY3BwIgog
I2luY2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTR2VvcG9zaXRpb24uY3Bw
IgogI2luY2x1ZGUgIkpTSGlzdG9yeS5jcHAiCkBAIC0yMDMsNiArMjE0LDggQEAKICNpbmNsdWRl
ICJKU01lc3NhZ2VDaGFubmVsLmNwcCIKICNpbmNsdWRlICJKU01lc3NhZ2VFdmVudC5jcHAiCiAj
aW5jbHVkZSAiSlNNZXNzYWdlUG9ydC5jcHAiCisjaW5jbHVkZSAiSlNNZXRhZGF0YS5jcHAiCisj
aW5jbHVkZSAiSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU01vdXNlRXZlbnQu
Y3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5v
ZGVNYXAuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGJkYTRhN2QwZGJhNjQ0MjI3YzEwODIxNzY1
ZmE0ZmQ1YzYzNmNlM2EuLjg4NmMxZjM0MmE4YzNjMWM4ZjYyZTY1NzNkOTEyNzBhYmMyN2FjNTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyOSw2ICsxMjksOCBAQCBET01fQ0xBU1NFUyA9IFwKICAg
ICBEYXRhYmFzZVN5bmMgXAogICAgIERldmljZU1vdGlvbkV2ZW50IFwKICAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50IFwKKyAgICBEaXJlY3RvcnlFbnRyeSBcCisgICAgRGlyZWN0b3J5UmVhZGVy
IFwKICAgICBEb2N1bWVudCBcCiAgICAgRG9jdW1lbnRGcmFnbWVudCBcCiAgICAgRG9jdW1lbnRU
eXBlIFwKQEAgLTEzNiw3ICsxMzgsOSBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBFbGVtZW50VGlt
ZUNvbnRyb2wgXAogICAgIEVudGl0eSBcCiAgICAgRW50aXR5UmVmZXJlbmNlIFwKKyAgICBFbnRy
aWVzQ2FsbGJhY2sgXAogICAgIEVudHJ5IFwKKyAgICBFbnRyeUFycmF5IFwKICAgICBFbnRyeUNh
bGxiYWNrIFwKICAgICBFcnJvckNhbGxiYWNrIFwKICAgICBFcnJvckV2ZW50IFwKQEAgLTE0Niw2
ICsxNTAsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBFdmVudFNvdXJjZSBcCiAgICAgRXZlbnRU
YXJnZXQgXAogICAgIEZpbGUgXAorICAgIEZpbGVFbnRyeSBcCiAgICAgRmlsZUVycm9yIFwKICAg
ICBGaWxlTGlzdCBcCiAgICAgRmlsZVJlYWRlciBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAxOWIyNWVlNDhhZjg2ZmMy
MjhkYjk3OTNmNzhiMTNjMjU2MTEwYTg5Li45Mzk4NTJmNjBjODhiYWY0NTYwYzUyNWM1NTBmOTky
NGM2NmI2YWYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0KQEAgLTI5OTMsNiArMjk5Myw1NSBAQCBGRUFUVVJFX0RFRklORVMg
Kz0gRU5BQkxFX0ZJTEVfU1lTVEVNPTEKIHdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfRklM
RV9TWVNURU09MQogZW5kaWYgIyBFTkQgRU5BQkxFX0ZJTEVfU1lTVEVNCiAKK3dlYmNvcmVfYnVp
bHRfc291cmNlcyArPSBcCisgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9y
eUVudHJ5LmNwcCBcCisgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9yeUVu
dHJ5LmggXAorICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEaXJlY3RvcnlSZWFkZXIu
Y3BwIFwKKyAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGlyZWN0b3J5UmVhZGVyLmgg
XAorICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01GaWxlU3lzdGVtLmNwcCBcCisg
ICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTUZpbGVTeXN0ZW0uaCBcCisgICAgICAg
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0VudHJpZXNDYWxsYmFjay5jcHAgXAorICAgICAgIERl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFbnRyaWVzQ2FsbGJhY2suaCBcCisgICAgICAgRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0VudHJ5LmNwcCBcCisgICAgICAgRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0VudHJ5LmggXAorICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFbnRyeUFy
cmF5LmNwcCBcCisgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0VudHJ5QXJyYXkuaCBc
CisgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0VudHJ5Q2FsbGJhY2suY3BwIFwKKyAg
ICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRW50cnlDYWxsYmFjay5oIFwKKyAgICAgICBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JDYWxsYmFjay5jcHAgXAorICAgICAgIERlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNFcnJvckNhbGxiYWNrLmggXAorICAgICAgIERlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNGaWxlRW50cnkuY3BwIFwKKyAgICAgICBEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRmlsZUVudHJ5LmggXAorICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxl
U3lzdGVtQ2FsbGJhY2suY3BwIFwKKyAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmls
ZVN5c3RlbUNhbGxiYWNrLmggXAorICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbGFn
cy5jcHAgXAorICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbGFncy5oIFwKKyAgICAg
ICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWV0YWRhdGEuY3BwIFwKKyAgICAgICBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTWV0YWRhdGEuaCBcCisgICAgICAgRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU01ldGFkYXRhQ2FsbGJhY2suY3BwIFwKKyAgICAgICBEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTWV0YWRhdGFDYWxsYmFjay5oCisKK3dlYmNvcmVfc291cmNlcyArPSBcCisgICAgICAg
V2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeUVudHJ5LmNwcCBcCisgICAgICAgV2ViQ29yZS9zdG9y
YWdlL0RpcmVjdG9yeUVudHJ5LmggXAorICAgICAgIFdlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlS
ZWFkZXIuY3BwIFwKKyAgICAgICBXZWJDb3JlL3N0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmggXAor
ICAgICAgIFdlYkNvcmUvc3RvcmFnZS9ET01GaWxlU3lzdGVtLmNwcCBcCisgICAgICAgV2ViQ29y
ZS9zdG9yYWdlL0RPTUZpbGVTeXN0ZW0uaCBcCisgICAgICAgV2ViQ29yZS9zdG9yYWdlL0VudHJp
ZXNDYWxsYmFjay5oIFwKKyAgICAgICBXZWJDb3JlL3N0b3JhZ2UvRW50cnkuY3BwIFwKKyAgICAg
ICBXZWJDb3JlL3N0b3JhZ2UvRW50cnkuaCBcCisgICAgICAgV2ViQ29yZS9zdG9yYWdlL0VudHJ5
QXJyYXkuY3BwIFwKKyAgICAgICBXZWJDb3JlL3N0b3JhZ2UvRW50cnlBcnJheS5oIFwKKyAgICAg
ICBXZWJDb3JlL3N0b3JhZ2UvRW50cnlDYWxsYmFjay5oIFwKKyAgICAgICBXZWJDb3JlL3N0b3Jh
Z2UvRXJyb3JDYWxsYmFjay5oIFwKKyAgICAgICBXZWJDb3JlL3N0b3JhZ2UvRmlsZUVudHJ5LmNw
cCBcCisgICAgICAgV2ViQ29yZS9zdG9yYWdlL0ZpbGVFbnRyeS5oIFwKKyAgICAgICBXZWJDb3Jl
L3N0b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNrLmggXAorICAgICAgIFdlYkNvcmUvc3RvcmFnZS9G
bGFncy5oIFwKKyAgICAgICBXZWJDb3JlL3N0b3JhZ2UvTWV0YWRhdGEuaCBcCisgICAgICAgV2Vi
Q29yZS9zdG9yYWdlL01ldGFkYXRhQ2FsbGJhY2suaAorCiAjIC0tLS0KICMgU3BlZWNoIElucHV0
IEFQSSBzdXBwb3J0CiAjIC0tLS0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYmQxZjFiNjE4NGNiMjYxZWRkZWQ1ZmE0NDQ4MjBk
ZTg3MjBlOGMyYy4uNWY1NTQyOTU1YTlmOTAwYTk0ZTAwZDc4NTgyZTUwZDdhMWEzMDkxNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTIzMSwxMCArMjMxLDE1IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZS5pZGwn
LAogICAgICAgICAgICAgJ3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5pZGwnLAogICAgICAgICAg
ICAgJ3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmlkbCcsCisgICAgICAgICAgICAnc3RvcmFnZS9EaXJl
Y3RvcnlFbnRyeS5pZGwnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmlk
bCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9ET01GaWxlU3lzdGVtLmlkbCcsCisgICAgICAgICAg
ICAnc3RvcmFnZS9FbnRyaWVzQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdzdG9yYWdlL0Vu
dHJ5LmlkbCcsCisgICAgICAgICAgICAnc3RvcmFnZS9FbnRyeUFycmF5LmlkbCcsCiAgICAgICAg
ICAgICAnc3RvcmFnZS9FbnRyeUNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9F
cnJvckNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnc3RvcmFnZS9GaWxlRW50cnkuaWRsJywK
ICAgICAgICAgICAgICdzdG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFjay5pZGwnLAogICAgICAgICAg
ICAgJ3N0b3JhZ2UvRmxhZ3MuaWRsJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkFueS5pZGwn
LApAQCAtMzUzOSwxMSArMzU0NCwyMSBAQAogICAgICAgICAgICAgJ3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXJDbGllbnQuaCcsCisgICAgICAgICAg
ICAnc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5jcHAnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvRGly
ZWN0b3J5RW50cnkuaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9EaXJlY3RvcnlSZWFkZXIuY3Bw
JywKKyAgICAgICAgICAgICdzdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5oJywKICAgICAgICAgICAg
ICdzdG9yYWdlL0RPTUZpbGVTeXN0ZW0uY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL0RPTUZp
bGVTeXN0ZW0uaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9FbnRyaWVzQ2FsbGJhY2suaCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9FbnRyeS5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvRW50
cnkuaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9FbnRyeUFycmF5LmNwcCcsCisgICAgICAgICAg
ICAnc3RvcmFnZS9FbnRyeUFycmF5LmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvRW50cnlDYWxs
YmFjay5oJywKKyAgICAgICAgICAgICdzdG9yYWdlL0Vycm9yQ2FsbGJhY2suaCcsCisgICAgICAg
ICAgICAnc3RvcmFnZS9GaWxlRW50cnkuY3BwJywKKyAgICAgICAgICAgICdzdG9yYWdlL0ZpbGVF
bnRyeS5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFjay5oJywKICAg
ICAgICAgICAgICdzdG9yYWdlL0ZsYWdzLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCQW55
LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3Jl
LnByaQppbmRleCA3MTgxOGMyMjMwMjI3ZTEwNWJjYmM2MDI5NDI0Y2I4NjQ1ZWZlMWMzLi43ZGFh
NzZhYWY4NjJmYmQ0MzFlYzYyMDdjMzdjYTEzMTlkYzI0OTA1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTI5MSw2ICsyOTEsMTcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBzdG9yYWdlL0RhdGFiYXNlLmlkbCBcCiAgICAgc3Rv
cmFnZS9EYXRhYmFzZUNhbGxiYWNrLmlkbCBcCiAgICAgc3RvcmFnZS9EYXRhYmFzZVN5bmMuaWRs
IFwKKyAgICBzdG9yYWdlL0RpcmVjdG9yeUVudHJ5LmlkbCBcCisgICAgc3RvcmFnZS9EaXJlY3Rv
cnlSZWFkZXIuaWRsIFwKKyAgICBzdG9yYWdlL0RPTUZpbGVTeXN0ZW0uaWRsIFwKKyAgICBzdG9y
YWdlL0VudHJpZXNDYWxsYmFjay5pZGwgXAorICAgIHN0b3JhZ2UvRW50cnkuaWRsIFwKKyAgICBz
dG9yYWdlL0VudHJ5QXJyYXkuaWRsIFwKKyAgICBzdG9yYWdlL0VudHJ5Q2FsbGJhY2suaWRsIFwK
KyAgICBzdG9yYWdlL0Vycm9yQ2FsbGJhY2suaWRsIFwKKyAgICBzdG9yYWdlL0ZpbGVFbnRyeS5p
ZGwgXAorICAgIHN0b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNrLmlkbCBcCisgICAgc3RvcmFnZS9G
bGFncy5pZGwgXAogICAgIHN0b3JhZ2UvSURCQW55LmlkbCBcCiAgICAgc3RvcmFnZS9JREJDdXJz
b3IuaWRsIFwKICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlRXJyb3IuaWRsIFwKQEAgLTMwNiw2ICsz
MTcsOCBAQCBJRExfQklORElOR1MgKz0gXAogICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGwgXAog
ICAgIHN0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbCBcCiAgICAgc3RvcmFnZS9JREJUcmFuc2Fj
dGlvbi5pZGwgXAorICAgIHN0b3JhZ2UvTWV0YWRhdGEuaWRsIFwKKyAgICBzdG9yYWdlL01ldGFk
YXRhQ2FsbGJhY2suaWRsIFwKICAgICBzdG9yYWdlL1N0b3JhZ2UuaWRsIFwKICAgICBzdG9yYWdl
L1N0b3JhZ2VFdmVudC5pZGwgXAogICAgIHN0b3JhZ2UvU1FMRXJyb3IuaWRsIFwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDIxMjA5
NmRmMTc1YmU0YmUzMzBhMmViYWIxYzA2YzQwNDI4MDc1OTIuLjc2ZTM3ODIwNTlmOGY0MDI1ODVm
YzkwZDRmNThkYWY4MmI3Y2JmYjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjU0Niw2ICsyNTQ2LDMxIEBAIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9ET01fU1RPUkFHRT0xKSB7CiAgICAgICAgIHN0b3JhZ2UvU3RvcmFnZVN5
bmNNYW5hZ2VyLmNwcAogfQogCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklMRV9TWVNURU09
MSkgeworICAgIEhFQURFUlMgKz0gXAorICAgICAgICBzdG9yYWdlL0RpcmVjdG9yeUVudHJ5Lmgg
XAorICAgICAgICBzdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5oIFwKKyAgICAgICAgc3RvcmFnZS9E
T01GaWxlU3lzdGVtLmggXAorICAgICAgICBzdG9yYWdlL0VudHJpZXNDYWxsYmFjay5oIFwKKyAg
ICAgICAgc3RvcmFnZS9FbnRyeS5oIFwKKyAgICAgICAgc3RvcmFnZS9FbnRyeUFycmF5LmggXAor
ICAgICAgICBzdG9yYWdlL0VudHJ5Q2FsbGJhY2suaCBcCisgICAgICAgIHN0b3JhZ2UvRXJyb3JD
YWxsYmFjay5oIFwKKyAgICAgICAgc3RvcmFnZS9GaWxlRW50cnkuaCBcCisgICAgICAgIHN0b3Jh
Z2UvRmlsZVN5c3RlbUNhbGxiYWNrLmggXAorICAgICAgICBzdG9yYWdlL0ZsYWdzLmggXAorICAg
ICAgICBzdG9yYWdlL01ldGFkYXRhLmggXAorICAgICAgICBzdG9yYWdlL01ldGFkYXRhQ2FsbGJh
Y2suaAorCisgICAgU09VUkNFUyArPSBcCisgICAgICAgIHN0b3JhZ2UvRGlyZWN0b3J5RW50cnku
Y3BwIFwKKyAgICAgICAgc3RvcmFnZS9EaXJlY3RvcnlSZWFkZXIuY3BwIFwKKyAgICAgICAgc3Rv
cmFnZS9ET01GaWxlU3lzdGVtLmNwcCBcCisgICAgICAgIHN0b3JhZ2UvRW50cnkuY3BwIFwKKyAg
ICAgICAgc3RvcmFnZS9FbnRyeUFycmF5LmNwcCBcCisgICAgICAgIHN0b3JhZ2UvRmlsZUVudHJ5
LmNwcAorfQorCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSUNPTkRBVEFCQVNFPTEpIHsKICAg
ICBTT1VSQ0VTICs9IFwKICAgICAgICAgbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcCBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBmMzBiODU0ODU2NmRlODI1YzQw
YzZkZGIwZGIzMzU3ZTNmOTljYTgzLi5mYzYyOGQ3ZjI1MzRkODM4MzYyYTcwM2FlYjllNjkzYjg1
YmI3NWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMwMTcsNiAr
MzAxNywxMTggQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0RpcmVjdG9yeUVudHJ5LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xX
aW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRv
b2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1
Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0RpcmVjdG9yeUVudHJ5LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTRGlyZWN0b3J5UmVhZGVyLmNwcCINCisJCQkJPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fp
cm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
UmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0RpcmVjdG9yeVJlYWRlci5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RvY3VtZW50LmNwcCINCiAJCQkJPg0K
IAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zMjk3LDYgKzM0MDksNjIgQEAKIAkJCQk+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZpbGVTeXN0ZW0uY3Bw
Ig0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29s
DQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NRmlsZVN5c3RlbS5o
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTUZv
cm1EYXRhLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00MDg1LDYg
KzQyNTMsMjg2IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNFbnRyaWVzQ2FsbGJhY2suY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJv
fFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8
VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRl
YnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0K
KwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTRW50cmllc0NhbGxiYWNrLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTRW50cnkuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4z
MiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wN
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNl
X0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTRW50cnkuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNFbnRyeUFycmF5LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2lu
MzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29s
DQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFz
ZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0K
KwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlO
YW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0VudHJ5QXJyYXkuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFbnRyeUNhbGxiYWNrLmNwcCINCisJCQkJPg0KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2lu
MzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29s
DQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0K
KwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJ
CQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0VudHJ5Q2FsbGJhY2suaCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFcnJvckNhbGxiYWNrLmNwcCINCisJ
CQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0K
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2lu
MzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29s
DQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdf
SW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4N
CisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
TmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIN
CisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0Vycm9yQ2FsbGJhY2suaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNFcnJvckV2ZW50
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00NTMzLDYgKzQ5ODEs
MTE4IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNG
aWxlU3lzdGVtQ2FsbGJhY2suY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIN
CisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdp
bjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9v
bA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRmlsZVN5c3RlbUNhbGxiYWNrLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTRmxhZ3MuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4z
MiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wN
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNl
X0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTRmxhZ3MuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNHZW9sb2NhdGlvbi5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQpAQCAtOTQwNSw2ICs5OTY1LDExOCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuY3BwIg0KKwkJCQk+DQorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4z
MiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wN
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCINCisJCQkJ
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50
ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01ldGFkYXRhQ2FsbGJhY2suaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNb3VzZUV2ZW50
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC01MDM3Nyw2ICs1MTA0
OSw3NCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxzdG9yYWdlXERpcmVjdG9yeUVudHJ5LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcRGlyZWN0b3J5RW50cnkuaCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0
b3JhZ2VcRGlyZWN0b3J5UmVhZGVyLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8Rmls
ZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcRGlyZWN0b3J5UmVhZGVyLmgiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdl
XERPTUZpbGVTeXN0ZW0uY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxET01GaWxlU3lzdGVtLmgiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEVudHJpZXND
YWxsYmFjay5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cc3RvcmFnZVxFbnRyeS5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEVudHJ5LmgiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEVudHJ5QXJy
YXkuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cc3RvcmFnZVxFbnRyeUFycmF5LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEVudHJ5Q2FsbGJhY2suaCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2Vc
RXJyb3JDYWxsYmFjay5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxGaWxlRW50cnkuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxGaWxlRW50cnkuaCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0
b3JhZ2VcRmlsZVN5c3RlbUNhbGxiYWNrLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEZsYWdzLmgiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXElEQkFueS5j
cHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtNTA1NjUsNiArNTEzMDUsMTQgQEAKIAkJCQk+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxN
ZXRhZGF0YS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cc3RvcmFnZVxNZXRhZGF0YUNhbGxiYWNrLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXExvY2FsU3RvcmFnZVRo
cmVhZC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwMjgzNGQ0Mjc3NDIxYTZkYTVhM2M5NWQ4MzY5NDQzNmNm
NGNjMmNkLi5kNzBlZTM2ODYyODgyMzMyOWE2OTdmYmRhYjcxMjRkOTEzODRjYWExIDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjM4MCw2ICsyMzgwLDQ1
IEBACiAJCTg5NTI1M0RGMTE2QzRGMDYwMENBQkYwMCAvKiBGaWxlVGhyZWFkVGFzay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk1MjUzREUxMTZDNEYw
NjAwQ0FCRjAwIC8qIEZpbGVUaHJlYWRUYXNrLmggKi87IH07CiAJCTg5ODhFMTBFMTFBMzUwOEIw
MERCNzMyRSAvKiBCbG9iSXRlbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTg4RTEwQzExQTM1MDhCMDBEQjczMkUgLyogQmxvYkl0ZW0uY3BwICov
OyB9OwogCQk4OTg4RTEwRjExQTM1MDhCMDBEQjczMkUgLyogQmxvYkl0ZW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODhFMTBEMTFBMzUwOEIwMERC
NzMyRSAvKiBCbG9iSXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTg5OUFCQzI2MTIxNUU0QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlFbnRyeS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkMy
MDEyMTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5RW50cnkuY3BwICovOyB9OworCQk4OTlBQkMy
NzEyMTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzIxMTIxNUU0QTMwMEY5RjIxOSAvKiBE
aXJlY3RvcnlFbnRyeS5oICovOyB9OworCQk4OTlBQkMyOTEyMTVFNEEzMDBGOUYyMTkgLyogRGly
ZWN0b3J5UmVhZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5OUFCQzIzMTIxNUU0QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICov
OyB9OworCQk4OTlBQkMyQTEyMTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5UmVhZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkMyNDEyMTVF
NEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5UmVhZGVyLmggKi87IH07CisJCTg5OUFCQzM0MTIxNUU0
QkUwMEY5RjIxOSAvKiBFbnRyaWVzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzJDMTIxNUU0QkUwMEY5RjIxOSAvKiBFbnRyaWVz
Q2FsbGJhY2suaCAqLzsgfTsKKwkJODk5QUJDMzYxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJy
YXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk5
QUJDMkUxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJyYXkuY3BwICovOyB9OworCQk4OTlBQkMz
NzEyMTVFNEJFMDBGOUYyMTkgLyogRW50cnlBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk5QUJDMkYxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5
QXJyYXkuaCAqLzsgfTsKKwkJODk5QUJDMzkxMjE1RTRCRTAwRjlGMjE5IC8qIEZpbGVFbnRyeS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkMz
MTEyMTVFNEJFMDBGOUYyMTkgLyogRmlsZUVudHJ5LmNwcCAqLzsgfTsKKwkJODk5QUJDM0ExMjE1
RTRCRTAwRjlGMjE5IC8qIEZpbGVFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODk5QUJDMzIxMjE1RTRCRTAwRjlGMjE5IC8qIEZpbGVFbnRyeS5o
ICovOyB9OworCQk4OTlBQkM1RDEyMTVFQjJBMDBGOUYyMTkgLyogSlNEaXJlY3RvcnlFbnRyeS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkM1
NTEyMTVFQjJBMDBGOUYyMTkgLyogSlNEaXJlY3RvcnlFbnRyeS5jcHAgKi87IH07CisJCTg5OUFC
QzVFMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0RpcmVjdG9yeUVudHJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkM1NjEyMTVFQjJBMDBGOUYyMTkg
LyogSlNEaXJlY3RvcnlFbnRyeS5oICovOyB9OworCQk4OTlBQkM1RjEyMTVFQjJBMDBGOUYyMTkg
LyogSlNFbnRyaWVzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODk5QUJDNTcxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cmllc0NhbGxi
YWNrLmNwcCAqLzsgfTsKKwkJODk5QUJDNjAxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cmllc0Nh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
OTlBQkM1ODEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyaWVzQ2FsbGJhY2suaCAqLzsgfTsKKwkJ
ODk5QUJDNjExMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cnlBcnJheS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTlBQkM1OTEyMTVFQjJBMDBGOUYy
MTkgLyogSlNFbnRyeUFycmF5LmNwcCAqLzsgfTsKKwkJODk5QUJDNjIxMjE1RUIyQTAwRjlGMjE5
IC8qIEpTRW50cnlBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODk5QUJDNUExMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cnlBcnJheS5oICovOyB9
OworCQk4OTlBQkM2MzEyMTVFQjJBMDBGOUYyMTkgLyogSlNGaWxlRW50cnkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk5QUJDNUIxMjE1RUIyQTAw
RjlGMjE5IC8qIEpTRmlsZUVudHJ5LmNwcCAqLzsgfTsKKwkJODk5QUJDNjQxMjE1RUIyQTAwRjlG
MjE5IC8qIEpTRmlsZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTlBQkM1QzEyMTVFQjJBMDBGOUYyMTkgLyogSlNGaWxlRW50cnkuaCAqLzsg
fTsKKwkJODk5QUJDNkQxMjE1RUNFRjAwRjlGMjE5IC8qIEpTRGlyZWN0b3J5UmVhZGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OUFCQzZCMTIx
NUVDRUYwMEY5RjIxOSAvKiBKU0RpcmVjdG9yeVJlYWRlci5jcHAgKi87IH07CisJCTg5OUFCQzZF
MTIxNUVDRUYwMEY5RjIxOSAvKiBKU0RpcmVjdG9yeVJlYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk5QUJDNkMxMjE1RUNFRjAwRjlGMjE5IC8q
IEpTRGlyZWN0b3J5UmVhZGVyLmggKi87IH07CisJCTg5OUFCQzc5MTIxNUYwMzEwMEY5RjIxOSAv
KiBKU0RPTUZpbGVTeXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODk3QTJEOEQxMjAwMDM1RjAwODI3NDBDIC8qIEpTRE9NRmlsZVN5c3RlbS5j
cHAgKi87IH07CisJCTg5OUFCQzdBMTIxNUYwMzEwMEY5RjIxOSAvKiBKU0RPTUZpbGVTeXN0ZW0u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDhF
MTIwMDAzNUYwMDgyNzQwQyAvKiBKU0RPTUZpbGVTeXN0ZW0uaCAqLzsgfTsKKwkJODk5QUJDN0Ix
MjE1RjAzMzAwRjlGMjE5IC8qIEpTRW50cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJENDkxMUZGNkM5MDAwODI3NDBDIC8qIEpTRW50cnku
Y3BwICovOyB9OworCQk4OTlBQkM3QzEyMTVGMDMzMDBGOUYyMTkgLyogSlNFbnRyeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJENEExMUZGNkM5
MDAwODI3NDBDIC8qIEpTRW50cnkuaCAqLzsgfTsKKwkJODk5QUJDN0QxMjE1RjAzNjAwRjlGMjE5
IC8qIEpTRW50cnlDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTdBMkQ0QjExRkY2QzkwMDA4Mjc0MEMgLyogSlNFbnRyeUNhbGxiYWNr
LmNwcCAqLzsgfTsKKwkJODk5QUJDN0UxMjE1RjAzNzAwRjlGMjE5IC8qIEpTRW50cnlDYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJE
NEMxMUZGNkM5MDAwODI3NDBDIC8qIEpTRW50cnlDYWxsYmFjay5oICovOyB9OworCQk4OTlBQkM3
RjEyMTVGMDM4MDBGOUYyMTkgLyogSlNFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDREMTFGRjZDOTAwMDgyNzQwQyAv
KiBKU0Vycm9yQ2FsbGJhY2suY3BwICovOyB9OworCQk4OTlBQkM4MDEyMTVGMDM4MDBGOUYyMTkg
LyogSlNFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTdBMkQ0RTExRkY2QzkwMDA4Mjc0MEMgLyogSlNFcnJvckNhbGxiYWNrLmgg
Ki87IH07CisJCTg5OUFCQzgxMTIxNUYwM0IwMEY5RjIxOSAvKiBKU0ZsYWdzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTdBMkQ5MjEyMDAwMzc2MDA4
Mjc0MEMgLyogSlNGbGFncy5oICovOyB9OworCQk4OTlBQkM4MjEyMTVGMDNCMDBGOUYyMTkgLyog
SlNGbGFncy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4OTdBMkQ5MTEyMDAwMzc2MDA4Mjc0MEMgLyogSlNGbGFncy5jcHAgKi87IH07CisJCTg5OUFC
QzgzMTIxNUYwM0MwMEY5RjIxOSAvKiBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk3QTJENTYxMUZGNkNBNDAwODI3
NDBDIC8qIEpTRmlsZVN5c3RlbUNhbGxiYWNrLmggKi87IH07CisJCTg5OUFCQzg0MTIxNUYwM0Qw
MEY5RjIxOSAvKiBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTdBMkQ1NTExRkY2Q0E0MDA4Mjc0MEMgLyogSlNG
aWxlU3lzdGVtQ2FsbGJhY2suY3BwICovOyB9OworCQk4OTlBQkM4NjEyMTVGMEQ4MDBGOUYyMTkg
LyogRE9NRmlsZVN5c3RlbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTdBMkQxOTExRkY1OEE1MDA4Mjc0MEMgLyogRE9NRmlsZVN5c3RlbS5jcHAg
Ki87IH07CisJCTg5OUFCQzg3MTIxNUYwREYwMEY5RjIxOSAvKiBET01GaWxlU3lzdGVtLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTdBMkQxQTExRkY1
OEE1MDA4Mjc0MEMgLyogRE9NRmlsZVN5c3RlbS5oICovOyB9OworCQk4OTlBQkM5NjEyMTVGOURB
MDBGOUYyMTkgLyogRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODk3QTJEMjAxMUZGNThBNTAwODI3NDBDIC8qIEVycm9yQ2FsbGJh
Y2suaCAqLzsgfTsKKwkJODk5QUJDOTcxMjE1RjlERjAwRjlGMjE5IC8qIEVudHJ5Q2FsbGJhY2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDFF
MTFGRjU4QTUwMDgyNzQwQyAvKiBFbnRyeUNhbGxiYWNrLmggKi87IH07CisJCTg5OUFCQ0FBMTIx
NUZBNTUwMEY5RjIxOSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDIxMTFGRjU4QTUwMDgyNzQwQyAvKiBG
aWxlU3lzdGVtQ2FsbGJhY2suaCAqLzsgfTsKKwkJODk5QUJDQUIxMjE1RkE1QTAwRjlGMjE5IC8q
IEZsYWdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
OTdBMkQ2MDEyMDAwMTIyMDA4Mjc0MEMgLyogRmxhZ3MuaCAqLzsgfTsKKwkJODk5QUJDQjkxMjE1
RkFCNTAwRjlGMjE5IC8qIEVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OTdBMkQxRDExRkY1OEE1MDA4Mjc0MEMgLyogRW50cnkuaCAqLzsgfTsK
KwkJODk5QUJDQkExMjE1RkFCODAwRjlGMjE5IC8qIEVudHJ5LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5N0EyRDFDMTFGRjU4QTUwMDgyNzQwQyAv
KiBFbnRyeS5jcHAgKi87IH07CiAJCTg5QjVFQUExMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5k
aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
QjVFQTlGMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5nLmNwcCAqLzsgfTsKIAkJODlCNUVB
QTIxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QjVFQUEwMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5l
RW5kaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJODlCRUQ1RUIxMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QkVENUU5MTFCRTExQ0UwMDQ0
ODQ5MiAvKiBCbG9iQnVpbGRlci5jcHAgKi87IH07CkBAIC04MjE0LDYgKzgyNTMsMzAgQEAKIAkJ
ODk3QTJEOTIxMjAwMDM3NjAwODI3NDBDIC8qIEpTRmxhZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNGbGFncy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
OTg4RTEwQzExQTM1MDhCMDBEQjczMkUgLyogQmxvYkl0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQmxvYkl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4OTg4RTEwRDExQTM1MDhCMDBEQjczMkUgLyogQmxvYkl0ZW0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmxvYkl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODk5QUJDMjAxMjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeUVudHJ5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpcmVjdG9yeUVudHJ5LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk5QUJDMjExMjE1RTRBMzAwRjlGMjE5IC8q
IERpcmVjdG9yeUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpcmVj
dG9yeUVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzIyMTIxNUU0
QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlFbnRyeS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
RGlyZWN0b3J5RW50cnkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkMy
MzEyMTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpcmVjdG9yeVJlYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg5OUFCQzI0MTIxNUU0QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlSZWFk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlyZWN0b3J5UmVhZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzI1MTIxNUU0QTMwMEY5RjIxOSAv
KiBEaXJlY3RvcnlSZWFkZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERpcmVjdG9yeVJl
YWRlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzJDMTIxNUU0QkUw
MEY5RjIxOSAvKiBFbnRyaWVzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRW50cmllc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5
OUFCQzJEMTIxNUU0QkUwMEY5RjIxOSAvKiBFbnRyaWVzQ2FsbGJhY2suaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEVudHJpZXNDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg5OUFCQzJFMTIxNUU0QkUwMEY5RjIxOSAvKiBFbnRyeUFycmF5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVudHJ5QXJyYXkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTlBQkMyRjEyMTVFNEJFMDBGOUYyMTkgLyogRW50cnlBcnJh
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbnRyeUFycmF5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OUFCQzMwMTIxNUU0QkUwMEY5RjIxOSAvKiBFbnRy
eUFycmF5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFbnRyeUFycmF5LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk5QUJDMzExMjE1RTRCRTAwRjlGMjE5IC8qIEZpbGVF
bnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaWxlRW50cnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkMzMjEyMTVFNEJFMDBGOUYy
MTkgLyogRmlsZUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVF
bnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkMzMzEyMTVFNEJFMDBG
OUYyMTkgLyogRmlsZUVudHJ5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBGaWxlRW50cnku
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkM1NTEyMTVFQjJBMDBGOUYy
MTkgLyogSlNEaXJlY3RvcnlFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0RpcmVjdG9yeUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODk5QUJDNTYxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRGlyZWN0b3J5RW50cnkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEaXJlY3RvcnlFbnRyeS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4OTlBQkM1NzEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyaWVz
Q2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRy
aWVzQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkM1ODEy
MTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyaWVzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNFbnRyaWVzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODk5QUJDNTkxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cnlBcnJheS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VudHJ5QXJyYXkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkM1QTEyMTVFQjJBMDBGOUYyMTkgLyogSlNF
bnRyeUFycmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRW50cnlBcnJh
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkM1QjEyMTVFQjJBMDBGOUYy
MTkgLyogSlNGaWxlRW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNGaWxlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTlBQkM1
QzEyMTVFQjJBMDBGOUYyMTkgLyogSlNGaWxlRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNGaWxlRW50cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODk5QUJDNkIxMjE1RUNFRjAwRjlGMjE5IC8qIEpTRGlyZWN0b3J5UmVhZGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGlyZWN0b3J5UmVhZGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk5QUJDNkMxMjE1RUNFRjAwRjlGMjE5IC8qIEpT
RGlyZWN0b3J5UmVhZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGly
ZWN0b3J5UmVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5QjVFQTlGMTFF
ODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IExpbmVFbmRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4OUI1RUFBMDExRTgwMDNEMDBGMjM2N0UgLyogTGluZUVuZGluZy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMaW5lRW5kaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg5QkVENUU5MTFCRTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCbG9iQnVpbGRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTQ5MCwxNiArMTE1NTMsMzAgQEAKIAkJCQkxQUQ1MUEx
MzBDQjU5Q0QzMDA5NTNEMTEgLyogRGF0YWJhc2VUcmFja2VyLmNwcCAqLywKIAkJCQkxQUQ1MUEx
MjBDQjU5Q0QzMDA5NTNEMTEgLyogRGF0YWJhc2VUcmFja2VyLmggKi8sCiAJCQkJNTFGQUZFMzMw
Q0VDQkYyRDAwQkIzRjI0IC8qIERhdGFiYXNlVHJhY2tlckNsaWVudC5oICovLAorCQkJCTg5OUFC
QzIwMTIxNUU0QTMwMEY5RjIxOSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgKi8sCisJCQkJODk5QUJD
MjExMjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeUVudHJ5LmggKi8sCisJCQkJODk5QUJDMjIx
MjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeUVudHJ5LmlkbCAqLywKKwkJCQk4OTlBQkMyMzEy
MTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLywKKwkJCQk4OTlBQkMyNDEy
MTVFNEEzMDBGOUYyMTkgLyogRGlyZWN0b3J5UmVhZGVyLmggKi8sCisJCQkJODk5QUJDMjUxMjE1
RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeVJlYWRlci5pZGwgKi8sCiAJCQkJODk3QTJEMTkxMUZG
NThBNTAwODI3NDBDIC8qIERPTUZpbGVTeXN0ZW0uY3BwICovLAogCQkJCTg5N0EyRDFBMTFGRjU4
QTUwMDgyNzQwQyAvKiBET01GaWxlU3lzdGVtLmggKi8sCiAJCQkJODk3QTJEMUIxMUZGNThBNTAw
ODI3NDBDIC8qIERPTUZpbGVTeXN0ZW0uaWRsICovLAorCQkJCTg5OUFCQzJDMTIxNUU0QkUwMEY5
RjIxOSAvKiBFbnRyaWVzQ2FsbGJhY2suaCAqLywKKwkJCQk4OTlBQkMyRDEyMTVFNEJFMDBGOUYy
MTkgLyogRW50cmllc0NhbGxiYWNrLmlkbCAqLywKIAkJCQk4OTdBMkQxQzExRkY1OEE1MDA4Mjc0
MEMgLyogRW50cnkuY3BwICovLAogCQkJCTg5N0EyRDFEMTFGRjU4QTUwMDgyNzQwQyAvKiBFbnRy
eS5oICovLAogCQkJCTg5N0EyRDNCMTFGRjYzODYwMDgyNzQwQyAvKiBFbnRyeS5pZGwgKi8sCisJ
CQkJODk5QUJDMkUxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJyYXkuY3BwICovLAorCQkJCTg5
OUFCQzJGMTIxNUU0QkUwMEY5RjIxOSAvKiBFbnRyeUFycmF5LmggKi8sCisJCQkJODk5QUJDMzAx
MjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJyYXkuaWRsICovLAogCQkJCTg5N0EyRDFFMTFGRjU4
QTUwMDgyNzQwQyAvKiBFbnRyeUNhbGxiYWNrLmggKi8sCiAJCQkJODk3QTJEMUYxMUZGNThBNTAw
ODI3NDBDIC8qIEVudHJ5Q2FsbGJhY2suaWRsICovLAogCQkJCTg5N0EyRDIwMTFGRjU4QTUwMDgy
NzQwQyAvKiBFcnJvckNhbGxiYWNrLmggKi8sCiAJCQkJODk3QTJENUQxMjAwMDBGRjAwODI3NDBD
IC8qIEVycm9yQ2FsbGJhY2suaWRsICovLAorCQkJCTg5OUFCQzMxMTIxNUU0QkUwMEY5RjIxOSAv
KiBGaWxlRW50cnkuY3BwICovLAorCQkJCTg5OUFCQzMyMTIxNUU0QkUwMEY5RjIxOSAvKiBGaWxl
RW50cnkuaCAqLywKKwkJCQk4OTlBQkMzMzEyMTVFNEJFMDBGOUYyMTkgLyogRmlsZUVudHJ5Lmlk
bCAqLywKIAkJCQk4OTdBMkQyMTExRkY1OEE1MDA4Mjc0MEMgLyogRmlsZVN5c3RlbUNhbGxiYWNr
LmggKi8sCiAJCQkJODk3QTJENUYxMjAwMDEyMjAwODI3NDBDIC8qIEZpbGVTeXN0ZW1DYWxsYmFj
ay5pZGwgKi8sCiAJCQkJODk3QTJENjAxMjAwMDEyMjAwODI3NDBDIC8qIEZsYWdzLmggKi8sCkBA
IC0xNDk4MCwxNCArMTUwNTcsMjQgQEAKIAkJCQlCNTlERDY5NzExOTAyOUU1MDA3RTk2ODQgLyog
SlNEYXRhYmFzZUNhbGxiYWNrLmggKi8sCiAJCQkJQjU4Q0VCNjgxMTkxMzYwNzAwMkE2NzkwIC8q
IEpTRGF0YWJhc2VTeW5jLmNwcCAqLywKIAkJCQlCNThDRUI2NzExOTEzNjA3MDAyQTY3OTAgLyog
SlNEYXRhYmFzZVN5bmMuaCAqLywKKwkJCQk4OTlBQkM1NTEyMTVFQjJBMDBGOUYyMTkgLyogSlNE
aXJlY3RvcnlFbnRyeS5jcHAgKi8sCisJCQkJODk5QUJDNTYxMjE1RUIyQTAwRjlGMjE5IC8qIEpT
RGlyZWN0b3J5RW50cnkuaCAqLywKKwkJCQk4OTlBQkM2QjEyMTVFQ0VGMDBGOUYyMTkgLyogSlNE
aXJlY3RvcnlSZWFkZXIuY3BwICovLAorCQkJCTg5OUFCQzZDMTIxNUVDRUYwMEY5RjIxOSAvKiBK
U0RpcmVjdG9yeVJlYWRlci5oICovLAogCQkJCTg5N0EyRDhEMTIwMDAzNUYwMDgyNzQwQyAvKiBK
U0RPTUZpbGVTeXN0ZW0uY3BwICovLAogCQkJCTg5N0EyRDhFMTIwMDAzNUYwMDgyNzQwQyAvKiBK
U0RPTUZpbGVTeXN0ZW0uaCAqLywKKwkJCQk4OTlBQkM1NzEyMTVFQjJBMDBGOUYyMTkgLyogSlNF
bnRyaWVzQ2FsbGJhY2suY3BwICovLAorCQkJCTg5OUFCQzU4MTIxNUVCMkEwMEY5RjIxOSAvKiBK
U0VudHJpZXNDYWxsYmFjay5oICovLAogCQkJCTg5N0EyRDQ5MTFGRjZDOTAwMDgyNzQwQyAvKiBK
U0VudHJ5LmNwcCAqLywKIAkJCQk4OTdBMkQ0QTExRkY2QzkwMDA4Mjc0MEMgLyogSlNFbnRyeS5o
ICovLAorCQkJCTg5OUFCQzU5MTIxNUVCMkEwMEY5RjIxOSAvKiBKU0VudHJ5QXJyYXkuY3BwICov
LAorCQkJCTg5OUFCQzVBMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0VudHJ5QXJyYXkuaCAqLywKIAkJ
CQk4OTdBMkQ0QjExRkY2QzkwMDA4Mjc0MEMgLyogSlNFbnRyeUNhbGxiYWNrLmNwcCAqLywKIAkJ
CQk4OTdBMkQ0QzExRkY2QzkwMDA4Mjc0MEMgLyogSlNFbnRyeUNhbGxiYWNrLmggKi8sCiAJCQkJ
ODk3QTJENEQxMUZGNkM5MDAwODI3NDBDIC8qIEpTRXJyb3JDYWxsYmFjay5jcHAgKi8sCiAJCQkJ
ODk3QTJENEUxMUZGNkM5MDAwODI3NDBDIC8qIEpTRXJyb3JDYWxsYmFjay5oICovLAorCQkJCTg5
OUFCQzVCMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0ZpbGVFbnRyeS5jcHAgKi8sCisJCQkJODk5QUJD
NUMxMjE1RUIyQTAwRjlGMjE5IC8qIEpTRmlsZUVudHJ5LmggKi8sCiAJCQkJODk3QTJENTUxMUZG
NkNBNDAwODI3NDBDIC8qIEpTRmlsZVN5c3RlbUNhbGxiYWNrLmNwcCAqLywKIAkJCQk4OTdBMkQ1
NjExRkY2Q0E0MDA4Mjc0MEMgLyogSlNGaWxlU3lzdGVtQ2FsbGJhY2suaCAqLywKIAkJCQk4OTdB
MkQ5MTEyMDAwMzc2MDA4Mjc0MEMgLyogSlNGbGFncy5jcHAgKi8sCkBAIC0yMDE5Myw2ICsyMDI4
MCwyOCBAQAogCQkJCUM1MEI1NjE3MTIxMTlEMjMwMDhCNDZFMCAvKiBHcm91cFNldHRpbmdzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0E5NzkxNzEyMTVEMDU1MDA1QzQ4NUMgLyogSW1hZ2VCdWZm
ZXJEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTA3MDdFNzEyMTlDMDQzMDBEOTBFNTEgLyog
QU5HTEVXZWJLaXRCcmlkZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFCQzI3MTIxNUU0QTMw
MEY5RjIxOSAvKiBEaXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDMkEx
MjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeVJlYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODk5QUJDMzQxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODk5QUJDMzcxMjE1RTRCRTAwRjlGMjE5IC8qIEVudHJ5QXJyYXkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg5OUFCQzNBMTIxNUU0QkUwMEY5RjIxOSAvKiBGaWxlRW50cnkuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTg5OUFCQzVFMTIxNUVCMkEwMEY5RjIxOSAvKiBKU0RpcmVjdG9yeUVu
dHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQk4OTlBQkM2MDEyMTVFQjJBMDBGOUYyMTkgLyogSlNF
bnRyaWVzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFCQzYyMTIxNUVCMkEwMEY5
RjIxOSAvKiBKU0VudHJ5QXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFCQzY0MTIxNUVC
MkEwMEY5RjIxOSAvKiBKU0ZpbGVFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDNkUx
MjE1RUNFRjAwRjlGMjE5IC8qIEpTRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4OTlBQkM3QTEyMTVGMDMxMDBGOUYyMTkgLyogSlNET01GaWxlU3lzdGVtLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4OTlBQkM3QzEyMTVGMDMzMDBGOUYyMTkgLyogSlNFbnRyeS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODk5QUJDN0UxMjE1RjAzNzAwRjlGMjE5IC8qIEpTRW50cnlDYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDODAxMjE1RjAzODAwRjlGMjE5IC8qIEpTRXJyb3JD
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDODExMjE1RjAzQjAwRjlGMjE5IC8q
IEpTRmxhZ3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFCQzgzMTIxNUYwM0MwMEY5RjIxOSAv
KiBKU0ZpbGVTeXN0ZW1DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDODcxMjE1
RjBERjAwRjlGMjE5IC8qIERPTUZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTg5OUFC
Qzk2MTIxNUY5REEwMEY5RjIxOSAvKiBFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4OTlBQkM5NzEyMTVGOURGMDBGOUYyMTkgLyogRW50cnlDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODk5QUJDQUExMjE1RkE1NTAwRjlGMjE5IC8qIEZpbGVTeXN0ZW1DYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODk5QUJDQUIxMjE1RkE1QTAwRjlGMjE5IC8qIEZsYWdzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk4OTlBQkNCOTEyMTVGQUI1MDBGOUYyMTkgLyogRW50cnkuaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjI2MjQsNiArMjI3MzMsMjMgQEAKIAkJCQk5N0RENEQ4NjBGREY0
RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTBCNTYx
NjEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0OTA3MDdFNjEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJODk5QUJDMjYxMjE1RTRBMzAwRjlGMjE5IC8qIERpcmVjdG9yeUVudHJ5
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFCQzI5MTIxNUU0QTMwMEY5RjIxOSAvKiBEaXJl
Y3RvcnlSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5QUJDMzYxMjE1RTRCRTAwRjlG
MjE5IC8qIEVudHJ5QXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5QUJDMzkxMjE1RTRC
RTAwRjlGMjE5IC8qIEZpbGVFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTlBQkM1RDEy
MTVFQjJBMDBGOUYyMTkgLyogSlNEaXJlY3RvcnlFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk4OTlBQkM1RjEyMTVFQjJBMDBGOUYyMTkgLyogSlNFbnRyaWVzQ2FsbGJhY2suY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJODk5QUJDNjExMjE1RUIyQTAwRjlGMjE5IC8qIEpTRW50cnlBcnJheS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTlBQkM2MzEyMTVFQjJBMDBGOUYyMTkgLyogSlNGaWxl
RW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5QUJDNkQxMjE1RUNFRjAwRjlGMjE5IC8q
IEpTRGlyZWN0b3J5UmVhZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFCQzc5MTIxNUYw
MzEwMEY5RjIxOSAvKiBKU0RPTUZpbGVTeXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5
QUJDN0IxMjE1RjAzMzAwRjlGMjE5IC8qIEpTRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODk5QUJDN0QxMjE1RjAzNjAwRjlGMjE5IC8qIEpTRW50cnlDYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk4OTlBQkM3RjEyMTVGMDM4MDBGOUYyMTkgLyogSlNFcnJvckNhbGxiYWNrLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFCQzgyMTIxNUYwM0IwMEY5RjIxOSAvKiBKU0ZsYWdz
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5OUFCQzg0MTIxNUYwM0QwMEY5RjIxOSAvKiBKU0Zp
bGVTeXN0ZW1DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTlBQkM4NjEyMTVGMEQ4
MDBGOUYyMTkgLyogRE9NRmlsZVN5c3RlbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTlBQkNC
QTEyMTVGQUI4MDBGOUYyMTkgLyogRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvRE9NRmlsZVN5c3RlbS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvRE9N
RmlsZVN5c3RlbS5jcHAKaW5kZXggMTljNzVmYzc3YjVlNDUzMGM2M2Q0OGM3NmM0MTE5MWZlN2Qz
MDJkOC4uYzNkYmQzNDAxNGVhMjBlY2VmZDhhYWRkN2M2YmRjOWRiZDBlZTk2MiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdG9yYWdlL0RPTUZpbGVTeXN0ZW0uY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFn
ZS9ET01GaWxlU3lzdGVtLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiAjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQogCi0jaW5jbHVkZSAiRW50cnkuaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQzLDkgKzQzLDkgQEAgRE9NRmlsZVN5c3Rl
bTo6RE9NRmlsZVN5c3RlbShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgcm9vdFBh
dGgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8RW50cnk+IERPTUZpbGVTeXN0ZW06OnJvb3QoKQorUGFz
c1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gRE9NRmlsZVN5c3RlbTo6cm9vdCgpCiB7Ci0gICAgcmV0
dXJuIEVudHJ5OjpjcmVhdGUodGhpcywgIi8iKTsKKyAgICByZXR1cm4gRGlyZWN0b3J5RW50cnk6
OmNyZWF0ZSh0aGlzLCAiLyIpOwogfQogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL0RPTUZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvc3RvcmFnZS9ET01GaWxlU3lz
dGVtLmgKaW5kZXggNDU0MjA1ZGM0MjhiNzUyNTE3NGM5MjMzMjQzMDE4MDNkYTE0ODhhNi4uYjg3
YWFhZjMyY2Q5ZWFjMGYyMmM0OWVlMTc2NzJkZDVhMmU3NzY3MyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdG9yYWdlL0RPTUZpbGVTeXN0ZW0uaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRE9NRmlsZVN5
c3RlbS5oCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
RW50cnk7CitjbGFzcyBEaXJlY3RvcnlFbnRyeTsKIAogY2xhc3MgRE9NRmlsZVN5c3RlbSA6IHB1
YmxpYyBSZWZDb3VudGVkPERPTUZpbGVTeXN0ZW0+IHsKIHB1YmxpYzoKQEAgLTQ5LDcgKzQ5LDcg
QEAgcHVibGljOgogICAgIH0KIAogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbmFtZTsgfQotICAgIFBhc3NSZWZQdHI8RW50cnk+IHJvb3QoKTsKKyAgICBQYXNzUmVm
UHRyPERpcmVjdG9yeUVudHJ5PiByb290KCk7CiAKIHByaXZhdGU6CiAgICAgRE9NRmlsZVN5c3Rl
bShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgcm9vdFBhdGgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0RPTUZpbGVTeXN0ZW0uaWRsIGIvV2ViQ29yZS9zdG9yYWdlL0RP
TUZpbGVTeXN0ZW0uaWRsCmluZGV4IDAyNDFjNGE2ZmJkMjJmMTkyMTFkYWMxMzcxMjRhNGI3ZDFm
ODU0MDYuLmI3MzA3ZTJjMTY5OWM1YzYyODA0ODI1MjFkNzk1Yzc1YjI0NjdlNzYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9ET01GaWxlU3lzdGVtLmlkbAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvRE9NRmlsZVN5c3RlbS5pZGwKQEAgLTMzLDYgKzMzLDYgQEAgbW9kdWxlIHN0b3JhZ2Ugewog
ICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTQogICAgIF0gRE9NRmlsZVN5c3RlbSB7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEVudHJ5IHJvb3Q7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEaXJl
Y3RvcnlFbnRyeSByb290OwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
RGlyZWN0b3J5RW50cnkuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeUVudHJ5LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MGRjYWNlNGQwNmU2NmZkYjA3OWQxZDkyYjhmMDdkZTUwYzNlYzYyCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeUVudHJ5LmNwcApAQCAtMCww
ICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5Lmgi
CisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXIu
aCIKKyNpbmNsdWRlICJFbnRyeUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RpcmVjdG9yeUVudHJ5OjpEaXJlY3RvcnlFbnRy
eShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVs
bFBhdGgpCisgICAgOiBFbnRyeShmaWxlU3lzdGVtLCBmdWxsUGF0aCkKK3sKK30KKworUGFzc1Jl
ZlB0cjxEaXJlY3RvcnlSZWFkZXI+IERpcmVjdG9yeUVudHJ5OjpjcmVhdGVSZWFkZXIoKQorewor
ICAgIHJldHVybiBEaXJlY3RvcnlSZWFkZXI6OmNyZWF0ZShtX2ZpbGVTeXN0ZW0sIG1fZnVsbFBh
dGgpOworfQorCit2b2lkIERpcmVjdG9yeUVudHJ5OjpnZXRGaWxlKGNvbnN0IFN0cmluZyYsIFBh
c3NSZWZQdHI8RmxhZ3M+LCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVy
cm9yQ2FsbGJhY2s+KQoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBEaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0
b3J5KGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8RmxhZ3M+LCBQYXNzUmVmUHRyPEVudHJ5Q2Fs
bGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KQoreworICAgIC8vIEZJWE1FOiB0byBi
ZSBpbXBsZW1lbnRlZC4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworfSAvLyBuYW1l
c3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5oIGIvV2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeUVu
dHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmFlNGZiNTRmMzlhZTcwYWE2M2U3MzA2NzRlNmY4YzczYjFlODkz
NQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5oCkBA
IC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIERpcmVjdG9yeUVudHJ5X2gKKyNkZWZpbmUgRGlyZWN0b3J5
RW50cnlfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRW50cnkuaCIK
KyNpbmNsdWRlICJGbGFncy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlcjsKK2NsYXNzIEVudHJ5Q2Fs
bGJhY2s7CitjbGFzcyBFcnJvckNhbGxiYWNrOworCitjbGFzcyBEaXJlY3RvcnlFbnRyeSA6IHB1
YmxpYyBFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50
cnk+IGNyZWF0ZShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0
cmluZyYgZnVsbFBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERpcmVj
dG9yeUVudHJ5KGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CisgICAgfQorICAgIHZpcnR1YWwgYm9v
bCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIFBhc3NSZWZQdHI8
RGlyZWN0b3J5UmVhZGVyPiBjcmVhdGVSZWFkZXIoKTsKKyAgICB2b2lkIGdldEZpbGUoY29uc3Qg
U3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiBvcHRpb25zID0gMCwgUGFzc1JlZlB0cjxF
bnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJh
Y2s+IGVycm9yQ2FsbGJhY2sgPSAwKTsKKyAgICB2b2lkIGdldERpcmVjdG9yeShjb25zdCBTdHJp
bmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+IG9wdGlvbnMgPSAwLCBQYXNzUmVmUHRyPEVudHJ5
Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4g
ZXJyb3JDYWxsYmFjayA9IDApOworCitwcml2YXRlOgorICAgIERpcmVjdG9yeUVudHJ5KFBhc3NS
ZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7
Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQor
CisjZW5kaWYgLy8gRGlyZWN0b3J5RW50cnlfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdl
L0RpcmVjdG9yeUVudHJ5LmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWMzMGM3Zjg4MzM3ZWIzZDg2MmM1NWY4NDZkOTI3ZjAwZDVmYWEyNAotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlFbnRyeS5pZGwKQEAgLTAs
MCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25k
aXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCisg
ICAgICAgIEdlbmVyYXRlVG9KUworICAgIF0gRGlyZWN0b3J5RW50cnkgOiBFbnRyeSB7CisgICAg
ICAgIERpcmVjdG9yeVJlYWRlciBjcmVhdGVSZWFkZXIoKTsKKyAgICAgICAgdm9pZCBnZXRGaWxl
KGluIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxdIEZsYWdzIG9wdGlvbnMsIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lk
IGdldERpcmVjdG9yeShpbiBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBGbGFncyBvcHRp
b25zLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
KyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5j
cHAgYi9XZWJDb3JlL3N0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjMw
ZjcwNTMxNGM4ZmQ5Mjc2NTkyYjk3MGFiNjgwNzY2NDE2NGU1Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5jcHAKQEAgLTAsMCArMSw1NiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXIuaCIKKworI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICJF
bnRyaWVzQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJFcnJvckNhbGxiYWNrLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworRGlyZWN0b3J5UmVhZGVyOjpEaXJlY3RvcnlSZWFkZXIoUGFzc1JlZlB0
cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIHBhdGgpCisgICAgOiBt
X2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAgICAsIG1fcGF0aChwYXRoKQoreworfQorCit2b2lk
IERpcmVjdG9yeVJlYWRlcjo6cmVhZEVudHJpZXMoUGFzc1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+
LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KQoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBs
ZW1lbnRlZC4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UK
KworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Rv
cmFnZS9EaXJlY3RvcnlSZWFkZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlSZWFkZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZjVkYThmM2RjNzVmNDMwZTNlNjQ2Yzg5MmU3NTY2NWQxZDQ1MTcwCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RpcmVjdG9yeVJlYWRlci5oCkBAIC0w
LDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIERpcmVjdG9yeVJlYWRlcl9oCisjZGVmaW5lIERpcmVjdG9yeVJl
YWRlcl9oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJET01GaWxlU3lz
dGVtLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRW50cmllc0NhbGxiYWNrOworY2xhc3MgRXJyb3JDYWxsYmFjazsKKworY2xh
c3MgRGlyZWN0b3J5UmVhZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RGlyZWN0b3J5UmVhZGVyPiB7
CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyPiBjcmVhdGUo
UGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIHBhdGgp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERpcmVjdG9yeVJlYWRlcihmaWxl
U3lzdGVtLCBwYXRoKSk7CisgICAgfQorCisgICAgdm9pZCByZWFkRW50cmllcyhQYXNzUmVmUHRy
PEVudHJpZXNDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJh
Y2s+IGVycm9yQ2FsbGJhY2sgPSAwKTsKKworcHJpdmF0ZToKKyAgICBEaXJlY3RvcnlSZWFkZXIo
UGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIHBhdGgp
OworCisgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW0+IG1fZmlsZVN5c3RlbTsKKyAgICBTdHJpbmcg
bV9wYXRoOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZ
U1RFTSkKKworI2VuZGlmIC8vIERpcmVjdG9yeVJlYWRlcl9oCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvRGlyZWN0b3J5UmVhZGVyLmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9EaXJlY3RvcnlS
ZWFkZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzYzcwMTIwMmRhMDhlYjRiYzFiNzU3MWQ2MjhhMTdmMmNm
MzQxOTYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRGlyZWN0b3J5UmVhZGVy
LmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisg
ICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNCisgICAgXSBEaXJlY3RvcnlSZWFkZXIgewor
ICAgICAgICB2b2lkIHJlYWRFbnRyaWVzKGluIFtDYWxsYmFja10gRW50cmllc0NhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0VudHJp
ZXNDYWxsYmFjay5oIGIvV2ViQ29yZS9zdG9yYWdlL0VudHJpZXNDYWxsYmFjay5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlmODEyZTk3OGI0YmZmZGE5NmQxN2VmNDllNzFkNzlmOWY3NDkyMDUKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRW50cmllc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw1MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgRW50cmllc0NhbGxiYWNrX2gKKyNkZWZpbmUgRW50cmllc0NhbGxiYWNrX2gKKwor
I2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRW50cnlBcnJheTsKKworY2xhc3MgRW50cmll
c0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8RW50cmllc0NhbGxiYWNrPiB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+RW50cmllc0NhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCBib29sIGhh
bmRsZUV2ZW50KEVudHJ5QXJyYXkqKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5k
aWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRW50cmllc0NhbGxiYWNrX2gK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9FbnRyaWVzQ2FsbGJhY2suaWRsIGIvV2ViQ29y
ZS9zdG9yYWdlL0VudHJpZXNDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzNiMzc0ZDc5MjhlZTQ4
MDY2MmVjMzljMzNjOWIxZjA0ZTg2ODEzNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9FbnRyaWVzQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7
CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCisgICAg
ICAgIENhbGxiYWNrCisgICAgXSBFbnRyaWVzQ2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhh
bmRsZUV2ZW50KGluIEVudHJ5QXJyYXkgZW50cmllcyk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9FbnRyeS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvRW50cnkuY3BwCmlu
ZGV4IGI4ODIyOTdkYjMxOTliNTcwODkzZTdmNDI3YTVkZDgxZGZiN2QxZTguLmM2YjFiZmEyOWVm
MWRjZjZhNDQ5MWM1MmE4YjIxNGEyMDIzZWUxYjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFn
ZS9FbnRyeS5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0VudHJ5LmNwcApAQCAtNDAsMTAgKzQw
LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1FbnRyeTo6RW50cnkoUGFzc1JlZlB0cjxE
T01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoLCBib29sIGlz
RGlyZWN0b3J5KQorRW50cnk6OkVudHJ5KFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5
c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKICAgICA6IG1fZmlsZVN5c3RlbShmaWxlU3lz
dGVtKQogICAgICwgbV9mdWxsUGF0aChmdWxsUGF0aCkKLSAgICAsIG1faXNEaXJlY3RvcnkoaXNE
aXJlY3RvcnkpCiB7CiAgICAgaW50IGluZGV4ID0gZnVsbFBhdGgucmV2ZXJzZUZpbmQoIi8iKTsK
ICAgICBpZiAoaW5kZXggIT0gLTEpCkBAIC01MiwzNCArNTEsNDAgQEAgRW50cnk6OkVudHJ5KFBh
c3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0
aCwgYm9vbAogICAgICAgICBtX25hbWUgPSBmdWxsUGF0aDsKIH0KIAotdm9pZCBFbnRyeTo6Z2V0
TWV0YWRhdGEoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8TWV0YWRhdGFDYWxs
YmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4pCit2b2lkIEVudHJ5OjpnZXRNZXRhZGF0
YShQYXNzUmVmUHRyPE1ldGFkYXRhQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+
KQogewogICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKIH0KIAotdm9pZCBFbnRyeTo6bW92ZVRvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzUmVmUHRyPEVudHJ5PiwgY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxi
YWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKK3ZvaWQgRW50cnk6Om1vdmVUbyhQYXNz
UmVmUHRyPEVudHJ5PiwgY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwg
UGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKIHsKICAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVt
ZW50ZWQuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQgRW50cnk6OmNvcHlU
byhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxFbnRyeT4sIGNvbnN0IFN0cmlu
ZyYsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4p
Cit2b2lkIEVudHJ5Ojpjb3B5VG8oUGFzc1JlZlB0cjxFbnRyeT4sIGNvbnN0IFN0cmluZyYsIFBh
c3NSZWZQdHI8RW50cnlDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4pCiB7CiAg
ICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCi12b2lkIEVudHJ5OjpyZW1vdmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKK3ZvaWQgRW50
cnk6OnJlbW92ZShQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxs
YmFjaz4pCiB7CiAgICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgorICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIEVudHJ5OjpnZXRQYXJlbnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxs
YmFjaz4pCit2b2lkIEVudHJ5OjpnZXRQYXJlbnQoUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwg
UGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKIHsKICAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVt
ZW50ZWQuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIFN0cmluZyBFbnRyeTo6dG9V
UkkoY29uc3QgU3RyaW5nJikKIHsKICAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRW50cnkuaCBiL1dlYkNvcmUvc3RvcmFnZS9FbnRyeS5o
CmluZGV4IDFjYWJlNThkZWY5MTUzZjkwNzg5NDJkM2FlMjQwNmFkZTdiNTkwN2MuLjdiYmIyNjU3
NGFiMTE3MDA2YTIxMjE4ZDVlZjVjMDQ4YzI2OGMzMWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9FbnRyeS5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9FbnRyeS5oCkBAIC00Miw0MiArNDIs
MzUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRW50cnlDYWxsYmFjazsKIGNsYXNzIEVy
cm9yQ2FsbGJhY2s7CiBjbGFzcyBNZXRhZGF0YUNhbGxiYWNrOwotY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIAogY2xhc3MgRW50cnkgOiBwdWJsaWMg
UmVmQ291bnRlZDxFbnRyeT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEVudHJ5
PiBjcmVhdGUoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJp
bmcmIGZ1bGxQYXRoLCBib29sIGlzRGlyZWN0b3J5ID0gZmFsc2UpCi0gICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEVudHJ5KGZpbGVTeXN0ZW0sIGZ1bGxQYXRoLCBpc0RpcmVjdG9y
eSkpOwotICAgIH0KLQogICAgIHZpcnR1YWwgfkVudHJ5KCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJv
b2wgaXNGaWxlKCkgY29uc3QgeyByZXR1cm4gIW1faXNEaXJlY3Rvcnk7IH0KLSAgICB2aXJ0dWFs
IGJvb2wgaXNEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2lzRGlyZWN0b3J5OyB9CisgICAg
dmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCBib29sIGlzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGNvbnN0
IFN0cmluZyYgZnVsbFBhdGgoKSBjb25zdCB7IHJldHVybiBtX2Z1bGxQYXRoOyB9CiAgICAgY29u
c3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CiAKICAgICBET01GaWxl
U3lzdGVtKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9maWxlU3lzdGVtLmdldCgpOyB9
CiAKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0TWV0YWRhdGEoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFBhc3NSZWZQdHI8TWV0YWRhdGFDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gMCwgUGFzc1Jl
ZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gMCk7CisgICAgdmlydHVhbCB2b2lk
IGdldE1ldGFkYXRhKFBhc3NSZWZQdHI8TWV0YWRhdGFDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNr
ID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gMCk7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgbW92ZVRvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRy
PEVudHJ5PiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgbmFtZSA9IFN0cmluZygpLCBQYXNzUmVmUHRy
PEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxs
YmFjaz4gZXJyb3JDYWxsYmFjayA9IDApOwotICAgIHZpcnR1YWwgdm9pZCBjb3B5VG8oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8RW50cnk+IHBhcmVudCwgY29uc3QgU3RyaW5n
JiBuYW1lID0gU3RyaW5nKCksIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxi
YWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gMCk7Ci0g
ICAgdmlydHVhbCB2b2lkIHJlbW92ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxs
YmFjaz4gZXJyb3JDYWxsYmFjayA9IDApOwotICAgIHZpcnR1YWwgdm9pZCBnZXRQYXJlbnQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0Nh
bGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gMCk7
CisgICAgdmlydHVhbCB2b2lkIG1vdmVUbyhQYXNzUmVmUHRyPEVudHJ5PiBwYXJlbnQsIGNvbnN0
IFN0cmluZyYgbmFtZSA9IFN0cmluZygpLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nl
c3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9
IDApOworICAgIHZpcnR1YWwgdm9pZCBjb3B5VG8oUGFzc1JlZlB0cjxFbnRyeT4gcGFyZW50LCBj
b25zdCBTdHJpbmcmIG5hbWUgPSBTdHJpbmcoKSwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBz
dWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJh
Y2sgPSAwKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
PiBzdWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2Fs
bGJhY2sgPSAwKTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0UGFyZW50KFBhc3NSZWZQdHI8RW50cnlD
YWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBl
cnJvckNhbGxiYWNrID0gMCk7CiAKICAgICB2aXJ0dWFsIFN0cmluZyB0b1VSSShjb25zdCBTdHJp
bmcmIG1pbWVUeXBlID0gU3RyaW5nKCkpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgRW50cnkoUGFzc1Jl
ZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoLCBi
b29sIGlzRGlyZWN0b3J5KTsKKyAgICBFbnRyeShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZp
bGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOwogCiAgICAgUmVmUHRyPERPTUZpbGVT
eXN0ZW0+IG1fZmlsZVN5c3RlbTsKICAgICBTdHJpbmcgbV9mdWxsUGF0aDsgLy8gdmlydHVhbCBw
YXRoCiAgICAgU3RyaW5nIG1fbmFtZTsKLSAgICBib29sIG1faXNEaXJlY3Rvcnk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRW50cnku
aWRsIGIvV2ViQ29yZS9zdG9yYWdlL0VudHJ5LmlkbAppbmRleCA5NzI3NTFlMWM5MjMzODE1ZGU2
MDY1YTlhMTViZTMxNGJiNjc4Y2FmLi43ZDRmZmVlN2Y1ZDQ2ZTNmZjk5YjIyMjM0YzQyMjRjNjA5
MTE0ZGVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRW50cnkuaWRsCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9FbnRyeS5pZGwKQEAgLTM4LDEwICszOCwxMCBAQCBtb2R1bGUgc3RvcmFnZSB7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZnVsbFBhdGg7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lzdGVtIGZpbGVzeXN0ZW07CiAKLSAgICAgICAg
W0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgbW92ZVRvKGluIEVudHJ5IHBh
cmVudCwgaW4gW09wdGlvbmFsXSBET01TdHJpbmcgbmFtZSwgaW4gW09wdGlvbmFsLCBDYWxsYmFj
a10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIFtDYWxsV2l0aD1TY3JpcHRF
eGVjdXRpb25Db250ZXh0XSB2b2lkIGNvcHlUbyhpbiBFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25h
bF0gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOworICAgICAgICB2b2lkIG1vdmVUbyhpbiBFbnRyeSBwYXJlbnQsIGluIFtP
cHRpb25hbF0gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxi
YWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lkIGNvcHlUbyhpbiBFbnRyeSBwYXJlbnQs
IGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVu
dHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lkIHJlbW92ZShpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWws
IENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lkIGdl
dFBhcmVudChpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNr
KTsKICAgICAgICAgRE9NU3RyaW5nIHRvVVJJKGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG1pbWVU
eXBlKTsKLSAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVt
b3ZlKGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0g
ICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdldFBhcmVudChp
biBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4g
W09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICB9
OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0VudHJ5QXJyYXkuY3BwIGIvV2ViQ29y
ZS9zdG9yYWdlL0VudHJ5QXJyYXkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNGY3NGZiNThkOTFiMWRhMWNh
ZjdhY2ZmYzAyOTljOGNlOGVmY2IKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
RW50cnlBcnJheS5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJFbnRyeUFycmF5LmgiCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworRW50cnlBcnJheTo6RW50cnlBcnJheSgpCit7Cit9CisKK0VudHJ5KiBF
bnRyeUFycmF5OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlmIChpbmRleCA+
PSBtX2VudHJpZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9lbnRy
aWVzW2luZGV4XS5nZXQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJM
RShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9FbnRyeUFycmF5Lmgg
Yi9XZWJDb3JlL3N0b3JhZ2UvRW50cnlBcnJheS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1OTU3YWJkMTAzMWE5
ZTMyM2Y0MzFkMDhlMWFkYjg1ZGViMGRhNWIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0
b3JhZ2UvRW50cnlBcnJheS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVudHJ5QXJyYXlfaAor
I2RlZmluZSBFbnRyeUFycmF5X2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1
ZGUgIkVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVudHJ5QXJyYXkg
OiBwdWJsaWMgUmVmQ291bnRlZDxFbnRyeUFycmF5PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8RW50cnlBcnJheT4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgRW50cnlBcnJheSgpKTsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBsZW5ndGgoKSBj
b25zdCB7IHJldHVybiBtX2VudHJpZXMuc2l6ZSgpOyB9CisgICAgRW50cnkqIGl0ZW0odW5zaWdu
ZWQgaW5kZXgpIGNvbnN0OworICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBQYXNzUmVmUHRy
PEVudHJ5PiBlbnRyeSk7CisKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2Vu
dHJpZXMuaXNFbXB0eSgpOyB9CisgICAgdm9pZCBjbGVhcigpIHsgbV9lbnRyaWVzLmNsZWFyKCk7
IH0KKyAgICB2b2lkIGFwcGVuZChQYXNzUmVmUHRyPEVudHJ5PiBlbnRyeSkgeyBtX2VudHJpZXMu
YXBwZW5kKGVudHJ5KTsgfQorCitwcml2YXRlOgorICAgIEVudHJ5QXJyYXkoKTsKKworICAgIFZl
Y3RvcjxSZWZQdHI8RW50cnk+ID4gbV9lbnRyaWVzOworfTsKKworfSAvLyBuYW1lc3BhY2UKKwor
I2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2VuZGlmIC8vIEVudHJ5QXJyYXlfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0VudHJ5QXJyYXkuaWRsIGIvV2ViQ29yZS9zdG9y
YWdlL0VudHJ5QXJyYXkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ODdlY2VmZWJlZGJjYWVlYmMzYTdmMTJi
OTcwNmVlOTM4YTRkZjAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRW50cnlB
cnJheS5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgSGFzSW5kZXhHZXR0
ZXIsCisgICAgXSBFbnRyeUFycmF5IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOworICAgICAgICBFbnRyeSBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0Zp
bGVFbnRyeS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvRmlsZUVudHJ5LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YmVjMDFkODlmYjY2NWM0YjM5YzI5Nzg0ZTIwMGNiNDEzMzdiMDhlCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVFbnRyeS5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJGaWxlRW50cnkuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZ
U1RFTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGaWxlRW50cnk6OkZpbGVFbnRyeShQYXNz
UmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
CisgICAgOiBFbnRyeShmaWxlU3lzdGVtLCBmdWxsUGF0aCkKK3sKK30KKworfSAvLyBuYW1lc3Bh
Y2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9GaWxlRW50cnkuaCBiL1dlYkNvcmUvc3RvcmFnZS9GaWxlRW50cnkuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iMDJiNWM3MDQ5YWYzNzY1YzJlZDllZmZlMzEzNWQ2MThjYzEzMzdmCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVFbnRyeS5oCkBAIC0wLDAgKzEsNjEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIEZpbGVFbnRyeV9oCisjZGVmaW5lIEZpbGVFbnRyeV9oCisKKyNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCisKKyNpbmNsdWRlICJFbnRyeS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTUZpbGVTeXN0ZW07CisKK2NsYXNz
IEZpbGVFbnRyeSA6IHB1YmxpYyBFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RmlsZUVudHJ5PiBjcmVhdGUoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVt
LCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBGaWxlRW50cnkoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsKKyAgICB9CisgICAgdmlydHVh
bCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworcHJpdmF0ZToKKyAgICBG
aWxlRW50cnkoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJp
bmcmIGZ1bGxQYXRoKTsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUo
RklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBGaWxlRW50cnlfaApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL0ZpbGVFbnRyeS5pZGwgYi9XZWJDb3JlL3N0b3JhZ2UvRmlsZUVudHJ5LmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjNiODA3NWFlMzc1MWQ1NTJmZTI4MjUyOWU3NWQxYWQ1MzA3YzYyCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVFbnRyeS5pZGwKQEAgLTAsMCArMSwz
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1GSUxFX1NZU1RFTSwKKyAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCisgICAgICAg
IEdlbmVyYXRlVG9KUworICAgIF0gRmlsZUVudHJ5IDogRW50cnkgeworICAgIH07Cit9Cg==
</data>
<flag name="review"
          id="53114"
          type_id="1"
          status="+"
          setter="dumi"
    />
          </attachment>
      

    </bug>

</bugzilla>