<?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>163891</bug_id>
          
          <creation_ts>2016-10-24 08:15:01 -0700</creation_ts>
          <short_desc>Remove CSSCharsetRule from the CSS OM</short_desc>
          <delta_ts>2016-10-24 14:05:22 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1243706</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-24 08:15:01 -0700</bug_when>
    <thetext>Remove the CSSCharsetRule from the CSS OM. All other browser engines have removed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243717</commentid>
    <comment_count>1</comment_count>
      <attachid>292615</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-24 09:00:13 -0700</bug_when>
    <thetext>Created attachment 292615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243765</commentid>
    <comment_count>2</comment_count>
      <attachid>292624</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-24 10:30:04 -0700</bug_when>
    <thetext>Created attachment 292624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243769</commentid>
    <comment_count>3</comment_count>
      <attachid>292624</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-24 10:40:23 -0700</bug_when>
    <thetext>Comment on attachment 292624
Patch

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

Makes sense to remove it if websites don’t depend on it.

&gt; Source/WebCore/css/CSSStyleSheet.cpp:276
&gt;      for (unsigned i = 0; i &lt; ruleCount; ++i) {
&gt;          CSSRule* rule = item(i);
&gt; -        if (rule-&gt;type() == CSSRule::CHARSET_RULE)
&gt; -            continue;
&gt; -        nonCharsetRules-&gt;rules().append(rule);
&gt; +        ruleList-&gt;rules().append(rule);
&gt;      }

Would be nice to get rid of the local variable too.

&gt; Source/WebCore/inspector/InspectorStyleSheet.cpp:201
&gt;      for (unsigned i = 0, size = styleSheet-&gt;length(); i &lt; size; ++i) {
&gt;          CSSRule* item = styleSheet-&gt;item(i);
&gt; -        if (item-&gt;type() == CSSRule::CHARSET_RULE)
&gt; -            continue;
&gt;          listRules.append(item);
&gt;      }

Would be nice to get rid of the local variable too.

&gt; Source/WebKit/mac/DOM/DOMCSS.mm:-69
&gt; -        case DOM_CHARSET_RULE:
&gt; -            return [DOMCSSCharsetRule class];

Why is it important to change this? Does it do any harm to leave this concept behind in our Objective-C code?

&gt; Source/WebKit/mac/DOM/DOMCSSCharsetRule.h:-33
&gt; -WEBKIT_CLASS_AVAILABLE_MAC(10_4)
&gt; -@interface DOMCSSCharsetRule : DOMCSSRule
&gt; -@property (readonly, copy) NSString *encoding;
&gt; -@end

I’m not sure we should remove this without even deprecating it first. Not our usual approach to API. If someone references this class for whatever reason, removing it will make their app crash. We can probably do something different and then the app won’t crash. Unless we have some reason to believe nobody has made the mistake of trying to do something with this class.

&gt; Source/WebKit/mac/DOM/DOMCSSCharsetRule.mm:-46
&gt; -- (NSString *)encoding
&gt; -{
&gt; -    WebCore::JSMainThreadNullState state;
&gt; -    return IMPL-&gt;encoding();
&gt; -}

Could have this return nil, or the empty string, or always return &quot;UTF-8&quot; or whatever we think is best for compatibility. I guess because someone can never create one of these, we don’t really need to implement the method at all, so that makes me lean toward the &quot;return nil&quot; option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243772</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-24 10:42:25 -0700</bug_when>
    <thetext>Ok, yeah I guess it&apos;s safest to just leave it in the API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243799</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-24 11:21:23 -0700</bug_when>
    <thetext>Landed in r207767.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243841</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-24 12:35:11 -0700</bug_when>
    <thetext>Looks like this broke the Windows build.

c:\cygwin\home\buildbot\slave\win-release\build\webkitbuild\release\derivedsources\webcore\JSCSSCharsetRule.h(23): fatal error C1083: Cannot open include file: &apos;CSSCharsetRule.h&apos;: No such file or directory [C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\Source\WebCore\WebCoreDerivedSources.vcxproj]

Not sure why DerivedSources.cpp is still trying to include JSCSSCharsetRule.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243857</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-24 13:22:32 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/207772</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243873</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-24 14:05:22 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/207776
https://trac.webkit.org/changeset/207777</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292615</attachid>
            <date>2016-10-24 09:00:13 -0700</date>
            <delta_ts>2016-10-24 09:35:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>26409</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzc1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE2LTEwLTI0ICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBDU1NDaGFyc2V0UnVsZSBm
