<?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>33768</bug_id>
          
          <creation_ts>2010-01-16 20:35:55 -0800</creation_ts>
          <short_desc>Cache JS string values made from DOM strings (Dromaeo speedup)</short_desc>
          <delta_ts>2010-01-16 23:18:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181590</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-01-16 20:35:55 -0800</bug_when>
    <thetext>Cache JS string values made from DOM strings (Dromaeo speedup)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181593</commentid>
    <comment_count>1</comment_count>
      <attachid>46757</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-01-16 21:37:05 -0800</bug_when>
    <thetext>Created attachment 46757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181594</commentid>
    <comment_count>2</comment_count>
      <attachid>46757</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-16 22:24:42 -0800</bug_when>
    <thetext>Comment on attachment 46757
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181598</commentid>
    <comment_count>3</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-01-16 23:18:54 -0800</bug_when>
    <thetext>Committed r53371: &lt;http://trac.webkit.org/changeset/53371&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46757</attachid>
            <date>2010-01-16 21:37:05 -0800</date>
            <delta_ts>2010-01-16 22:24:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-33768-20100116213703.patch</filename>
            <type>text/plain</type>
            <size>16799</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDUzMzcwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDEtMTYgIE1hY2llaiBT
dGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDYWNoZSBKUyBzdHJpbmcgdmFsdWVzIG1hZGUgZnJvbSBET00g
c3RyaW5ncyAoRHJvbWFlbyBzcGVlZHVwKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzM3NjgKKworICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmcuaDoK
KyAgICAgICAgKEpTQzo6anNTdHJpbmdXaXRoRmluYWxpemVyKTogQWRkZWQgbmV3IG1lY2hhbmlz
bSBmb3IgYSBzdHJpbmcgdG8gaGF2ZSBhbiBvcHRpb25hbAorICAgICAgICBmaW5hbGl6ZXIgY2Fs
bGJhY2ssIGZvciB0aGUgYmVuZWZpdCBvZiB3ZWFrLXJlZmVyZW5jaW5nIGNhY2hlcy4KKyAgICAg
ICAgKEpTQzo6KToKKyAgICAgICAgKEpTQzo6RmliZXI6OkpTU3RyaW5nKToKKyAgICAgICAgKEpT
Qzo6RmliZXI6On5KU1N0cmluZyk6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5jcHA6Cisg
ICAgICAgIChKU0M6OkpTU3RyaW5nOjpyZXNvbHZlUm9wZSk6IENsZWFyIGZpYmVycyBzbyB0aGlz
IGRvZXNuJ3QgbG9vayBsaWtlIGEgc3RyaW5nIHdpdGggYSBmaW5hbGl6ZXIuCisgICAgICAgICog
cnVudGltZS9XZWFrR0NNYXAuaDogSW5jbHVkZSAiQ29sbGVjdG9yLmgiIHRvIG1ha2UgdGhpcyBo
ZWFkZXIgaW5jbHVkYWJsZSBieSBpdHNlbGYuCisKIDIwMTAtMDEtMTUgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4K
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCShyZXZpc2lvbiA1MzM2NCkKKysr
IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
NSw4ICs4NSwxMCBAQCB2b2lkIEpTU3RyaW5nOjpyZXNvbHZlUm9wZShFeGVjU3RhdGUqIGV4CiAg
ICAgaWYgKFBhc3NSZWZQdHI8VVN0cmluZ0ltcGw+IG5ld0ltcGwgPSBVU3RyaW5nSW1wbDo6dHJ5
Q3JlYXRlVW5pbml0aWFsaXplZChtX3N0cmluZ0xlbmd0aCwgYnVmZmVyKSkKICAgICAgICAgbV92
YWx1ZSA9IG5ld0ltcGw7CiAgICAgZWxzZSB7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBtX3JvcGVMZW5ndGg7ICsraSkKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1fcm9wZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBtX2ZpYmVyc1tpXS5kZXJlZigpOwor
ICAgICAgICAgICAgbV9maWJlcnNbaV0gPSBzdGF0aWNfY2FzdDx2b2lkKj4oMCk7CisgICAgICAg
IH0KICAgICAgICAgbV9yb3BlTGVuZ3RoID0gMDsKICAgICAgICAgQVNTRVJUKCFpc1JvcGUoKSk7
CiAgICAgICAgIEFTU0VSVChtX3ZhbHVlID09IFVTdHJpbmcoKSk7CkBAIC0xMjAsOCArMTIyLDEw
IEBAIHZvaWQgSlNTdHJpbmc6OnJlc29sdmVSb3BlKEV4ZWNTdGF0ZSogZXgKICAgICAgICAgICAg
IGlmICh3b3JrUXVldWUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGEg
c3RyaW5nIGZyb20gdGhlIFVDaGFyIGJ1ZmZlciwgY2xlYXIgdGhlIHJvcGUgUmVmUHRyLgogICAg
ICAgICAgICAgICAgIEFTU0VSVChidWZmZXIgPT0gcG9zaXRpb24pOwotICAgICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3JvcGVMZW5ndGg7ICsraSkKKyAgICAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9yb3BlTGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgICAgICAgICAgICAgbV9maWJlcnNbaV0uZGVyZWYoKTsKKyAgICAgICAgICAgICAgICAgICAg
bV9maWJlcnNbaV0gPSBzdGF0aWNfY2FzdDx2b2lkKj4oMCk7CisgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIG1fcm9wZUxlbmd0aCA9IDA7CiAKICAgICAgICAgICAgICAgICBBU1NF
UlQoIWlzUm9wZSgpKTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgJKHJldmlzaW9u
IDUzMzY0KQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCSh3b3JraW5nIGNv
cHkpCkBAIC01OSw2ICs1OSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIEpTU3RyaW5nKiBqc093
bmVkU3RyaW5nKEpTR2xvYmFsRGF0YSosIGNvbnN0IFVTdHJpbmcmKTsgCiAgICAgSlNTdHJpbmcq
IGpzT3duZWRTdHJpbmcoRXhlY1N0YXRlKiwgY29uc3QgVVN0cmluZyYpOyAKIAorICAgIHR5cGVk
ZWYgdm9pZCAoKkpTU3RyaW5nRmluYWxpemVyQ2FsbGJhY2spKEpTU3RyaW5nKiwgdm9pZCogY29u
dGV4dCk7CisgICAgSlNTdHJpbmcqIGpzU3RyaW5nV2l0aEZpbmFsaXplcihFeGVjU3RhdGUqLCBj
b25zdCBVU3RyaW5nJiwgSlNTdHJpbmdGaW5hbGl6ZXJDYWxsYmFjayBjYWxsYmFjaywgdm9pZCog
Y29udGV4dCk7CisKICAgICBjbGFzcyBKU19FWFBPUlRDTEFTUyBKU1N0cmluZyA6IHB1YmxpYyBK
U0NlbGwgewogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKQEAgLTcxLDEw
ICs3NCwxMiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIC8vIEVhY2ggRmliZXIgaW4g
YSByb3BlIGlzIGVpdGhlciBVU3RyaW5nOjpSZXAgb3IgYW5vdGhlciBSb3BlLgogICAgICAgICAg
ICAgY2xhc3MgRmliZXIgewogICAgICAgICAgICAgcHVibGljOgotICAgICAgICAgICAgICAgIEZp
YmVyKCkge30KKyAgICAgICAgICAgICAgICBGaWJlcigpIDogbV92YWx1ZSgwKSB7fQogICAgICAg
ICAgICAgICAgIEZpYmVyKFVTdHJpbmc6OlJlcCogc3RyaW5nKSA6IG1fdmFsdWUocmVpbnRlcnBy
ZXRfY2FzdDxpbnRwdHJfdD4oc3RyaW5nKSkge30KICAgICAgICAgICAgICAgICBGaWJlcihSb3Bl
KiByb3BlKSA6IG1fdmFsdWUocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4ocm9wZSkgfCAxKSB7
fQogCisgICAgICAgICAgICAgICAgRmliZXIodm9pZCogbm9uRmliZXIpIDogbV92YWx1ZShyZWlu
dGVycHJldF9jYXN0PGludHB0cl90Pihub25GaWJlcikpIHt9CisKICAgICAgICAgICAgICAgICB2
b2lkIGRlcmVmKCkKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChp
c1JvcGUoKSkKQEAgLTEwOSw2ICsxMTQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAg
ICAgICBib29sIGlzU3RyaW5nKCkgeyByZXR1cm4gIWlzUm9wZSgpOyB9CiAgICAgICAgICAgICAg
ICAgVVN0cmluZzo6UmVwKiBzdHJpbmcoKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PFVTdHJp
bmc6OlJlcCo+KG1fdmFsdWUpOyB9CiAKKyAgICAgICAgICAgICAgICB2b2lkKiBub25GaWJlcigp
IHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KG1fdmFsdWUpOyB9CiAgICAgICAgICAg
ICBwcml2YXRlOgogICAgICAgICAgICAgICAgIGludHB0cl90IG1fdmFsdWU7CiAgICAgICAgICAg
ICB9OwpAQCAtMjQ1LDExICsyNTEsMjggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBB
U1NFUlQoaW5kZXggPT0gc19tYXhJbnRlcm5hbFJvcGVMZW5ndGgpOwogICAgICAgICB9CiAKKyAg
ICAgICAgSlNTdHJpbmcoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBjb25zdCBVU3RyaW5nJiB2
YWx1ZSwgSlNTdHJpbmdGaW5hbGl6ZXJDYWxsYmFjayBmaW5hbGl6ZXIsIHZvaWQqIGNvbnRleHQp
CisgICAgICAgICAgICA6IEpTQ2VsbChnbG9iYWxEYXRhLT5zdHJpbmdTdHJ1Y3R1cmUuZ2V0KCkp
CisgICAgICAgICAgICAsIG1fc3RyaW5nTGVuZ3RoKHZhbHVlLnNpemUoKSkKKyAgICAgICAgICAg
ICwgbV92YWx1ZSh2YWx1ZSkKKyAgICAgICAgICAgICwgbV9yb3BlTGVuZ3RoKDApCisgICAgICAg
IHsKKyAgICAgICAgICAgIC8vIG5hc3R5IGhhY2sgYmVjYXVzZSB3ZSBjYW4ndCB1bmlvbiBub24t
UE9EIHR5cGVzCisgICAgICAgICAgICBtX2ZpYmVyc1swXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9p
ZCo+KGZpbmFsaXplcik7CisgICAgICAgICAgICBtX2ZpYmVyc1sxXSA9IGNvbnRleHQ7CisgICAg
ICAgICAgICBIZWFwOjpoZWFwKHRoaXMpLT5yZXBvcnRFeHRyYU1lbW9yeUNvc3QodmFsdWUuY29z
dCgpKTsKKyAgICAgICAgfQorCiAgICAgICAgIH5KU1N0cmluZygpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIEFTU0VSVCh2cHRyKCkgPT0gSlNHbG9iYWxEYXRhOjpqc1N0cmluZ1ZQdHIpOwogICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcm9wZUxlbmd0aDsgKytpKQogICAg
ICAgICAgICAgICAgIG1fZmliZXJzW2ldLmRlcmVmKCk7CisKKyAgICAgICAgICAgIGlmICghbV9y
b3BlTGVuZ3RoICYmIG1fZmliZXJzWzBdLm5vbkZpYmVyKCkpIHsKKyAgICAgICAgICAgICAgICBK
U1N0cmluZ0ZpbmFsaXplckNhbGxiYWNrIGZpbmFsaXplciA9IHJlaW50ZXJwcmV0X2Nhc3Q8SlNT
dHJpbmdGaW5hbGl6ZXJDYWxsYmFjaz4obV9maWJlcnNbMF0ubm9uRmliZXIoKSk7CisgICAgICAg
ICAgICAgICAgZmluYWxpemVyKHRoaXMsIG1fZmliZXJzWzFdLm5vbkZpYmVyKCkpOworICAgICAg
ICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgY29uc3QgVVN0cmluZyYgdmFsdWUoRXhlY1N0
YXRlKiBleGVjKSBjb25zdApAQCAtMzQ3LDYgKzM3MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBmcmllbmQgSlNWYWx1ZSBqc1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBz
MSwgY29uc3QgVVN0cmluZyYgdTIpOwogICAgICAgICBmcmllbmQgSlNWYWx1ZSBqc1N0cmluZyhF
eGVjU3RhdGUqIGV4ZWMsIFJlZ2lzdGVyKiBzdHJpbmdzLCB1bnNpZ25lZCBjb3VudCk7CiAgICAg
ICAgIGZyaWVuZCBKU1ZhbHVlIGpzU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB0aGlz
VmFsdWUsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpOworICAgICAgICBmcmllbmQgSlNTdHJpbmcqIGpz
U3RyaW5nV2l0aEZpbmFsaXplcihFeGVjU3RhdGUqLCBjb25zdCBVU3RyaW5nJiwgSlNTdHJpbmdG
aW5hbGl6ZXJDYWxsYmFjayBjYWxsYmFjaywgdm9pZCogY29udGV4dCk7CiAgICAgfTsKIAogICAg
IEpTU3RyaW5nKiBhc1N0cmluZyhKU1ZhbHVlKTsKQEAgLTQyMSw2ICs0NDUsMTMgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBmaXh1cFZQdHIoZ2xvYmFsRGF0YSwgbmV3IChnbG9i
YWxEYXRhKSBKU1N0cmluZyhnbG9iYWxEYXRhLCBzKSk7CiAgICAgfQogCisgICAgaW5saW5lIEpT
U3RyaW5nKiBqc1N0cmluZ1dpdGhGaW5hbGl6ZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBVU3Ry
aW5nJiBzLCBKU1N0cmluZ0ZpbmFsaXplckNhbGxiYWNrIGNhbGxiYWNrLCB2b2lkKiBjb250ZXh0
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKHMuc2l6ZSgpICYmIChzLnNpemUoKSA+IDEgfHwgcy5k
YXRhKClbMF0gPiAweEZGKSk7CisgICAgICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZl
eGVjLT5nbG9iYWxEYXRhKCk7CisgICAgICAgIHJldHVybiBmaXh1cFZQdHIoZ2xvYmFsRGF0YSwg
bmV3IChnbG9iYWxEYXRhKSBKU1N0cmluZyhnbG9iYWxEYXRhLCBzLCBjYWxsYmFjaywgY29udGV4
dCkpOworICAgIH0KKwogICAgIGlubGluZSBKU1N0cmluZyoganNTdWJzdHJpbmcoSlNHbG9iYWxE
YXRhKiBnbG9iYWxEYXRhLCBjb25zdCBVU3RyaW5nJiBzLCB1bnNpZ25lZCBvZmZzZXQsIHVuc2ln
bmVkIGxlbmd0aCkKICAgICB7CiAgICAgICAgIEFTU0VSVChvZmZzZXQgPD0gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHMuc2l6ZSgpKSk7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtH
Q01hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgJ
KHJldmlzaW9uIDUzMzY0KQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAko
d29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBXZWFrR0NNYXBfaAogI2Rl
ZmluZSBXZWFrR0NNYXBfaAogCisjaW5jbHVkZSAiQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTMzNzApCisrKyBXZWJD
b3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEwLTAxLTE2
ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FjaGUgSlMgc3RyaW5nIHZhbHVlcyBtYWRl
IGZyb20gRE9NIHN0cmluZ3MgKERyb21hZW8gc3BlZWR1cCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzNzY4CisKKyAgICAgICAgQWRkZWQgYSBuZXcg
Y2FjaGUgZm9yIEpTU3RyaW5nIHZhbHVlcyB0aGF0IGFyZSBjcmVhdGVkIGZyb20gU3RyaW5ncyBv
ciBBdG9taWNTdHJpbmdzCisgICAgICAgIGluIHRoZSBET00uIEl0J3MgY29tbW9uIGZvciB0aGUg
c2FtZSBzdHJpbmcgdG8gYmUgcmV0cmlldmVkIGZyb20gdGhlIERPTSByZXBlYXRlZGx5LAorICAg
ICAgICBhbmQgaXQgaXMgd2FzdGVmdWwgdG8gbWFrZSBhIG5ldyBKUy1sZXZlbCBzdHJpbmcgdmFs
dWUgZXZlcnkgdGltZS4KKyAgICAgICAgCisgICAgICAgIFRoZSBzdHJpbmcgY2FjaGUgaXMgcGVy
LXdvcmxkLCBhbmQgdGh1cyB0aHJlYWQtc2FmZSBhbmQgbm90IGEKKyAgICAgICAgdmVjdG9yIGZv
ciBhY2NpZGVudGFsIGluZm9ybWF0aW9uIGV4Y2hhbmdlLgorICAgICAgICAKKyAgICAgICAgfjMw
JSBzcGVlZHVwIG9uIERyb21hZW8gQXR0cmlidXRlcyB0ZXN0LCBhbHNvIHN1YnN0YW50aWFsbHkg
aGVscHMgb3RoZXIgRHJvbWFlbyBET00gdGVzdHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNTdHJpbmdDYWNoZSk6IEhlbHBl
ciBmdW5jdGlvbiB0byBnZXQgdGhlIHN0cmluZyBjYWNoZSBmb3IgdGhlIGN1cnJlbnQgd29ybGQu
CisgICAgICAgIChXZWJDb3JlOjpqc1N0cmluZyk6IFNvbWUgbmV3IG92ZXJsb2FkcyBpbmNsdWRp
bmcgdGhlIGNhY2hpbmcgdmVyc2lvbi4KKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZ1dyYXBwZXJE
ZXN0cm95ZWQpOiBGaW5hbGl6ZXIgY2FsbGJhY2sgLSByZW1vdmUgZnJvbSByZWxldmFudCBjYWNo
ZXMuCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6CisgICAgICAgIChXZWJD
b3JlOjpqc1N0cmluZyk6IFByb3RvdHlwZSBuZXcgb3ZlcmxvYWRzIChhbmQgZGVmaW5lIGEgZmV3
IGlubGluZSkuCisgICAgICAgICogYmluZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6dHlwZSk6
IEV4cGxpY2l0bHkgbWFrZSBhIFVTdHJpbmcuCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0
RnVuY3Rpb25DYWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEZ1bmN0aW9uQ2FsbDo6
YXBwZW5kQXJndW1lbnQpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOiBBZGQg
bmV3IEpTU3RyaW5nIG92ZXJsb2FkcyB0aGF0IFdlYkNvcmUgZ2V0cyB0byBzZWUuCisKIDIwMTAt
MDEtMTYgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCShyZXZpc2lvbiA1MzM2NCkK
KysrIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtNDc4LDYgKzQ3
OCw3IEBAIF9fWk43V2ViQ29yZTRLVVJMQzFFTlNfMThQYXJzZWRVUkxTdHJpbmcKIF9fWk43V2Vi
Q29yZTRLVVJMQzFFUDVOU1VSTAogX19aTjdXZWJDb3JlNE5vZGUxN3N0b3BJZ25vcmluZ0xlYWtz
RXYKIF9fWk43V2ViQ29yZTROb2RlMThzdGFydElnbm9yaW5nTGVha3NFdgorX19aTjdXZWJDb3Jl
NE5vZGUxOXNldE5lZWRzU3R5bGVSZWNhbGNFTlNfMTVTdHlsZUNoYW5nZVR5cGVFCiBfX1pON1dl
YkNvcmU0UGFnZTEyc2V0R3JvdXBOYW1lRVJLTlNfNlN0cmluZ0UKIF9fWk43V2ViQ29yZTRQYWdl
MTNkaWRTdG9wUGx1Z2luRVBOU18xNEhhbHRhYmxlUGx1Z2luRQogX19aTjdXZWJDb3JlNFBhZ2Ux
NGRpZFN0YXJ0UGx1Z2luRVBOU18xNEhhbHRhYmxlUGx1Z2luRQpAQCAtNjczLDYgKzY3NCw3IEBA
IF9fWk43V2ViQ29yZThTZXR0aW5nczQwc2V0SmF2YVNjcmlwdENhbk8KIF9fWk43V2ViQ29yZThT
ZXR0aW5nczQwc2V0VGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvckVOU18zN1Rl
eHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3JFCiBfX1pON1dlYkNvcmU4U2V0dGlu
Z3M0MXNldE5lZWRzS2V5Ym9hcmRFdmVudERpc2FtYmlndWF0aW9uUXVpcmtzRWIKIF9fWk43V2Vi
Q29yZThibGFua1VSTEV2CitfX1pON1dlYkNvcmU4anNTdHJpbmdFUE4zSlNDOUV4ZWNTdGF0ZUVS
S05TXzZTdHJpbmdFCiBfX1pON1dlYkNvcmU4bWFrZVJHQkFFaWlpaQogX19aTjdXZWJDb3JlOURP
TVdpbmRvdzMwZGlzcGF0Y2hBbGxQZW5kaW5nVW5sb2FkRXZlbnRzRXYKIF9fWk43V2ViQ29yZTlE
T01XaW5kb3czNmRpc3BhdGNoQWxsUGVuZGluZ0JlZm9yZVVubG9hZEV2ZW50c0V2CkBAIC04ODMs
NyArODg1LDYgQEAgX19aTks3V2ViQ29yZTRLVVJMY3ZQNU5TVVJMRXYKIF9fWk5LN1dlYkNvcmU0
Tm9kZTE0aXNEZXNjZW5kYW50T2ZFUEtTMF8KIF9fWk5LN1dlYkNvcmU0Tm9kZTE4Z2V0U3VicmVz
b3VyY2VVUkxzRVJOM1dURjExTGlzdEhhc2hTZXRJTlNfNEtVUkxFTlNfOEtVUkxIYXNoRUVFCiBf
X1pOSzdXZWJDb3JlNE5vZGU5bm9kZUluZGV4RXYKLV9fWk43V2ViQ29yZTROb2RlMTlzZXROZWVk
c1N0eWxlUmVjYWxjRU5TXzE1U3R5bGVDaGFuZ2VUeXBlRQogX19aTks3V2ViQ29yZTRQYWdlMTBw
bHVnaW5EYXRhRXYKIF9fWk5LN1dlYkNvcmU0UGFnZTM0aW5Mb3dRdWFsaXR5SW1hZ2VJbnRlcnBv
bGF0aW9uTW9kZUV2CiBfX1pOSzdXZWJDb3JlNFBhZ2U5Z3JvdXBOYW1lRXYKQEAgLTEwMTksNiAr
MTAyMCw3IEBAIF93a0dldE5TVVJMUmVzcG9uc2VDYWxjdWxhdGVkRXhwaXJhdGlvbgogX3drR2V0
TlNVUkxSZXNwb25zZUxhc3RNb2RpZmllZERhdGUKIF93a0dldE5TVVJMUmVzcG9uc2VNdXN0UmV2
YWxpZGF0ZQogX3drR2V0UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5cGUKK193a0dldFVzZXJU
b0Jhc2VDVE0KIF93a0dldFdoZWVsRXZlbnREZWx0YXMKIF93a0hpdFRlc3RNZWRpYVVJUGFydAog
X3drSW5pdGlhbGl6ZU1heGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdApAQCAtMTA0NCw3
ICsxMDQ2LDYgQEAgX3drU2V0TlNVUkxDb25uZWN0aW9uRGVmZXJzQ2FsbGJhY2tzCiBfd2tTZXRO
U1VSTFJlcXVlc3RTaG91bGRDb250ZW50U25pZmYKIF93a1NldFBhdHRlcm5CYXNlQ1RNCiBfd2tT
ZXRQYXR0ZXJuUGhhc2VJblVzZXJTcGFjZQotX3drR2V0VXNlclRvQmFzZUNUTQogX3drU2V0VXBG
b250Q2FjaGUKIF93a1NpZ25hbENGUmVhZFN0cmVhbUVuZAogX3drU2lnbmFsQ0ZSZWFkU3RyZWFt
RXJyb3IKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAJKHJldmlzaW9uIDUz
MzY0KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01NTYsNiArNTU2LDU5IEBAIHZvaWQgbWFya0RPTU5vZGVXcmFwcGVyKE1hcmtTdGFj
ayYgbWFya1MKICAgICB9CiB9CiAKK3N0YXRpYyBpbmxpbmUgSlNTdHJpbmdDYWNoZSYganNTdHJp
bmdDYWNoZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgcmV0dXJuIGN1cnJlbnRXb3JsZChleGVj
KS0+bV9zdHJpbmdDYWNoZTsKK30KKworc3RhdGljIHZvaWQgc3RyaW5nV3JhcHBlckRlc3Ryb3ll
ZChKU1N0cmluZyogc3RyLCB2b2lkKiBjb250ZXh0KQoreworICAgIFN0cmluZ0ltcGwqIGNhY2hl
S2V5ID0gc3RhdGljX2Nhc3Q8U3RyaW5nSW1wbCo+KGNvbnRleHQpOworICAgIEpTQzo6SlNHbG9i
YWxEYXRhKiBnbG9iYWxEYXRhID0gSGVhcDo6aGVhcChzdHIpLT5nbG9iYWxEYXRhKCk7CisKKyAg
ICAvLyBDaGVjayB0aGUgbm9ybWFsIHdvcmxkIGZpcnN0IQorICAgIEpTR2xvYmFsRGF0YTo6Q2xp
ZW50RGF0YSogY2xpZW50RGF0YSA9IGdsb2JhbERhdGEtPmNsaWVudERhdGE7CisgICAgQVNTRVJU
KGNsaWVudERhdGEpOworICAgIEpTU3RyaW5nQ2FjaGUmIGNhY2hlID0gc3RhdGljX2Nhc3Q8V2Vi
Q29yZUpTQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5ub3JtYWxXb3JsZCgpLT5tX3N0cmluZ0Nh
Y2hlOworICAgIGlmIChjYWNoZS51bmNoZWNrZWRSZW1vdmUoY2FjaGVLZXksIHN0cikpIHsKKyAg
ICAgICAgY2FjaGVLZXktPmRlcmVmKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBm
b3IgKEpTR2xvYmFsRGF0YVdvcmxkSXRlcmF0b3Igd29ybGRJdGVyKGdsb2JhbERhdGEpOyB3b3Js
ZEl0ZXI7ICsrd29ybGRJdGVyKSB7CisgICAgICAgIGlmICh3b3JsZEl0ZXItPm1fc3RyaW5nQ2Fj
aGUudW5jaGVja2VkUmVtb3ZlKGNhY2hlS2V5LCBzdHIpKQorICAgICAgICAgICAgYnJlYWs7Cisg
ICAgfQorCisgICAgY2FjaGVLZXktPmRlcmVmKCk7Cit9CisKK0pTVmFsdWUganNTdHJpbmcoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIHMpCit7CisgICAgU3RyaW5nSW1wbCogc3RyaW5n
SW1wbCA9IHMuaW1wbCgpOworICAgIGlmICghc3RyaW5nSW1wbCB8fCAhc3RyaW5nSW1wbC0+bGVu
Z3RoKCkpCisgICAgICAgIHJldHVybiBqc0VtcHR5U3RyaW5nKGV4ZWMpOworCisgICAgaWYgKHN0
cmluZ0ltcGwtPmxlbmd0aCgpID09IDEgJiYgc3RyaW5nSW1wbC0+Y2hhcmFjdGVycygpWzBdIDw9
IDB4RkYpCisgICAgICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBzdHJpbmdJbXBsLT51c3RyaW5n
KCkpOworCisgICAgSlNTdHJpbmdDYWNoZSYgc3RyaW5nQ2FjaGUgPSBqc1N0cmluZ0NhY2hlKGV4
ZWMpOworICAgIGlmIChKU1N0cmluZyogd3JhcHBlciA9IHN0cmluZ0NhY2hlLmdldChzdHJpbmdJ
bXBsKSkKKyAgICAgICAgcmV0dXJuIHdyYXBwZXI7CisKKyAgICAvLyBJZiB0aGVyZSBpcyBhIHN0
YWxlIGVudHJ5LCB3ZSBoYXZlIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGl0IHRvIGF2b2lkCisgICAg
Ly8gcHJvYmxlbXMgZG93biB0aGUgbGluZS4KKyAgICBpZiAoSlNTdHJpbmcqIHdyYXBwZXIgPSBz
dHJpbmdDYWNoZS51bmNoZWNrZWRHZXQoc3RyaW5nSW1wbCkpCisgICAgICAgIHN0cmluZ0NhY2hl
LnVuY2hlY2tlZFJlbW92ZShzdHJpbmdJbXBsLCB3cmFwcGVyKTsKKworICAgIEpTU3RyaW5nKiB3
cmFwcGVyID0ganNTdHJpbmdXaXRoRmluYWxpemVyKGV4ZWMsIHN0cmluZ0ltcGwtPnVzdHJpbmco
KSwgc3RyaW5nV3JhcHBlckRlc3Ryb3llZCwgc3RyaW5nSW1wbCk7CisgICAgc3RyaW5nQ2FjaGUu
c2V0KHN0cmluZ0ltcGwsIHdyYXBwZXIpOworICAgIC8vIHJlZiBleHBsaWNpdGx5IGluc3RlYWQg
b2YgdXNpbmcgYSBSZWZQdHIta2V5ZWQgaGFzaHRhYmxlIGJlY2F1c2UgdGhlIHdyYXBwZXIgY2Fu
CisgICAgLy8gb3V0bGl2ZSB0aGUgY2FjaGUsIHNvIHRoZSBzdHJpbmdJbXBsIGhhcyB0byBtYXRj
aCB0aGUgd3JhcHBlcidzIGxpZmV0aW1lLgorICAgIHN0cmluZ0ltcGwtPnJlZigpOworICAgIHJl
dHVybiB3cmFwcGVyOworfQorCiBKU1ZhbHVlIGpzU3RyaW5nT3JOdWxsKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgU3RyaW5nJiBzKQogewogICAgIGlmIChzLmlzTnVsbCgpKQpAQCAtNTg0LDYgKzYz
NywxMSBAQCBKU1ZhbHVlIGpzU3RyaW5nT3JGYWxzZShFeGVjU3RhdGUqIGV4ZWMsCiAgICAgcmV0
dXJuIGpzU3RyaW5nKGV4ZWMsIHMpOwogfQogCitKU1ZhbHVlIGpzU3RyaW5nKEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgS1VSTCYgdXJsKQoreworICAgIHJldHVybiBqc1N0cmluZyhleGVjLCB1cmwu
c3RyaW5nKCkpOworfQorCiBKU1ZhbHVlIGpzU3RyaW5nT3JOdWxsKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgS1VSTCYgdXJsKQogewogICAgIGlmICh1cmwuaXNOdWxsKCkpCkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmgJKHJldmlzaW9uIDUzMzY0KQorKysgV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUJpbmRpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICB9OwogCiAgICAgdHlwZWRlZiBKU0M6OldlYWtHQ01hcDx2
b2lkKiwgRE9NT2JqZWN0Kj4gRE9NT2JqZWN0V3JhcHBlck1hcDsKKyAgICB0eXBlZGVmIEpTQzo6
V2Vha0dDTWFwPFN0cmluZ0ltcGwqLCBKU0M6OkpTU3RyaW5nKj4gSlNTdHJpbmdDYWNoZTsgCiAK
ICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQgOiBwdWJsaWMgUmVmQ291bnRlZDxET01XcmFwcGVy
V29ybGQ+IHsKICAgICBwdWJsaWM6CkBAIC0xNTIsNiArMTUzLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIC8vIEZJWE1FOiBjYW4gd2UgbWFrZSB0aGlzIHByaXZhdGU/CiAgICAg
ICAgIERPTU9iamVjdFdyYXBwZXJNYXAgbV93cmFwcGVyczsKKyAgICAgICAgSlNTdHJpbmdDYWNo
ZSBtX3N0cmluZ0NhY2hlOwogCiAgICAgICAgIGJvb2wgaXNOb3JtYWwoKSBjb25zdCB7IHJldHVy
biBtX2lzTm9ybWFsOyB9CiAKQEAgLTM0Myw2ICszNDUsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIC8vIENvbnZlcnQgYSBET00gaW1wbGVtZW50YXRpb24gZXhjZXB0aW9uIGNvZGUgaW50
byBhIEphdmFTY3JpcHQgZXhjZXB0aW9uIGluIHRoZSBleGVjdXRpb24gc3RhdGUuCiAgICAgdm9p
ZCBzZXRET01FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBFeGNlcHRpb25Db2RlKTsKIAorICAg
IEpTQzo6SlNWYWx1ZSBqc1N0cmluZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpOyAv
LyBlbXB0eSBpZiB0aGUgc3RyaW5nIGlzIG51bGwKKyAgICBKU0M6OkpTVmFsdWUganNTdHJpbmco
SlNDOjpFeGVjU3RhdGUqLCBjb25zdCBLVVJMJik7IC8vIGVtcHR5IGlmIHRoZSBVUkwgaXMgbnVs
bAorICAgIGlubGluZSBKU0M6OkpTVmFsdWUganNTdHJpbmcoSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IEF0b21pY1N0cmluZyYgcykKKyAgICB7IAorICAgICAgICByZXR1cm4ganNTdHJpbmco
ZXhlYywgcy5zdHJpbmcoKSk7CisgICAgfQorICAgICAgICAKICAgICBKU0M6OkpTVmFsdWUganNT
dHJpbmdPck51bGwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKTsgLy8gbnVsbCBpZiB0
aGUgc3RyaW5nIGlzIG51bGwKICAgICBKU0M6OkpTVmFsdWUganNTdHJpbmdPck51bGwoSlNDOjpF
eGVjU3RhdGUqLCBjb25zdCBLVVJMJik7IC8vIG51bGwgaWYgdGhlIFVSTCBpcyBudWxsCiAKSW5k
ZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSmF2YVNjcmlwdENhbGxGcmFtZUN1
c3RvbS5jcHAJKHJldmlzaW9uIDUzMzY0KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0phdmFT
Y3JpcHRDYWxsRnJhbWVDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw5ICs1NSw5IEBA
IEpTVmFsdWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjp0eXBlKEV4ZWMKIHsKICAgICBzd2l0Y2gg
KGltcGwoKS0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRGVidWdnZXJDYWxsRnJhbWU6OkZ1bmN0
aW9uVHlwZToKLSAgICAgICAgICAgIHJldHVybiBqc1N0cmluZyhleGVjLCAiZnVuY3Rpb24iKTsK
KyAgICAgICAgICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBVU3RyaW5nKCJmdW5jdGlvbiIpKTsK
ICAgICAgICAgY2FzZSBEZWJ1Z2dlckNhbGxGcmFtZTo6UHJvZ3JhbVR5cGU6Ci0gICAgICAgICAg
ICByZXR1cm4ganNTdHJpbmcoZXhlYywgInByb2dyYW0iKTsKKyAgICAgICAgICAgIHJldHVybiBq
c1N0cmluZyhleGVjLCBVU3RyaW5nKCJwcm9ncmFtIikpOwogICAgIH0KIAogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRGdW5jdGlvbkNh
bGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RnVuY3Rpb25D
YWxsLmNwcAkocmV2aXNpb24gNTMzNjQpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEZ1
bmN0aW9uQ2FsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBTY3Jp
cHRGdW5jdGlvbkNhbGw6OmFwcGVuZEFyZ3VtZW50KAogdm9pZCBTY3JpcHRGdW5jdGlvbkNhbGw6
OmFwcGVuZEFyZ3VtZW50KGNvbnN0IGNoYXIqIGFyZ3VtZW50KQogewogICAgIEpTTG9jayBsb2Nr
KFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgbV9hcmd1bWVudHMuYXBwZW5kKGpzU3RyaW5n
KG1fZXhlYywgYXJndW1lbnQpKTsKKyAgICBtX2FyZ3VtZW50cy5hcHBlbmQoanNTdHJpbmcobV9l
eGVjLCBVU3RyaW5nKGFyZ3VtZW50KSkpOwogfQogCiB2b2lkIFNjcmlwdEZ1bmN0aW9uQ2FsbDo6
YXBwZW5kQXJndW1lbnQoSlNDOjpKU1ZhbHVlIGFyZ3VtZW50KQpJbmRleDogV2ViS2l0L21hYy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDUz
MzcwKQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NCBAQAorMjAxMC0wMS0xNiAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhY2hlIEpTIHN0
cmluZyB2YWx1ZXMgbWFkZSBmcm9tIERPTSBzdHJpbmdzIChEcm9tYWVvIHNwZWVkdXApCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzc2OAorCisgICAg
ICAgICogUGx1Z2lucy9Ib3N0ZWQvUHJveHlJbnN0YW5jZS5tbToKKyAgICAgICAgKFdlYktpdDo6
UHJveHlJbnN0YW5jZTo6c3RyaW5nVmFsdWUpOiBFeHBsaWNpdGx5IG1ha2UgYSBTdHJpbmcsIHNp
bmNlIGNoYXIqCisgICAgICAgIGlzIG5vdyBhbWJpZ3VvdXMuCisKIDIwMTAtMDEtMTMgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBXZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5SW5zdGFu
Y2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eUluc3Rh
bmNlLm1tCShyZXZpc2lvbiA1MzM2NCkKKysrIFdlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJv
eHlJbnN0YW5jZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjIzLDcgKzIyMyw3IEBAIEpTVmFsdWUg
UHJveHlJbnN0YW5jZTo6ZGVmYXVsdFZhbHVlKEV4ZWMKIEpTVmFsdWUgUHJveHlJbnN0YW5jZTo6
c3RyaW5nVmFsdWUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgc29tZXRoaW5nIHNlbnNpYmxlLgotICAgIHJldHVybiBqc1N0cmluZyhleGVjLCAiIik7
CisgICAgcmV0dXJuIGpzRW1wdHlTdHJpbmcoZXhlYyk7CiB9CiAKIEpTVmFsdWUgUHJveHlJbnN0
YW5jZTo6bnVtYmVyVmFsdWUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAo=
</data>
<flag name="review"
          id="29071"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>