<?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>112539</bug_id>
          
          <creation_ts>2013-03-18 01:13:23 -0700</creation_ts>
          <short_desc>ObjectPrototype properties should be eagerly created rather than lazily via static tables</short_desc>
          <delta_ts>2013-03-18 11:19:30 -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>JavaScriptCore</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>
          
          <blocked>112233</blocked>
    
    <blocked>112376</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>856892</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-03-18 01:13:23 -0700</bug_when>
    <thetext>This general mechanism ought to aid with structure watchpointing.

This is the non-buggy part of https://bugs.webkit.org/show_bug.cgi?id=112233.  It&apos;s already been reviewed, and I will roll it in separately because it is generally more useful than the specific optimizations for by-string lookups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856908</commentid>
    <comment_count>1</comment_count>
      <attachid>193502</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-03-18 01:42:54 -0700</bug_when>
    <thetext>Created attachment 193502
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857188</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-03-18 09:18:57 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/146071</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193502</attachid>
            <date>2013-03-18 01:42:54 -0700</date>
            <delta_ts>2013-03-18 04:04:33 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>17692</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ2MDQxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDEzLTAzLTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
T2JqZWN0UHJvdG90eXBlIHByb3BlcnRpZXMgc2hvdWxkIGJlIGVhZ2VybHkgY3JlYXRlZCByYXRo
ZXIgdGhhbiBsYXppbHkgdmlhIHN0YXRpYyB0YWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjUzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlciBIdW50LgorICAgICAgICAKKyAgICAgICAgVGhpcyBpcyB0aGUgZmlyc3QgcGFydCBvZiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMjMzLiBSb2xsaW5nIHRo
aXMKKyAgICAgICAgaW4gZmlyc3Qgc2luY2UgaXQncyB0aGUgbGVzcy1saWtlbHktdG8tYmUtYnJv
a2VuIHBhcnQuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIGludGVycHJldGVyL0NhbGxGcmFtZS5oOgor
ICAgICAgICAoSlNDOjpFeGVjU3RhdGU6Om9iamVjdENvbnN0cnVjdG9yVGFibGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xv
YmFsRGF0YS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6
OkpTR2xvYmFsRGF0YSk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsRGF0YTo6fkpTR2xvYmFsRGF0
YSk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuaDoKKyAgICAgICAgKEpTR2xvYmFs
RGF0YSk6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpwdXREaXJlY3ROYXRpdmVGdW5jdGlvbik6CisgICAgICAgIChKU0MpOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpTT2JqZWN0KToKKyAgICAgICAgKEpT
Qyk6CisgICAgICAgICogcnVudGltZS9Mb29rdXAuY3BwOgorICAgICAgICAoSlNDOjpzZXRVcFN0
YXRpY0Z1bmN0aW9uU2xvdCk6CisgICAgICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3Bw
OgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6T2JqZWN0UHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbik6CisgICAgICAgIChKU0M6Ok9iamVjdFByb3RvdHlwZTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5oOgorICAgICAgICAoT2JqZWN0UHJvdG90eXBl
KToKKwogMjAxMy0wMy0xNiAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5jb20+CiAK
ICAgICAgICAgRGlzYWJsZSBIaWdoIERQSSBDYW52YXMgb24gaU9TCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxNDYwMDQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMyOSw3ICszMjksNiBA
QCBzZXQoSmF2YVNjcmlwdENvcmVfTFVUX0ZJTEVTCiAgICAgcnVudGltZS9OdW1iZXJDb25zdHJ1
Y3Rvci5jcHAKICAgICBydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKICAgICBydW50aW1lL09i
amVjdENvbnN0cnVjdG9yLmNwcAotICAgIHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAogICAg
IHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCiAgICAgcnVudGltZS9SZWdFeHBPYmplY3Qu
Y3BwCiAgICAgcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTQ2MDA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDcgKzUwLDYgQEAgYWxsIDogXAogICAgIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIFwKICAgICBO
dW1iZXJQcm90b3R5cGUubHV0LmggXAogICAgIE9iamVjdENvbnN0cnVjdG9yLmx1dC5oIFwKLSAg
ICBPYmplY3RQcm90b3R5cGUubHV0LmggXAogICAgIFJlZ0V4cENvbnN0cnVjdG9yLmx1dC5oIFwK
ICAgICBSZWdFeHBQcm90b3R5cGUubHV0LmggXAogICAgIFJlZ0V4cEppdFRhYmxlcy5oIFwKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5wcmkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQkocmV2aXNpb24gMTQ2
MDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQkod29ya2lu
ZyBjb3B5KQpAQCAtMjAsNyArMjAsNiBAQCBMVVRfRklMRVMgKz0gXAogICAgIHJ1bnRpbWUvTnVt
YmVyQ29uc3RydWN0b3IuY3BwIFwKICAgICBydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAgXAog
ICAgIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIFwKLSAgICBydW50aW1lL09iamVjdFBy
b3RvdHlwZS5jcHAgXAogICAgIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwIFwKICAgICBy
dW50aW1lL1JlZ0V4cE9iamVjdC5jcHAgXAogICAgIHJ1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNw
cCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2
aXNpb24gMTQ2MDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0JKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDYgQEAgamF2YXNjcmlwdGNvcmVfYnVpbHRf
bm9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9OdW1iZXJDb25z
dHJ1Y3Rvci5sdXQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvTnVtYmVyUHJv
dG90eXBlLmx1dC5oIFwKIAlEZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9PYmplY3RDb25z
dHJ1Y3Rvci5sdXQuaCBcCi0gICBEZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9PYmplY3RQ
cm90b3R5cGUubHV0LmggXAogCURlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL1JlZ0V4cENv
bnN0cnVjdG9yLmx1dC5oIFwKIAlEZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9SZWdFeHBP
YmplY3QubHV0LmggXAogCURlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL1JlZ0V4cFByb3Rv
dHlwZS5sdXQuaCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2Fs
bEZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0NhbGxGcmFtZS5oCShyZXZpc2lvbiAxNDYwMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTkwLDcgKzkwLDYgQEAg
bmFtZXNwYWNlIEpTQyAgewogICAgICAgICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlKiBudW1iZXJD
b25zdHJ1Y3RvclRhYmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiBjYWxsRnJhbWUt
Pmdsb2JhbERhdGEoKS5udW1iZXJDb25zdHJ1Y3RvclRhYmxlOyB9CiAgICAgICAgIHN0YXRpYyBj
b25zdCBIYXNoVGFibGUqIG51bWJlclByb3RvdHlwZVRhYmxlKENhbGxGcmFtZSogY2FsbEZyYW1l
KSB7IHJldHVybiBjYWxsRnJhbWUtPmdsb2JhbERhdGEoKS5udW1iZXJQcm90b3R5cGVUYWJsZTsg
fQogICAgICAgICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlKiBvYmplY3RDb25zdHJ1Y3RvclRhYmxl
KENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiBjYWxsRnJhbWUtPmdsb2JhbERhdGEoKS5v
YmplY3RDb25zdHJ1Y3RvclRhYmxlOyB9Ci0gICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUq
IG9iamVjdFByb3RvdHlwZVRhYmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiBjYWxs
RnJhbWUtPmdsb2JhbERhdGEoKS5vYmplY3RQcm90b3R5cGVUYWJsZTsgfQogICAgICAgICBzdGF0
aWMgY29uc3QgSGFzaFRhYmxlKiBwcml2YXRlTmFtZVByb3RvdHlwZVRhYmxlKENhbGxGcmFtZSog
Y2FsbEZyYW1lKSB7IHJldHVybiBjYWxsRnJhbWUtPmdsb2JhbERhdGEoKS5wcml2YXRlTmFtZVBy
b3RvdHlwZVRhYmxlOyB9CiAgICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUqIHJlZ0V4cFRh
YmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiBjYWxsRnJhbWUtPmdsb2JhbERhdGEo
KS5yZWdFeHBUYWJsZTsgfQogICAgICAgICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlKiByZWdFeHBD
b25zdHJ1Y3RvclRhYmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiBjYWxsRnJhbWUt
Pmdsb2JhbERhdGEoKS5yZWdFeHBDb25zdHJ1Y3RvclRhYmxlOyB9CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgJKHJldmlzaW9u
IDE0NjAwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZp
ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDExIEBACiAgICAgbWFjcm8odmFsdWVP
ZikgXAogICAgIG1hY3JvKHdyaXRhYmxlKSBcCiAgICAgbWFjcm8oZGlzcGxheU5hbWUpIFwKLSAg
ICBtYWNybyhqb2luKQorICAgIG1hY3JvKGpvaW4pIFwKKyAgICBtYWNybyhfX2RlZmluZUdldHRl
cl9fKSBcCisgICAgbWFjcm8oX19kZWZpbmVTZXR0ZXJfXykgXAorICAgIG1hY3JvKF9fbG9va3Vw
R2V0dGVyX18pIFwKKyAgICBtYWNybyhfX2xvb2t1cFNldHRlcl9fKQogCiAjZGVmaW5lIEpTQ19D
T01NT05fSURFTlRJRklFUlNfRUFDSF9LRVlXT1JEKG1hY3JvKSBcCiAgICAgbWFjcm8obnVsbCkg
XApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEu
Y3BwCShyZXZpc2lvbiAxNDYwMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5Myw2IEBAIGV4dGVybiBj
b25zdCBIYXNoVGFibGUgbWF0aFRhYmxlOwogZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBudW1iZXJD
b25zdHJ1Y3RvclRhYmxlOwogZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBudW1iZXJQcm90b3R5cGVU
YWJsZTsKIEpTX0VYUE9SVERBVEEgZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBvYmplY3RDb25zdHJ1
Y3RvclRhYmxlOwotZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBvYmplY3RQcm90b3R5cGVUYWJsZTsK
IGV4dGVybiBjb25zdCBIYXNoVGFibGUgcHJpdmF0ZU5hbWVQcm90b3R5cGVUYWJsZTsKIGV4dGVy
biBjb25zdCBIYXNoVGFibGUgcmVnRXhwVGFibGU7CiBleHRlcm4gY29uc3QgSGFzaFRhYmxlIHJl
Z0V4cENvbnN0cnVjdG9yVGFibGU7CkBAIC0xNTUsNyArMTU0LDYgQEAgSlNHbG9iYWxEYXRhOjpK
U0dsb2JhbERhdGEoR2xvYmFsRGF0YVR5cAogICAgICwgbnVtYmVyQ29uc3RydWN0b3JUYWJsZShm
YXN0TmV3PEhhc2hUYWJsZT4oSlNDOjpudW1iZXJDb25zdHJ1Y3RvclRhYmxlKSkKICAgICAsIG51
bWJlclByb3RvdHlwZVRhYmxlKGZhc3ROZXc8SGFzaFRhYmxlPihKU0M6Om51bWJlclByb3RvdHlw
ZVRhYmxlKSkKICAgICAsIG9iamVjdENvbnN0cnVjdG9yVGFibGUoZmFzdE5ldzxIYXNoVGFibGU+
KEpTQzo6b2JqZWN0Q29uc3RydWN0b3JUYWJsZSkpCi0gICAgLCBvYmplY3RQcm90b3R5cGVUYWJs
ZShmYXN0TmV3PEhhc2hUYWJsZT4oSlNDOjpvYmplY3RQcm90b3R5cGVUYWJsZSkpCiAgICAgLCBw
cml2YXRlTmFtZVByb3RvdHlwZVRhYmxlKGZhc3ROZXc8SGFzaFRhYmxlPihKU0M6OnByaXZhdGVO
YW1lUHJvdG90eXBlVGFibGUpKQogICAgICwgcmVnRXhwVGFibGUoZmFzdE5ldzxIYXNoVGFibGU+
KEpTQzo6cmVnRXhwVGFibGUpKQogICAgICwgcmVnRXhwQ29uc3RydWN0b3JUYWJsZShmYXN0TmV3
PEhhc2hUYWJsZT4oSlNDOjpyZWdFeHBDb25zdHJ1Y3RvclRhYmxlKSkKQEAgLTI4Niw3ICsyODQs
NiBAQCBKU0dsb2JhbERhdGE6On5KU0dsb2JhbERhdGEoKQogICAgIG51bWJlckNvbnN0cnVjdG9y
VGFibGUtPmRlbGV0ZVRhYmxlKCk7CiAgICAgbnVtYmVyUHJvdG90eXBlVGFibGUtPmRlbGV0ZVRh
YmxlKCk7CiAgICAgb2JqZWN0Q29uc3RydWN0b3JUYWJsZS0+ZGVsZXRlVGFibGUoKTsKLSAgICBv
YmplY3RQcm90b3R5cGVUYWJsZS0+ZGVsZXRlVGFibGUoKTsKICAgICBwcml2YXRlTmFtZVByb3Rv
dHlwZVRhYmxlLT5kZWxldGVUYWJsZSgpOwogICAgIHJlZ0V4cFRhYmxlLT5kZWxldGVUYWJsZSgp
OwogICAgIHJlZ0V4cENvbnN0cnVjdG9yVGFibGUtPmRlbGV0ZVRhYmxlKCk7CkBAIC0zMDYsNyAr
MzAzLDYgQEAgSlNHbG9iYWxEYXRhOjp+SlNHbG9iYWxEYXRhKCkKICAgICBmYXN0RGVsZXRlKGNv
bnN0X2Nhc3Q8SGFzaFRhYmxlKj4obnVtYmVyQ29uc3RydWN0b3JUYWJsZSkpOwogICAgIGZhc3RE
ZWxldGUoY29uc3RfY2FzdDxIYXNoVGFibGUqPihudW1iZXJQcm90b3R5cGVUYWJsZSkpOwogICAg
IGZhc3REZWxldGUoY29uc3RfY2FzdDxIYXNoVGFibGUqPihvYmplY3RDb25zdHJ1Y3RvclRhYmxl
KSk7Ci0gICAgZmFzdERlbGV0ZShjb25zdF9jYXN0PEhhc2hUYWJsZSo+KG9iamVjdFByb3RvdHlw
ZVRhYmxlKSk7CiAgICAgZmFzdERlbGV0ZShjb25zdF9jYXN0PEhhc2hUYWJsZSo+KHByaXZhdGVO
YW1lUHJvdG90eXBlVGFibGUpKTsKICAgICBmYXN0RGVsZXRlKGNvbnN0X2Nhc3Q8SGFzaFRhYmxl
Kj4ocmVnRXhwVGFibGUpKTsKICAgICBmYXN0RGVsZXRlKGNvbnN0X2Nhc3Q8SGFzaFRhYmxlKj4o
cmVnRXhwQ29uc3RydWN0b3JUYWJsZSkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgJKHJldmlzaW9uIDE0NjAwNCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjYs
NyArMjI2LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGNvbnN0IEhhc2hUYWJsZSogbnVt
YmVyQ29uc3RydWN0b3JUYWJsZTsKICAgICAgICAgY29uc3QgSGFzaFRhYmxlKiBudW1iZXJQcm90
b3R5cGVUYWJsZTsKICAgICAgICAgY29uc3QgSGFzaFRhYmxlKiBvYmplY3RDb25zdHJ1Y3RvclRh
YmxlOwotICAgICAgICBjb25zdCBIYXNoVGFibGUqIG9iamVjdFByb3RvdHlwZVRhYmxlOwogICAg
ICAgICBjb25zdCBIYXNoVGFibGUqIHByaXZhdGVOYW1lUHJvdG90eXBlVGFibGU7CiAgICAgICAg
IGNvbnN0IEhhc2hUYWJsZSogcmVnRXhwVGFibGU7CiAgICAgICAgIGNvbnN0IEhhc2hUYWJsZSog
cmVnRXhwQ29uc3RydWN0b3JUYWJsZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDE0NjAwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIwMiw2ICsyMjAy
LDE2IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG8KICAgICB9CiB9
CiAKK3ZvaWQgSlNPYmplY3Q6OnB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhl
YywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUHJvcGVydHlOYW1lJiBwcm9w
ZXJ0eU5hbWUsIHVuc2lnbmVkIGZ1bmN0aW9uTGVuZ3RoLCBOYXRpdmVGdW5jdGlvbiBuYXRpdmVG
dW5jdGlvbiwgSW50cmluc2ljIGludHJpbnNpYywgdW5zaWduZWQgYXR0cmlidXRlcykKK3sKKyAg
ICBTdHJpbmdJbXBsKiBuYW1lID0gcHJvcGVydHlOYW1lLnB1YmxpY05hbWUoKTsKKyAgICBBU1NF
UlQobmFtZSk7CisgICAgCisgICAgSlNGdW5jdGlvbiogZnVuY3Rpb24gPQorICAgICAgICBKU0Z1
bmN0aW9uOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0LCBmdW5jdGlvbkxlbmd0aCwgbmFtZSwg
bmF0aXZlRnVuY3Rpb24sIGludHJpbnNpYyk7CisgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgcHJvcGVydHlOYW1lLCBmdW5jdGlvbiwgYXR0cmlidXRlcyk7Cit9CisKIEFMV0FZU19J
TkxJTkUgdW5zaWduZWQgSlNPYmplY3Q6OmdldE5ld1ZlY3Rvckxlbmd0aCh1bnNpZ25lZCBjdXJy
ZW50VmVjdG9yTGVuZ3RoLCB1bnNpZ25lZCBjdXJyZW50TGVuZ3RoLCB1bnNpZ25lZCBkZXNpcmVk
TGVuZ3RoKQogewogICAgIEFTU0VSVChkZXNpcmVkTGVuZ3RoIDw9IE1BWF9TVE9SQUdFX1ZFQ1RP
Ul9MRU5HVEgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
CShyZXZpc2lvbiAxNDYwMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NjUsNiArNTY1LDggQEAgcHVibGljOgogICAgIHZv
aWQgcHV0RGlyZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0LCBKU1ZhbHVlIHZhbHVlKSB7IGxvY2F0aW9uRm9yT2Zmc2V0KG9mZnNldCktPnNldChnbG9i
YWxEYXRhLCB0aGlzLCB2YWx1ZSk7IH0KICAgICB2b2lkIHB1dERpcmVjdFVuZGVmaW5lZChQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQpIHsgbG9jYXRpb25Gb3JPZmZzZXQob2Zmc2V0KS0+c2V0VW5kZWZp
bmVkKCk7IH0KIAorICAgIHZvaWQgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb24oRXhlY1N0YXRlKiwg
SlNHbG9iYWxPYmplY3QqLCBjb25zdCBQcm9wZXJ0eU5hbWUmLCB1bnNpZ25lZCBmdW5jdGlvbkxl
bmd0aCwgTmF0aXZlRnVuY3Rpb24sIEludHJpbnNpYywgdW5zaWduZWQgYXR0cmlidXRlcyk7CisK
ICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWZpbmVPd25Qcm9wZXJ0eShKU09i
amVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9v
bCBzaG91bGRUaHJvdyk7CiAKICAgICBib29sIGlzR2xvYmFsT2JqZWN0KCkgY29uc3Q7CkBAIC0x
NDQ5LDYgKzE0NTEsMTQgQEAgaW5saW5lIGludCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShQcm9wZXJ0
eQogCiBDT01QSUxFX0FTU0VSVCghKHNpemVvZihKU09iamVjdCkgJSBzaXplb2YoV3JpdGVCYXJy
aWVyQmFzZTxVbmtub3duPikpLCBKU09iamVjdF9pbmxpbmVfc3RvcmFnZV9oYXNfY29ycmVjdF9h
bGlnbm1lbnQpOwogCisvLyBIZWxwZXIgZm9yIGRlZmluaW5nIG5hdGl2ZSBmdW5jdGlvbnMsIGlm
IHlvdSdyZSBub3QgdXNpbmcgYSBzdGF0aWMgaGFzaCB0YWJsZS4KKy8vIFVzZSB0aGlzIG1hY3Jv
IGZyb20gd2l0aGluIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kcyBpbiBwcm90b3R5cGVzLiBUaGlz
IGFzc3VtZXMKKy8vIHlvdSd2ZSBkZWZpbmVkIHZhcmlhYmxlcyBjYWxsZWQgZXhlYywgZ2xvYmFs
T2JqZWN0LCBhbmQgZ2xvYmFsRGF0YSwgYW5kIHRoZXkKKy8vIGhhdmUgdGhlIGV4cGVjdGVkIG1l
YW5pbmdzLiBUaGlzIGFsc28gYXNzdW1lcyB0aGF0IHRoZSBmdW5jdGlvbiB5b3UncmUgZGVmaW5p
bmcKKy8vIGRvZXNuJ3QgaGF2ZSBhbiBpbnRyaW5zaWMuCisjZGVmaW5lIEpTQ19OQVRJVkVfRlVO
Q1RJT04oanNOYW1lLCBjcHBOYW1lLCBhdHRyaWJ1dGVzLCBsZW5ndGgpIFwKKyAgICBwdXREaXJl
Y3ROYXRpdmVGdW5jdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIGdsb2JhbERhdGEucHJvcGVydHlO
YW1lcy0+anNOYW1lLCAobGVuZ3RoKSwgY3BwTmFtZSwgTm9JbnRyaW5zaWMsIChhdHRyaWJ1dGVz
KSkKKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBKU09iamVjdF9oCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5jcHAJKHJldmlzaW9uIDE0NjAwNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTc3LDExICs3Nyw5IEBAIGJvb2wgc2V0VXBTdGF0aWNGdW5jdGlvblNsb3QoRXhlY1N0
YXRlKiAKICAgICAgICAgaWYgKHRoaXNPYmotPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKLSAgICAgICAgU3RyaW5nSW1wbCogbmFtZSA9
IHByb3BlcnR5TmFtZS5wdWJsaWNOYW1lKCk7Ci0gICAgICAgIEFTU0VSVChuYW1lKTsKLSAgICAg
ICAgCi0gICAgICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0gSlNGdW5jdGlvbjo6Y3JlYXRlKGV4
ZWMsIHRoaXNPYmotPmdsb2JhbE9iamVjdCgpLCBlbnRyeS0+ZnVuY3Rpb25MZW5ndGgoKSwgbmFt
ZSwgZW50cnktPmZ1bmN0aW9uKCksIGVudHJ5LT5pbnRyaW5zaWMoKSk7Ci0gICAgICAgIHRoaXNP
YmotPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSwgZnVuY3Rpb24s
IGVudHJ5LT5hdHRyaWJ1dGVzKCkpOworICAgICAgICB0aGlzT2JqLT5wdXREaXJlY3ROYXRpdmVG
dW5jdGlvbigKKyAgICAgICAgICAgIGV4ZWMsIHRoaXNPYmotPmdsb2JhbE9iamVjdCgpLCBwcm9w
ZXJ0eU5hbWUsIGVudHJ5LT5mdW5jdGlvbkxlbmd0aCgpLAorICAgICAgICAgICAgZW50cnktPmZ1
bmN0aW9uKCksIGVudHJ5LT5pbnRyaW5zaWMoKSwgZW50cnktPmF0dHJpYnV0ZXMoKSk7CiAgICAg
ICAgIG9mZnNldCA9IHRoaXNPYmotPmdldERpcmVjdE9mZnNldChleGVjLT5nbG9iYWxEYXRhKCks
IHByb3BlcnR5TmFtZSk7CiAgICAgICAgIEFTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwog
ICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlw
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTQ2MDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNTEgKzQw
LDQwIEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamUKIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvRnVuY1Byb3BlcnR5SXNFbnVt
ZXJhYmxlKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
b2JqZWN0UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcoRXhlY1N0YXRlKik7CiAKLX0KLQotI2luY2x1
ZGUgIk9iamVjdFByb3RvdHlwZS5sdXQuaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci0KIEFTU0VSVF9I
QVNfVFJJVklBTF9ERVNUUlVDVE9SKE9iamVjdFByb3RvdHlwZSk7CiAKLWNvbnN0IENsYXNzSW5m
byBPYmplY3RQcm90b3R5cGU6OnNfaW5mbyA9IHsgIk9iamVjdCIsICZKU05vbkZpbmFsT2JqZWN0
OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6b2JqZWN0UHJvdG90eXBlVGFibGUsIENSRUFURV9NRVRI
T0RfVEFCTEUoT2JqZWN0UHJvdG90eXBlKSB9OwotCi0vKiBTb3VyY2UgZm9yIE9iamVjdFByb3Rv
dHlwZS5sdXQuaAotQGJlZ2luIG9iamVjdFByb3RvdHlwZVRhYmxlCi0gIHRvU3RyaW5nICAgICAg
ICAgICAgICBvYmplY3RQcm90b0Z1bmNUb1N0cmluZyAgICAgICAgICAgICAgICAgRG9udEVudW18
RnVuY3Rpb24gMAotICB0b0xvY2FsZVN0cmluZyAgICAgICAgb2JqZWN0UHJvdG9GdW5jVG9Mb2Nh
bGVTdHJpbmcgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDAKLSAgdmFsdWVPZiAgICAgICAg
ICAgICAgIG9iamVjdFByb3RvRnVuY1ZhbHVlT2YgICAgICAgICAgICAgICAgICBEb250RW51bXxG
dW5jdGlvbiAwCi0gIGhhc093blByb3BlcnR5ICAgICAgICBvYmplY3RQcm90b0Z1bmNIYXNPd25Q
cm9wZXJ0eSAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gMQotICBwcm9wZXJ0eUlzRW51bWVy
YWJsZSAgb2JqZWN0UHJvdG9GdW5jUHJvcGVydHlJc0VudW1lcmFibGUgICAgIERvbnRFbnVtfEZ1
bmN0aW9uIDEKLSAgaXNQcm90b3R5cGVPZiAgICAgICAgIG9iamVjdFByb3RvRnVuY0lzUHJvdG90
eXBlT2YgICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAxCi0gIF9fZGVmaW5lR2V0dGVyX18g
ICAgICBvYmplY3RQcm90b0Z1bmNEZWZpbmVHZXR0ZXIgICAgICAgICAgICAgRG9udEVudW18RnVu
Y3Rpb24gMgotICBfX2RlZmluZVNldHRlcl9fICAgICAgb2JqZWN0UHJvdG9GdW5jRGVmaW5lU2V0
dGVyICAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDIKLSAgX19sb29rdXBHZXR0ZXJfXyAg
ICAgIG9iamVjdFByb3RvRnVuY0xvb2t1cEdldHRlciAgICAgICAgICAgICBEb250RW51bXxGdW5j
dGlvbiAxCi0gIF9fbG9va3VwU2V0dGVyX18gICAgICBvYmplY3RQcm90b0Z1bmNMb29rdXBTZXR0
ZXIgICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gMQotQGVuZAotKi8KK2NvbnN0IENsYXNz
SW5mbyBPYmplY3RQcm90b3R5cGU6OnNfaW5mbyA9IHsgIk9iamVjdCIsICZKU05vbkZpbmFsT2Jq
ZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoT2JqZWN0UHJvdG90eXBlKSB9
OwogCiBPYmplY3RQcm90b3R5cGU6Ok9iamVjdFByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZSogc3R1Y3R1cmUpCiAgICAgOiBKU05vbkZpbmFsT2JqZWN0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgc3R1Y3R1cmUpCiB7CiB9CiAKLXZvaWQgT2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVh
dGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KikKK3ZvaWQgT2Jq
ZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7CisgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gZXhl
Yy0+Z2xvYmFsRGF0YSgpOworICAgIAogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERh
dGEpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAgICAgZ2xvYmFsRGF0YS5wcm90
b3R5cGVNYXAuYWRkUHJvdG90eXBlKHRoaXMpOwotfQotCi1ib29sIE9iamVjdFByb3RvdHlwZTo6
Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCi17Ci0gICAgcmV0dXJuIGdl
dFN0YXRpY0Z1bmN0aW9uU2xvdDxKU05vbkZpbmFsT2JqZWN0PihleGVjLCBFeGVjU3RhdGU6Om9i
amVjdFByb3RvdHlwZVRhYmxlKGV4ZWMpLCBqc0Nhc3Q8T2JqZWN0UHJvdG90eXBlKj4oY2VsbCks
IHByb3BlcnR5TmFtZSwgc2xvdCk7Ci19Ci0KLWJvb2wgT2JqZWN0UHJvdG90eXBlOjpnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCi17
Ci0gICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uRGVzY3JpcHRvcjxKU05vbkZpbmFsT2JqZWN0
PihleGVjLCBFeGVjU3RhdGU6Om9iamVjdFByb3RvdHlwZVRhYmxlKGV4ZWMpLCBqc0Nhc3Q8T2Jq
ZWN0UHJvdG90eXBlKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yKTsKKyAgICAK
KyAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKHRvU3RyaW5nLCBvYmplY3RQcm90b0Z1bmNUb1N0cmlu
ZywgRG9udEVudW0sIDApOworICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04odG9Mb2NhbGVTdHJpbmcs
IG9iamVjdFByb3RvRnVuY1RvTG9jYWxlU3RyaW5nLCBEb250RW51bSwgMCk7CisgICAgSlNDX05B
VElWRV9GVU5DVElPTih2YWx1ZU9mLCBvYmplY3RQcm90b0Z1bmNWYWx1ZU9mLCBEb250RW51bSwg
MCk7CisgICAgSlNDX05BVElWRV9GVU5DVElPTihoYXNPd25Qcm9wZXJ0eSwgb2JqZWN0UHJvdG9G
dW5jSGFzT3duUHJvcGVydHksIERvbnRFbnVtLCAxKTsKKyAgICBKU0NfTkFUSVZFX0ZVTkNUSU9O
KHByb3BlcnR5SXNFbnVtZXJhYmxlLCBvYmplY3RQcm90b0Z1bmNQcm9wZXJ0eUlzRW51bWVyYWJs
ZSwgRG9udEVudW0sIDEpOworICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04oaXNQcm90b3R5cGVPZiwg
b2JqZWN0UHJvdG9GdW5jSXNQcm90b3R5cGVPZiwgRG9udEVudW0sIDEpOworICAgIEpTQ19OQVRJ
VkVfRlVOQ1RJT04oX19kZWZpbmVHZXR0ZXJfXywgb2JqZWN0UHJvdG9GdW5jRGVmaW5lR2V0dGVy
LCBEb250RW51bSwgMik7CisgICAgSlNDX05BVElWRV9GVU5DVElPTihfX2RlZmluZVNldHRlcl9f
LCBvYmplY3RQcm90b0Z1bmNEZWZpbmVTZXR0ZXIsIERvbnRFbnVtLCAyKTsKKyAgICBKU0NfTkFU
SVZFX0ZVTkNUSU9OKF9fbG9va3VwR2V0dGVyX18sIG9iamVjdFByb3RvRnVuY0xvb2t1cEdldHRl
ciwgRG9udEVudW0sIDEpOworICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04oX19sb29rdXBTZXR0ZXJf
Xywgb2JqZWN0UHJvdG9GdW5jTG9va3VwU2V0dGVyLCBEb250RW51bSwgMSk7Cit9CisKK09iamVj
dFByb3RvdHlwZSogT2JqZWN0UHJvdG90eXBlOjpjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBP
YmplY3RQcm90b3R5cGUqIHByb3RvdHlwZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE9i
amVjdFByb3RvdHlwZT4oKmV4ZWMtPmhlYXAoKSkpIE9iamVjdFByb3RvdHlwZShleGVjLCBzdHJ1
Y3R1cmUpOworICAgIHByb3RvdHlwZS0+ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0
KTsKKyAgICByZXR1cm4gcHJvdG90eXBlOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gRnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuaAko
cmV2aXNpb24gMTQ2MDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
UHJvdG90eXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEyICsyOSw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7
CiAKLSAgICAgICAgc3RhdGljIE9iamVjdFByb3RvdHlwZSogY3JlYXRlKEV4ZWNTdGF0ZSogZXhl
YywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIE9iamVjdFByb3RvdHlwZSogcHJvdG90eXBlID0gbmV3IChO
b3ROdWxsLCBhbGxvY2F0ZUNlbGw8T2JqZWN0UHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkgT2Jq
ZWN0UHJvdG90eXBlKGV4ZWMsIHN0cnVjdHVyZSk7Ci0gICAgICAgICAgICBwcm90b3R5cGUtPmZp
bmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAg
ICAgIHJldHVybiBwcm90b3R5cGU7Ci0gICAgICAgIH0KKyAgICAgICAgc3RhdGljIE9iamVjdFBy
b3RvdHlwZSogY3JlYXRlKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7
CiAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAKQEAgLTQ0LDE0ICsz
OSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgotICAg
ICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRP
d25Qcm9wZXJ0eVNsb3QgfCBKU05vbkZpbmFsT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKLQotICAg
ICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIEpTR2xvYmFsT2JqZWN0Kik7
CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3Qq
KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIE9iamVjdFByb3RvdHlwZShFeGVjU3RhdGUqLCBT
dHJ1Y3R1cmUqKTsKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2Vs
bCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7Ci0gICAgICAgIHN0
YXRpYyBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09iamVjdCosIEV4ZWNTdGF0ZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAgICAgfTsKIAogICAgIEpTX0VY
UE9SVF9QUklWQVRFIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5j
VG9TdHJpbmcoRXhlY1N0YXRlKik7Cg==
</data>
<flag name="review"
          id="215074"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>