cm9tIHRoZSBDU1MgT00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2Mzg5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlbW92ZSBDU1NDaGFyc2V0UnVsZSBmcm9tIHRoZSBDU1MgT00uIEFsbCBvdGhlciBi
cm93c2VyIGVuZ2luZXMgaGF2ZSBtYWRlIHRoaXMKKyAgICAgICAgY2hhbmdlLiBUaGlzIGVsaW1p
bmF0ZXMgdGhlIHdlaXJkIG92ZXJsb2FkaW5nIG9mIGlzQ2hhcnNldFJ1bGUgdG8gbWF0Y2ggYm90
aAorICAgICAgICBDU1NDaGFyc2V0UnVsZSBhbmQgU3R5bGVSdWxlQ2hhcnNldCAob25seSB1c2Vk
IGJ5IHRoZSBuZXcgcGFyc2VyKS4KKworICAgICAgICBGaXggdGhlIGRlc3Ryb3koKSBtZXRob2Qg
aW4gU3R5bGVSdWxlQmFzZSB0byBjbGVhbiB1cCBTdHlsZVJ1bGVDaGFyc2V0cyBjcmVhdGVkCisg
ICAgICAgIGJ5IHRoZSBuZXcgcGFyc2VyIHByb3Blcmx5LgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogY3NzL0NT
U0NoYXJzZXRSdWxlLmg6IFJlbW92ZWQuCisgICAgICAgICogY3NzL0NTU0NoYXJzZXRSdWxlLmlk
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmg6CisgICAg
ICAgICogY3NzL0NTU1N0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
aGVldDo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0OjpydWxlcyk6Cisg
ICAgICAgICogY3NzL0NTU1N0eWxlU2hlZXQuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmRlc3Ryb3kpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFz
Q1NTUnVsZUxpc3QpOgorCiAyMDE2LTEwLTI0ICBEYXZlIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgogCiAgICAgICAgIFtDU1MgUGFyc2VyXSBGaXggLXdlYmtpdC1ib3gtcmVmbGVjdCBwYXJzaW5n
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMzMiw3ICszMzIsNiBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRs
CiAgICAgY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAotICAgIGNzcy9DU1NDaGFyc2V0
UnVsZS5pZGwKICAgICBjc3MvQ1NTRm9udEZhY2VMb2FkRXZlbnQuaWRsCiAgICAgY3NzL0NTU0Zv
bnRGYWNlUnVsZS5pZGwKICAgICBjc3MvQ1NTSW1wb3J0UnVsZS5pZGwKQEAgLTEyNTksNyArMTI1
OCw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZh
bHVlLmNwcAogICAgIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52
YXNWYWx1ZS5jcHAKLSAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCiAgICAgY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKICAgICBjc3MvQ1NTQ29udGVudERpc3RyaWJ1dGlvblZh
bHVlLmNwcAogICAgIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMjQwLDcgKzI0MCw2IEBAIEpTX0JJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9DcnlwdG9LZXlQYWlyLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmlkbCBcCi0gICAgJChXZWJDb3JlKS9jc3MvQ1NT
Q2hhcnNldFJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZUxvYWRFdmVu
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIwNzc1NikK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMzk5Miw3ICszOTkyLDYgQEAKIAkJQTgwRTZDRjUwQTE5ODlDQTAwN0ZC
OEM1IC8qIENTU1BhZ2VSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4MEU2Q0NCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5jcHAg
Ki87IH07CiAJCUE4MEU2Q0Y2MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbXBvcnRSdWxlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBFNkNDQzBBMTk4
OUNBMDA3RkI4QzUgLyogQ1NTSW1wb3J0UnVsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4MEU2Q0Y3MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQ
cm9wZXJ0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBODBFNkNDRDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUHJvcGVydHkuY3BwICovOyB9OwotCQlB
ODBFNkNGOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQ2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEU2Q0NGMEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NDaGFyc2V0UnVsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUE4MEU2Q0ZBMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbWFnZVZhbHVl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBFNkNE
MDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW1hZ2VWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4MEU2Q0ZCMEExOTg5Q0EwMDdGQjhDNSAv
KiBQYWlyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
ODBFNkNEMTBBMTk4OUNBMDA3RkI4QzUgLyogUGFpci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4MEU2Q0ZDMEExOTg5Q0EwMDdGQjhDNSAvKiBD
U1NNZWRpYVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5jcHAgKi87IH07
CkBAIC01MTMyLDggKzUxMzEsNiBAQAogCQlCQzNEODVCQzFDMEUyRTdBMDBEM0I2MTAgLyogSlNI
VE1MUGljdHVyZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDODA4QjEzMUMwRTJCMzUwMDY2RkQ2QiAvKiBKU0hUTUxQaWN0dXJlRWxlbWVu
dC5oICovOyB9OwogCQlCQzQzNjhFODBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0MzY4RTcwQzIyNkUzMjAw
NUVGQjVGIC8qIFJlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlCQzQ2QzFFRTBDMEREQkRGMDAyMENGQzMgLyogSlNDU1NSdWxlQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNDZDMUVE
MEMwRERCREYwMDIwQ0ZDMyAvKiBKU0NTU1J1bGVDdXN0b20uY3BwICovOyB9OwotCQlCQzQ2QzFG
QTBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NDaGFyc2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzQ2QzFGMDBDMEREQzhGMDAyMENGQzMg
LyogSlNDU1NDaGFyc2V0UnVsZS5jcHAgKi87IH07Ci0JCUJDNDZDMUZCMEMwRERDOEYwMDIwQ0ZD
MyAvKiBKU0NTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzQ2QzFGMTBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NDaGFyc2V0UnVs
ZS5oICovOyB9OwogCQlCQzQ2QzFGQzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1
bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0
NkMxRjIwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxlLmNwcCAqLzsgfTsKIAkJ
QkM0NkMxRkQwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzQ2QzFGMzBDMEREQzhGMDAy
MENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuaCAqLzsgfTsKIAkJQkM0NkMxRkUwQzBEREM4RjAw
MjBDRkMzIC8qIEpTQ1NTSW1wb3J0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzQ2QzFGNDBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NJbXBv
cnRSdWxlLmNwcCAqLzsgfTsKQEAgLTYxNDEsNyArNjEzOCw2IEBACiAJCUUxRTFCRjAwMTE1RkY2
RkIwMDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFMUJFRkYxMTVGRjZGQjAwNkY1MkNBIC8qIFdp
bmRvd3NLZXlib2FyZENvZGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTFFNkVFQTQwQjYyOERBODAwNUYyRjcwIC8qIEpTSFRNTFNlbGVjdEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTFFNkVFQTMwQjYyOERBODAwNUYyRjcwIC8qIEpTSFRNTFNlbGVjdEVsZW1lbnQuY3BwICovOyB9
OwogCQlFMUU2RUVBODBCNjI4REIzMDA1RjJGNzAgLyogSlNIVE1MU2VsZWN0RWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFNkVFQTcwQjYy
OERCMzAwNUYyRjcwIC8qIEpTSFRNTFNlbGVjdEVsZW1lbnQuaCAqLzsgfTsKLQkJRTFFQkJCRDQw
QUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUJCQkQzMEFBQzlCODcwMDFGRThFMiAvKiBD
U1NDaGFyc2V0UnVsZS5jcHAgKi87IH07CiAJCUUxRUMyOTlGMEJCMDRDNkIwMEVBMTg3QiAvKiBY
UGF0aE5vZGVTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTFFQzI5OUQwQkIwNEM2QjAwRUExODdCIC8qIFhQYXRoTm9kZVNldC5jcHAgKi87IH07
CiAJCUUxRUMyOUEwMEJCMDRDNkIwMEVBMTg3QiAvKiBYUGF0aE5vZGVTZXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUMyOTlFMEJCMDRDNkIwMEVB
MTg3QiAvKiBYUGF0aE5vZGVTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFMUVEOEFDMzBDQzQ5QkUwMDBCRkM1NTcgLyogQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTFFRDhBQzIwQ0M0OUJFMDAwQkZDNTU3IC8qIENTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaCAqLzsgfTsKQEAgLTEwNDIyLDcgKzEwNDE4LDYgQEAKIAkJODVDNTZDQTMwQUE4OUNBNDAw
RDk1NzU1IC8qIENTU0ZvbnRGYWNlUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENT
U0ZvbnRGYWNlUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1QzU2Q0E2
MEFBODlENUYwMEQ5NTc1NSAvKiBDU1NQYWdlUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IENTU1BhZ2VSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDNTZD
QTkwQUE4OUU2NjAwRDk1NzU1IC8qIENTU0ltcG9ydFJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBDU1NJbXBvcnRSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
ODVDNTZDQUMwQUE4OUY4RTAwRDk1NzU1IC8qIENTU0NoYXJzZXRSdWxlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gQ1NTQ2hhcnNldFJ1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4NUM1NkNBRDBBQTg5RkUwMDBEOTU3NTUgLyogQ1NTVW5rbm93blJ1bGUuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NVbmtub3duUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg1REYyRjY5MEFBM0M3NDMwMEFENjRDNSAvKiBIVE1MQ29sbGVjdGlv
bi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxDb2xsZWN0aW9uLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVERjJGOTIwQUEzQzlCNjAwQUQ2NEM1IC8qIEhUTUxP
cHRpb25zQ29sbGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxPcHRpb25z
Q29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTQ1Nyw3ICsx
MTQ1Miw2IEBACiAJCUE4MEU2Q0NDMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbXBvcnRSdWxlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NJbXBvcnRSdWxlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4MEU2Q0NEMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQ
cm9wZXJ0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUHJv
cGVydHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODBFNkNDRTBBMTk4OUNB
MDA3RkI4QzUgLyogQ1NTVW5rbm93blJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENTU1Vua25vd25SdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE4
MEU2Q0NGMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NDaGFyc2V0UnVsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ2hhcnNldFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTgwRTZDRDAwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0ltYWdlVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ltYWdlVmFsdWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTgwRTZDRDEwQTE5ODlDQTAwN0ZCOEM1IC8qIFBhaXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhaXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVs
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTTWVkaWFSdWxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNzg0LDggKzEyNzc4LDYgQEAK
IAkJQkMzQzM5QjUwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQzQzNjhFNzBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQzQ2QzFFRDBDMEREQkRGMDAyMENGQzMgLyogSlNDU1NSdWxlQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gSlNDU1NS
dWxlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmlj
YXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07Ci0JCUJDNDZDMUYwMEMwRERDOEYw
MDIwQ0ZDMyAvKiBKU0NTU0NoYXJzZXRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NTU0NoYXJzZXRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQkM0NkMxRjEwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTQ2hhcnNldFJ1bGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ1NTQ2hhcnNldFJ1bGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM0NkMxRjIwQzBEREM4RjAwMjBDRkMzIC8qIEpT
Q1NTRm9udEZhY2VSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0NTU0ZvbnRGYWNlUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
NDZDMUYzMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDU1NGb250RmFjZVJ1bGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkM0NkMxRjQwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0
UnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDU1NJbXBv
cnRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzOTIyLDcgKzEzOTE0
LDYgQEAKIAkJRTFFMUJFRkYxMTVGRjZGQjAwNkY1MkNBIC8qIFdpbmRvd3NLZXlib2FyZENvZGVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd3NLZXlib2FyZENvZGVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRTZFRUEzMEI2MjhEQTgwMDVGMkY3
MCAvKiBKU0hUTUxTZWxlY3RFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSFRNTFNlbGVjdEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMUU2RUVBNzBCNjI4REIzMDA1RjJGNzAgLyogSlNIVE1MU2VsZWN0RWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgcGF0aCA9IEpTSFRNTFNlbGVjdEVsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZFOEUy
IC8qIENTU0NoYXJzZXRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENTU0NoYXJzZXRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFF
QzI5OUQwQkIwNEM2QjAwRUExODdCIC8qIFhQYXRoTm9kZVNldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYUGF0aE5vZGVTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMUVDMjk5RTBCQjA0QzZCMDBFQTE4N0IgLyogWFBhdGhOb2RlU2V0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhQYXRoTm9kZVNldC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFMUVEOEFDMjBDQzQ5QkUwMDBCRkM1NTcgLyogQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xOTkxNiw4ICsxOTkwNyw2IEBACiAJCQkJQkNDMDY1ODYwRjNDRTJBNzAwQ0QyRDg3IC8qIEpT
Q2xpZW50UmVjdExpc3QuaCAqLywKIAkJCQk5MzA3MDVENzA5RTBDOUI3MDBCMTdGRTQgLyogSlND
b3VudGVyLmNwcCAqLywKIAkJCQk5MzA3MDVEOTA5RTBDOUJGMDBCMTdGRTQgLyogSlNDb3VudGVy
LmggKi8sCi0JCQkJQkM0NkMxRjAwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTQ2hhcnNldFJ1bGUu
Y3BwICovLAotCQkJCUJDNDZDMUYxMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0NoYXJzZXRSdWxl
LmggKi8sCiAJCQkJQkM0NkMxRjIwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxl
LmNwcCAqLywKIAkJCQlCQzQ2QzFGMzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1
bGUuaCAqLywKIAkJCQlCQzQ2QzFGNDBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NJbXBvcnRSdWxl
LmNwcCAqLywKQEAgLTIyNzg0LDkgKzIyNzczLDYgQEAKIAkJCQk0OUFFMkQ4RDEzNEVFNTBDMDA3
MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oICovLAogCQkJCUJDNjA0QTQyMERCNTYzNEUw
MDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgKi8sCiAJCQkJQkM2MDQ5Q0IwREI1NjBDMjAw
MjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggKi8sCi0JCQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZF
OEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCAqLywKLQkJCQlBODBFNkNDRjBBMTk4OUNBMDA3RkI4
QzUgLyogQ1NTQ2hhcnNldFJ1bGUuaCAqLywKLQkJCQk4NUM1NkNBQzBBQTg5RjhFMDBEOTU3NTUg
LyogQ1NTQ2hhcnNldFJ1bGUuaWRsICovLAogCQkJCUJDRUE0NzdDMDk3Q0FBQzgwMDk0QzlFNCAv
KiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwICovLAogCQkJCUJDRUE0NzdEMDk3Q0FB
QzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCAqLywKIAkJCQk5REFD
N0M1MjFBRjJDQUExMDA0MzdDNDQgLyogQ1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlLmNwcCAq
LywKQEAgLTI0NjMzLDcgKzI0NjE5LDYgQEAKIAkJCQlCQzI3NEIyRjE0MEVCRUIyMDBFQURGQTYg
LyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUFFMkQ4
RjEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM2MDQ5Q0MwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlBODBFNkNGOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQ2hhcnNldFJ1bGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTlEQUM3QzU1MUFGMkNB
QTIwMDQzN0M0NCAvKiBDU1NDb250ZW50RGlzdHJpYnV0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNTQ3NSw3ICsyNTQ2MCw2IEBACiAJCQkJRTFGODBCOEUxODMxNzJC
NTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4
NTIxODI4M0E1NjAwRDg0Q0Q5IC8qIEpTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFFNzAwRDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0
aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkM0NkMxRkIwQzBEREM4RjAwMjBDRkMzIC8q
IEpTQ1NTQ2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQwOUVCREMzMTZCN0YzQTYw
MENCQTNGQyAvKiBKU0NTU0ZvbnRGYWNlTG9hZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzQ2QzFGRDBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNDZDMUZGMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ltcG9ydFJ1bGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjgzOTQsNyArMjgzNzgsNiBAQAogCQkJCUJDMjc0QjMxMTQwRUJF
RDgwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDlBRTJEOEUxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGN1bGF0aW9uVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZh
c1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUxRUJCQkQ0MEFBQzlCODcwMDFGRThFMiAv
KiBDU1NDaGFyc2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDc4RjA5N0NBQUM4
MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTlEQUM3QzU0MUFGMkNBQTEwMDQzN0M0NCAvKiBDU1NDb250ZW50RGlzdHJpYnV0aW9u
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4RkVCREMxNDNFM0VGNzAwNzI1MDJCIC8q
IENTU0Nyb3NzZmFkZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkxNTEsNyArMjkxMzQs
NiBAQAogCQkJCUUxRjgwQjhBMTgzMTcyQTIwMDc4ODVDMyAvKiBKU0NyeXB0b0tleVBhaXJDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyNUY4NTExODI4M0E1NjAwRDg0Q0Q5IC8qIEpT
Q3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI1Rjgz
RDE4MjQxMUU3MDBEODRDRDkgLyogSlNDcnlwdG9PcGVyYXRpb25EYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCUJDNDZDMUZBMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0NoYXJzZXRSdWxlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQwOUVCREM1MTZCN0YzQ0EwMENCQTNGQyAvKiBKU0NTU0Zv
bnRGYWNlTG9hZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDZDMUZDMEMwRERDOEYw
MDIwQ0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQ2
QzFGRTBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NJbXBvcnRSdWxlLmNwcCBpbiBTb3VyY2VzICov
LApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20u
Y3BwCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NT
U1J1bGVDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNDU1NSdWxlLmgiCiAKLSNpbmNsdWRlICJDU1NDaGFy
c2V0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0lt
cG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIKQEAgLTM1LDcgKzM0LDYg
QEAKICNpbmNsdWRlICJDU1NQYWdlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgog
I2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgotI2luY2x1ZGUgIkpTQ1NTQ2hhcnNldFJ1bGUu
aCIKICNpbmNsdWRlICJKU0NTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0
UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVSdWxlLmgiCkBAIC03Myw4ICs3MSw2IEBA
IEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0QKICAgICAgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8Q1NTUGFnZVJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7
CiAgICAgY2FzZSBDU1NSdWxlOjpJTVBPUlRfUlVMRToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXI8Q1NTSW1wb3J0UnVsZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHJ1bGUpKTsKLSAgICBj
YXNlIENTU1J1bGU6OkNIQVJTRVRfUlVMRToKLSAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
Q1NTQ2hhcnNldFJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBD
U1NSdWxlOjpLRVlGUkFNRV9SVUxFOgogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NL
ZXlmcmFtZVJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NS
dWxlOjpLRVlGUkFNRVNfUlVMRToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0
UnVsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxl
LmNwcAkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRS
dWxlLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDYsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
Q29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG1hY3J1bGVzLnJ1KQot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1DU1NDaGFyc2V0UnVsZTo6Q1NTQ2hhcnNldFJ1bGUoQ1NTU3R5bGVT
aGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGVuY29kaW5nKQotICAgIDogQ1NTUnVsZShwYXJl
bnQpCi0gICAgLCBtX2VuY29kaW5nKGVuY29kaW5nKQotewotfQotCi1TdHJpbmcgQ1NTQ2hhcnNl
dFJ1bGU6OmNzc1RleHQoKSBjb25zdAotewotICAgIHJldHVybiAiQGNoYXJzZXQgXCIiICsgbV9l
bmNvZGluZyArICJcIjsiOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJz
ZXRSdWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxl
LmgJKHJldmlzaW9uIDIwNzc1NikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVs
ZS5oCShub25leGlzdGVudCkKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAqIChDKSAxOTk5LTIwMDMg
TGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVy
IChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDYsIDIwMDgsIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0g
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgot
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1
ZGUgIkNTU1J1bGUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBDU1NDaGFyc2V0
UnVsZSBmaW5hbCA6IHB1YmxpYyBDU1NSdWxlIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENT
U0NoYXJzZXRSdWxlPiBjcmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcm
IGVuY29kaW5nKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTQ2hhcnNl
dFJ1bGUocGFyZW50LCBlbmNvZGluZykpOwotICAgIH0KLQotICAgIGNvbnN0IFN0cmluZyYgZW5j
b2RpbmcoKSBjb25zdCB7IHJldHVybiBtX2VuY29kaW5nOyB9Ci0gICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2V0RW5jb2RpbmcoY29uc3QgU3RyaW5nJiBlbmNvZGluZykgeyBtX2VuY29kaW5nID0gZW5j
b2Rpbmc7IHJldHVybiB7IH07IH0KLQotcHJpdmF0ZToKLSAgICBDU1NDaGFyc2V0UnVsZShDU1NT
dHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcpOwotCi0gICAgQ1NTUnVs
ZTo6VHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ0hBUlNFVF9SVUxFOyB9Ci0gICAg
U3RyaW5nIGNzc1RleHQoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVs
ZUJhc2UmKSBmaW5hbCB7IH0KLQotICAgIFN0cmluZyBtX2VuY29kaW5nOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NoYXJzZXRSdWxlLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0x
ICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwJKHJldmlzaW9uIDIwNzc1NikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwy
MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxz
YW0ud2VpbmlnQGdtYWlsLmNvbT4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKi8KLQotaW50ZXJmYWNlIENTU0NoYXJzZXRSdWxlIDogQ1NTUnVsZSB7
Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBlbmNv
ZGluZzsKLX07CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hh
cnNldFJ1bGUuaWRsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCww
ICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaAkocmV2aXNpb24gMjA3NzU2KQor
KysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCSh3b3JraW5nIGNv
cHkpCkBAIC04Myw3ICs4Myw2IEBAIHN0cnVjdCBDU1NSdWxlU291cmNlRGF0YSA6IHB1YmxpYyBS
ZWZDb3UKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVTktOT1dOX1JVTEUsCiAgICAgICAgIFNU
WUxFX1JVTEUsCi0gICAgICAgIENIQVJTRVRfUlVMRSwKICAgICAgICAgSU1QT1JUX1JVTEUsCiAg
ICAgICAgIE1FRElBX1JVTEUsCiAgICAgICAgIEZPTlRfRkFDRV9SVUxFLApJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcAkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogCi0j
aW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIK
ICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5o
IgpAQCAtMjQ1LDEzICsyNDQsOCBAQCBDU1NSdWxlKiBDU1NTdHlsZVNoZWV0OjppdGVtKHVuc2ln
bmVkIGluCiAgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gcnVs
ZUNvdW50KTsKICAgICAKICAgICBSZWZQdHI8Q1NTUnVsZT4mIGNzc1J1bGUgPSBtX2NoaWxkUnVs
ZUNTU09NV3JhcHBlcnNbaW5kZXhdOwotICAgIGlmICghY3NzUnVsZSkgewotICAgICAgICBpZiAo
aW5kZXggPT0gMCAmJiBtX2NvbnRlbnRzLT5oYXNDaGFyc2V0UnVsZSgpKSB7Ci0gICAgICAgICAg
ICBBU1NFUlQoIW1fY29udGVudHMtPnJ1bGVBdCgwKSk7Ci0gICAgICAgICAgICBjc3NSdWxlID0g
Q1NTQ2hhcnNldFJ1bGU6OmNyZWF0ZSh0aGlzLCBtX2NvbnRlbnRzLT5lbmNvZGluZ0Zyb21DaGFy
c2V0UnVsZSgpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBjc3NSdWxlID0gbV9jb250
ZW50cy0+cnVsZUF0KGluZGV4KS0+Y3JlYXRlQ1NTT01XcmFwcGVyKHRoaXMpOwotICAgIH0KKyAg
ICBpZiAoIWNzc1J1bGUpCisgICAgICAgIGNzc1J1bGUgPSBtX2NvbnRlbnRzLT5ydWxlQXQoaW5k
ZXgpLT5jcmVhdGVDU1NPTVdyYXBwZXIodGhpcyk7CiAgICAgcmV0dXJuIGNzc1J1bGUuZ2V0KCk7
CiB9CiAKQEAgLTI3NCwxNSArMjY4LDEzIEBAIFJlZlB0cjxDU1NSdWxlTGlzdD4gQ1NTU3R5bGVT
aGVldDo6cnVsZXMKICAgICBpZiAoIWNhbkFjY2Vzc1J1bGVzKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIC8vIElFIGJlaGF2aW9yLgotICAgIFJlZlB0cjxTdGF0aWNDU1NSdWxlTGlz
dD4gbm9uQ2hhcnNldFJ1bGVzID0gU3RhdGljQ1NTUnVsZUxpc3Q6OmNyZWF0ZSgpOworICAgIFJl
ZlB0cjxTdGF0aWNDU1NSdWxlTGlzdD4gcnVsZUxpc3QgPSBTdGF0aWNDU1NSdWxlTGlzdDo6Y3Jl
YXRlKCk7CiAgICAgdW5zaWduZWQgcnVsZUNvdW50ID0gbGVuZ3RoKCk7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHJ1bGVDb3VudDsgKytpKSB7CiAgICAgICAgIENTU1J1bGUqIHJ1bGUg
PSBpdGVtKGkpOwotICAgICAgICBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OkNIQVJTRVRf
UlVMRSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBub25DaGFyc2V0UnVsZXMtPnJ1
bGVzKCkuYXBwZW5kKHJ1bGUpOworICAgICAgICBydWxlTGlzdC0+cnVsZXMoKS5hcHBlbmQocnVs
ZSk7CiAgICAgfQotICAgIHJldHVybiBub25DaGFyc2V0UnVsZXM7CisgICAgcmV0dXJuIHJ1bGVM
aXN0OwogfQogCiBFeGNlcHRpb25Pcjx1bnNpZ25lZD4gQ1NTU3R5bGVTaGVldDo6ZGVwcmVjYXRl
ZEluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBydWxlU3RyaW5nKQpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2hlZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTaGVldC5oCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTaGVldC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTQ2hhcnNldFJ1bGU7CiBjbGFzcyBDU1NJbXBvcnRS
dWxlOwogY2xhc3MgQ1NTUGFyc2VyOwogY2xhc3MgQ1NTUnVsZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJ1bGUuY3BwCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgogCi0jaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1
bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRS
dWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCkBAIC05Niw4ICs5NSwxMCBAQCB2
b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgIGNhc2UgS2V5ZnJhbWU6CiAgICAgICAg
IGRlbGV0ZSBkb3duY2FzdDxTdHlsZUtleWZyYW1lPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwot
ICAgIGNhc2UgVW5rbm93bjoKICAgICBjYXNlIENoYXJzZXQ6CisgICAgICAgIGRlbGV0ZSBkb3du
Y2FzdDxTdHlsZVJ1bGVDaGFyc2V0Pih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2Ug
VW5rbm93bjoKICNpZiAhRU5BQkxFKENTU19SRUdJT05TKQogICAgIGNhc2UgUmVnaW9uOgogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1MCwzICszNTAs
NyBAQCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0CiBzdGF0aWMgYm9v
bCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVs
ZS5pc0tleWZyYW1lUnVsZSgpOyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKK1NQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlQ2hhcnNldCkKK3N0
YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxlKSB7IHJl
dHVybiBydWxlLmlzQ2hhcnNldFJ1bGUoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQo
KQorCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxl
U2hlZXQuY3BwCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yU3R5bGVTaGVldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw4ICsxOTcsNiBA
QCBzdGF0aWMgUmVmUHRyPENTU1J1bGVMaXN0PiBhc0NTU1J1bGVMaXN0CiAgICAgVmVjdG9yPFJl
ZlB0cjxDU1NSdWxlPj4mIGxpc3RSdWxlcyA9IGxpc3QtPnJ1bGVzKCk7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMCwgc2l6ZSA9IHN0eWxlU2hlZXQtPmxlbmd0aCgpOyBpIDwgc2l6ZTsgKytpKSB7
CiAgICAgICAgIENTU1J1bGUqIGl0ZW0gPSBzdHlsZVNoZWV0LT5pdGVtKGkpOwotICAgICAgICBp
ZiAoaXRlbS0+dHlwZSgpID09IENTU1J1bGU6OkNIQVJTRVRfUlVMRSkKLSAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBsaXN0UnVsZXMuYXBwZW5kKGl0ZW0pOwogICAgIH0KICAgICByZXR1
cm4gV1RGTW92ZShsaXN0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292624</attachid>
            <date>2016-10-24 10:30:04 -0700</date>
            <delta_ts>2016-10-24 10:40:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>49497</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzc1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE2LTEwLTI0ICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBDU1NDaGFyc2V0UnVsZSBm
