<?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>43546</bug_id>
          
          <creation_ts>2010-08-05 02:41:35 -0700</creation_ts>
          <short_desc>Web Inspector: remove mutator methods from ScriptObject and ScriptArray</short_desc>
          <delta_ts>2010-08-05 06:41:11 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>260486</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-05 02:41:35 -0700</bug_when>
    <thetext>Web Inspector: remove mutator methods from ScriptObject and ScriptArray. We shouldn&apos;t modify JS objects from InspectorController, InspectorValues should be used instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260487</commentid>
    <comment_count>1</comment_count>
      <attachid>63566</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-05 02:43:55 -0700</bug_when>
    <thetext>Created attachment 63566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260490</commentid>
    <comment_count>2</comment_count>
      <attachid>63566</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-05 02:53:24 -0700</bug_when>
    <thetext>Comment on attachment 63566
Patch

WebCore/ChangeLog:5
 +          Web Inspector: remove mutator methods from ScriptObject and ScriptArray.
Fix the message - ScriptArray is gone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260572</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-05 06:41:11 -0700</bug_when>
    <thetext>Commited r64735.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63566</attachid>
            <date>2010-08-05 02:43:55 -0700</date>
            <delta_ts>2010-08-05 02:53:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43546-20100805134352.patch</filename>
            <type>text/plain</type>
            <size>36198</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDk0OGFiMGI0Mjc2NmE4MjhlYzhhMWQ5MDU4MTk4MTE0NmQ5MTNiNi4uNTUyZDA2MWY0ZmM5MzI4
