<?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>121367</bug_id>
          
          <creation_ts>2013-09-14 13:05:48 -0700</creation_ts>
          <short_desc>Shrink the nameToPseudoTypeMap function</short_desc>
          <delta_ts>2013-09-14 13:14:42 -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>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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>929289</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-14 13:05:48 -0700</bug_when>
    <thetext>Shrink the nameToPseudoTypeMap function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929290</commentid>
    <comment_count>1</comment_count>
      <attachid>211665</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-14 13:08:43 -0700</bug_when>
    <thetext>Created attachment 211665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929293</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-14 13:14:42 -0700</bug_when>
    <thetext>Committed r155782: &lt;http://trac.webkit.org/changeset/155782&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211665</attachid>
            <date>2013-09-14 13:08:43 -0700</date>
            <delta_ts>2013-09-14 13:12:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121367-20130914130842.patch</filename>
            <type>text/plain</type>
            <size>21533</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1NzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk0MzRlMWIxOTA5YWM4
YTlhYmJmZDJjMWZjMTY4Mzk4NjNiZTUwYi4uN2RlYTdkZDE4ZWQ4YjA1NGFmZDdlOWFiYTVlNTZl
MjE3ODU3YTk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA5LTE0ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBTaHJpbmsgdGhlIG5hbWVUb1Bz
ZXVkb1R5cGVNYXAgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMTM2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBv
cHVsYXRlUHNldWRvVHlwZUJ5TmFtZU1hcCk6IFJlcGxhY2VzIHRoZSBvbGQgbmFtZVRvUHNldWRv
VHlwZU1hcAorICAgICAgICBmdW5jdGlvbi4gVXNlIGEgdGFibGUgaW5zdGVhZCBvZiBsb3RzIG9m
IGdsb2JhbHMgYW5kIHVucm9sbGVkIGNvZGUgdG8gc2V0IHVwCisgICAgICAgIHRoZSBtYXAuCisg
ICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9UeXBlKTogVXBkYXRlZCB0
byB1c2UgdGhlIGNvZGUgYWJvdmUsIGFuZAorICAgICAgICBhbHNvIHVzZSBhIGRpZmZlcmVudCBz
dHlsZSB0aGF0J3MgdGlnaHRlci4KKwogMjAxMy0wOS0xNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFtDVFRFXSBOb2RlIHN1YmNsYXNzZXMgc2hvdWxkIHRha2UgYSBE
b2N1bWVudCBieSByZWZlcmVuY2UgaW4gdGhlaXIgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cAppbmRleCBlNWMyYmU1YTk5OTdjNzVhMzI0ODIyZTM5ZGU0MDFkM2EyYTUzZTE1Li5lOTE0MGJi
YzVkZDgwNTczYmZkZWI1NzdjYWRiZWRlNTQ2YjFjYTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5jcHAKQEAgLTMxLDggKzMxLDEwIEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
SGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMjU0LDE4OSArMjU2LDEyNSBAQCBQc2V1ZG9JZCBDU1NTZWxlY3Rvcjo6
cHNldWRvSWQoUHNldWRvVHlwZSB0eXBlKQogICAgIHJldHVybiBOT1BTRVVETzsKIH0KIAotc3Rh
dGljIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlPiog
bmFtZVRvUHNldWRvVHlwZU1hcCgpCitzdGF0aWMgdm9pZCBwb3B1bGF0ZVBzZXVkb1R5cGVCeU5h
bWVNYXAoSGFzaE1hcDxBdG9taWNTdHJpbmcsIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlPiYgbWFw
KQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBhY3RpdmUsICgiYWN0
aXZlIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBhZnRlciwgKCJhZnRlciIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgYW55LCAoIi13ZWJraXQtYW55KCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgYW55TGluaywg
KCItd2Via2l0LWFueS1saW5rIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkp
OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBhdXRvZmlsbCwgKCItd2Vi
a2l0LWF1dG9maWxsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBiZWZvcmUsICgiYmVmb3JlIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBjaGVja2VkLCAoImNoZWNrZWQiLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcs
IGRlZmF1bHRTdHJpbmcsICgiZGVmYXVsdCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZGlzYWJsZWQs
ICgiZGlzYWJsZWQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHJlYWRPbmx5LCAoInJlYWQtb25seSIs
IEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgcmVhZFdyaXRlLCAoInJlYWQtd3JpdGUiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIHZhbGlkLCAoInZhbGlkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0
ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBpbnZhbGlkLCAo
ImludmFsaWQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGRyYWcsICgiLXdlYmtpdC1kcmFnIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBkcmFnQWxpYXMsICgiLWtodG1sLWRyYWciLCBBdG9taWNTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7IC8vIHdhcyBkb2N1bWVudGVkIHdpdGggdGhpcyBuYW1l
IGluIEFwcGxlIGRvY3VtZW50YXRpb24sIHNvIGtlZXAgYW4gYWxpYQotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQXRvbWljU3RyaW5nLCBlbXB0eSwgKCJlbXB0eSIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmlu
ZywgZW5hYmxlZCwgKCJlbmFibGVkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBmaXJzdENoaWxkLCAo
ImZpcnN0LWNoaWxkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBmaXJzdExldHRlciwgKCJmaXJzdC1s
ZXR0ZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGZpcnN0TGluZSwgKCJmaXJzdC1saW5lIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBmaXJzdE9mVHlwZSwgKCJmaXJzdC1vZi10eXBlIiwgQXRvbWljU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRv
bWljU3RyaW5nLCBmdWxsUGFnZU1lZGlhLCAoIi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBudGhDaGlsZCwgKCJudGgtY2hpbGQoIiwgQXRvbWljU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBudGhPZlR5cGUsICgibnRoLW9mLXR5cGUoIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBudGhM
YXN0Q2hpbGQsICgibnRoLWxhc3QtY2hpbGQoIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBudGhMYXN0
T2ZUeXBlLCAoIm50aC1sYXN0LW9mLXR5cGUoIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBmb2N1cywg
KCJmb2N1cyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgaG92ZXIsICgiaG92ZXIiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIGluZGV0ZXJtaW5hdGUsICgiaW5kZXRlcm1pbmF0ZSIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgbGFzdENoaWxkLCAoImxhc3QtY2hpbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGxhc3RP
ZlR5cGUsICgibGFzdC1vZi10eXBlIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBsaW5rLCAoImxpbmsi
LCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChBdG9taWNTdHJpbmcsIGxhbmcsICgibGFuZygiLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcs
IG5vdFN0ciwgKCJub3QoIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBvbmx5Q2hpbGQsICgib25seS1j
aGlsZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgb25seU9mVHlwZSwgKCJvbmx5LW9mLXR5cGUiLCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19M
T0NBTChBdG9taWNTdHJpbmcsIG9wdGlvbmFsLCAoIm9wdGlvbmFsIiwgQXRvbWljU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCByZXF1aXJlZCwgKCJyZXF1aXJlZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgcmVzaXplciwg
KCItd2Via2l0LXJlc2l6ZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHJvb3QsICgicm9vdCIsIEF0
b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEF0b21pY1N0cmluZywgc2Nyb2xsYmFyLCAoIi13ZWJraXQtc2Nyb2xsYmFyIiwgQXRvbWlj
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
QXRvbWljU3RyaW5nLCBzY3JvbGxiYXJCdXR0b24sICgiLXdlYmtpdC1zY3JvbGxiYXItYnV0dG9u
IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzY3JvbGxiYXJDb3JuZXIsICgiLXdlYmtpdC1zY3JvbGxi
YXItY29ybmVyIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzY3JvbGxiYXJUaHVtYiwgKCItd2Via2l0
LXNjcm9sbGJhci10aHVtYiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsK
LSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgc2Nyb2xsYmFyVHJhY2ssICgi
LXdlYmtpdC1zY3JvbGxiYXItdHJhY2siLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRl
cmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHNjcm9sbGJhclRy
YWNrUGllY2UsICgiLXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UiLCBBdG9taWNTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIHNlbGVjdGlvbiwgKCJzZWxlY3Rpb24iLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHRhcmdl
dCwgKCJ0YXJnZXQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHZpc2l0ZWQsICgidmlzaXRlZCIsIEF0
b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEF0b21pY1N0cmluZywgd2luZG93SW5hY3RpdmUsICgid2luZG93LWluYWN0aXZlIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBkZWNyZW1lbnQsICgiZGVjcmVtZW50IiwgQXRvbWljU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBpbmNyZW1lbnQsICgiaW5jcmVtZW50IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzdGFydCwg
KCJzdGFydCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZW5kLCAoImVuZCIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgaG9yaXpvbnRhbCwgKCJob3Jpem9udGFsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCB2ZXJ0
aWNhbCwgKCJ2ZXJ0aWNhbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsK
LSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZG91YmxlQnV0dG9uLCAoImRv
dWJsZS1idXR0b24iLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHNpbmdsZUJ1dHRvbiwgKCJzaW5nbGUt
YnV0dG9uIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBub0J1dHRvbiwgKCJuby1idXR0b24iLCBBdG9t
aWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChBdG9taWNTdHJpbmcsIGNvcm5lclByZXNlbnQsICgiY29ybmVyLXByZXNlbnQiLCBBdG9taWNT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgLy8gUGFnZWQgTWVkaWEgcHNldWRv
LWNsYXNzZXMKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZmlyc3RQYWdl
LCAoImZpcnN0IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBsZWZ0UGFnZSwgKCJsZWZ0IiwgQXRvbWlj
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
QXRvbWljU3RyaW5nLCByaWdodFBhZ2UsICgicmlnaHQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSk7CisgICAgc3RydWN0IFRhYmxlRW50cnkgeworICAgICAgICBjb25zdCBj
aGFyKiBuYW1lOworICAgICAgICB1bnNpZ25lZCBuYW1lTGVuZ3RoOworICAgICAgICBDU1NTZWxl
Y3Rvcjo6UHNldWRvVHlwZSB0eXBlOworICAgIH07CisKKyAgICAvLyBDb3VsZCB1c2Ugc3RybGVu
IGluIHRoaXMgbWFjcm8gYnV0IG5vdCBhbGwgY29tcGlsZXJzIGNhbiBjb25zdGFudC1mb2xkIGl0
LgorI2RlZmluZSBUQUJMRV9FTlRSWShuYW1lLCB0eXBlKSB7IG5hbWUsIHNpemVvZihuYW1lKSAt
IDEsIENTU1NlbGVjdG9yOjp0eXBlIH0sCisKKyAgICBjb25zdCBUYWJsZUVudHJ5IHRhYmxlW10g
PSB7CisgICAgICAgIFRBQkxFX0VOVFJZKCIta2h0bWwtZHJhZyIsIFBzZXVkb0RyYWcpCisgICAg
ICAgIFRBQkxFX0VOVFJZKCItd2Via2l0LWFueSgiLCBQc2V1ZG9BbnkpCisgICAgICAgIFRBQkxF
X0VOVFJZKCItd2Via2l0LWFueS1saW5rIiwgUHNldWRvQW55TGluaykKKyAgICAgICAgVEFCTEVf
RU5UUlkoIi13ZWJraXQtYXV0b2ZpbGwiLCBQc2V1ZG9BdXRvZmlsbCkKKyAgICAgICAgVEFCTEVf
RU5UUlkoIi13ZWJraXQtZHJhZyIsIFBzZXVkb0RyYWcpCisgICAgICAgIFRBQkxFX0VOVFJZKCIt
d2Via2l0LWZ1bGwtcGFnZS1tZWRpYSIsIFBzZXVkb0Z1bGxQYWdlTWVkaWEpCisgICAgICAgIFRB
QkxFX0VOVFJZKCItd2Via2l0LXJlc2l6ZXIiLCBQc2V1ZG9SZXNpemVyKQorICAgICAgICBUQUJM
RV9FTlRSWSgiLXdlYmtpdC1zY3JvbGxiYXIiLCBQc2V1ZG9TY3JvbGxiYXIpCisgICAgICAgIFRB
QkxFX0VOVFJZKCItd2Via2l0LXNjcm9sbGJhci1idXR0b24iLCBQc2V1ZG9TY3JvbGxiYXJCdXR0
b24pCisgICAgICAgIFRBQkxFX0VOVFJZKCItd2Via2l0LXNjcm9sbGJhci1jb3JuZXIiLCBQc2V1
ZG9TY3JvbGxiYXJDb3JuZXIpCisgICAgICAgIFRBQkxFX0VOVFJZKCItd2Via2l0LXNjcm9sbGJh
ci10aHVtYiIsIFBzZXVkb1Njcm9sbGJhclRodW1iKQorICAgICAgICBUQUJMRV9FTlRSWSgiLXdl
YmtpdC1zY3JvbGxiYXItdHJhY2siLCBQc2V1ZG9TY3JvbGxiYXJUcmFjaykKKyAgICAgICAgVEFC
TEVfRU5UUlkoIi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlIiwgUHNldWRvU2Nyb2xsYmFy
VHJhY2tQaWVjZSkKKyAgICAgICAgVEFCTEVfRU5UUlkoImFjdGl2ZSIsIFBzZXVkb0FjdGl2ZSkK
KyAgICAgICAgVEFCTEVfRU5UUlkoImFmdGVyIiwgUHNldWRvQWZ0ZXIpCisgICAgICAgIFRBQkxF
X0VOVFJZKCJiZWZvcmUiLCBQc2V1ZG9CZWZvcmUpCisgICAgICAgIFRBQkxFX0VOVFJZKCJjaGVj
a2VkIiwgUHNldWRvQ2hlY2tlZCkKKyAgICAgICAgVEFCTEVfRU5UUlkoImNvcm5lci1wcmVzZW50
IiwgUHNldWRvQ29ybmVyUHJlc2VudCkKKyAgICAgICAgVEFCTEVfRU5UUlkoImRlY3JlbWVudCIs
IFBzZXVkb0RlY3JlbWVudCkKKyAgICAgICAgVEFCTEVfRU5UUlkoImRlZmF1bHQiLCBQc2V1ZG9E
ZWZhdWx0KQorICAgICAgICBUQUJMRV9FTlRSWSgiZGlzYWJsZWQiLCBQc2V1ZG9EaXNhYmxlZCkK
KyAgICAgICAgVEFCTEVfRU5UUlkoImRvdWJsZS1idXR0b24iLCBQc2V1ZG9Eb3VibGVCdXR0b24p
CisgICAgICAgIFRBQkxFX0VOVFJZKCJlbXB0eSIsIFBzZXVkb0VtcHR5KQorICAgICAgICBUQUJM
RV9FTlRSWSgiZW5hYmxlZCIsIFBzZXVkb0VuYWJsZWQpCisgICAgICAgIFRBQkxFX0VOVFJZKCJl
bmQiLCBQc2V1ZG9FbmQpCisgICAgICAgIFRBQkxFX0VOVFJZKCJmaXJzdCIsIFBzZXVkb0ZpcnN0
UGFnZSkKKyAgICAgICAgVEFCTEVfRU5UUlkoImZpcnN0LWNoaWxkIiwgUHNldWRvRmlyc3RDaGls
ZCkKKyAgICAgICAgVEFCTEVfRU5UUlkoImZpcnN0LWxldHRlciIsIFBzZXVkb0ZpcnN0TGV0dGVy
KQorICAgICAgICBUQUJMRV9FTlRSWSgiZmlyc3QtbGluZSIsIFBzZXVkb0ZpcnN0TGluZSkKKyAg
ICAgICAgVEFCTEVfRU5UUlkoImZpcnN0LW9mLXR5cGUiLCBQc2V1ZG9GaXJzdE9mVHlwZSkKKyAg
ICAgICAgVEFCTEVfRU5UUlkoImZvY3VzIiwgUHNldWRvRm9jdXMpCisgICAgICAgIFRBQkxFX0VO
VFJZKCJob3Jpem9udGFsIiwgUHNldWRvSG9yaXpvbnRhbCkKKyAgICAgICAgVEFCTEVfRU5UUlko
ImhvdmVyIiwgUHNldWRvSG92ZXIpCisgICAgICAgIFRBQkxFX0VOVFJZKCJpbi1yYW5nZSIsIFBz
ZXVkb0luUmFuZ2UpCisgICAgICAgIFRBQkxFX0VOVFJZKCJpbmNyZW1lbnQiLCBQc2V1ZG9JbmNy
ZW1lbnQpCisgICAgICAgIFRBQkxFX0VOVFJZKCJpbmRldGVybWluYXRlIiwgUHNldWRvSW5kZXRl
cm1pbmF0ZSkKKyAgICAgICAgVEFCTEVfRU5UUlkoImludmFsaWQiLCBQc2V1ZG9JbnZhbGlkKQor
ICAgICAgICBUQUJMRV9FTlRSWSgibGFuZygiLCBQc2V1ZG9MYW5nKQorICAgICAgICBUQUJMRV9F
TlRSWSgibGFzdC1jaGlsZCIsIFBzZXVkb0xhc3RDaGlsZCkKKyAgICAgICAgVEFCTEVfRU5UUlko
Imxhc3Qtb2YtdHlwZSIsIFBzZXVkb0xhc3RPZlR5cGUpCisgICAgICAgIFRBQkxFX0VOVFJZKCJs
ZWZ0IiwgUHNldWRvTGVmdFBhZ2UpCisgICAgICAgIFRBQkxFX0VOVFJZKCJsaW5rIiwgUHNldWRv
TGluaykKKyAgICAgICAgVEFCTEVfRU5UUlkoIm5vLWJ1dHRvbiIsIFBzZXVkb05vQnV0dG9uKQor
ICAgICAgICBUQUJMRV9FTlRSWSgibm90KCIsIFBzZXVkb05vdCkKKyAgICAgICAgVEFCTEVfRU5U
UlkoIm50aC1jaGlsZCgiLCBQc2V1ZG9OdGhDaGlsZCkKKyAgICAgICAgVEFCTEVfRU5UUlkoIm50
aC1sYXN0LWNoaWxkKCIsIFBzZXVkb050aExhc3RDaGlsZCkKKyAgICAgICAgVEFCTEVfRU5UUlko
Im50aC1sYXN0LW9mLXR5cGUoIiwgUHNldWRvTnRoTGFzdE9mVHlwZSkKKyAgICAgICAgVEFCTEVf
RU5UUlkoIm50aC1vZi10eXBlKCIsIFBzZXVkb050aE9mVHlwZSkKKyAgICAgICAgVEFCTEVfRU5U
UlkoIm9ubHktY2hpbGQiLCBQc2V1ZG9Pbmx5Q2hpbGQpCisgICAgICAgIFRBQkxFX0VOVFJZKCJv
bmx5LW9mLXR5cGUiLCBQc2V1ZG9Pbmx5T2ZUeXBlKQorICAgICAgICBUQUJMRV9FTlRSWSgib3B0
aW9uYWwiLCBQc2V1ZG9PcHRpb25hbCkKKyAgICAgICAgVEFCTEVfRU5UUlkoIm91dC1vZi1yYW5n
ZSIsIFBzZXVkb091dE9mUmFuZ2UpCisgICAgICAgIFRBQkxFX0VOVFJZKCJwYXN0IiwgUHNldWRv
UGFzdEN1ZSkKKyAgICAgICAgVEFCTEVfRU5UUlkoInJlYWQtb25seSIsIFBzZXVkb1JlYWRPbmx5
KQorICAgICAgICBUQUJMRV9FTlRSWSgicmVhZC13cml0ZSIsIFBzZXVkb1JlYWRXcml0ZSkKKyAg
ICAgICAgVEFCTEVfRU5UUlkoInJlcXVpcmVkIiwgUHNldWRvUmVxdWlyZWQpCisgICAgICAgIFRB
QkxFX0VOVFJZKCJyaWdodCIsIFBzZXVkb1JpZ2h0UGFnZSkKKyAgICAgICAgVEFCTEVfRU5UUlko
InJvb3QiLCBQc2V1ZG9Sb290KQorICAgICAgICBUQUJMRV9FTlRSWSgic2NvcGUiLCBQc2V1ZG9T
Y29wZSkKKyAgICAgICAgVEFCTEVfRU5UUlkoInNlbGVjdGlvbiIsIFBzZXVkb1NlbGVjdGlvbikK
KyAgICAgICAgVEFCTEVfRU5UUlkoInNpbmdsZS1idXR0b24iLCBQc2V1ZG9TaW5nbGVCdXR0b24p
CisgICAgICAgIFRBQkxFX0VOVFJZKCJzdGFydCIsIFBzZXVkb1N0YXJ0KQorICAgICAgICBUQUJM
RV9FTlRSWSgidGFyZ2V0IiwgUHNldWRvVGFyZ2V0KQorICAgICAgICBUQUJMRV9FTlRSWSgidmFs
aWQiLCBQc2V1ZG9WYWxpZCkKKyAgICAgICAgVEFCTEVfRU5UUlkoInZlcnRpY2FsIiwgUHNldWRv
VmVydGljYWwpCisgICAgICAgIFRBQkxFX0VOVFJZKCJ2aXNpdGVkIiwgUHNldWRvVmlzaXRlZCkK
KyAgICAgICAgVEFCTEVfRU5UUlkoIndpbmRvdy1pbmFjdGl2ZSIsIFBzZXVkb1dpbmRvd0luYWN0
aXZlKQorCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBmdWxsU2NyZWVuLCAoIi13ZWJraXQtZnVsbC1zY3JlZW4iLCBBdG9t
aWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChBdG9taWNTdHJpbmcsIGZ1bGxTY3JlZW5Eb2N1bWVudCwgKCItd2Via2l0LWZ1bGwtc2NyZWVu
LWRvY3VtZW50IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBmdWxsU2NyZWVuQW5jZXN0b3IsICgiLXdl
YmtpdC1mdWxsLXNjcmVlbi1hbmNlc3RvciIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgYW5pbWF0aW5n
RnVsbFNjcmVlblRyYW5zaXRpb24sICgiLXdlYmtpdC1hbmltYXRpbmctZnVsbC1zY3JlZW4tdHJh
bnNpdGlvbiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSNlbmRpZgot
I2lmIEVOQUJMRShWSURFT19UUkFDSykKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgY3VlLCAoImN1ZSgiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGZ1dHVyZUN1ZSwgKCJmdXR1
cmUiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHBhc3RDdWUsICgicGFzdCIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICAgICAgVEFCTEVfRU5UUlkoIi13ZWJraXQtYW5p
bWF0aW5nLWZ1bGwtc2NyZWVuLXRyYW5zaXRpb24iLCBQc2V1ZG9BbmltYXRpbmdGdWxsU2NyZWVu
VHJhbnNpdGlvbikKKyAgICAgICAgVEFCTEVfRU5UUlkoIi13ZWJraXQtZnVsbC1zY3JlZW4iLCBQ
c2V1ZG9GdWxsU2NyZWVuKQorICAgICAgICBUQUJMRV9FTlRSWSgiLXdlYmtpdC1mdWxsLXNjcmVl
bi1hbmNlc3RvciIsIFBzZXVkb0Z1bGxTY3JlZW5BbmNlc3RvcikKKyAgICAgICAgVEFCTEVfRU5U
UlkoIi13ZWJraXQtZnVsbC1zY3JlZW4tZG9jdW1lbnQiLCBQc2V1ZG9GdWxsU2NyZWVuRG9jdW1l
bnQpCiAjZW5kaWYKKwogI2lmIEVOQUJMRShJRlJBTUVfU0VBTUxFU1MpCi0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHNlYW1sZXNzRG9jdW1lbnQsICgiLXdlYmtpdC1zZWFt
bGVzcy1kb2N1bWVudCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSNl
bmRpZgotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBpblJhbmdlLCAoImlu
LXJhbmdlIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBvdXRPZlJhbmdlLCAoIm91dC1vZi1yYW5nZSIs
IEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgc2NvcGUsICgic2NvcGUiLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7Ci0KLSAgICBzdGF0aWMgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBs
KiwgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGU+KiBuYW1lVG9Qc2V1ZG9UeXBlID0gMDsKLSAgICBp
ZiAoIW5hbWVUb1BzZXVkb1R5cGUpIHsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZSA9IG5ldyBI
YXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZT47Ci0gICAg
ICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChhY3RpdmUuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNl
dWRvQWN0aXZlKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGFmdGVyLmltcGwoKSwg
Q1NTU2VsZWN0b3I6OlBzZXVkb0FmdGVyKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0
KGFueUxpbmsuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvQW55TGluayk7Ci0gICAgICAgIG5h
bWVUb1BzZXVkb1R5cGUtPnNldChhbnkuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvQW55KTsK
LSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGF1dG9maWxsLmltcGwoKSwgQ1NTU2VsZWN0
b3I6OlBzZXVkb0F1dG9maWxsKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGJlZm9y
ZS5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9CZWZvcmUpOwotICAgICAgICBuYW1lVG9Qc2V1
ZG9UeXBlLT5zZXQoY2hlY2tlZC5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9DaGVja2VkKTsK
LSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGRlZmF1bHRTdHJpbmcuaW1wbCgpLCBDU1NT
ZWxlY3Rvcjo6UHNldWRvRGVmYXVsdCk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChk
aXNhYmxlZC5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9EaXNhYmxlZCk7Ci0gICAgICAgIG5h
bWVUb1BzZXVkb1R5cGUtPnNldChyZWFkT25seS5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9S
ZWFkT25seSk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChyZWFkV3JpdGUuaW1wbCgp
LCBDU1NTZWxlY3Rvcjo6UHNldWRvUmVhZFdyaXRlKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlw
ZS0+c2V0KHZhbGlkLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb1ZhbGlkKTsKLSAgICAgICAg
bmFtZVRvUHNldWRvVHlwZS0+c2V0KGludmFsaWQuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRv
SW52YWxpZCk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChkcmFnLmltcGwoKSwgQ1NT
U2VsZWN0b3I6OlBzZXVkb0RyYWcpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQoZHJh
Z0FsaWFzLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb0RyYWcpOwotICAgICAgICBuYW1lVG9Q
c2V1ZG9UeXBlLT5zZXQoZW5hYmxlZC5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9FbmFibGVk
KTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGVtcHR5LmltcGwoKSwgQ1NTU2VsZWN0
b3I6OlBzZXVkb0VtcHR5KTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGZpcnN0Q2hp
bGQuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvRmlyc3RDaGlsZCk7Ci0gICAgICAgIG5hbWVU
b1BzZXVkb1R5cGUtPnNldChmdWxsUGFnZU1lZGlhLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVk
b0Z1bGxQYWdlTWVkaWEpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobGFzdENoaWxk
LmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb0xhc3RDaGlsZCk7Ci0gICAgICAgIG5hbWVUb1Bz
ZXVkb1R5cGUtPnNldChsYXN0T2ZUeXBlLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb0xhc3RP
ZlR5cGUpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQob25seUNoaWxkLmltcGwoKSwg
Q1NTU2VsZWN0b3I6OlBzZXVkb09ubHlDaGlsZCk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUt
PnNldChvbmx5T2ZUeXBlLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb09ubHlPZlR5cGUpOwot
ICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQoZmlyc3RMZXR0ZXIuaW1wbCgpLCBDU1NTZWxl
Y3Rvcjo6UHNldWRvRmlyc3RMZXR0ZXIpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQo
Zmlyc3RMaW5lLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb0ZpcnN0TGluZSk7Ci0gICAgICAg
IG5hbWVUb1BzZXVkb1R5cGUtPnNldChmaXJzdE9mVHlwZS5pbXBsKCksIENTU1NlbGVjdG9yOjpQ
c2V1ZG9GaXJzdE9mVHlwZSk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChmb2N1cy5p
bXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9Gb2N1cyk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5
cGUtPnNldChob3Zlci5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9Ib3Zlcik7Ci0gICAgICAg
IG5hbWVUb1BzZXVkb1R5cGUtPnNldChpbmRldGVybWluYXRlLmltcGwoKSwgQ1NTU2VsZWN0b3I6
OlBzZXVkb0luZGV0ZXJtaW5hdGUpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobGlu
ay5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9MaW5rKTsKLSAgICAgICAgbmFtZVRvUHNldWRv
VHlwZS0+c2V0KGxhbmcuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTGFuZyk7Ci0gICAgICAg
IG5hbWVUb1BzZXVkb1R5cGUtPnNldChub3RTdHIuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRv
Tm90KTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG50aENoaWxkLmltcGwoKSwgQ1NT
U2VsZWN0b3I6OlBzZXVkb050aENoaWxkKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0
KG50aE9mVHlwZS5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9OdGhPZlR5cGUpOwotICAgICAg
ICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobnRoTGFzdENoaWxkLmltcGwoKSwgQ1NTU2VsZWN0b3I6
OlBzZXVkb050aExhc3RDaGlsZCk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChudGhM
YXN0T2ZUeXBlLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb050aExhc3RPZlR5cGUpOwotICAg
ICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQocm9vdC5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1
ZG9Sb290KTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHdpbmRvd0luYWN0aXZlLmlt
cGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb1dpbmRvd0luYWN0aXZlKTsKLSAgICAgICAgbmFtZVRv
UHNldWRvVHlwZS0+c2V0KGRlY3JlbWVudC5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9EZWNy
ZW1lbnQpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQoaW5jcmVtZW50LmltcGwoKSwg
Q1NTU2VsZWN0b3I6OlBzZXVkb0luY3JlbWVudCk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUt
PnNldChzdGFydC5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9TdGFydCk7Ci0gICAgICAgIG5h
bWVUb1BzZXVkb1R5cGUtPnNldChlbmQuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvRW5kKTsK
LSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGhvcml6b250YWwuaW1wbCgpLCBDU1NTZWxl
Y3Rvcjo6UHNldWRvSG9yaXpvbnRhbCk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldCh2
ZXJ0aWNhbC5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9WZXJ0aWNhbCk7Ci0gICAgICAgIG5h
bWVUb1BzZXVkb1R5cGUtPnNldChkb3VibGVCdXR0b24uaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNl
dWRvRG91YmxlQnV0dG9uKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHNpbmdsZUJ1
dHRvbi5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9TaW5nbGVCdXR0b24pOwotICAgICAgICBu
YW1lVG9Qc2V1ZG9UeXBlLT5zZXQobm9CdXR0b24uaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRv
Tm9CdXR0b24pOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQob3B0aW9uYWwuaW1wbCgp
LCBDU1NTZWxlY3Rvcjo6UHNldWRvT3B0aW9uYWwpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBl
LT5zZXQocmVxdWlyZWQuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvUmVxdWlyZWQpOwotICAg
ICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQocmVzaXplci5pbXBsKCksIENTU1NlbGVjdG9yOjpQ
c2V1ZG9SZXNpemVyKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHNjb3BlLmltcGwo
KSwgQ1NTU2VsZWN0b3I6OlBzZXVkb1Njb3BlKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+
c2V0KHNjcm9sbGJhci5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXIpOwotICAg
ICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQoc2Nyb2xsYmFyQnV0dG9uLmltcGwoKSwgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb1Njcm9sbGJhckJ1dHRvbik7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUt
PnNldChzY3JvbGxiYXJDb3JuZXIuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvU2Nyb2xsYmFy
Q29ybmVyKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHNjcm9sbGJhclRodW1iLmlt
cGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb1Njcm9sbGJhclRodW1iKTsKLSAgICAgICAgbmFtZVRv
UHNldWRvVHlwZS0+c2V0KHNjcm9sbGJhclRyYWNrLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVk
b1Njcm9sbGJhclRyYWNrKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHNjcm9sbGJh
clRyYWNrUGllY2UuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvU2Nyb2xsYmFyVHJhY2tQaWVj
ZSk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChjb3JuZXJQcmVzZW50LmltcGwoKSwg
Q1NTU2VsZWN0b3I6OlBzZXVkb0Nvcm5lclByZXNlbnQpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9U
eXBlLT5zZXQoc2VsZWN0aW9uLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb1NlbGVjdGlvbik7
Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldCh0YXJnZXQuaW1wbCgpLCBDU1NTZWxlY3Rv
cjo6UHNldWRvVGFyZ2V0KTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHZpc2l0ZWQu
aW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvVmlzaXRlZCk7Ci0gICAgICAgIG5hbWVUb1BzZXVk
b1R5cGUtPnNldChmaXJzdFBhZ2UuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvRmlyc3RQYWdl
KTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGxlZnRQYWdlLmltcGwoKSwgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0xlZnRQYWdlKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHJp
Z2h0UGFnZS5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9SaWdodFBhZ2UpOwotI2lmIEVOQUJM
RShGVUxMU0NSRUVOX0FQSSkKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGZ1bGxTY3Jl
ZW4uaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvRnVsbFNjcmVlbik7Ci0gICAgICAgIG5hbWVU
b1BzZXVkb1R5cGUtPnNldChmdWxsU2NyZWVuRG9jdW1lbnQuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6
UHNldWRvRnVsbFNjcmVlbkRvY3VtZW50KTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0
KGZ1bGxTY3JlZW5BbmNlc3Rvci5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9GdWxsU2NyZWVu
QW5jZXN0b3IpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQoYW5pbWF0aW5nRnVsbFNj
cmVlblRyYW5zaXRpb24uaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvQW5pbWF0aW5nRnVsbFNj
cmVlblRyYW5zaXRpb24pOworICAgICAgICBUQUJMRV9FTlRSWSgiLXdlYmtpdC1zZWFtbGVzcy1k
b2N1bWVudCIsIFBzZXVkb1NlYW1sZXNzRG9jdW1lbnQpCiAjZW5kaWYKKwogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGN1ZS5pbXBsKCksIENT
U1NlbGVjdG9yOjpQc2V1ZG9DdWUpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQoZnV0
dXJlQ3VlLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb0Z1dHVyZUN1ZSk7Ci0gICAgICAgIG5h
bWVUb1BzZXVkb1R5cGUtPnNldChwYXN0Q3VlLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb1Bh
c3RDdWUpOworICAgICAgICBUQUJMRV9FTlRSWSgiY3VlKCIsIFBzZXVkb0N1ZSkKKyAgICAgICAg
VEFCTEVfRU5UUlkoImZ1dHVyZSIsIFBzZXVkb0Z1dHVyZUN1ZSkKKyAgICAgICAgVEFCTEVfRU5U
UlkoInBhc3QiLCBQc2V1ZG9QYXN0Q3VlKQogI2VuZGlmCi0jaWYgRU5BQkxFKElGUkFNRV9TRUFN
TEVTUykKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KHNlYW1sZXNzRG9jdW1lbnQuaW1w
bCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvU2VhbWxlc3NEb2N1bWVudCk7Ci0jZW5kaWYKLSAgICAg
ICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGluUmFuZ2UuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNl
dWRvSW5SYW5nZSk7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChvdXRPZlJhbmdlLmlt
cGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb091dE9mUmFuZ2UpOwotICAgIH0KLSAgICByZXR1cm4g
bmFtZVRvUHNldWRvVHlwZTsKKyAgICB9OworCisjdW5kZWYgVEFCTEVfRU5UUlkKKworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHRhYmxlKTsgKytpKQorICAg
ICAgICBtYXAuYWRkKEF0b21pY1N0cmluZyh0YWJsZVtpXS5uYW1lLCB0YWJsZVtpXS5uYW1lTGVu
Z3RoLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSwgdGFibGVbaV0udHlwZSk7
CiB9CiAKIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIENTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb1R5
cGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKQogewogICAgIGlmIChuYW1lLmlzTnVsbCgpKQog
ICAgICAgICByZXR1cm4gUHNldWRvVW5rbm93bjsKLSAgICBIYXNoTWFwPEF0b21pY1N0cmluZ0lt
cGwqLCBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZT4qIG5hbWVUb1BzZXVkb1R5cGUgPSBuYW1lVG9Q
c2V1ZG9UeXBlTWFwKCk7Ci0gICAgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTU2VsZWN0
b3I6OlBzZXVkb1R5cGU+OjppdGVyYXRvciBzbG90ID0gbmFtZVRvUHNldWRvVHlwZS0+ZmluZChu
YW1lLmltcGwoKSk7CiAKLSAgICBpZiAoc2xvdCAhPSBuYW1lVG9Qc2V1ZG9UeXBlLT5lbmQoKSkK
LSAgICAgICAgcmV0dXJuIHNsb3QtPnZhbHVlOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxI
YXNoTWFwPEF0b21pY1N0cmluZywgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGU+PiB0eXBlczsKKyAg
ICBpZiAodHlwZXMuZ2V0KCkuaXNFbXB0eSgpKQorICAgICAgICBwb3B1bGF0ZVBzZXVkb1R5cGVC
eU5hbWVNYXAodHlwZXMuZ2V0KCkpOworICAgIGlmIChQc2V1ZG9UeXBlIHR5cGUgPSB0eXBlcy5n
ZXQoKS5nZXQobmFtZSkpCisgICAgICAgIHJldHVybiB0eXBlOwogCiAgICAgaWYgKG5hbWUuc3Rh
cnRzV2l0aCgiLXdlYmtpdC0iKSkKICAgICAgICAgcmV0dXJuIFBzZXVkb1dlYktpdEN1c3RvbUVs
ZW1lbnQ7CisKKyAgICAvLyBGSVhNRTogVGhpcyBpcyBzdHJhbmdlLiBXaHkgd291bGQgYWxsIHN0
cmluZ3MgdGhhdCBzdGFydCB3aXRoICJjdWUiIGJlICJ1c2VyIGFnZW50IGN1c3RvbSI/CiAgICAg
aWYgKG5hbWUuc3RhcnRzV2l0aCgieC0iKSB8fCBuYW1lLnN0YXJ0c1dpdGgoImN1ZSIpKQogICAg
ICAgICByZXR1cm4gUHNldWRvVXNlckFnZW50Q3VzdG9tRWxlbWVudDsKIAo=
</data>
<flag name="review"
          id="233782"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>