cm9tIHRoZSBDU1MgT00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2Mzg5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlbW92ZSBDU1NDaGFyc2V0UnVsZSBmcm9tIHRoZSBDU1MgT00uIEFsbCBvdGhlciBi
cm93c2VyIGVuZ2luZXMgaGF2ZSBtYWRlIHRoaXMKKyAgICAgICAgY2hhbmdlLiBUaGlzIGVsaW1p
bmF0ZXMgdGhlIHdlaXJkIG92ZXJsb2FkaW5nIG9mIGlzQ2hhcnNldFJ1bGUgdG8gbWF0Y2ggYm90
aAorICAgICAgICBDU1NDaGFyc2V0UnVsZSBhbmQgU3R5bGVSdWxlQ2hhcnNldCAob25seSB1c2Vk
IGJ5IHRoZSBuZXcgcGFyc2VyKS4KKworICAgICAgICBGaXggdGhlIGRlc3Ryb3koKSBtZXRob2Qg
aW4gU3R5bGVSdWxlQmFzZSB0byBjbGVhbiB1cCBTdHlsZVJ1bGVDaGFyc2V0cyBjcmVhdGVkCisg
ICAgICAgIGJ5IHRoZSBuZXcgcGFyc2VyIHByb3Blcmx5LgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogY3NzL0NT
U0NoYXJzZXRSdWxlLmg6IFJlbW92ZWQuCisgICAgICAgICogY3NzL0NTU0NoYXJzZXRSdWxlLmlk
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmg6CisgICAg
ICAgICogY3NzL0NTU1N0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
aGVldDo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0OjpydWxlcyk6Cisg
ICAgICAgICogY3NzL0NTU1N0eWxlU2hlZXQuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmRlc3Ryb3kpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFz
Q1NTUnVsZUxpc3QpOgorCiAyMDE2LTEwLTI0ICBEYXZlIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgogCiAgICAgICAgIFtDU1MgUGFyc2VyXSBGaXggLXdlYmtpdC1ib3gtcmVmbGVjdCBwYXJzaW5n
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMzMiw3ICszMzIsNiBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRs
CiAgICAgY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAotICAgIGNzcy9DU1NDaGFyc2V0
UnVsZS5pZGwKICAgICBjc3MvQ1NTRm9udEZhY2VMb2FkRXZlbnQuaWRsCiAgICAgY3NzL0NTU0Zv
bnRGYWNlUnVsZS5pZGwKICAgICBjc3MvQ1NTSW1wb3J0UnVsZS5pZGwKQEAgLTEyNTksNyArMTI1
OCw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZh
bHVlLmNwcAogICAgIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52
YXNWYWx1ZS5jcHAKLSAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCiAgICAgY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKICAgICBjc3MvQ1NTQ29udGVudERpc3RyaWJ1dGlvblZh
bHVlLmNwcAogICAgIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMjQwLDcgKzI0MCw2IEBAIEpTX0JJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9DcnlwdG9LZXlQYWlyLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmlkbCBcCi0gICAgJChXZWJDb3JlKS9jc3MvQ1NT
Q2hhcnNldFJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZUxvYWRFdmVu
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIwNzc1NikK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMzk5Miw3ICszOTkyLDYgQEAKIAkJQTgwRTZDRjUwQTE5ODlDQTAwN0ZC
OEM1IC8qIENTU1BhZ2VSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4MEU2Q0NCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5jcHAg
Ki87IH07CiAJCUE4MEU2Q0Y2MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbXBvcnRSdWxlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBFNkNDQzBBMTk4
OUNBMDA3RkI4QzUgLyogQ1NTSW1wb3J0UnVsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4MEU2Q0Y3MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQ
cm9wZXJ0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBODBFNkNDRDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUHJvcGVydHkuY3BwICovOyB9OwotCQlB
ODBFNkNGOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQ2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEU2Q0NGMEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NDaGFyc2V0UnVsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUE4MEU2Q0ZBMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbWFnZVZhbHVl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBFNkNE
MDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW1hZ2VWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4MEU2Q0ZCMEExOTg5Q0EwMDdGQjhDNSAv
KiBQYWlyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
ODBFNkNEMTBBMTk4OUNBMDA3RkI4QzUgLyogUGFpci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4MEU2Q0ZDMEExOTg5Q0EwMDdGQjhDNSAvKiBD
U1NNZWRpYVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5jcHAgKi87IH07
CkBAIC01MTMyLDggKzUxMzEsNiBAQAogCQlCQzNEODVCQzFDMEUyRTdBMDBEM0I2MTAgLyogSlNI
VE1MUGljdHVyZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDODA4QjEzMUMwRTJCMzUwMDY2RkQ2QiAvKiBKU0hUTUxQaWN0dXJlRWxlbWVu
dC5oICovOyB9OwogCQlCQzQzNjhFODBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0MzY4RTcwQzIyNkUzMjAw
NUVGQjVGIC8qIFJlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlCQzQ2QzFFRTBDMEREQkRGMDAyMENGQzMgLyogSlNDU1NSdWxlQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNDZDMUVE
MEMwRERCREYwMDIwQ0ZDMyAvKiBKU0NTU1J1bGVDdXN0b20uY3BwICovOyB9OwotCQlCQzQ2QzFG
QTBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NDaGFyc2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzQ2QzFGMDBDMEREQzhGMDAyMENGQzMg
LyogSlNDU1NDaGFyc2V0UnVsZS5jcHAgKi87IH07Ci0JCUJDNDZDMUZCMEMwRERDOEYwMDIwQ0ZD
MyAvKiBKU0NTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzQ2QzFGMTBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NDaGFyc2V0UnVs
ZS5oICovOyB9OwogCQlCQzQ2QzFGQzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1
bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0
NkMxRjIwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxlLmNwcCAqLzsgfTsKIAkJ
QkM0NkMxRkQwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzQ2QzFGMzBDMEREQzhGMDAy
MENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuaCAqLzsgfTsKIAkJQkM0NkMxRkUwQzBEREM4RjAw
MjBDRkMzIC8qIEpTQ1NTSW1wb3J0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzQ2QzFGNDBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NJbXBv
cnRSdWxlLmNwcCAqLzsgfTsKQEAgLTYxNDEsNyArNjEzOCw2IEBACiAJCUUxRTFCRjAwMTE1RkY2
RkIwMDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFMUJFRkYxMTVGRjZGQjAwNkY1MkNBIC8qIFdp
bmRvd3NLZXlib2FyZENvZGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTFFNkVFQTQwQjYyOERBODAwNUYyRjcwIC8qIEpTSFRNTFNlbGVjdEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTFFNkVFQTMwQjYyOERBODAwNUYyRjcwIC8qIEpTSFRNTFNlbGVjdEVsZW1lbnQuY3BwICovOyB9
OwogCQlFMUU2RUVBODBCNjI4REIzMDA1RjJGNzAgLyogSlNIVE1MU2VsZWN0RWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFNkVFQTcwQjYy
OERCMzAwNUYyRjcwIC8qIEpTSFRNTFNlbGVjdEVsZW1lbnQuaCAqLzsgfTsKLQkJRTFFQkJCRDQw
QUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUJCQkQzMEFBQzlCODcwMDFGRThFMiAvKiBD
U1NDaGFyc2V0UnVsZS5jcHAgKi87IH07CiAJCUUxRUMyOTlGMEJCMDRDNkIwMEVBMTg3QiAvKiBY
UGF0aE5vZGVTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTFFQzI5OUQwQkIwNEM2QjAwRUExODdCIC8qIFhQYXRoTm9kZVNldC5jcHAgKi87IH07
CiAJCUUxRUMyOUEwMEJCMDRDNkIwMEVBMTg3QiAvKiBYUGF0aE5vZGVTZXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUMyOTlFMEJCMDRDNkIwMEVB
MTg3QiAvKiBYUGF0aE5vZGVTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFMUVEOEFDMzBDQzQ5QkUwMDBCRkM1NTcgLyogQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTFFRDhBQzIwQ0M0OUJFMDAwQkZDNTU3IC8qIENTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaCAqLzsgfTsKQEAgLTEwNDIyLDcgKzEwNDE4LDYgQEAKIAkJODVDNTZDQTMwQUE4OUNBNDAw
RDk1NzU1IC8qIENTU0ZvbnRGYWNlUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENT
U0ZvbnRGYWNlUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1QzU2Q0E2
MEFBODlENUYwMEQ5NTc1NSAvKiBDU1NQYWdlUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IENTU1BhZ2VSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDNTZD
QTkwQUE4OUU2NjAwRDk1NzU1IC8qIENTU0ltcG9ydFJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBDU1NJbXBvcnRSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
ODVDNTZDQUMwQUE4OUY4RTAwRDk1NzU1IC8qIENTU0NoYXJzZXRSdWxlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gQ1NTQ2hhcnNldFJ1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4NUM1NkNBRDBBQTg5RkUwMDBEOTU3NTUgLyogQ1NTVW5rbm93blJ1bGUuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NVbmtub3duUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg1REYyRjY5MEFBM0M3NDMwMEFENjRDNSAvKiBIVE1MQ29sbGVjdGlv
bi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxDb2xsZWN0aW9uLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVERjJGOTIwQUEzQzlCNjAwQUQ2NEM1IC8qIEhUTUxP
cHRpb25zQ29sbGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxPcHRpb25z
Q29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTQ1Nyw3ICsx
MTQ1Miw2IEBACiAJCUE4MEU2Q0NDMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbXBvcnRSdWxlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NJbXBvcnRSdWxlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4MEU2Q0NEMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQ
cm9wZXJ0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUHJv
cGVydHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODBFNkNDRTBBMTk4OUNB
MDA3RkI4QzUgLyogQ1NTVW5rbm93blJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENTU1Vua25vd25SdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE4
MEU2Q0NGMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NDaGFyc2V0UnVsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ2hhcnNldFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTgwRTZDRDAwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0ltYWdlVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ltYWdlVmFsdWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTgwRTZDRDEwQTE5ODlDQTAwN0ZCOEM1IC8qIFBhaXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhaXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVs
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTTWVkaWFSdWxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNzg0LDggKzEyNzc4LDYgQEAK
IAkJQkMzQzM5QjUwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQzQzNjhFNzBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQzQ2QzFFRDBDMEREQkRGMDAyMENGQzMgLyogSlNDU1NSdWxlQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gSlNDU1NS
dWxlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmlj
YXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07Ci0JCUJDNDZDMUYwMEMwRERDOEYw
MDIwQ0ZDMyAvKiBKU0NTU0NoYXJzZXRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NTU0NoYXJzZXRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQkM0NkMxRjEwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTQ2hhcnNldFJ1bGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ1NTQ2hhcnNldFJ1bGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM0NkMxRjIwQzBEREM4RjAwMjBDRkMzIC8qIEpT
Q1NTRm9udEZhY2VSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0NTU0ZvbnRGYWNlUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
NDZDMUYzMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDU1NGb250RmFjZVJ1bGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkM0NkMxRjQwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0
UnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDU1NJbXBv
cnRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzOTIyLDcgKzEzOTE0
LDYgQEAKIAkJRTFFMUJFRkYxMTVGRjZGQjAwNkY1MkNBIC8qIFdpbmRvd3NLZXlib2FyZENvZGVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd3NLZXlib2FyZENvZGVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRTZFRUEzMEI2MjhEQTgwMDVGMkY3
MCAvKiBKU0hUTUxTZWxlY3RFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSFRNTFNlbGVjdEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMUU2RUVBNzBCNjI4REIzMDA1RjJGNzAgLyogSlNIVE1MU2VsZWN0RWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgcGF0aCA9IEpTSFRNTFNlbGVjdEVsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZFOEUy
IC8qIENTU0NoYXJzZXRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENTU0NoYXJzZXRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFF
QzI5OUQwQkIwNEM2QjAwRUExODdCIC8qIFhQYXRoTm9kZVNldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYUGF0aE5vZGVTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMUVDMjk5RTBCQjA0QzZCMDBFQTE4N0IgLyogWFBhdGhOb2RlU2V0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhQYXRoTm9kZVNldC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFMUVEOEFDMjBDQzQ5QkUwMDBCRkM1NTcgLyogQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xOTkxNiw4ICsxOTkwNyw2IEBACiAJCQkJQkNDMDY1ODYwRjNDRTJBNzAwQ0QyRDg3IC8qIEpT
Q2xpZW50UmVjdExpc3QuaCAqLywKIAkJCQk5MzA3MDVENzA5RTBDOUI3MDBCMTdGRTQgLyogSlND
b3VudGVyLmNwcCAqLywKIAkJCQk5MzA3MDVEOTA5RTBDOUJGMDBCMTdGRTQgLyogSlNDb3VudGVy
LmggKi8sCi0JCQkJQkM0NkMxRjAwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTQ2hhcnNldFJ1bGUu
Y3BwICovLAotCQkJCUJDNDZDMUYxMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0NoYXJzZXRSdWxl
LmggKi8sCiAJCQkJQkM0NkMxRjIwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxl
LmNwcCAqLywKIAkJCQlCQzQ2QzFGMzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1
bGUuaCAqLywKIAkJCQlCQzQ2QzFGNDBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NJbXBvcnRSdWxl
LmNwcCAqLywKQEAgLTIyNzg0LDkgKzIyNzczLDYgQEAKIAkJCQk0OUFFMkQ4RDEzNEVFNTBDMDA3
MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oICovLAogCQkJCUJDNjA0QTQyMERCNTYzNEUw
MDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgKi8sCiAJCQkJQkM2MDQ5Q0IwREI1NjBDMjAw
MjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggKi8sCi0JCQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZF
OEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCAqLywKLQkJCQlBODBFNkNDRjBBMTk4OUNBMDA3RkI4
QzUgLyogQ1NTQ2hhcnNldFJ1bGUuaCAqLywKLQkJCQk4NUM1NkNBQzBBQTg5RjhFMDBEOTU3NTUg
LyogQ1NTQ2hhcnNldFJ1bGUuaWRsICovLAogCQkJCUJDRUE0NzdDMDk3Q0FBQzgwMDk0QzlFNCAv
KiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwICovLAogCQkJCUJDRUE0NzdEMDk3Q0FB
QzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCAqLywKIAkJCQk5REFD
N0M1MjFBRjJDQUExMDA0MzdDNDQgLyogQ1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlLmNwcCAq
LywKQEAgLTI0NjMzLDcgKzI0NjE5LDYgQEAKIAkJCQlCQzI3NEIyRjE0MEVCRUIyMDBFQURGQTYg
LyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUFFMkQ4
RjEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM2MDQ5Q0MwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlBODBFNkNGOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQ2hhcnNldFJ1bGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTlEQUM3QzU1MUFGMkNB
QTIwMDQzN0M0NCAvKiBDU1NDb250ZW50RGlzdHJpYnV0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNTQ3NSw3ICsyNTQ2MCw2IEBACiAJCQkJRTFGODBCOEUxODMxNzJC
NTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4
NTIxODI4M0E1NjAwRDg0Q0Q5IC8qIEpTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFFNzAwRDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0
aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkM0NkMxRkIwQzBEREM4RjAwMjBDRkMzIC8q
IEpTQ1NTQ2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQwOUVCREMzMTZCN0YzQTYw
MENCQTNGQyAvKiBKU0NTU0ZvbnRGYWNlTG9hZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzQ2QzFGRDBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNDZDMUZGMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ltcG9ydFJ1bGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjgzOTQsNyArMjgzNzgsNiBAQAogCQkJCUJDMjc0QjMxMTQwRUJF
RDgwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDlBRTJEOEUxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGN1bGF0aW9uVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZh
c1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUxRUJCQkQ0MEFBQzlCODcwMDFGRThFMiAv
KiBDU1NDaGFyc2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDc4RjA5N0NBQUM4
MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTlEQUM3QzU0MUFGMkNBQTEwMDQzN0M0NCAvKiBDU1NDb250ZW50RGlzdHJpYnV0aW9u
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4RkVCREMxNDNFM0VGNzAwNzI1MDJCIC8q
IENTU0Nyb3NzZmFkZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkxNTEsNyArMjkxMzQs
NiBAQAogCQkJCUUxRjgwQjhBMTgzMTcyQTIwMDc4ODVDMyAvKiBKU0NyeXB0b0tleVBhaXJDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyNUY4NTExODI4M0E1NjAwRDg0Q0Q5IC8qIEpT
Q3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI1Rjgz
RDE4MjQxMUU3MDBEODRDRDkgLyogSlNDcnlwdG9PcGVyYXRpb25EYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCUJDNDZDMUZBMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0NoYXJzZXRSdWxlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQwOUVCREM1MTZCN0YzQ0EwMENCQTNGQyAvKiBKU0NTU0Zv
bnRGYWNlTG9hZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDZDMUZDMEMwRERDOEYw
MDIwQ0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQ2
QzFGRTBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NJbXBvcnRSdWxlLmNwcCBpbiBTb3VyY2VzICov
LApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20u
Y3BwCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NT
U1J1bGVDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNDU1NSdWxlLmgiCiAKLSNpbmNsdWRlICJDU1NDaGFy
c2V0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0lt
cG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIKQEAgLTM1LDcgKzM0LDYg
QEAKICNpbmNsdWRlICJDU1NQYWdlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgog
I2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgotI2luY2x1ZGUgIkpTQ1NTQ2hhcnNldFJ1bGUu
aCIKICNpbmNsdWRlICJKU0NTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0
UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVSdWxlLmgiCkBAIC03Myw4ICs3MSw2IEBA
IEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0QKICAgICAgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8Q1NTUGFnZVJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7
CiAgICAgY2FzZSBDU1NSdWxlOjpJTVBPUlRfUlVMRToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXI8Q1NTSW1wb3J0UnVsZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHJ1bGUpKTsKLSAgICBj
YXNlIENTU1J1bGU6OkNIQVJTRVRfUlVMRToKLSAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
Q1NTQ2hhcnNldFJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBD
U1NSdWxlOjpLRVlGUkFNRV9SVUxFOgogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NL
ZXlmcmFtZVJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NS
dWxlOjpLRVlGUkFNRVNfUlVMRToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0
UnVsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxl
LmNwcAkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRS
dWxlLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDYsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
Q29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG1hY3J1bGVzLnJ1KQot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1DU1NDaGFyc2V0UnVsZTo6Q1NTQ2hhcnNldFJ1bGUoQ1NTU3R5bGVT
aGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGVuY29kaW5nKQotICAgIDogQ1NTUnVsZShwYXJl
bnQpCi0gICAgLCBtX2VuY29kaW5nKGVuY29kaW5nKQotewotfQotCi1TdHJpbmcgQ1NTQ2hhcnNl
dFJ1bGU6OmNzc1RleHQoKSBjb25zdAotewotICAgIHJldHVybiAiQGNoYXJzZXQgXCIiICsgbV9l
bmNvZGluZyArICJcIjsiOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJz
ZXRSdWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxl
LmgJKHJldmlzaW9uIDIwNzc1NikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVs
ZS5oCShub25leGlzdGVudCkKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAqIChDKSAxOTk5LTIwMDMg
TGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVy
IChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDYsIDIwMDgsIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0g
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgot
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1
ZGUgIkNTU1J1bGUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBDU1NDaGFyc2V0
UnVsZSBmaW5hbCA6IHB1YmxpYyBDU1NSdWxlIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENT
U0NoYXJzZXRSdWxlPiBjcmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcm
IGVuY29kaW5nKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTQ2hhcnNl
dFJ1bGUocGFyZW50LCBlbmNvZGluZykpOwotICAgIH0KLQotICAgIGNvbnN0IFN0cmluZyYgZW5j
b2RpbmcoKSBjb25zdCB7IHJldHVybiBtX2VuY29kaW5nOyB9Ci0gICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2V0RW5jb2RpbmcoY29uc3QgU3RyaW5nJiBlbmNvZGluZykgeyBtX2VuY29kaW5nID0gZW5j
b2Rpbmc7IHJldHVybiB7IH07IH0KLQotcHJpdmF0ZToKLSAgICBDU1NDaGFyc2V0UnVsZShDU1NT
dHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcpOwotCi0gICAgQ1NTUnVs
ZTo6VHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ0hBUlNFVF9SVUxFOyB9Ci0gICAg
U3RyaW5nIGNzc1RleHQoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVs
ZUJhc2UmKSBmaW5hbCB7IH0KLQotICAgIFN0cmluZyBtX2VuY29kaW5nOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NoYXJzZXRSdWxlLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0x
ICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwJKHJldmlzaW9uIDIwNzc1NikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwy
MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxz
YW0ud2VpbmlnQGdtYWlsLmNvbT4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKi8KLQotaW50ZXJmYWNlIENTU0NoYXJzZXRSdWxlIDogQ1NTUnVsZSB7
Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBlbmNv
ZGluZzsKLX07CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hh
cnNldFJ1bGUuaWRsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCww
ICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaAkocmV2aXNpb24gMjA3NzU2KQor
KysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCSh3b3JraW5nIGNv
cHkpCkBAIC04Myw3ICs4Myw2IEBAIHN0cnVjdCBDU1NSdWxlU291cmNlRGF0YSA6IHB1YmxpYyBS
ZWZDb3UKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVTktOT1dOX1JVTEUsCiAgICAgICAgIFNU
WUxFX1JVTEUsCi0gICAgICAgIENIQVJTRVRfUlVMRSwKICAgICAgICAgSU1QT1JUX1JVTEUsCiAg
ICAgICAgIE1FRElBX1JVTEUsCiAgICAgICAgIEZPTlRfRkFDRV9SVUxFLApJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcAkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogCi0j
aW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIK
ICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5o
IgpAQCAtMjQ1LDEzICsyNDQsOCBAQCBDU1NSdWxlKiBDU1NTdHlsZVNoZWV0OjppdGVtKHVuc2ln
bmVkIGluCiAgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gcnVs
ZUNvdW50KTsKICAgICAKICAgICBSZWZQdHI8Q1NTUnVsZT4mIGNzc1J1bGUgPSBtX2NoaWxkUnVs
ZUNTU09NV3JhcHBlcnNbaW5kZXhdOwotICAgIGlmICghY3NzUnVsZSkgewotICAgICAgICBpZiAo
aW5kZXggPT0gMCAmJiBtX2NvbnRlbnRzLT5oYXNDaGFyc2V0UnVsZSgpKSB7Ci0gICAgICAgICAg
ICBBU1NFUlQoIW1fY29udGVudHMtPnJ1bGVBdCgwKSk7Ci0gICAgICAgICAgICBjc3NSdWxlID0g
Q1NTQ2hhcnNldFJ1bGU6OmNyZWF0ZSh0aGlzLCBtX2NvbnRlbnRzLT5lbmNvZGluZ0Zyb21DaGFy
c2V0UnVsZSgpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBjc3NSdWxlID0gbV9jb250
ZW50cy0+cnVsZUF0KGluZGV4KS0+Y3JlYXRlQ1NTT01XcmFwcGVyKHRoaXMpOwotICAgIH0KKyAg
ICBpZiAoIWNzc1J1bGUpCisgICAgICAgIGNzc1J1bGUgPSBtX2NvbnRlbnRzLT5ydWxlQXQoaW5k
ZXgpLT5jcmVhdGVDU1NPTVdyYXBwZXIodGhpcyk7CiAgICAgcmV0dXJuIGNzc1J1bGUuZ2V0KCk7
CiB9CiAKQEAgLTI3NCwxNSArMjY4LDEzIEBAIFJlZlB0cjxDU1NSdWxlTGlzdD4gQ1NTU3R5bGVT
aGVldDo6cnVsZXMKICAgICBpZiAoIWNhbkFjY2Vzc1J1bGVzKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIC8vIElFIGJlaGF2aW9yLgotICAgIFJlZlB0cjxTdGF0aWNDU1NSdWxlTGlz
dD4gbm9uQ2hhcnNldFJ1bGVzID0gU3RhdGljQ1NTUnVsZUxpc3Q6OmNyZWF0ZSgpOworICAgIFJl
ZlB0cjxTdGF0aWNDU1NSdWxlTGlzdD4gcnVsZUxpc3QgPSBTdGF0aWNDU1NSdWxlTGlzdDo6Y3Jl
YXRlKCk7CiAgICAgdW5zaWduZWQgcnVsZUNvdW50ID0gbGVuZ3RoKCk7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHJ1bGVDb3VudDsgKytpKSB7CiAgICAgICAgIENTU1J1bGUqIHJ1bGUg
PSBpdGVtKGkpOwotICAgICAgICBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OkNIQVJTRVRf
UlVMRSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBub25DaGFyc2V0UnVsZXMtPnJ1
bGVzKCkuYXBwZW5kKHJ1bGUpOworICAgICAgICBydWxlTGlzdC0+cnVsZXMoKS5hcHBlbmQocnVs
ZSk7CiAgICAgfQotICAgIHJldHVybiBub25DaGFyc2V0UnVsZXM7CisgICAgcmV0dXJuIHJ1bGVM
aXN0OwogfQogCiBFeGNlcHRpb25Pcjx1bnNpZ25lZD4gQ1NTU3R5bGVTaGVldDo6ZGVwcmVjYXRl
ZEluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBydWxlU3RyaW5nKQpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2hlZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTaGVldC5oCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTaGVldC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTQ2hhcnNldFJ1bGU7CiBjbGFzcyBDU1NJbXBvcnRS
dWxlOwogY2xhc3MgQ1NTUGFyc2VyOwogY2xhc3MgQ1NTUnVsZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJ1bGUuY3BwCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgogCi0jaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1
bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRS
dWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCkBAIC05Niw4ICs5NSwxMCBAQCB2
b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgIGNhc2UgS2V5ZnJhbWU6CiAgICAgICAg
IGRlbGV0ZSBkb3duY2FzdDxTdHlsZUtleWZyYW1lPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwot
ICAgIGNhc2UgVW5rbm93bjoKICAgICBjYXNlIENoYXJzZXQ6CisgICAgICAgIGRlbGV0ZSBkb3du
Y2FzdDxTdHlsZVJ1bGVDaGFyc2V0Pih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2Ug
VW5rbm93bjoKICNpZiAhRU5BQkxFKENTU19SRUdJT05TKQogICAgIGNhc2UgUmVnaW9uOgogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1MCwzICszNTAs
NyBAQCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0CiBzdGF0aWMgYm9v
bCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVs
ZS5pc0tleWZyYW1lUnVsZSgpOyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKK1NQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlQ2hhcnNldCkKK3N0
YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxlKSB7IHJl
dHVybiBydWxlLmlzQ2hhcnNldFJ1bGUoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQo
KQorCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAkocmV2
aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MCwxMSArMTYwLDYgQEAgU3R5bGVSdWxlQmFzZSogU3R5
bGVTaGVldENvbnRlbnRzOjpydWxlQQogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKGluZGV4IDwgcnVsZUNvdW50KCkpOwogICAgIAogICAgIHVuc2lnbmVkIGNoaWxkVmVjdG9y
SW5kZXggPSBpbmRleDsKLSAgICBpZiAoaGFzQ2hhcnNldFJ1bGUoKSkgewotICAgICAgICBpZiAo
aW5kZXggPT0gMCkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAtLWNoaWxkVmVjdG9y
SW5kZXg7Ci0gICAgfQogICAgIGlmIChjaGlsZFZlY3RvckluZGV4IDwgbV9pbXBvcnRSdWxlcy5z
aXplKCkpCiAgICAgICAgIHJldHVybiBtX2ltcG9ydFJ1bGVzW2NoaWxkVmVjdG9ySW5kZXhdLmdl
dCgpOwogCkBAIC0xNzUsNyArMTcwLDYgQEAgU3R5bGVSdWxlQmFzZSogU3R5bGVTaGVldENvbnRl
bnRzOjpydWxlQQogdW5zaWduZWQgU3R5bGVTaGVldENvbnRlbnRzOjpydWxlQ291bnQoKSBjb25z
dAogewogICAgIHVuc2lnbmVkIHJlc3VsdCA9IDA7Ci0gICAgcmVzdWx0ICs9IGhhc0NoYXJzZXRS
dWxlKCkgPyAxIDogMDsKICAgICByZXN1bHQgKz0gbV9pbXBvcnRSdWxlcy5zaXplKCk7CiAgICAg
cmVzdWx0ICs9IG1fY2hpbGRSdWxlcy5zaXplKCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTIx
MiwxNSArMjA2LDYgQEAgYm9vbCBTdHlsZVNoZWV0Q29udGVudHM6OndyYXBwZXJJbnNlcnRSdQog
ICAgIEFTU0VSVCghcnVsZS0+aXNDaGFyc2V0UnVsZSgpKTsKICAgICAKICAgICB1bnNpZ25lZCBj
aGlsZFZlY3RvckluZGV4ID0gaW5kZXg7Ci0gICAgLy8gbV9jaGlsZFJ1bGVzIGRvZXMgbm90IGNv
bnRhaW4gQGNoYXJzZXQgd2hpY2ggaXMgYWx3YXlzIGluIGluZGV4IDAgaWYgaXQgZXhpc3RzLgot
ICAgIGlmIChoYXNDaGFyc2V0UnVsZSgpKSB7Ci0gICAgICAgIGlmIChjaGlsZFZlY3RvckluZGV4
ID09IDApIHsKLSAgICAgICAgICAgIC8vIE5vdGhpbmcgY2FuIGJlIGluc2VydGVkIGJlZm9yZSBA
Y2hhcnNldC4KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICAt
LWNoaWxkVmVjdG9ySW5kZXg7Ci0gICAgfQotICAgIAogICAgIGlmIChjaGlsZFZlY3RvckluZGV4
IDwgbV9pbXBvcnRSdWxlcy5zaXplKCkgfHwgKGNoaWxkVmVjdG9ySW5kZXggPT0gbV9pbXBvcnRS
dWxlcy5zaXplKCkgJiYgcnVsZS0+aXNJbXBvcnRSdWxlKCkpKSB7CiAgICAgICAgIC8vIEluc2Vy
dGluZyBub24taW1wb3J0IHJ1bGUgYmVmb3JlIEBpbXBvcnQgaXMgbm90IGFsbG93ZWQuCiAgICAg
ICAgIGlmICghaXM8U3R5bGVSdWxlSW1wb3J0PihydWxlKSkKQEAgLTI1MCwxMyArMjM1LDYgQEAg
dm9pZCBTdHlsZVNoZWV0Q29udGVudHM6OndyYXBwZXJEZWxldGVSdQogICAgIEFTU0VSVF9XSVRI
X1NFQ1VSSVRZX0lNUExJQ0FUSU9OKGluZGV4IDwgcnVsZUNvdW50KCkpOwogCiAgICAgdW5zaWdu
ZWQgY2hpbGRWZWN0b3JJbmRleCA9IGluZGV4OwotICAgIGlmIChoYXNDaGFyc2V0UnVsZSgpKSB7
Ci0gICAgICAgIGlmIChjaGlsZFZlY3RvckluZGV4ID09IDApIHsKLSAgICAgICAgICAgIGNsZWFy
Q2hhcnNldFJ1bGUoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAt
LWNoaWxkVmVjdG9ySW5kZXg7Ci0gICAgfQogICAgIGlmIChjaGlsZFZlY3RvckluZGV4IDwgbV9p
bXBvcnRSdWxlcy5zaXplKCkpIHsKICAgICAgICAgbV9pbXBvcnRSdWxlc1tjaGlsZFZlY3Rvcklu
ZGV4XS0+Y2xlYXJQYXJlbnRTdHlsZVNoZWV0KCk7CiAgICAgICAgIG1faW1wb3J0UnVsZXMucmVt
b3ZlKGNoaWxkVmVjdG9ySW5kZXgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hl
ZXRDb250ZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0
Q29udGVudHMuaAkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
U2hlZXRDb250ZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDYgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBjbGVhclJ1bGVzKCk7CiAKLSAgICBib29sIGhhc0NoYXJzZXRSdWxlKCkg
Y29uc3QgeyByZXR1cm4gIW1fZW5jb2RpbmdGcm9tQ2hhcnNldFJ1bGUuaXNOdWxsKCk7IH0KICAg
ICBTdHJpbmcgZW5jb2RpbmdGcm9tQ2hhcnNldFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX2VuY29k
aW5nRnJvbUNoYXJzZXRSdWxlOyB9CiAgICAgLy8gUnVsZXMgb3RoZXIgdGhhbiBAY2hhcnNldCBh
bmQgQGltcG9ydC4KICAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgY2hp
bGRSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRSdWxlczsgfQpJbmRleDogU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAkocmV2aXNpb24g
MjA3NzU2KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsOCArMTk3LDYgQEAgc3RhdGljIFJlZlB0cjxDU1NS
dWxlTGlzdD4gYXNDU1NSdWxlTGlzdAogICAgIFZlY3RvcjxSZWZQdHI8Q1NTUnVsZT4+JiBsaXN0
UnVsZXMgPSBsaXN0LT5ydWxlcygpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDAsIHNpemUgPSBz
dHlsZVNoZWV0LT5sZW5ndGgoKTsgaSA8IHNpemU7ICsraSkgewogICAgICAgICBDU1NSdWxlKiBp
dGVtID0gc3R5bGVTaGVldC0+aXRlbShpKTsKLSAgICAgICAgaWYgKGl0ZW0tPnR5cGUoKSA9PSBD
U1NSdWxlOjpDSEFSU0VUX1JVTEUpCi0gICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgbGlz
dFJ1bGVzLmFwcGVuZChpdGVtKTsKICAgICB9CiAgICAgcmV0dXJuIFdURk1vdmUobGlzdCk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDc3NjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0xMC0yNCAgRGF2ZSBIeWF0
dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgQ1NTQ2hhcnNldFJ1bGUgZnJv
bSB0aGUgQ1NTIE9NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjM4OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIG1hYy9NaWdyYXRlSGVhZGVyc0Zyb21XZWJLaXRMZWdhY3kubWFrZToKKwogMjAxNi0x
MC0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWN0aXZh
dGUgV0VCX1JUQyBjb21waWxhdGlvbiBmbGFncyBmb3IgTWFjIGJvdHMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL21hYy9NaWdyYXRlSGVhZGVyc0Zyb21XZWJLaXRMZWdhY3kubWFrZQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9tYWMvTWlncmF0ZUhlYWRlcnNGcm9tV2ViS2l0TGVnYWN5Lm1h
a2UJKHJldmlzaW9uIDIwNzc1NikKKysrIFNvdXJjZS9XZWJLaXQyL21hYy9NaWdyYXRlSGVhZGVy
c0Zyb21XZWJLaXRMZWdhY3kubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNiBAQCBX
RUJLSVRfUFVCTElDX0hFQURFUlMgPSBcCiAgICAgRE9NQmxvYi5oIFwKICAgICBET01DREFUQVNl
Y3Rpb24uaCBcCiAgICAgRE9NQ1NTLmggXAotICAgIERPTUNTU0NoYXJzZXRSdWxlLmggXAogICAg
IERPTUNTU0ZvbnRGYWNlUnVsZS5oIFwKICAgICBET01DU1NJbXBvcnRSdWxlLmggXAogICAgIERP
TUNTU01lZGlhUnVsZS5oIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE2
LTEwLTI0ICBEYXZlIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBD
U1NDaGFyc2V0UnVsZSBmcm9tIHRoZSBDU1MgT00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzg5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKIDIwMTYtMTAtMTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZlcnQgcjIwNzE1MQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0zNjYsOCArMzY2LDYgQEAKIAkJOTNENDM2NjQxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNv
dW50ZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNENDM1MTIxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNvdW50ZXJJbnRlcm5hbC5oICov
OyB9OwogCQk5M0Q0MzY2NTFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Q0MzUxMzFENTdBQkVFMDBBQjg1
RUEgLyogRE9NQ1NTLmggKi87IH07CiAJCTkzRDQzNjY2MUQ1N0FCRUUwMEFCODVFQSAvKiBET01D
U1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Q0
MzUxNDFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTLm1tICovOyB9OwotCQk5M0Q0MzY2NzFENTdB
QkVFMDBBQjg1RUEgLyogRE9NQ1NTQ2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRDQzNTE1MUQ1N0FCRUUwMEFCODVFQSAvKiBET01D
U1NDaGFyc2V0UnVsZS5oICovOyB9OwotCQk5M0Q0MzY2ODFENTdBQkVFMDBBQjg1RUEgLyogRE9N
Q1NTQ2hhcnNldFJ1bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0Q0MzUxNjFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTQ2hhcnNldFJ1bGUubW0g
Ki87IH07CiAJCTkzRDQzNjY5MUQ1N0FCRUUwMEFCODVFQSAvKiBET01DU1NGb250RmFjZVJ1bGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRDQzNTE3
MUQ1N0FCRUUwMEFCODVFQSAvKiBET01DU1NGb250RmFjZVJ1bGUuaCAqLzsgfTsKIAkJOTNENDM2
NkExRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTU0ZvbnRGYWNlUnVsZS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRDQzNTE4MUQ1N0FCRUUwMEFCODVF
QSAvKiBET01DU1NGb250RmFjZVJ1bGUubW0gKi87IH07CiAJCTkzRDQzNjZCMUQ1N0FCRUUwMEFC
ODVFQSAvKiBET01DU1NJbXBvcnRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0Q0MzUxOTFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTSW1wb3J0
UnVsZS5oICovOyB9OwpAQCAtMTEwNCw4ICsxMTAyLDYgQEAKIAkJOTNENDM1MTIxRDU3QUJFRTAw
QUI4NUVBIC8qIERPTUNvdW50ZXJJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01Db3VudGVySW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTNENDM1MTMxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTUy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01DU1MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTNENDM1MTQxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUNTUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJOTNENDM1MTUxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTU0NoYXJzZXRSdWxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU0NoYXJzZXRSdWxlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzRDQzNTE2MUQ1N0FCRUUwMEFCODVFQSAvKiBET01D
U1NDaGFyc2V0UnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IERPTUNTU0NoYXJzZXRSdWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0Q0
MzUxNzFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTRm9udEZhY2VSdWxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU0ZvbnRGYWNlUnVsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5M0Q0MzUxODFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTRm9udEZh
Y2VSdWxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQ1NT
Rm9udEZhY2VSdWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0Q0MzUxOTFE
NTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTSW1wb3J0UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01DU1NJbXBvcnRSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yMjM4LDggKzIyMzQsNiBAQAogCQkJCTkzRDQzNTEyMUQ1N0FCRUUwMEFCODVFQSAv
KiBET01Db3VudGVySW50ZXJuYWwuaCAqLywKIAkJCQk5M0Q0MzUxMzFENTdBQkVFMDBBQjg1RUEg
LyogRE9NQ1NTLmggKi8sCiAJCQkJOTNENDM1MTQxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTUy5t
bSAqLywKLQkJCQk5M0Q0MzUxNTFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTQ2hhcnNldFJ1bGUu
aCAqLywKLQkJCQk5M0Q0MzUxNjFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ1NTQ2hhcnNldFJ1bGUu
bW0gKi8sCiAJCQkJOTNENDM1MTcxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTU0ZvbnRGYWNlUnVs
ZS5oICovLAogCQkJCTkzRDQzNTE4MUQ1N0FCRUUwMEFCODVFQSAvKiBET01DU1NGb250RmFjZVJ1
bGUubW0gKi8sCiAJCQkJOTNENDM1MTkxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTU0ltcG9ydFJ1
bGUuaCAqLywKQEAgLTI3NDUsNyArMjczOSw2IEBACiAJCQkJOTNENDM2NjIxRDU3QUJFRTAwQUI4
NUVBIC8qIERPTUNvdW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQzNjY0MUQ1N0FCRUUw
MEFCODVFQSAvKiBET01Db3VudGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQz
NjY1MUQ1N0FCRUUwMEFCODVFQSAvKiBET01DU1MuaCBpbiBIZWFkZXJzICovLAotCQkJCTkzRDQz
NjY3MUQ1N0FCRUUwMEFCODVFQSAvKiBET01DU1NDaGFyc2V0UnVsZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTNENDM2NjkxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTU0ZvbnRGYWNlUnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTNENDM2NkIxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTU0ltcG9y
dFJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQzNjZEMUQ1N0FCRUUwMEFCODVFQSAvKiBE
T01DU1NNZWRpYVJ1bGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzQwMSw3ICszMzk0LDYgQEAKIAkJ
CQk5M0Q0MzY1RjFENTdBQkVFMDBBQjg1RUEgLyogRE9NQ29tbWVudC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTkzRDQzNjYzMUQ1N0FCRUUwMEFCODVFQSAvKiBET01Db3VudGVyLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTNENDM2NjYxRDU3QUJFRTAwQUI4NUVBIC8qIERPTUNTUy5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTkzRDQzNjY4MUQ1N0FCRUUwMEFCODVFQSAvKiBET01DU1NDaGFyc2V0UnVs
ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzRDQzNjZBMUQ1N0FCRUUwMEFCODVFQSAvKiBET01D
U1NGb250RmFjZVJ1bGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk5M0Q0MzY2QzFENTdBQkVFMDBB
Qjg1RUEgLyogRE9NQ1NTSW1wb3J0UnVsZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzRDQzNjZF
MUQ1N0FCRUUwMEFCODVFQSAvKiBET01DU1NNZWRpYVJ1bGUubW0gaW4gU291cmNlcyAqLywKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzc2MykKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE2LTEwLTI0ICBE
YXZlIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBDU1NDaGFyc2V0
UnVsZSBmcm9tIHRoZSBDU1MgT00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2Mzg5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogRE9NL0RPTUNTUy5oOgorICAgICAgICAqIERPTS9ET01DU1MubW06Cisg
ICAgICAgIChraXRDbGFzcyk6CisgICAgICAgICogRE9NL0RPTUNTU0NoYXJzZXRSdWxlLmg6IFJl
bW92ZWQuCisgICAgICAgICogRE9NL0RPTUNTU0NoYXJzZXRSdWxlLm1tOiBSZW1vdmVkLgorICAg
ICAgICAqIE1pZ3JhdGVIZWFkZXJzLm1ha2U6CisgICAgICAgICogV2ViS2l0LmV4cDoKKwogMjAx
Ni0xMC0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWN0
aXZhdGUgV0VCX1JUQyBjb21waWxhdGlvbiBmbGFncyBmb3IgTWFjIGJvdHMKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvbWFjL01pZ3JhdGVIZWFkZXJzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9tYWMvTWlncmF0ZUhlYWRlcnMubWFrZQkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNl
L1dlYktpdC9tYWMvTWlncmF0ZUhlYWRlcnMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMzcsNyAr
MzcsNiBAQCBhbGwgOiBcCiAgICAgJChQUklWQVRFX0hFQURFUlNfRElSKS9ET01CbG9iLmggXAog
ICAgICQoUFJJVkFURV9IRUFERVJTX0RJUikvRE9NQ0RBVEFTZWN0aW9uLmggXAogICAgICQoUFJJ
VkFURV9IRUFERVJTX0RJUikvRE9NQ1NTLmggXAotICAgICQoUFJJVkFURV9IRUFERVJTX0RJUikv
RE9NQ1NTQ2hhcnNldFJ1bGUuaCBcCiAgICAgJChQUklWQVRFX0hFQURFUlNfRElSKS9ET01DU1NG
b250RmFjZVJ1bGUuaCBcCiAgICAgJChQUklWQVRFX0hFQURFUlNfRElSKS9ET01DU1NJbXBvcnRS
dWxlLmggXAogICAgICQoUFJJVkFURV9IRUFERVJTX0RJUikvRE9NQ1NTTWVkaWFSdWxlLmggXApJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViS2l0LmV4cAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJLaXQuZXhwCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9XZWJLaXQuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNiBAQAogLm9iamNfY2xh
c3NfbmFtZV9ET01BdHRyCiAub2JqY19jbGFzc19uYW1lX0RPTUJsb2IKIC5vYmpjX2NsYXNzX25h
bWVfRE9NQ0RBVEFTZWN0aW9uCi0ub2JqY19jbGFzc19uYW1lX0RPTUNTU0NoYXJzZXRSdWxlCiAu
b2JqY19jbGFzc19uYW1lX0RPTUNTU0ZvbnRGYWNlUnVsZQogLm9iamNfY2xhc3NfbmFtZV9ET01D
U1NJbXBvcnRSdWxlCiAub2JqY19jbGFzc19uYW1lX0RPTUNTU01lZGlhUnVsZQpJbmRleDogU291
cmNlL1dlYktpdC9tYWMvRE9NL0RPTUNTUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
bWFjL0RPTS9ET01DU1MuaAkocmV2aXNpb24gMjA3NzU2KQorKysgU291cmNlL1dlYktpdC9tYWMv
RE9NL0RPTUNTUy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBACiAjaW1wb3J0IDxX
ZWJLaXRMZWdhY3kvRE9NT2JqZWN0Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kvRE9NU3R5bGVz
aGVldHMuaD4KIAotI2ltcG9ydCA8V2ViS2l0TGVnYWN5L0RPTUNTU0NoYXJzZXRSdWxlLmg+CiAj
aW1wb3J0IDxXZWJLaXRMZWdhY3kvRE9NQ1NTRm9udEZhY2VSdWxlLmg+CiAjaW1wb3J0IDxXZWJL
aXRMZWdhY3kvRE9NQ1NTSW1wb3J0UnVsZS5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L0RPTUNT
U01lZGlhUnVsZS5oPgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvRE9NL0RPTUNTUy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9ET00vRE9NQ1NTLm1tCShyZXZpc2lvbiAyMDc3
NTYpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9ET00vRE9NQ1NTLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL0NTU1J1bGUuaD4KICNpbXBvcnQgPFdl
YkNvcmUvQ1NTU3R5bGVTaGVldC5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NWYWx1ZS5oPgotI2lt
cG9ydCAiRE9NQ1NTQ2hhcnNldFJ1bGUuaCIKICNpbXBvcnQgIkRPTUNTU0ZvbnRGYWNlUnVsZS5o
IgogI2ltcG9ydCAiRE9NQ1NTSW1wb3J0UnVsZS5oIgogI2ltcG9ydCAiRE9NQ1NTTWVkaWFSdWxl
LmgiCkBAIC02NSw4ICs2NCw2IEBAIENsYXNzIGtpdENsYXNzKFdlYkNvcmU6OkNTU1J1bGUqIGlt
cGwpCiAgICAgICAgICAgICByZXR1cm4gW0RPTUNTU1Vua25vd25SdWxlIGNsYXNzXTsKICAgICAg
ICAgY2FzZSBET01fU1RZTEVfUlVMRToKICAgICAgICAgICAgIHJldHVybiBbRE9NQ1NTU3R5bGVS
dWxlIGNsYXNzXTsKLSAgICAgICAgY2FzZSBET01fQ0hBUlNFVF9SVUxFOgotICAgICAgICAgICAg
cmV0dXJuIFtET01DU1NDaGFyc2V0UnVsZSBjbGFzc107CiAgICAgICAgIGNhc2UgRE9NX0lNUE9S
VF9SVUxFOgogICAgICAgICAgICAgcmV0dXJuIFtET01DU1NJbXBvcnRSdWxlIGNsYXNzXTsKICAg
ICAgICAgY2FzZSBET01fTUVESUFfUlVMRToKQEAgLTgxLDYgKzc4LDggQEAgQ2xhc3Mga2l0Q2xh
c3MoV2ViQ29yZTo6Q1NTUnVsZSogaW1wbCkKICAgICAgICAgICAgIHJldHVybiBbRE9NQ1NTUnVs
ZSBjbGFzc107CiAgICAgICAgIGNhc2UgRE9NX1NVUFBPUlRTX1JVTEU6CiAgICAgICAgICAgICBy
ZXR1cm4gW0RPTUNTU1J1bGUgY2xhc3NdOworICAgICAgICBjYXNlIERPTV9DSEFSU0VUX1JVTEU6
CisgICAgICAgICAgICByZXR1cm4gW0RPTUNTU1J1bGUgY2xhc3NdOwogI2lmIEVOQUJMRShDU1Nf
REVWSUNFX0FEQVBUQVRJT04pCiAgICAgICAgIGNhc2UgRE9NX1dFQktJVF9WSUVXUE9SVF9SVUxF
OgogICAgICAgICAgICAgcmV0dXJuIFtET01DU1NSdWxlIGNsYXNzXTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvbWFjL0RPTS9ET01DU1NDaGFyc2V0UnVsZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvbWFjL0RPTS9ET01DU1NDaGFyc2V0UnVsZS5oCShyZXZpc2lvbiAyMDc3NTYpCisrKyBT
b3VyY2UvV2ViS2l0L21hYy9ET00vRE9NQ1NTQ2hhcnNldFJ1bGUuaAkobm9uZXhpc3RlbnQpCkBA
IC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbXBvcnQgPFdlYktpdExlZ2FjeS9ET01DU1NSdWxlLmg+Ci0KLUBjbGFzcyBO
U1N0cmluZzsKLQotV0VCS0lUX0NMQVNTX0FWQUlMQUJMRV9NQUMoMTBfNCkKLUBpbnRlcmZhY2Ug
RE9NQ1NTQ2hhcnNldFJ1bGUgOiBET01DU1NSdWxlCi1AcHJvcGVydHkgKHJlYWRvbmx5LCBjb3B5
KSBOU1N0cmluZyAqZW5jb2Rpbmc7Ci1AZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9ET00v
RE9NQ1NTQ2hhcnNldFJ1bGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvRE9N
L0RPTUNTU0NoYXJzZXRSdWxlLm1tCShyZXZpc2lvbiAyMDc3NTYpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9ET00vRE9NQ1NTQ2hhcnNldFJ1bGUubW0JKG5vbmV4aXN0ZW50KQpAQCAtMSw0OCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW1wb3J0ICJET01DU1NDaGFyc2V0UnVsZS5oIgotCi0jaW1wb3J0IDxXZWJDb3JlL0NTU0NoYXJz
ZXRSdWxlLmg+Ci0jaW1wb3J0ICJET01DU1NSdWxlSW50ZXJuYWwuaCIKLSNpbXBvcnQgIkRPTU5v
ZGVJbnRlcm5hbC5oIgotI2ltcG9ydCAiRXhjZXB0aW9uSGFuZGxlcnMuaCIKLSNpbXBvcnQgPFdl
YkNvcmUvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1RocmVhZENo
ZWNrLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1VSTC5oPgotI2ltcG9ydCA8V2ViQ29yZS9XZWJTY3Jp
cHRPYmplY3RQcml2YXRlLmg+Ci0jaW1wb3J0IDx3dGYvR2V0UHRyLmg+Ci0KLSNkZWZpbmUgSU1Q
TCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpDU1NDaGFyc2V0UnVsZSo+KHJlaW50ZXJwcmV0X2Nhc3Q8
V2ViQ29yZTo6Q1NTUnVsZSo+KF9pbnRlcm5hbCkpCi0KLUBpbXBsZW1lbnRhdGlvbiBET01DU1ND
aGFyc2V0UnVsZQotCi0tIChOU1N0cmluZyAqKWVuY29kaW5nCi17Ci0gICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIHJldHVybiBJTVBMLT5lbmNvZGluZygpOwot
fQotCi1AZW5kCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDc3NjMpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNi0xMC0yNCAgRGF2ZSBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgQ1NTQ2hhcnNldFJ1bGUg
ZnJvbSB0aGUgQ1NTIE9NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjM4OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvd2luZG93LXByb3BlcnRpZXMuanM6
CisgICAgICAgICogZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sOgorICAgICAgICAqIGZhc3QvZW5j
b2RpbmcvY3NzLWNoYXJzZXQtZGVmYXVsdC54aHRtbDoKKyAgICAgICAgKiBmYXN0L2VuY29kaW5n
L2Nzcy1jaGFyc2V0LWRvbS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9l
bmNvZGluZy9jc3MtY2hhcnNldC1kb20uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sb29rdXAtcHJlY2VkZW5jZS1leHBlY3RlZC50
eHQ6CisKIDIwMTYtMTAtMjQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEFjdGl2YXRlIFdFQl9SVEMgY29tcGlsYXRpb24gZmxhZ3MgZm9yIE1hYyBib3RzCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMjA3NzU2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDYgQEAg
UEFTUyBUcnlBbGxvY2F0ZSgnSFRNTFVMaXN0RWxlbWVudCcpIGlzIAogUEFTUyBUcnlBbGxvY2F0
ZSgnSFRNTEVsZW1lbnQnKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0Nv
dW50ZXInKSBpcyAnZXhjZXB0aW9uJwotUEFTUyBUcnlBbGxvY2F0ZSgnQ1NTQ2hhcnNldFJ1bGUn
KSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnQ1NTRm9udEZhY2VSdWxlJykgaXMg
J2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0NTU0ltcG9ydFJ1bGUnKSBpcyAnZXhjZXB0
aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnQ1NTTWVkaWFSdWxlJykgaXMgJ2V4Y2VwdGlvbicKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwJKHJldmlzaW9u
IDIwNzc1NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNiBAQCB2YXIgb2JqZWN0c19leGNlcHRpb24gPSBb
CiAgICAgJ0hUTUxFbGVtZW50JywKICAgICAnQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEJywKICAg
ICAnQ291bnRlcicsCi0gICAgJ0NTU0NoYXJzZXRSdWxlJywKICAgICAnQ1NTRm9udEZhY2VSdWxl
JywKICAgICAnQ1NTSW1wb3J0UnVsZScsCiAgICAgJ0NTU01lZGlhUnVsZScsCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3dpbmRvdy1wcm9wZXJ0aWVzLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvd2luZG93
LXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDIwNzc1NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy9yZXNvdXJjZXMvd2luZG93LXByb3BlcnRpZXMuanMJKHdvcmtpbmcgY29weSkKQEAg
LTMzLDcgKzMzLDYgQEAgdmFyIHByb3BlcnR5SW5mbyA9IFsKIAogICAgIFsiQXR0ciIsICJvYmpl
Y3QiXSwKICAgICBbIkNEQVRBU2VjdGlvbiIsICJvYmplY3QiXSwKLSAgICBbIkNTU0NoYXJzZXRS
dWxlIiwgIm9iamVjdCJdLAogICAgIFsiQ1NTRm9udEZhY2VSdWxlIiwgIm9iamVjdCJdLAogICAg
IFsiQ1NTSW1wb3J0UnVsZSIsICJvYmplY3QiXSwKICAgICBbIkNTU01lZGlhUnVsZSIsICJvYmpl
Y3QiXSwKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZGVmYXVs
dC54aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL2Nzcy1jaGFy
c2V0LWRlZmF1bHQueGh0bWwJKHJldmlzaW9uIDIwNzc1NikKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZW5jb2RpbmcvY3NzLWNoYXJzZXQtZGVmYXVsdC54aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzAs
NyArMzAsNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlczIiKS5pbm5lckhUTUwgKz0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0uY3NzUnVsZXNb
MF0uc3R5bGUuY29udGVudDsKICAgICAKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVz
MyIpLmlubmVySFRNTCArPSBkb2N1bWVudC5zdHlsZVNoZWV0c1syXS5jc3NSdWxlc1sxXS5zdHls
ZVNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmNvbnRlbnQ7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlczMiKS5pbm5lckhUTUwgKz0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMl0uY3NzUnVs
ZXNbMF0uc3R5bGVTaGVldC5jc3NSdWxlc1swXS5zdHlsZS5jb250ZW50OwogCiAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlczQiKS5pbm5lckhUTUwgKz0gZG9jdW1lbnQuc3R5bGVTaGVl
dHNbM10uY3NzUnVsZXNbMF0uc3R5bGVTaGVldC5jc3NSdWxlc1swXS5zdHlsZS5jb250ZW50Owog
ICB9IGNhdGNoIChleCkgewpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9jc3MtY2hh
cnNldC1kb20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZW5j
b2RpbmcvY3NzLWNoYXJzZXQtZG9tLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjA3NzU2KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9jc3MtY2hhcnNldC1kb20tZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKQEAgLTEsNyArMCwwIEBACi1UZXN0IGZvciBidWcgMTA2NzY6IEBjaGFyc2V0
IHJ1bGVzIG5vdCBhY2Nlc3NpYmxlIHZpYSBET00KLQotY3NzVGV4dDogQGNoYXJzZXQgInV0Zi04
IjsKLWVuY29kaW5nOiB1dGYtOAotUmVzZXR0aW5nIGVuY29kaW5nLi4uCi1jc3NUZXh0OiBAY2hh
cnNldCAia29pOC1yIjsKLWVuY29kaW5nOiBrb2k4LXIKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZG9tLWV4cGVjdGVkLnR4dApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKRGVsZXRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMSAr
MCwwICMjCi10ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZG9tLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9jc3MtY2hhcnNldC1kb20uaHRtbAkocmV2
aXNpb24gMjA3NzU2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9jc3MtY2hhcnNldC1k
b20uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MSIgaHR0cC1l
cXVpdj0iQ29udGVudC1UeXBlIi8+Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0
ZXh0L2NzcyIgaHJlZj0iY3NzLWNoYXJzZXQuY3NzIiBjaGFyc2V0PSJ3aW5kb3dzLTEyNTEiPgot
ICAgIDwhLS0gVGhlIGRvY3VtZW50IGNoYXJzZXQgYW5kIGxpbmsgY2hhcnNldCBoYXZlIGxvd2Vy
IHByaW9yaXR5IHRoYW4gQGNoYXJzZXQsIHNvIHRoZXkgCi0gICAgICAgICBzaG91bGRuJ3QgYWZm
ZWN0IGFueXRoaW5nLiAtLT4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0idGVzdCgpIj4KLTxwPlRl
c3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDY3NiI+YnVnIDEwNjc2PC9hPjoKLUBjaGFyc2V0IHJ1bGVzIG5vdCBhY2Nlc3NpYmxlIHZpYSBE
T008L3A+Ci0KLTxwIGlkPSJyZXN1bHQiPjwvcD4KLQotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotZnVuY3Rpb24gdGVzdCgp
IHsKLSAgdHJ5IHsKLSAgICBjaGFyc2V0UnVsZSA9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLmNz
c1J1bGVzWzBdOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhU
TUwgPSAiY3NzVGV4dDogIiArIGNoYXJzZXRSdWxlLmNzc1RleHQgKyAiPGJyPmVuY29kaW5nOiAi
ICsgY2hhcnNldFJ1bGUuZW5jb2Rpbmc7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJl
c3VsdCIpLmlubmVySFRNTCArPSAiPGJyPlJlc2V0dGluZyBlbmNvZGluZy4uLiI7Ci0gICAgY2hh
cnNldFJ1bGUuZW5jb2RpbmcgPSAia29pOC1yIjsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuaW5uZXJIVE1MICs9ICI8YnI+Y3NzVGV4dDogIiArIGNoYXJzZXRSdWxlLmNz
c1RleHQgKyAiPGJyPmVuY29kaW5nOiAiICsgY2hhcnNldFJ1bGUuZW5jb2Rpbmc7Ci0gIH0gY2F0
Y2ggKGV4KSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLnRleHRDb250
ZW50ID0gZXgudG9TdHJpbmcoKTsKLSAgfQotfQotPC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3NzLWNo
YXJzZXQtZG9tLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46bWltZS10eXBlCiMjIC0xICsw
LDAgIyMKLXRleHQvaHRtbApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sb29rdXAtcHJl
Y2VkZW5jZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbG9va3VwLXByZWNlZGVuY2UtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMDc3NTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1sb29rdXAtcHJlY2VkZW5jZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTY4LDggKzY4LDYgQEAgUEFTUyAnZnVuY3Rpb24gQXR0cigpIHsgICAgW25hdGl2ZSBj
b2RlXQogUEFTUyAnZnVuY3Rpb24gQXR0cigpIHsgICAgW25hdGl2ZSBjb2RlXX0nIGlzICdmdW5j
dGlvbiBBdHRyKCkgeyAgICBbbmF0aXZlIGNvZGVdfScKIFBBU1MgJ2Z1bmN0aW9uIENEQVRBU2Vj
dGlvbigpIHsgICAgW25hdGl2ZSBjb2RlXX0nIGlzICdmdW5jdGlvbiBDREFUQVNlY3Rpb24oKSB7
ICAgIFtuYXRpdmUgY29kZV19JwogUEFTUyAnZnVuY3Rpb24gQ0RBVEFTZWN0aW9uKCkgeyAgICBb
bmF0aXZlIGNvZGVdfScgaXMgJ2Z1bmN0aW9uIENEQVRBU2VjdGlvbigpIHsgICAgW25hdGl2ZSBj
b2RlXX0nCi1QQVNTICdmdW5jdGlvbiBDU1NDaGFyc2V0UnVsZSgpIHsgICAgW25hdGl2ZSBjb2Rl
XX0nIGlzICdmdW5jdGlvbiBDU1NDaGFyc2V0UnVsZSgpIHsgICAgW25hdGl2ZSBjb2RlXX0nCi1Q
QVNTICdmdW5jdGlvbiBDU1NDaGFyc2V0UnVsZSgpIHsgICAgW25hdGl2ZSBjb2RlXX0nIGlzICdm
dW5jdGlvbiBDU1NDaGFyc2V0UnVsZSgpIHsgICAgW25hdGl2ZSBjb2RlXX0nCiBQQVNTICdmdW5j
dGlvbiBDU1NGb250RmFjZVJ1bGUoKSB7ICAgIFtuYXRpdmUgY29kZV19JyBpcyAnZnVuY3Rpb24g
Q1NTRm9udEZhY2VSdWxlKCkgeyAgICBbbmF0aXZlIGNvZGVdfScKIFBBU1MgJ2Z1bmN0aW9uIENT
U0ZvbnRGYWNlUnVsZSgpIHsgICAgW25hdGl2ZSBjb2RlXX0nIGlzICdmdW5jdGlvbiBDU1NGb250
RmFjZVJ1bGUoKSB7ICAgIFtuYXRpdmUgY29kZV19JwogUEFTUyAnZnVuY3Rpb24gQ1NTSW1wb3J0
UnVsZSgpIHsgICAgW25hdGl2ZSBjb2RlXX0nIGlzICdmdW5jdGlvbiBDU1NJbXBvcnRSdWxlKCkg
eyAgICBbbmF0aXZlIGNvZGVdfScK
</data>
<flag name="review"
          id="315651"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>