ZTE0MTEwYmUzYTc2YjE4NDE0NTBlYWY1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBAQAogMjAxMC0wOC0wNSAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgbXV0YXRv
ciBtZXRob2RzIGZyb20gU2NyaXB0T2JqZWN0IGFuZCBTY3JpcHRBcnJheS4KKyAgICAgICAgV2Ug
c2hvdWxkbid0IG1vZGlmeSBKUyBvYmplY3RzIGZyb20gSW5zcGVjdG9yQ29udHJvbGxlciwgSW5z
cGVjdG9yVmFsdWVzCisgICAgICAgIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzU0NgorCisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNv
cmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TY3JpcHRBcnJheS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU2Ny
aXB0QXJyYXkuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3Rh
Y2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRPYmplY3QuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Njcmlw
dEFycmF5LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRBcnJheS5o
OiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFjay5oOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5jcHA6CisgICAgICAgICogYmluZGluZ3Mv
djgvU2NyaXB0T2JqZWN0Lmg6CisKKzIwMTAtMDgtMDUgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5
c0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBmb3JiaWQgSW5zcGVjdG9yQ29udHJvbGxlciB0byBjcmVh
dGUgc2NyaXB0IG9iamVjdHMgZGlyZWN0bHkgaW4gdGhlIGZyb250ZW5kCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAzZjNj
MGRiZmZiMWI0NjRmNGJlZjY5ODIwZDViM2ZlNWMyMTg4YjAxLi4yNGVmMzEyZDJjZDRiOGRiNjkz
ZWVjZWMyNTlkY2JiMjQzOTY3MzVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTc1NSw4ICs3NTUsNiBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFtZS5o
IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAgXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggXAotCVdlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0QXJyYXkuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEFycmF5LmggXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCBcCiAJV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDYWxsRnJhbWUuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZDVlZDNkMjk0NzZlYWMwNWMyYmQwNzhiZGY0
YWQzODBhYzVlYWEzYy4uYmU0NTg1YzU0MTdmNGI3MTk3ZTM0N2YyMDIxNTAxMzE1MDExMjY5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTY2OCw4ICs2NjgsNiBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0phdmFTY3Jp
cHRDYWxsRnJhbWUuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9u
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgnLAotICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL1NjcmlwdEFycmF5LmNwcCcsCi0gICAgICAgICAgICAnYmlu
ZGluZ3MvanMvU2NyaXB0QXJyYXkuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL1NjcmlwdENhbGxGcmFt
ZS5jcHAnLApAQCAtODM0LDggKzgzMiw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvU2No
ZWR1bGVkQWN0aW9uLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Njb3BlZERPTURhdGFT
dG9yZS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Njb3BlZERPTURhdGFTdG9yZS5o
JywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9TY3JpcHRBcnJheS5jcHAnLAotICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L1NjcmlwdEFycmF5LmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9TY3Jp
cHRDYWxsRnJhbWUuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9TY3JpcHRDYWxsRnJh
bWUuaCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCAxMmQwNTZkOTc0Y2VmZTg1MjFjYTY2M2VmZGQ0YjA2YjRjZmY3Zjc4Li41Y2M5
YzlkZDAwNTQzMDA5MDNiNDM3MDQxNTc5N2IzNGU4ZTg1NDY3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTM2OCw3ICszNjgsNiBA
QCBTT1VSQ0VTICs9IFwKICAgICBiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMu
Y3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIFwKICAgICBi
aW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXIuY3BwIFwKLSAgICBiaW5kaW5n
cy9qcy9TY3JpcHRBcnJheS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdENhbGxGcmFtZS5jcHAgXAogICAgIGJp
bmRpbmdzL2pzL1NjcmlwdENhbGxTdGFjay5jcHAgXApAQCAtMTEyNCw3ICsxMTIzLDYgQEAgSEVB
REVSUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmgg
XAogICAgIGJpbmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuaCBcCiAgICAgYmluZGluZ3Mv
anMvU2NoZWR1bGVkQWN0aW9uLmggXAotICAgIGJpbmRpbmdzL2pzL1NjcmlwdEFycmF5LmggXAog
ICAgIGJpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIFwKICAgICBiaW5kaW5ncy9q
cy9TY3JpcHRDYWxsRnJhbWUuaCBcCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrLmgg
XApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYzBkYzNiZWVmZGEyZDQw
YThjNWYyOGYzYjU3YzhiZjY0YjU2YWY2Ni4uM2JlZmFiOTFhZGMwODZjYjdhMTNlZjExMTk1M2Ey
NzdlMzA0ZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC00Nzc1
Niw2MiArNDc3NTYsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcU2NyaXB0QXJyYXkuY3BwIg0KLQkJCQkJPg0K
LQkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQkJPg0KLQkJCQkJCTxUb29sDQotCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJLz4NCi0JCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCQlOYW1lPSJSZWxlYXNl
fFdpbjMyIg0KLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJCT4NCi0JCQkJ
CQk8VG9vbA0KLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCS8+DQotCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQkJ
TmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQotCQkJCQkJPg0KLQkJCQkJCTxUb29sDQotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQotCQkJCQkJLz4NCi0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCi0JCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCi0JCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCQk+DQotCQkJCQkJPFRvb2wNCi0JCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQkvPg0KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCi0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98
V2luMzIiDQotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQkJPg0KLQkJCQkJ
CTxUb29sDQotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJLz4NCi0JCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCQlO
YW1lPSJEZWJ1Z19BbGx8V2luMzIiDQotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQot
CQkJCQkJPg0KLQkJCQkJCTxUb29sDQotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQot
CQkJCQkJLz4NCi0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTwvRmlsZT4NCi0JCQkJ
PEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcU2NyaXB0QXJyYXkuaCIN
Ci0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxiaW5kaW5nc1xqc1xTY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIg0KIAkJCQkJPg0KIAkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBmNWI5MzAzY2ViY2Q5Y2RkYWZjNTQ5MDE5ODBhOGQxNjY3NTgxY2M0Li5kYzg0
MjdhOTQ5MzlhYTA1ZGViNDUxNzI3ZjQ2MGEzODA3MzdjZWY5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQwMSw4ICsxNDAxLDYgQEAKIAkJN0EwRTc3
MEYxMEMwMEE4ODAwQTAyNzZFIC8qIEluc3BlY3RvckZyb250ZW5kSG9zdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EwRTc3MEMxMEMwMEE4ODAwQTAy
NzZFIC8qIEluc3BlY3RvckZyb250ZW5kSG9zdC5oICovOyB9OwogCQk3QTBFNzcxRTEwQzAwREIx
MDBBMDI3NkUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EwRTc3MUMxMEMwMERCMTAwQTAyNzZFIC8q
IEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCAqLzsgfTsKIAkJN0EwRTc3MUYxMEMwMERCMTAw
QTAyNzZFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTBFNzcxRDEwQzAwREIxMDBBMDI3NkUgLyogSlNJ
bnNwZWN0b3JGcm9udGVuZEhvc3QuaCAqLzsgfTsKLQkJN0ExRTg4RjUxMDFDQzM4NDAwMEM0REY1
IC8qIFNjcmlwdEFycmF5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdBMUU4OEYzMTAxQ0MzODQwMDBDNERGNSAvKiBTY3JpcHRBcnJheS5jcHAgKi87
IH07Ci0JCTdBMUU4OEY2MTAxQ0MzODQwMDBDNERGNSAvKiBTY3JpcHRBcnJheS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0ExRTg4RjQxMDFDQzM4NDAw
MEM0REY1IC8qIFNjcmlwdEFycmF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJN0EyNDU4N0IxMDIxRUFGNDAwMEEwMEFBIC8qIEluc3BlY3RvckRP
TUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdBMjQ1ODc5MTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0b3JET01BZ2VudC5jcHAgKi87IH07
CiAJCTdBMjQ1ODdDMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0b3JET01BZ2VudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EyNDU4N0ExMDIxRUFG
NDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0E2NzRCREIwRjlFQkY0RTAwNkNGMDk5IC8qIFBh
Z2VHcm91cExvYWREZWZlcnJlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QTY3NEJEOTBGOUVCRjRFMDA2Q0YwOTkgLyogUGFnZUdyb3VwTG9hZERl
ZmVycmVyLmNwcCAqLzsgfTsKQEAgLTcxOTgsOCArNzE5Niw2IEBACiAJCTdBMEU3NzBEMTBDMDBB
ODgwMEEwMjc2RSAvKiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEluc3BlY3RvckZyb250ZW5kSG9zdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTdBMEU3NzFDMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0luc3BlY3RvckZy
b250ZW5kSG9zdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBMEU3NzFEMTBD
MDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk3QTFFODhGMzEwMUNDMzg0MDAwQzRERjUgLyogU2NyaXB0QXJy
YXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0QXJyYXku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QTFFODhGNDEwMUNDMzg0MDAwQzRE
RjUgLyogU2NyaXB0QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
aXB0QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0EyNDU4NzkxMDIxRUFG
NDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckRPTUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0EyNDU4N0ExMDIxRUFGNDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckRPTUFnZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBNjc0QkQ5MEY5RUJGNEUwMDZDRjA5OSAv
KiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE1ODA1LDggKzE1ODAxLDYgQEAKIAkJCQlGM0Q0NjE0NzExNjFENTMyMDBDQTBE
MDkgLyogSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmggKi8sCiAJCQkJQkNBMzc4QkEwRDE1
RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi8sCiAJCQkJQkNBMzc4QkIwRDE1
RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5oICovLAotCQkJCTdBMUU4OEYzMTAxQ0Mz
ODQwMDBDNERGNSAvKiBTY3JpcHRBcnJheS5jcHAgKi8sCi0JCQkJN0ExRTg4RjQxMDFDQzM4NDAw
MEM0REY1IC8qIFNjcmlwdEFycmF5LmggKi8sCiAJCQkJNDFGMUQyMUUwRUYzNUMyQTAwREE4NzUz
IC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgKi8sCiAJCQkJNDFGMUQyMUQwRUYzNUMyQTAw
REE4NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0YS5oICovLAogCQkJCTQxNkU3NUNBMEVERjkw
QzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLApAQCAtMTk0MzIsNyArMTk0MjYs
NiBAQAogCQkJCTUxNjJDN0Y1MTFGNzdFRkIwMDYxMkVGRSAvKiBTY2hlbWVSZWdpc3RyeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNFQzAxQkUwQzI3NERBQzAwOUY0RUM5IC8qIFNjcmVlbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTg0RDgyQzExMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFibGVE
b2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0ExRTg4RjYxMDFDQzM4NDAwMEM0
REY1IC8qIFNjcmlwdEFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QUZENEE4QjExMzFDMjc2
MDAzNUI4ODMgLyogU2NyaXB0QnJlYWtwb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGMUQy
MUYwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDE2RTc1Q0IwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yMTkwOSw3ICsyMTkwMiw2IEBACiAJCQkJNTE2MkM3RjQxMUY3N0VG
QjAwNjEyRUZFIC8qIFNjaGVtZVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUMw
MUJEMEMyNzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg0
RDgyQzIxMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk3QTFFODhGNTEwMUNDMzg0MDAwQzRERjUgLyogU2NyaXB0QXJyYXku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjAwQjE5MDkxMUMyNzdEOTAwRENDRDNBIC8qIFNjcmlw
dEJyZWFrcG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGMUQyMjAwRUYzNUMyQTAwREE4
NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTZF
NzVDQzBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9JREJCaW5kaW5nVXRpbGl0aWVzLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0lEQkJpbmRpbmdVdGlsaXRpZXMuaAppbmRleCBmNDEwMzQ0
ZWZlYWMzNWY2MTE0MTY5N2YzZjQ3YjBmMDM1M2E5OWE4Li4xZTgyNzBiNTk0YWIwMmViMzMwM2Ey
M2M0NGMxMTUzNDVlMmQ4YmNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0lEQkJp
bmRpbmdVdGlsaXRpZXMuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0lEQkJpbmRpbmdVdGls
aXRpZXMuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CiAKLSNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2No
ZWR1bGVkQWN0aW9uLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmNw
cAppbmRleCBmNjlmOGJkMjkyZGYzYTg1NzllZTIxZDE4ZGQyNDMyYmFiNjg2OGE4Li5hOWRjNmE4
MjdjOThkODVmZmZiYTA1YTFkMTllYzAzNmI2YWYyYTBhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y2hlZHVsZWRBY3Rpb24uY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiU2NyaXB0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRl
ICJTY3JpcHRTb3VyY2VDb2RlLmgiCi0jaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRl
IDxydW50aW1lL0pTTG9jay5oPgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEFycmF5LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0QXJyYXkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTlkMzAzNmIy
NTFkZmUzMjMzMzBiMjVhMGFlMzc4YzY3NThkOTUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0QXJyYXkuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAot
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiU2NyaXB0QXJyYXkuaCIKLQotI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IgotCi0jaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1TY3JpcHRBcnJheTo6U2NyaXB0QXJyYXkoU2NyaXB0
U3RhdGUqIHNjcmlwdFN0YXRlLCBKU0FycmF5KiBvYmplY3QpCi0gICAgOiBTY3JpcHRPYmplY3Qo
c2NyaXB0U3RhdGUsIG9iamVjdCkKLXsKLX0KLQotc3RhdGljIGJvb2wgaGFuZGxlRXhjZXB0aW9u
KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkKLXsKLSAgICBpZiAoIXNjcmlwdFN0YXRlLT5oYWRF
eGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXBvcnRFeGNlcHRpb24o
c2NyaXB0U3RhdGUsIHNjcmlwdFN0YXRlLT5leGNlcHRpb24oKSk7Ci0gICAgcmV0dXJuIGZhbHNl
OwotfQotCi1ib29sIFNjcmlwdEFycmF5OjpzZXQodW5zaWduZWQgaW5kZXgsIGNvbnN0IFNjcmlw
dE9iamVjdCYgdmFsdWUpCi17Ci0gICAgaWYgKHZhbHVlLnNjcmlwdFN0YXRlKCkgIT0gbV9zY3Jp
cHRTdGF0ZSkgewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLSAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwot
ICAgIGpzQXJyYXkoKS0+cHV0KG1fc2NyaXB0U3RhdGUsIGluZGV4LCB2YWx1ZS5qc09iamVjdCgp
KTsKLSAgICByZXR1cm4gaGFuZGxlRXhjZXB0aW9uKG1fc2NyaXB0U3RhdGUpOwotfQotCi1ib29s
IFNjcmlwdEFycmF5OjpzZXQodW5zaWduZWQgaW5kZXgsIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSog
dmFsdWUpCi17Ci0gICAgU2NyaXB0VmFsdWUgc2NyaXB0VmFsdWUgPSBTY3JpcHRWYWx1ZTo6ZGVz
ZXJpYWxpemUobV9zY3JpcHRTdGF0ZSwgdmFsdWUpOwotICAgIGlmIChzY3JpcHRWYWx1ZS5oYXNO
b1ZhbHVlKCkpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICB9Ci0KLSAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkp
OwotICAgIGpzQXJyYXkoKS0+cHV0KG1fc2NyaXB0U3RhdGUsIGluZGV4LCBzY3JpcHRWYWx1ZS5q
c1ZhbHVlKCkpOwotICAgIHJldHVybiBoYW5kbGVFeGNlcHRpb24obV9zY3JpcHRTdGF0ZSk7Ci19
Ci0KLWJvb2wgU2NyaXB0QXJyYXk6OnNldCh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiB2
YWx1ZSkKLXsKLSAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIGpz
QXJyYXkoKS0+cHV0KG1fc2NyaXB0U3RhdGUsIGluZGV4LCBqc1N0cmluZyhtX3NjcmlwdFN0YXRl
LCB2YWx1ZSkpOwotICAgIHJldHVybiBoYW5kbGVFeGNlcHRpb24obV9zY3JpcHRTdGF0ZSk7Ci19
Ci0KLWJvb2wgU2NyaXB0QXJyYXk6OnNldCh1bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKQot
ewotICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAganNBcnJheSgp
LT5wdXQobV9zY3JpcHRTdGF0ZSwgaW5kZXgsIGpzTnVtYmVyKG1fc2NyaXB0U3RhdGUsIHZhbHVl
KSk7Ci0gICAgcmV0dXJuIGhhbmRsZUV4Y2VwdGlvbihtX3NjcmlwdFN0YXRlKTsKLX0KLQotYm9v
bCBTY3JpcHRBcnJheTo6c2V0KHVuc2lnbmVkIGluZGV4LCBsb25nIGxvbmcgdmFsdWUpCi17Ci0g
ICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBqc0FycmF5KCktPnB1
dChtX3NjcmlwdFN0YXRlLCBpbmRleCwganNOdW1iZXIobV9zY3JpcHRTdGF0ZSwgdmFsdWUpKTsK
LSAgICByZXR1cm4gaGFuZGxlRXhjZXB0aW9uKG1fc2NyaXB0U3RhdGUpOwotfQotCi1ib29sIFNj
cmlwdEFycmF5OjpzZXQodW5zaWduZWQgaW5kZXgsIGludCB2YWx1ZSkKLXsKLSAgICBKU0xvY2sg
bG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIGpzQXJyYXkoKS0+cHV0KG1fc2NyaXB0
U3RhdGUsIGluZGV4LCBqc051bWJlcihtX3NjcmlwdFN0YXRlLCB2YWx1ZSkpOwotICAgIHJldHVy
biBoYW5kbGVFeGNlcHRpb24obV9zY3JpcHRTdGF0ZSk7Ci19Ci0KLWJvb2wgU2NyaXB0QXJyYXk6
OnNldCh1bnNpZ25lZCBpbmRleCwgYm9vbCB2YWx1ZSkKLXsKLSAgICBKU0xvY2sgbG9jayhTaWxl
bmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIGpzQXJyYXkoKS0+cHV0KG1fc2NyaXB0U3RhdGUsIGlu
ZGV4LCBqc0Jvb2xlYW4odmFsdWUpKTsKLSAgICByZXR1cm4gaGFuZGxlRXhjZXB0aW9uKG1fc2Ny
aXB0U3RhdGUpOwotfQotCi11bnNpZ25lZCBTY3JpcHRBcnJheTo6bGVuZ3RoKCkKLXsKLSAgICBK
U0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIHJldHVybiBqc0FycmF5KCkt
Pmxlbmd0aCgpOwotfQotCi1TY3JpcHRBcnJheSBTY3JpcHRBcnJheTo6Y3JlYXRlTmV3KFNjcmlw
dFN0YXRlKiBzY3JpcHRTdGF0ZSkKLXsKLSAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9u
c09ubHkpOwotICAgIHJldHVybiBTY3JpcHRBcnJheShzY3JpcHRTdGF0ZSwgY29uc3RydWN0RW1w
dHlBcnJheShzY3JpcHRTdGF0ZSkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEFycmF5LmggYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdEFycmF5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiYWRk
MDljZmRkNzk1YTk3YTcxMzhjNGFmZmNjZDdjMTRlMjAzYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRBcnJh
eS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
Ci0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
Ci0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgU2NyaXB0QXJyYXlfaAot
I2RlZmluZSBTY3JpcHRBcnJheV9oCi0KLSNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKLSNpbmNs
dWRlICJTY3JpcHRTdGF0ZS5oIgotCi0jaW5jbHVkZSA8cnVudGltZS9KU0FycmF5Lmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKLQotY2xhc3Mg
U2NyaXB0QXJyYXkgOiBwdWJsaWMgU2NyaXB0T2JqZWN0IHsKLXB1YmxpYzoKLSAgICBTY3JpcHRB
cnJheShTY3JpcHRTdGF0ZSosIEpTQzo6SlNBcnJheSopOwotICAgIFNjcmlwdEFycmF5KCkge30K
LSAgICBKU0M6OkpTQXJyYXkqIGpzQXJyYXkoKSBjb25zdCB7IHJldHVybiBhc0FycmF5KGpzVmFs
dWUoKSk7IH0KLQotICAgIGJvb2wgc2V0KHVuc2lnbmVkIGluZGV4LCBjb25zdCBTY3JpcHRPYmpl
Y3QmKTsKLSAgICBib29sIHNldCh1bnNpZ25lZCBpbmRleCwgU2VyaWFsaXplZFNjcmlwdFZhbHVl
Kik7Ci0gICAgYm9vbCBzZXQodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYpOwotICAgIGJv
b2wgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUpOwotICAgIGJvb2wgc2V0KHVuc2lnbmVkIGlu
ZGV4LCBsb25nIGxvbmcpOwotICAgIGJvb2wgc2V0KHVuc2lnbmVkIGluZGV4LCBpbnQpOwotICAg
IGJvb2wgc2V0KHVuc2lnbmVkIGluZGV4LCBib29sKTsKLSAgICB1bnNpZ25lZCBsZW5ndGgoKTsK
LQotICAgIHN0YXRpYyBTY3JpcHRBcnJheSBjcmVhdGVOZXcoU2NyaXB0U3RhdGUqKTsKLX07Ci19
Ci0KLSNlbmRpZiAvLyBTY3JpcHRBcnJheV9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3Rh
Y2suaAppbmRleCBlNDYxYWMzYmQ4MmMxNWM5MjVmNjE0OGQ4NzQ4N2QxNmY5ODQ0MDY3Li5hNDVl
NjVhYTUxM2I3MDkyOTMzNDEzZGQzZWU3NzhlODJjMjkxNWRmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFjay5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgU2NyaXB0Q2FsbFN0
YWNrX2gKICNkZWZpbmUgU2NyaXB0Q2FsbFN0YWNrX2gKIAotI2luY2x1ZGUgIlNjcmlwdEFycmF5
LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUu
aCIKICNpbmNsdWRlICJTY3JpcHRTdHJpbmcuaCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0T2JqZWN0LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0T2JqZWN0
LmNwcAppbmRleCBkZTM5N2Y3ODFhNjJjNTM0M2RhZjFlYTM1OGQ5MjIyNjBiZGZhMGU4Li5lMDZl
Y2NiN2I1MjY2MmU4Y2RjN2MwY2YwZDQ2ZjNhOWNkMmVmZjRkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRPYmplY3QuY3BwCkBAIC01OSw5NiArNTksNiBAQCBzdGF0aWMgYm9vbCBoYW5kbGVFeGNl
cHRpb24oU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAot
Ym9vbCBTY3JpcHRPYmplY3Q6OnNldChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
dmFsdWUpCi17Ci0gICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBQ
dXRQcm9wZXJ0eVNsb3Qgc2xvdDsKLSAgICBqc09iamVjdCgpLT5wdXQobV9zY3JpcHRTdGF0ZSwg
SWRlbnRpZmllcihtX3NjcmlwdFN0YXRlLCBzdHJpbmdUb1VTdHJpbmcobmFtZSkpLCBqc1N0cmlu
ZyhtX3NjcmlwdFN0YXRlLCBzdHJpbmdUb1VTdHJpbmcodmFsdWUpKSwgc2xvdCk7Ci0gICAgcmV0
dXJuIGhhbmRsZUV4Y2VwdGlvbihtX3NjcmlwdFN0YXRlKTsKLX0KLQotYm9vbCBTY3JpcHRPYmpl
Y3Q6OnNldChjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBTY3JpcHRPYmplY3QmIHZhbHVlKQotewot
ICAgIGlmICh2YWx1ZS5zY3JpcHRTdGF0ZSgpICE9IG1fc2NyaXB0U3RhdGUpIHsKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAg
SlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBQdXRQcm9wZXJ0eVNsb3Qg
c2xvdDsKLSAgICBqc09iamVjdCgpLT5wdXQobV9zY3JpcHRTdGF0ZSwgSWRlbnRpZmllcihtX3Nj
cmlwdFN0YXRlLCBuYW1lKSwgdmFsdWUuanNPYmplY3QoKSwgc2xvdCk7Ci0gICAgcmV0dXJuIGhh
bmRsZUV4Y2VwdGlvbihtX3NjcmlwdFN0YXRlKTsKLX0KLQotYm9vbCBTY3JpcHRPYmplY3Q6OnNl
dChjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQotewotICAgIEpTTG9jayBs
b2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgUHV0UHJvcGVydHlTbG90IHNsb3Q7Ci0g
ICAganNPYmplY3QoKS0+cHV0KG1fc2NyaXB0U3RhdGUsIElkZW50aWZpZXIobV9zY3JpcHRTdGF0
ZSwgbmFtZSksIGpzU3RyaW5nKG1fc2NyaXB0U3RhdGUsIHZhbHVlKSwgc2xvdCk7Ci0gICAgcmV0
dXJuIGhhbmRsZUV4Y2VwdGlvbihtX3NjcmlwdFN0YXRlKTsKLX0KLQotYm9vbCBTY3JpcHRPYmpl
Y3Q6OnNldChjb25zdCBjaGFyKiBuYW1lLCBkb3VibGUgdmFsdWUpCi17Ci0gICAgSlNMb2NrIGxv
Y2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKLSAg
ICBqc09iamVjdCgpLT5wdXQobV9zY3JpcHRTdGF0ZSwgSWRlbnRpZmllcihtX3NjcmlwdFN0YXRl
LCBuYW1lKSwganNOdW1iZXIobV9zY3JpcHRTdGF0ZSwgdmFsdWUpLCBzbG90KTsKLSAgICByZXR1
cm4gaGFuZGxlRXhjZXB0aW9uKG1fc2NyaXB0U3RhdGUpOwotfQotCi1ib29sIFNjcmlwdE9iamVj
dDo6c2V0KGNvbnN0IGNoYXIqIG5hbWUsIGxvbmcgdmFsdWUpCi17Ci0gICAgSlNMb2NrIGxvY2so
U2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKLSAgICBq
c09iamVjdCgpLT5wdXQobV9zY3JpcHRTdGF0ZSwgSWRlbnRpZmllcihtX3NjcmlwdFN0YXRlLCBu
YW1lKSwganNOdW1iZXIobV9zY3JpcHRTdGF0ZSwgdmFsdWUpLCBzbG90KTsKLSAgICByZXR1cm4g
aGFuZGxlRXhjZXB0aW9uKG1fc2NyaXB0U3RhdGUpOwotfQotCi1ib29sIFNjcmlwdE9iamVjdDo6
c2V0KGNvbnN0IGNoYXIqIG5hbWUsIGxvbmcgbG9uZyB2YWx1ZSkKLXsKLSAgICBKU0xvY2sgbG9j
ayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwotICAg
IGpzT2JqZWN0KCktPnB1dChtX3NjcmlwdFN0YXRlLCBJZGVudGlmaWVyKG1fc2NyaXB0U3RhdGUs
IG5hbWUpLCBqc051bWJlcihtX3NjcmlwdFN0YXRlLCB2YWx1ZSksIHNsb3QpOwotICAgIHJldHVy
biBoYW5kbGVFeGNlcHRpb24obV9zY3JpcHRTdGF0ZSk7Ci19Ci0KLWJvb2wgU2NyaXB0T2JqZWN0
OjpzZXQoY29uc3QgY2hhciogbmFtZSwgaW50IHZhbHVlKQotewotICAgIEpTTG9jayBsb2NrKFNp
bGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgUHV0UHJvcGVydHlTbG90IHNsb3Q7Ci0gICAganNP
YmplY3QoKS0+cHV0KG1fc2NyaXB0U3RhdGUsIElkZW50aWZpZXIobV9zY3JpcHRTdGF0ZSwgbmFt
ZSksIGpzTnVtYmVyKG1fc2NyaXB0U3RhdGUsIHZhbHVlKSwgc2xvdCk7Ci0gICAgcmV0dXJuIGhh
bmRsZUV4Y2VwdGlvbihtX3NjcmlwdFN0YXRlKTsKLX0KLQotYm9vbCBTY3JpcHRPYmplY3Q6OnNl
dChjb25zdCBjaGFyKiBuYW1lLCB1bnNpZ25lZCB2YWx1ZSkKLXsKLSAgICBKU0xvY2sgbG9jayhT
aWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwotICAgIGpz
T2JqZWN0KCktPnB1dChtX3NjcmlwdFN0YXRlLCBJZGVudGlmaWVyKG1fc2NyaXB0U3RhdGUsIG5h
bWUpLCBqc051bWJlcihtX3NjcmlwdFN0YXRlLCB2YWx1ZSksIHNsb3QpOwotICAgIHJldHVybiBo
YW5kbGVFeGNlcHRpb24obV9zY3JpcHRTdGF0ZSk7Ci19Ci0KLWJvb2wgU2NyaXB0T2JqZWN0Ojpz
ZXQoY29uc3QgY2hhciogbmFtZSwgdW5zaWduZWQgbG9uZyB2YWx1ZSkKLXsKLSAgICBKU0xvY2sg
bG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIFB1dFByb3BlcnR5U2xvdCBzbG90Owot
ICAgIGpzT2JqZWN0KCktPnB1dChtX3NjcmlwdFN0YXRlLCBJZGVudGlmaWVyKG1fc2NyaXB0U3Rh
dGUsIG5hbWUpLCBqc051bWJlcihtX3NjcmlwdFN0YXRlLCB2YWx1ZSksIHNsb3QpOwotICAgIHJl
dHVybiBoYW5kbGVFeGNlcHRpb24obV9zY3JpcHRTdGF0ZSk7Ci19Ci0KLWJvb2wgU2NyaXB0T2Jq
ZWN0OjpzZXQoY29uc3QgY2hhciogbmFtZSwgYm9vbCB2YWx1ZSkKLXsKLSAgICBKU0xvY2sgbG9j
ayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwotICAg
IGpzT2JqZWN0KCktPnB1dChtX3NjcmlwdFN0YXRlLCBJZGVudGlmaWVyKG1fc2NyaXB0U3RhdGUs
IG5hbWUpLCBqc0Jvb2xlYW4odmFsdWUpLCBzbG90KTsKLSAgICByZXR1cm4gaGFuZGxlRXhjZXB0
aW9uKG1fc2NyaXB0U3RhdGUpOwotfQotCi1TY3JpcHRPYmplY3QgU2NyaXB0T2JqZWN0OjpjcmVh
dGVOZXcoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQotewotICAgIEpTTG9jayBsb2NrKFNpbGVu
Y2VBc3NlcnRpb25zT25seSk7Ci0gICAgcmV0dXJuIFNjcmlwdE9iamVjdChzY3JpcHRTdGF0ZSwg
Y29uc3RydWN0RW1wdHlPYmplY3Qoc2NyaXB0U3RhdGUpKTsKLX0KLQogYm9vbCBTY3JpcHRHbG9i
YWxPYmplY3Q6OnNldChTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIGNvbnN0IGNoYXIqIG5hbWUs
IGNvbnN0IFNjcmlwdE9iamVjdCYgdmFsdWUpCiB7CiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFz
c2VydGlvbnNPbmx5KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0T2Jq
ZWN0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5oCmluZGV4IDk4ODA5NzZk
YTYxYzczNDgwY2RjMzU5NTMyZWQzNzNiMzM0ZGI4ZGMuLmYwODVlOGJlOGRmZjFiNzdkNTY3OTFl
ZDdmYmE3NDNmNGRmYjUwNzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
T2JqZWN0LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRPYmplY3QuaApAQCAtNDgs
MTkgKzQ4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBKU0M6OkpTT2JqZWN0KiBq
c09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGFzT2JqZWN0KGpzVmFsdWUoKSk7IH0KICAgICAgICAg
U2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRTdGF0ZTsg
fQogCi0gICAgICAgIGJvb2wgc2V0KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJik7
Ci0gICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IFNjcmlwdE9iamVjdCYp
OwotICAgICAgICBib29sIHNldChjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBTdHJpbmcmKTsKLSAg
ICAgICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFtZSwgZG91YmxlKTsKLSAgICAgICAgYm9vbCBz
ZXQoY29uc3QgY2hhciogbmFtZSwgbG9uZyk7Ci0gICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIq
IG5hbWUsIGxvbmcgbG9uZyk7Ci0gICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGlu
dCk7Ci0gICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkKTsKLSAgICAg
ICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFtZSwgdW5zaWduZWQgbG9uZyk7Ci0gICAgICAgIGJv
b2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGJvb2wpOwotCi0gICAgICAgIHN0YXRpYyBTY3JpcHRP
YmplY3QgY3JlYXRlTmV3KFNjcmlwdFN0YXRlKik7Ci0gICAgCiAgICAgcHJvdGVjdGVkOgogICAg
ICAgICBTY3JpcHRTdGF0ZSogbV9zY3JpcHRTdGF0ZTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY2hlZHVsZWRBY3Rpb24uY3BwCmluZGV4IGY1MTFlMmI3OWQzZDc1YjU1OWQ4NWZiZDYyZTdk
OWVlZTgwOTIxMmEuLmRjZDBiYjMzNzcxODEzMTg0MjBjMTA3M2JlMjUxYTllNTg0YmE0YjcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NoZWR1bGVkQWN0aW9uLmNwcAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVkdWxlZEFjdGlvbi5jcHAKQEAgLTM0LDcgKzM0LDYgQEAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCi0jaW5jbHVkZSAiU2NyaXB0VmFsdWUu
aCIKIAogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0QXJyYXkuY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRBcnJheS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcx
MTliMjdjNmQ4ZTMwOGZhMDgxMDgxM2RmZDVkYTMwNGNjYzc4YTIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRB
cnJheS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24u
Ci0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcu
aCIKLSNpbmNsdWRlICJTY3JpcHRBcnJheS5oIgotCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNp
bmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIlNjcmlwdFNjb3BlLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKLSNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKLSNpbmNsdWRl
ICJWOEJpbmRpbmcuaCIKLSNpbmNsdWRlICJWOFByb3h5LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotU2NyaXB0QXJyYXk6OlNjcmlwdEFycmF5KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwg
djg6OkhhbmRsZTx2ODo6QXJyYXk+IHY4QXJyYXkpCi0gICAgOiBTY3JpcHRPYmplY3Qoc2NyaXB0
U3RhdGUsIHY4QXJyYXkpCi17Ci19Ci0KLWJvb2wgU2NyaXB0QXJyYXk6OnNldCh1bnNpZ25lZCBp
bmRleCwgY29uc3QgU2NyaXB0T2JqZWN0JiB2YWx1ZSkKLXsKLSAgICBpZiAodmFsdWUuc2NyaXB0
U3RhdGUoKSAhPSBtX3NjcmlwdFN0YXRlKSB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFNjcmlwdFNjb3BlIHNjb3BlKG1f
c2NyaXB0U3RhdGUpOwotICAgIHY4T2JqZWN0KCktPlNldCh2ODo6SW50ZWdlcjo6TmV3KGluZGV4
KSwgdmFsdWUudjhWYWx1ZSgpKTsKLSAgICByZXR1cm4gc2NvcGUuc3VjY2VzcygpOwotfQotCi1i
b29sIFNjcmlwdEFycmF5OjpzZXQodW5zaWduZWQgaW5kZXgsIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSogdmFsdWUpCi17Ci0gICAgU2NyaXB0VmFsdWUgc2NyaXB0VmFsdWUgPSBTY3JpcHRWYWx1ZTo6
ZGVzZXJpYWxpemUobV9zY3JpcHRTdGF0ZSwgdmFsdWUpOwotICAgIGlmIChzY3JpcHRWYWx1ZS5o
YXNOb1ZhbHVlKCkpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBTY3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0YXRl
KTsKLSAgICB2OE9iamVjdCgpLT5TZXQodjg6OkludGVnZXI6Ok5ldyhpbmRleCksIHNjcmlwdFZh
bHVlLnY4VmFsdWUoKSk7Ci0gICAgcmV0dXJuIHNjb3BlLnN1Y2Nlc3MoKTsKLX0KLQotYm9vbCBT
Y3JpcHRBcnJheTo6c2V0KHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIHZhbHVlKQotewot
ICAgIFNjcmlwdFNjb3BlIHNjb3BlKG1fc2NyaXB0U3RhdGUpOwotICAgIHY4T2JqZWN0KCktPlNl
dCh2ODo6SW50ZWdlcjo6TmV3KGluZGV4KSwgdjhTdHJpbmcodmFsdWUpKTsKLSAgICByZXR1cm4g
c2NvcGUuc3VjY2VzcygpOwotfQotCi1ib29sIFNjcmlwdEFycmF5OjpzZXQodW5zaWduZWQgaW5k
ZXgsIGRvdWJsZSB2YWx1ZSkKLXsKLSAgICBTY3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0YXRl
KTsKLSAgICB2OE9iamVjdCgpLT5TZXQodjg6OkludGVnZXI6Ok5ldyhpbmRleCksIHY4OjpOdW1i
ZXI6Ok5ldyh2YWx1ZSkpOwotICAgIHJldHVybiBzY29wZS5zdWNjZXNzKCk7Ci19Ci0KLWJvb2wg
U2NyaXB0QXJyYXk6OnNldCh1bnNpZ25lZCBpbmRleCwgbG9uZyBsb25nIHZhbHVlKQotewotICAg
IFNjcmlwdFNjb3BlIHNjb3BlKG1fc2NyaXB0U3RhdGUpOwotICAgIHY4T2JqZWN0KCktPlNldCh2
ODo6SW50ZWdlcjo6TmV3KGluZGV4KSwgdjg6Ok51bWJlcjo6TmV3KHZhbHVlKSk7Ci0gICAgcmV0
dXJuIHNjb3BlLnN1Y2Nlc3MoKTsKLX0KLQotYm9vbCBTY3JpcHRBcnJheTo6c2V0KHVuc2lnbmVk
IGluZGV4LCBpbnQgdmFsdWUpCi17Ci0gICAgU2NyaXB0U2NvcGUgc2NvcGUobV9zY3JpcHRTdGF0
ZSk7Ci0gICAgdjhPYmplY3QoKS0+U2V0KHY4OjpJbnRlZ2VyOjpOZXcoaW5kZXgpLCB2ODo6TnVt
YmVyOjpOZXcodmFsdWUpKTsKLSAgICByZXR1cm4gc2NvcGUuc3VjY2VzcygpOwotfQotCi1ib29s
IFNjcmlwdEFycmF5OjpzZXQodW5zaWduZWQgaW5kZXgsIGJvb2wgdmFsdWUpCi17Ci0gICAgU2Ny
aXB0U2NvcGUgc2NvcGUobV9zY3JpcHRTdGF0ZSk7Ci0gICAgdjhPYmplY3QoKS0+U2V0KHY4OjpJ
bnRlZ2VyOjpOZXcoaW5kZXgpLCB2OEJvb2xlYW4odmFsdWUpKTsKLSAgICByZXR1cm4gc2NvcGUu
c3VjY2VzcygpOwotfQotCi11bnNpZ25lZCBTY3JpcHRBcnJheTo6bGVuZ3RoKCkKLXsKLSAgICBT
Y3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0YXRlKTsKLSAgICByZXR1cm4gdjg6OkFycmF5OjpD
YXN0KCp2OFZhbHVlKCkpLT5MZW5ndGgoKTsKLX0KLQotU2NyaXB0QXJyYXkgU2NyaXB0QXJyYXk6
OmNyZWF0ZU5ldyhTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpCi17Ci0gICAgU2NyaXB0U2NvcGUg
c2NvcGUoc2NyaXB0U3RhdGUpOwotICAgIHJldHVybiBTY3JpcHRBcnJheShzY3JpcHRTdGF0ZSwg
djg6OkFycmF5OjpOZXcoKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0QXJyYXkuaCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0QXJyYXkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWFhODc2NDY4
YmIwOWE4ZTEzODNkZTM1ZjE1MTE5NGU4NzgyZTlhNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEFycmF5LmgK
KysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBTY3JpcHRBcnJheV9oCi0jZGVm
aW5lIFNjcmlwdEFycmF5X2gKLQotI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgotCi0jaW5jbHVk
ZSA8djguaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgU2NyaXB0U3RhdGU7Ci1jbGFz
cyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7Ci0KLWNsYXNzIFNjcmlwdEFycmF5IDogcHVibGljIFNj
cmlwdE9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgU2NyaXB0QXJyYXkoU2NyaXB0U3RhdGUqIHNjcmlw
dFN0YXRlLCB2ODo6SGFuZGxlPHY4OjpBcnJheT4pOwotICAgIFNjcmlwdEFycmF5KCkge307Ci0g
ICAgdmlydHVhbCB+U2NyaXB0QXJyYXkoKSB7fQotCi0gICAgYm9vbCBzZXQodW5zaWduZWQgaW5k
ZXgsIGNvbnN0IFNjcmlwdE9iamVjdCYpOwotICAgIGJvb2wgc2V0KHVuc2lnbmVkIGluZGV4LCBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUqKTsKLSAgICBib29sIHNldCh1bnNpZ25lZCBpbmRleCwgY29u
c3QgU3RyaW5nJik7Ci0gICAgYm9vbCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSk7Ci0gICAg
Ym9vbCBzZXQodW5zaWduZWQgaW5kZXgsIGxvbmcgbG9uZyk7Ci0gICAgYm9vbCBzZXQodW5zaWdu
ZWQgaW5kZXgsIGludCk7Ci0gICAgYm9vbCBzZXQodW5zaWduZWQgaW5kZXgsIGJvb2wpOwotICAg
IHVuc2lnbmVkIGxlbmd0aCgpOwotCi0gICAgc3RhdGljIFNjcmlwdEFycmF5IGNyZWF0ZU5ldyhT
Y3JpcHRTdGF0ZSopOwotfTsKLX0KLQotI2VuZGlmIC8vIFNjcmlwdEFycmF5X2gKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNrLmggYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdENhbGxTdGFjay5oCmluZGV4IGI2MDg1NjM1Yzc2ZmQyN2RjZmQ2MWFhYmE0
ZDI5N2FiZDVkNmRjNGUuLjIxNWNkZWMyMDYyY2U5Yzg3ODVjN2RmYWQ0MjZlMWI3NWM4YWU0NTkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWxsU3RhY2suaApAQCAtMzEsNyArMzEsNiBAQAog
I2lmbmRlZiBTY3JpcHRDYWxsU3RhY2tfaAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tfaAogCi0j
aW5jbHVkZSAiU2NyaXB0QXJyYXkuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNp
bmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5jcHAgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdE9iamVjdC5jcHAKaW5kZXggOGY4MTUzNzVhOTdmZDBjYjRlZWQyMjBjMGNi
NWUyZjM3YjZiOTM0Yi4uM2QzOGE5ZWVjZWY5MDA0ZjRhNmY2ZTUzZWEwNzJiMGY4ZTIyZmI4NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRPYmplY3QuY3BwCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0T2JqZWN0LmNwcApAQCAtNTcsODYgKzU3LDYgQEAgdjg6
OkxvY2FsPHY4OjpPYmplY3Q+IFNjcmlwdE9iamVjdDo6djhPYmplY3QoKSBjb25zdAogICAgIHJl
dHVybiB2ODo6TG9jYWw8djg6Ok9iamVjdD4odjg6Ok9iamVjdDo6Q2FzdCgqdjhWYWx1ZSgpKSk7
CiB9CiAKLWJvb2wgU2NyaXB0T2JqZWN0OjpzZXQoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHZhbHVlKQotewotICAgIFNjcmlwdFNjb3BlIHNjb3BlKG1fc2NyaXB0U3RhdGUpOwot
ICAgIHY4T2JqZWN0KCktPlNldCh2OFN0cmluZyhuYW1lKSwgdjhTdHJpbmcodmFsdWUpKTsKLSAg
ICByZXR1cm4gc2NvcGUuc3VjY2VzcygpOwotfQotCi1ib29sIFNjcmlwdE9iamVjdDo6c2V0KGNv
bnN0IGNoYXIqIG5hbWUsIGNvbnN0IFNjcmlwdE9iamVjdCYgdmFsdWUpCi17Ci0gICAgaWYgKHZh
bHVlLnNjcmlwdFN0YXRlKCkgIT0gbV9zY3JpcHRTdGF0ZSkgewotICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBTY3JpcHRTY29w
ZSBzY29wZShtX3NjcmlwdFN0YXRlKTsKLSAgICB2OE9iamVjdCgpLT5TZXQodjg6OlN0cmluZzo6
TmV3KG5hbWUpLCB2YWx1ZS52OFZhbHVlKCkpOwotICAgIHJldHVybiBzY29wZS5zdWNjZXNzKCk7
Ci19Ci0KLWJvb2wgU2NyaXB0T2JqZWN0OjpzZXQoY29uc3QgY2hhciogbmFtZSwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKLXsKLSAgICBTY3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0YXRlKTsKLSAg
ICB2OE9iamVjdCgpLT5TZXQodjg6OlN0cmluZzo6TmV3KG5hbWUpLCB2OFN0cmluZyh2YWx1ZSkp
OwotICAgIHJldHVybiBzY29wZS5zdWNjZXNzKCk7Ci19Ci0KLWJvb2wgU2NyaXB0T2JqZWN0Ojpz
ZXQoY29uc3QgY2hhciogbmFtZSwgZG91YmxlIHZhbHVlKQotewotICAgIFNjcmlwdFNjb3BlIHNj
b3BlKG1fc2NyaXB0U3RhdGUpOwotICAgIHY4T2JqZWN0KCktPlNldCh2ODo6U3RyaW5nOjpOZXco
bmFtZSksIHY4OjpOdW1iZXI6Ok5ldyh2YWx1ZSkpOwotICAgIHJldHVybiBzY29wZS5zdWNjZXNz
KCk7Ci19Ci0KLWJvb2wgU2NyaXB0T2JqZWN0OjpzZXQoY29uc3QgY2hhciogbmFtZSwgbG9uZyB2
YWx1ZSkKLXsKLSAgICBTY3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0YXRlKTsKLSAgICB2OE9i
amVjdCgpLT5TZXQodjg6OlN0cmluZzo6TmV3KG5hbWUpLCB2ODo6TnVtYmVyOjpOZXcodmFsdWUp
KTsKLSAgICByZXR1cm4gc2NvcGUuc3VjY2VzcygpOwotfQotCi1ib29sIFNjcmlwdE9iamVjdDo6
c2V0KGNvbnN0IGNoYXIqIG5hbWUsIGxvbmcgbG9uZyB2YWx1ZSkKLXsKLSAgICBTY3JpcHRTY29w
ZSBzY29wZShtX3NjcmlwdFN0YXRlKTsKLSAgICB2OE9iamVjdCgpLT5TZXQodjg6OlN0cmluZzo6
TmV3KG5hbWUpLCB2ODo6TnVtYmVyOjpOZXcodmFsdWUpKTsKLSAgICByZXR1cm4gc2NvcGUuc3Vj
Y2VzcygpOwotfQotCi1ib29sIFNjcmlwdE9iamVjdDo6c2V0KGNvbnN0IGNoYXIqIG5hbWUsIGlu
dCB2YWx1ZSkKLXsKLSAgICBTY3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0YXRlKTsKLSAgICB2
OE9iamVjdCgpLT5TZXQodjg6OlN0cmluZzo6TmV3KG5hbWUpLCB2ODo6TnVtYmVyOjpOZXcodmFs
dWUpKTsKLSAgICByZXR1cm4gc2NvcGUuc3VjY2VzcygpOwotfQotCi1ib29sIFNjcmlwdE9iamVj
dDo6c2V0KGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkIHZhbHVlKQotewotICAgIFNjcmlwdFNj
b3BlIHNjb3BlKG1fc2NyaXB0U3RhdGUpOwotICAgIHY4T2JqZWN0KCktPlNldCh2ODo6U3RyaW5n
OjpOZXcobmFtZSksIHY4OjpOdW1iZXI6Ok5ldyh2YWx1ZSkpOwotICAgIHJldHVybiBzY29wZS5z
dWNjZXNzKCk7Ci19Ci0KLWJvb2wgU2NyaXB0T2JqZWN0OjpzZXQoY29uc3QgY2hhciogbmFtZSwg
dW5zaWduZWQgbG9uZyB2YWx1ZSkKLXsKLSAgICBTY3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0
YXRlKTsKLSAgICB2OE9iamVjdCgpLT5TZXQodjg6OlN0cmluZzo6TmV3KG5hbWUpLCB2ODo6TnVt
YmVyOjpOZXcodmFsdWUpKTsKLSAgICByZXR1cm4gc2NvcGUuc3VjY2VzcygpOwotfQotCi1ib29s
IFNjcmlwdE9iamVjdDo6c2V0KGNvbnN0IGNoYXIqIG5hbWUsIGJvb2wgdmFsdWUpCi17Ci0gICAg
U2NyaXB0U2NvcGUgc2NvcGUobV9zY3JpcHRTdGF0ZSk7Ci0gICAgdjhPYmplY3QoKS0+U2V0KHY4
OjpTdHJpbmc6Ok5ldyhuYW1lKSwgdjhCb29sZWFuKHZhbHVlKSk7Ci0gICAgcmV0dXJuIHNjb3Bl
LnN1Y2Nlc3MoKTsKLX0KLQotU2NyaXB0T2JqZWN0IFNjcmlwdE9iamVjdDo6Y3JlYXRlTmV3KFNj
cmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkKLXsKLSAgICBTY3JpcHRTY29wZSBzY29wZShzY3JpcHRT
dGF0ZSk7Ci0gICAgcmV0dXJuIFNjcmlwdE9iamVjdChzY3JpcHRTdGF0ZSwgdjg6Ok9iamVjdDo6
TmV3KCkpOwotfQotCiBib29sIFNjcmlwdEdsb2JhbE9iamVjdDo6c2V0KFNjcmlwdFN0YXRlKiBz
Y3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSwgY29uc3QgU2NyaXB0T2JqZWN0JiB2YWx1ZSkK
IHsKICAgICBTY3JpcHRTY29wZSBzY29wZShzY3JpcHRTdGF0ZSk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRPYmplY3QuaAppbmRleCBiZWUwNzljMzIwODA1NTYxMzhmMmRjMDExYzJiNmYyZDcyM2ViMTE0
Li42Yjc4Y2ZjNjkxNDNkNWE4MWVhNjdjYzU4ZTQ4NmM3ZDg4ZTNlNDNiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0T2JqZWN0LmgKQEAgLTQ4LDE5ICs0OCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gdjhPYmplY3QoKSBjb25zdDsKICAgICAg
ICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRTdGF0
ZTsgfQotCi0gICAgICAgIGJvb2wgc2V0KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
Jik7Ci0gICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IFNjcmlwdE9iamVj
dCYpOwotICAgICAgICBib29sIHNldChjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBTdHJpbmcmKTsK
LSAgICAgICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFtZSwgZG91YmxlKTsKLSAgICAgICAgYm9v
bCBzZXQoY29uc3QgY2hhciogbmFtZSwgbG9uZyk7Ci0gICAgICAgIGJvb2wgc2V0KGNvbnN0IGNo
YXIqIG5hbWUsIGxvbmcgbG9uZyk7Ci0gICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUs
IGludCk7Ci0gICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkKTsKLSAg
ICAgICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFtZSwgdW5zaWduZWQgbG9uZyk7Ci0gICAgICAg
IGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGJvb2wpOwotCi0gICAgICAgIHN0YXRpYyBTY3Jp
cHRPYmplY3QgY3JlYXRlTmV3KFNjcmlwdFN0YXRlKik7CiAgICAgcHJvdGVjdGVkOgogICAgICAg
ICBTY3JpcHRTdGF0ZSogbV9zY3JpcHRTdGF0ZTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CmluZGV4IDIxYmIwZjQxMjg2ZDg3ZDcyNGMyN2RlMGZlODhmMWQxNjU3ZWI1ZmIuLjY4ODhmNmM3
NDI3NDRlYTUwNTM4YzQ3Y2QwMzVmMDczMzkzYTJkOGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
QEAgLTkwLDkgKzkwLDkgQEAKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0cmluZy5oIgotI2luY2x1
ZGUgIlNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTZWdtZW50ZWRTdHJpbmcuaCIKKyNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIK
ICNpbmNsdWRlICJXaW5kb3dGZWF0dXJlcy5oIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcCBiL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggMDZjZGRiMWYwMDMzM2MwMmJl
YmExOWY1N2JmMTUwNGI2ZGZmYWJhNy4uMTY1YWEzMjdmZGQ0M2I4OTEwZWY4MDg5MTllODg4Njk1
ZTlhYzVhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9XZWJDb3Jl
L3BhZ2UvRnJhbWUuY3BwCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSAiUmVuZGVyVmlldy5o
IgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VD
b2RlLmgiCi0jaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIu
aCIK
</data>
<flag name="review"
          id="51946"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>