<?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>69311</bug_id>
          
          <creation_ts>2011-10-03 18:03:26 -0700</creation_ts>
          <short_desc>Add static ClassInfo structs to classes that override JSCell::getCallData</short_desc>
          <delta_ts>2011-10-04 19:46:46 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>69368</dependson>
          <blocked>67690</blocked>
    
    <blocked>69186</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>477385</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-03 18:03:26 -0700</bug_when>
    <thetext>In order for the dynamic lookup on the method table to work properly, every class that implements its own version of the function in question (in this case, getCallData) needs to provide its own static ClassInfo structure, otherwise the wrong method will be called (the next parent in the class hierarchy that defines its own ClassInfo).  We therefore need to add new structures to those classes that override getCallData but don&apos;t yet have them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477398</commentid>
    <comment_count>1</comment_count>
      <attachid>109567</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-03 18:45:53 -0700</bug_when>
    <thetext>Created attachment 109567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477643</commentid>
    <comment_count>2</comment_count>
      <attachid>109567</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-04 09:28:50 -0700</bug_when>
    <thetext>Comment on attachment 109567
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        Added ClassInfo structs to each class that defined its own getCallData 
&gt; +        function but did not already have its own ClassInfo struct.  This is a 

Are these structs used yet, or is that a task for a separate patch?

&gt; Source/JavaScriptCore/runtime/Error.cpp:207
&gt; +    virtual CallType getCallDataVirtual(CallData&amp; callData)
&gt;      {
&gt;          return getCallData(this, callData);
&gt;      }

Typically we don’t want virtual functions to also have inline function definitions. Not new in this patch and probably not a problem since we’ll be deleting this soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477761</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-04 11:07:42 -0700</bug_when>
    <thetext>&gt; Are these structs used yet, or is that a task for a separate patch?

These structs are not yet used, but they are a preliminary step for bug 69186 to make it easier to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477838</commentid>
    <comment_count>4</comment_count>
      <attachid>109567</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 12:21:07 -0700</bug_when>
    <thetext>Comment on attachment 109567
Patch

Clearing flags on attachment: 109567

Committed r96630: &lt;http://trac.webkit.org/changeset/96630&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477839</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 12:21:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477890</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-04 13:41:02 -0700</bug_when>
    <thetext>Reopening because the patch caused assertion failures in validateCell due to fact that not all of the new ClassInfo structs are being used in their associated Structures due to a lack of createStructure methods in these classes.  Rolled out and will resubmit with fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477992</commentid>
    <comment_count>7</comment_count>
      <attachid>109701</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-04 15:11:04 -0700</bug_when>
    <thetext>Created attachment 109701
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478113</commentid>
    <comment_count>8</comment_count>
      <attachid>109701</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 19:18:55 -0700</bug_when>
    <thetext>Comment on attachment 109701
Patch

Rejecting attachment 109701 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
d29926bb419ebfc3b2635e2e00063b7421874f88
r96672 = b07c6f5e8ee25b998824c8fae4991c8b2df68c6c
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
Updating chromium port dependencies using gclient...

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/9944597</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478125</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-04 19:46:46 -0700</bug_when>
    <thetext>Committed r96674: &lt;http://trac.webkit.org/changeset/96674&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109567</attachid>
            <date>2011-10-03 18:45:53 -0700</date>
            <delta_ts>2011-10-04 15:11:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69311-20111003184558.patch</filename>
            <type>text/plain</type>
            <size>11851</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY1MjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYw
ZDMyYTM5Mzc1MzJmMmIxNjYxNWRlMDljMmQyNTM1OWVjMzA3ZjIuLjFkOWI5YmNjMmMwYjdhYzU2
Mzk2MGU5Nzk1MGZiMjZjMGJkOTYzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMyIEBACisyMDExLTEwLTAzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0YXRpYyBDbGFzc0luZm8gc3RydWN0cyB0byBjbGFzc2Vz
IHRoYXQgb3ZlcnJpZGUgSlNDZWxsOjpnZXRDYWxsRGF0YQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBDbGFzc0luZm8gc3RydWN0cyB0byBlYWNo
IGNsYXNzIHRoYXQgZGVmaW5lZCBpdHMgb3duIGdldENhbGxEYXRhIAorICAgICAgICBmdW5jdGlv
biBidXQgZGlkIG5vdCBhbHJlYWR5IGhhdmUgaXRzIG93biBDbGFzc0luZm8gc3RydWN0LiAgVGhp
cyBpcyBhIAorICAgICAgICBuZWNlc3NhcnkgYWRkaXRpb24gZm9yIHdoZW4gd2Ugc3dpdGNoIG92
ZXIgdG8gbG9va2luZyB1cCBnZXRDYWxsRGF0YSBmcm9tIAorICAgICAgICB0aGUgTWV0aG9kVGFi
bGUgaW4gQ2xhc3NJbmZvIHJhdGhlciB0aGFuIGRvaW5nIHRoZSB2aXJ0dWFsIGNhbGwgKHdoaWNo
IHdlIAorICAgICAgICBhcmUgcmVtb3ZpbmcpLiAgVGhlc2UgbmV3IENsYXNzSW5mbyBzdHJ1Y3Rz
IGFyZSBwdWJsaWMgYmVjYXVzZSB3ZSBvZnRlbiAKKyAgICAgICAgdXNlIHRoZXNlIHN0cnVjdHMg
aW4gb3RoZXIgYXJlYXMgb2YgdGhlIGNvZGUgdG8gdW5pcXVlbHkgaWRlbnRpZnkgSlNDIGNsYXNz
ZXMgYW5kIAorICAgICAgICB0byBlbmZvcmNlIHJ1bnRpbWUgaW52YXJpYW50cyBiYXNlZCBvbiB0
aG9zZSBjbGFzcyBpZGVudGl0aWVzIHVzaW5nIEFTU0VSVHMuCisKKyAgICAgICAgKiBydW50aW1l
L0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3Ry
dWN0b3IuaDoKKworICAgICAgICBnZXRDYWxsRGF0YSB3YXMgbm90IG1hcmtlZCBhcyBzdGF0aWMg
aXMgU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uLiAgCisgICAgICAgICogcnVudGltZS9FcnJv
ci5jcHA6CisgICAgICAgIChKU0M6OlN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbjo6Z2V0Q2Fs
bERhdGFWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6U3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9u
OjpnZXRDYWxsRGF0YSk6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Db25z
dHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaDoKKwogMjAxMS0xMC0wMyAgQ2FybG9z
IEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gRml4
IG1ha2UgZGlzdGNoZWNrIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAppbmRleCBjOThjOThlZmUxMDBiNDQzYjY1ZDY0
YjQ3NWI2ZWRlMzE1YzE4ZDYzLi43Y2JkZWIzNjhlNmU3ZmUyNjc3YWRlYzBlNmNmNTEwZWYzMjYx
MTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5jcHAKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIEFTU0VS
VF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhbkNvbnN0cnVjdG9yKTsKIAorY29uc3QgQ2xhc3NJ
bmZvIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19p
bmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEJvb2xlYW5Db25zdHJ1Y3RvcikgfTsKKwog
Qm9vbGVhbkNvbnN0cnVjdG9yOjpCb29sZWFuQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBJbnRlcm5hbEZ1bmN0aW9u
KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAppbmRleCAwMzk1ZjgyNjdlODY1M2QwYTgx
ODMxZDhhMDQzYjQ3ZDM0Y2IyZjRlLi5jNWQ1YWM1ODhiNzBjM2NiZDkyZDM1OWNiM2RlNjYzYWE5
OGQxNDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFu
Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFu
Q29uc3RydWN0b3IuaApAQCAtMzgsNiArMzgsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
ICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBjb25z
dCBDbGFzc0luZm8gc19pbmZvOworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSosIEJvb2xlYW5Qcm90b3R5cGUqKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCmluZGV4IDE5ZDkyMTZjNjFkNWM0N2YyOGRjNGI4YjRk
ZWQ5MTYyZTRjM2Q5NzUuLjRiMmU3NmI1YjBkNzIyNGU1ZjIzOWQ3ZGZkZDRmNDFjNDY5NzYxYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKQEAgLTIwMSwyMyArMjAx
LDI3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bGwoKSk7
CiAgICAgfQogCi0gICAgQ2FsbFR5cGUgZ2V0Q2FsbERhdGFWaXJ0dWFsKENhbGxEYXRhJiBjYWxs
RGF0YSkKKyAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhVmlydHVhbChDYWxsRGF0YSYg
Y2FsbERhdGEpCiAgICAgewogICAgICAgICByZXR1cm4gZ2V0Q2FsbERhdGEodGhpcywgY2FsbERh
dGEpOwogICAgIH0KIAotICAgIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRh
JiBjYWxsRGF0YSkKKyAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2Fs
bERhdGEmIGNhbGxEYXRhKQogICAgIHsKICAgICAgICAgY2FsbERhdGEubmF0aXZlLmZ1bmN0aW9u
ID0gY2FsbFRocm93VHlwZUVycm9yOwogICAgICAgICByZXR1cm4gQ2FsbFR5cGVIb3N0OwogICAg
IH0KIAorICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOworCiBwcml2YXRlOgogICAg
IFVTdHJpbmcgbV9tZXNzYWdlOwogfTsKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChTdHJp
Y3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOwogCitjb25zdCBDbGFzc0luZm8gU3RyaWN0TW9kZVR5
cGVFcnJvckZ1bmN0aW9uOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAs
IDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uKSB9Owor
CiBKU1ZhbHVlIGNyZWF0ZVR5cGVFcnJvckZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
VVN0cmluZyYgbWVzc2FnZSkKIHsKICAgICByZXR1cm4gU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0
aW9uOjpjcmVhdGUoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCktPmludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUoKSwgbWVzc2FnZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3Iu
Y3BwCmluZGV4IGEwNWNkNTI2ZDhiNDY3OGVmMzY0NGVhZmQwMDA3MGYwMzA5ZDgxYjAuLjdhMDAy
YmExMzM3YjAyZmE5YzMzMDMzMWFkZWQwMzQ5MDJhOGE1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC0yOSw2ICsyOSw4
IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEVycm9yQ29u
c3RydWN0b3IpOwogCitjb25zdCBDbGFzc0luZm8gRXJyb3JDb25zdHJ1Y3Rvcjo6c19pbmZvID0g
eyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVy
cm9yQ29uc3RydWN0b3IpIH07CisKIEVycm9yQ29uc3RydWN0b3I6OkVycm9yQ29uc3RydWN0b3Io
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAg
OiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IDI0ZmMx
OThiMmNmZTFlMGQ3ZGUzNGY1NWNiZjk5MjI4NDRjYzM2YTguLjA0NDIyNjVlZTY4YjczNTI2MTAy
OGU0NDNiODJiODU1M2EyMmI2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvckNvbnN0cnVjdG9yLmgKQEAgLTM5LDYgKzM5LDggQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgICAgIH0KIAorICAgICAgICBz
dGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKKwogICAgIHByb3RlY3RlZDoKICAgICAgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBFcnJvclByb3RvdHlwZSopOwogICAgICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25z
dHJ1Y3Rvci5jcHAKaW5kZXggZjY5MTMwMGM5NTJjMTBjYzFiMjgwYWRkODdiYjQ4YWZmMjRjYzc4
Yy4uNzY3ODIyNDY2ZmE3MTQ5MmQ3Nzk3MTg5MTc0MGJiNzU4MjJlNzJjMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAK
QEAgLTM3LDYgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lO
X0NFTEwoRnVuY3Rpb25Db25zdHJ1Y3Rvcik7CiAKK2NvbnN0IENsYXNzSW5mbyBGdW5jdGlvbkNv
bnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoRnVuY3Rpb25Db25zdHJ1Y3RvcikgfTsKKwogRnVuY3Rpb25Db25z
dHJ1Y3Rvcjo6RnVuY3Rpb25Db25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2Jq
ZWN0LCBzdHJ1Y3R1cmUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmgKaW5kZXggNjhmMDU3ZTczNmZhZmM5MGRkODE2MTcwMTE5
ODU0M2NlM2YwNjNhYi4uMDk2ODRlZTkxNzg2NzE3ZjE1MGY2MDg5ZWVmZmM4MWVlYjBmOTE3MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3Ry
dWN0b3IuaApAQCAtMzgsNiArMzgsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJl
dHVybiBjb25zdHJ1Y3RvcjsKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBjb25zdCBDbGFz
c0luZm8gc19pbmZvOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25Db25zdHJ1Y3Rv
cihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEV4ZWNTdGF0ZSosIEZ1bmN0aW9uUHJvdG90eXBlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKaW5kZXggYWIyZDhjNTQ1
YTkwODFmY2FmMzI3YWExN2ZiM2M5MjllMjYwZGE1My4uZmNmMjBlMWRiZmQyZDlmNDQ4Y2RiOWRh
MDA0YmQxYjY4MjdiYzMxYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcApAQCAtMzksNiArMzksOCBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0FwcGx5KEV4ZWNTdGF0ZSop
Owogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Qcm90b0Z1bmND
YWxsKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVu
Y3Rpb25Qcm90b0Z1bmNCaW5kKEV4ZWNTdGF0ZSopOwogCitjb25zdCBDbGFzc0luZm8gRnVuY3Rp
b25Qcm90b3R5cGU6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShGdW5jdGlvblByb3RvdHlwZSkgfTsKKwogRnVuY3Rpb25Qcm90
b3R5cGU6OkZ1bmN0aW9uUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5oCmluZGV4IDgyZmZmMDU4NmNmNDAyMDNlNmUyNTEyNzY4ZGFlYmVkZGY3
YzE0NmEuLjdjMTk2MzIyMmZlZDAwMmQwNjFiMTMwYWI2NTkwMzBmMGU3NTMyMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaApAQCAt
NDMsNiArNDMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOwogICAgICAgICB9CiAKKyAgICAgICAg
c3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA3ZjNjYjFkNDY1MWRhYThkODBkODI5MmUyMDU4MmRmZWQ0ODFiOTdk
Li5iNWI1NzFiMzY1MDdmMzk2Nzc2NTIyYjQ0ZWEyMjE3NTFlMGQwZDdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTEtMTAtMDMgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJn
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3RhdGljIENsYXNzSW5mbyBzdHJ1Y3RzIHRvIGNs
YXNzZXMgdGhhdCBvdmVycmlkZSBKU0NlbGw6OmdldENhbGxEYXRhCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMxMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICBB
ZGRlZCBDbGFzc0luZm8gc3RydWN0cyB0byBlYWNoIGNsYXNzIHRoYXQgZGVmaW5lZCBpdHMgb3du
IGdldENhbGxEYXRhIAorICAgICAgICBmdW5jdGlvbiBidXQgZGlkIG5vdCBhbHJlYWR5IGhhdmUg
aXRzIG93biBDbGFzc0luZm8gc3RydWN0LiAgVGhpcyBpcyBhIAorICAgICAgICBuZWNlc3Nhcnkg
YWRkaXRpb24gZm9yIHdoZW4gd2Ugc3dpdGNoIG92ZXIgdG8gbG9va2luZyB1cCBnZXRDYWxsRGF0
YSBmcm9tIAorICAgICAgICB0aGUgTWV0aG9kVGFibGUgaW4gQ2xhc3NJbmZvIHJhdGhlciB0aGFu
IGRvaW5nIHRoZSB2aXJ0dWFsIGNhbGwgKHdoaWNoIHdlIAorICAgICAgICBhcmUgcmVtb3Zpbmcp
LiAgVGhlc2UgbmV3IENsYXNzSW5mbyBzdHJ1Y3RzIGFyZSBwdWJsaWMgYmVjYXVzZSB3ZSBvZnRl
biAKKyAgICAgICAgdXNlIHRoZXNlIHN0cnVjdHMgaW4gb3RoZXIgYXJlYXMgb2YgdGhlIGNvZGUg
dG8gdW5pcXVlbHkgaWRlbnRpZnkgSlNDIGNsYXNzZXMgYW5kIAorICAgICAgICB0byBlbmZvcmNl
IHJ1bnRpbWUgaW52YXJpYW50cyBiYXNlZCBvbiB0aG9zZSBjbGFzcyBpZGVudGl0aWVzIHVzaW5n
IEFTU0VSVHMuCisKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5jcHA6CisgICAgICAg
ICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuaDoKKwogMjAxMS0xMC0wMyAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBjbGljayBwb2ludCBmb3IgQVhI
ZWFkaW5ncyBvZnRlbiByZXR1cm5zIHBvaW50IG9uIGVtcHR5IHNwYWNlIChyZXN1bHRzIGluIHdy
b25nIGNvbnRleHQgbWVudSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9x
dF9ydW50aW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcApp
bmRleCA1NTU3YjEzNjgyNWYwNTNlMzY3NjI2MDQ1YWMzNmNjOGFhODhjMmQ0Li5kOTY1ZTk0ZTNk
MzE0ZWY4Nzg0YzBhZjlhOTJhM2I1OWRhOTFmNjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0
L3F0X3J1bnRpbWUuY3BwCkBAIC0xNDI1LDYgKzE0MjUsOCBAQCBzdGF0aWMgaW50IGZpbmRTaWdu
YWxJbmRleChjb25zdCBRTWV0YU9iamVjdCogbWV0YSwgaW50IGluaXRpYWxJbmRleCwgUUJ5dGVB
cnJheQogICAgIHJldHVybiBpbmRleDsKIH0KIAorY29uc3QgQ2xhc3NJbmZvIFF0UnVudGltZU1l
dGFNZXRob2Q6OnNfaW5mbyA9IHsgIlF0UnVudGltZU1ldGhvZCIsICZCYXNlOjpzX2luZm8sIDAs
IDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUXRSdW50aW1lTWV0YU1ldGhvZCkgfTsKKwogUXRSdW50
aW1lTWV0YU1ldGhvZDo6UXRSdW50aW1lTWV0YU1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogICAgIDogUXRS
dW50aW1lTWV0aG9kIChuZXcgUXRSdW50aW1lTWV0YU1ldGhvZERhdGEoKSwgZXhlYywgc3RydWN0
dXJlLCBpZGVudGlmaWVyKQogewpAQCAtMTU4MCw2ICsxNTgyLDggQEAgSlNWYWx1ZSBRdFJ1bnRp
bWVNZXRhTWV0aG9kOjpkaXNjb25uZWN0R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBz
bG90QmFzZSwKIAogUU11bHRpTWFwPFFPYmplY3QqLCBRdENvbm5lY3Rpb25PYmplY3QqPiBRdFJ1
bnRpbWVDb25uZWN0aW9uTWV0aG9kOjpjb25uZWN0aW9uczsKIAorY29uc3QgQ2xhc3NJbmZvIFF0
UnVudGltZUNvbm5lY3Rpb25NZXRob2Q6OnNfaW5mbyA9IHsgIlF0UnVudGltZU1ldGhvZCIsICZC
YXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUXRSdW50aW1lQ29ubmVjdGlv
bk1ldGhvZCkgfTsKKwogUXRSdW50aW1lQ29ubmVjdGlvbk1ldGhvZDo6UXRSdW50aW1lQ29ubmVj
dGlvbk1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudGlmaWVyKQogICAgIDogUXRSdW50aW1lTWV0aG9kIChuZXcgUXRSdW50
aW1lQ29ubmVjdGlvbk1ldGhvZERhdGEoKSwgZXhlYywgc3RydWN0dXJlLCBpZGVudGlmaWVyKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKaW5kZXggOWEyNzYyOWU2ZGZjYjVh
MDY5MzU4ZGFmMjg5YzNhYjkwMTViNDQwYy4uYWVjMTFjYTZkODE1YTIzOWVhYmUwNzg3NDZiMWQ5
YmI5YmMyZDE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRp
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCkBAIC0xNzAs
NiArMTcwLDggQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0Nl
bGwqLCBTbG90VmlzaXRvciYpOwogCisgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87
CisKIHByb3RlY3RlZDoKICAgICBRdFJ1bnRpbWVNZXRhTWV0aG9kRGF0YSogZF9mdW5jKCkgY29u
c3Qge3JldHVybiByZWludGVycHJldF9jYXN0PFF0UnVudGltZU1ldGFNZXRob2REYXRhKj4oZF9w
dHIpO30KIApAQCAtMjAxLDYgKzIwMyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSAqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlT
bG90Jik7CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAgICAgdmlydHVh
bCB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkm
LCBFbnVtZXJhdGlvbk1vZGUgbW9kZSA9IEV4Y2x1ZGVEb250RW51bVByb3BlcnRpZXMpOworIAor
ICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwogCiBwcm90ZWN0ZWQ6CiAgICAgUXRS
dW50aW1lQ29ubmVjdGlvbk1ldGhvZERhdGEqIGRfZnVuYygpIGNvbnN0IHtyZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxRdFJ1bnRpbWVDb25uZWN0aW9uTWV0aG9kRGF0YSo+KGRfcHRyKTt9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109701</attachid>
            <date>2011-10-04 15:11:04 -0700</date>
            <delta_ts>2011-10-04 19:18:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69311-20111004151103.patch</filename>
            <type>text/plain</type>
            <size>13482</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY2MzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGRk
OWIyYjMyNzE4NmZmYmY1YTFjMDNiMWYxZDAzNmI5OTliY2FmYTcuLmIzNGU4ZWRmYTZmMmE0YWJi
Nzc3MzU4OTY3Y2M3MzY3N2RkZTEzYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM5IEBACisyMDExLTEwLTA0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0YXRpYyBDbGFzc0luZm8gc3RydWN0cyB0byBjbGFzc2Vz
IHRoYXQgb3ZlcnJpZGUgSlNDZWxsOjpnZXRDYWxsRGF0YQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBDbGFzc0luZm8gc3RydWN0cyB0byBlYWNo
IGNsYXNzIHRoYXQgZGVmaW5lZCBpdHMgb3duIGdldENhbGxEYXRhIAorICAgICAgICBmdW5jdGlv
biBidXQgZGlkIG5vdCBhbHJlYWR5IGhhdmUgaXRzIG93biBDbGFzc0luZm8gc3RydWN0LiAgVGhp
cyBpcyBhIAorICAgICAgICBuZWNlc3NhcnkgYWRkaXRpb24gZm9yIHdoZW4gd2Ugc3dpdGNoIG92
ZXIgdG8gbG9va2luZyB1cCBnZXRDYWxsRGF0YSBmcm9tIAorICAgICAgICB0aGUgTWV0aG9kVGFi
bGUgaW4gQ2xhc3NJbmZvIHJhdGhlciB0aGFuIGRvaW5nIHRoZSB2aXJ0dWFsIGNhbGwgKHdoaWNo
IHdlIAorICAgICAgICBhcmUgcmVtb3ZpbmcpLiAgVGhlc2UgbmV3IENsYXNzSW5mbyBzdHJ1Y3Rz
IGFyZSBwdWJsaWMgYmVjYXVzZSB3ZSBvZnRlbiAKKyAgICAgICAgdXNlIHRoZXNlIHN0cnVjdHMg
aW4gb3RoZXIgYXJlYXMgb2YgdGhlIGNvZGUgdG8gdW5pcXVlbHkgaWRlbnRpZnkgSlNDIGNsYXNz
ZXMgYW5kIAorICAgICAgICB0byBlbmZvcmNlIHJ1bnRpbWUgaW52YXJpYW50cyBiYXNlZCBvbiB0
aG9zZSBjbGFzcyBpZGVudGl0aWVzIHVzaW5nIEFTU0VSVHMuCisgICAgICAgIEFsc28gYWRkZWQg
bmV3IGNyZWF0ZVN0cnVjdHVyZSBtZXRob2RzIHRvIHRob3NlIGNsYXNzZXMgdGhhdCBkaWRuJ3Qg
aGF2ZSAKKyAgICAgICAgdGhlbSBzbyB0aGF0IHRoZSBuZXcgQ2xhc3NJbmZvIHN0cnVjdHMgd291
bGQgYmUgdXNlZCB3aGVuIGNyZWF0aW5nIHRoZSBTdHJ1Y3R1cmVzIAorICAgICAgICBpbiB0aGVz
ZSBjbGFzc2VzLgorCisgICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgor
ICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkJv
b2xlYW5Db25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKToKKworICAgICAgICBnZXRDYWxsRGF0
YSB3YXMgbm90IG1hcmtlZCBhcyBzdGF0aWMgaW4gU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9u
LiAgCisgICAgICAgICogcnVudGltZS9FcnJvci5jcHA6CisgICAgICAgIChKU0M6OlN0cmljdE1v
ZGVUeXBlRXJyb3JGdW5jdGlvbjo6Z2V0Q2FsbERhdGFWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6
U3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uOjpnZXRDYWxsRGF0YSk6CisgICAgICAgIChKU0M6
OlN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAgICAg
KiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1
Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgICogcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkZ1bmN0
aW9uQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5jcHA6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5o
OgorCiAyMDExLTEwLTA0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTY2MzAuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAppbmRl
eCBjOThjOThlZmUxMDBiNDQzYjY1ZDY0YjQ3NWI2ZWRlMzE1YzE4ZDYzLi43Y2JkZWIzNjhlNmU3
ZmUyNjc3YWRlYzBlNmNmNTEwZWYzMjYxMTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKQEAgLTI4LDYgKzI4LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhbkNvbnN0
cnVjdG9yKTsKIAorY29uc3QgQ2xhc3NJbmZvIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6c19pbmZvID0g
eyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEJv
b2xlYW5Db25zdHJ1Y3RvcikgfTsKKwogQm9vbGVhbkNvbnN0cnVjdG9yOjpCb29sZWFuQ29uc3Ry
dWN0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaApp
bmRleCAwMzk1ZjgyNjdlODY1M2QwYTgxODMxZDhhMDQzYjQ3ZDM0Y2IyZjRlLi5hOTg5YzMwN2U3
ZjQ1Y2RmMGQ2M2U4NmVjOThlMjAwZjI0OTNjYmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaApAQCAtMzgsNiArMzgsMTMgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgICAg
IH0KIAorICAgICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKKworICAgICAgICBz
dGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkgCisgICAg
ICAgIHsgCisgICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwg
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZs
YWdzKSwgJnNfaW5mbyk7IAorICAgICAgICB9CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgQm9vbGVhblByb3RvdHlwZSopOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXggMTlkOTIxNmM2MWQ1YzQ3ZjI4
ZGM0YjhiNGRlZDkxNjJlNGMzZDk3NS4uMGVkNzA3NTg5M2QxNjI0YzUwZTNhNGQzZTc3ZTI4ODli
NWVhYjQyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcApAQCAtMjAx
LDIzICsyMDEsMzIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVsbCgpKTsKICAgICB9CiAKLSAgICBDYWxsVHlwZSBnZXRDYWxsRGF0YVZpcnR1YWwoQ2FsbERh
dGEmIGNhbGxEYXRhKQorICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGFWaXJ0dWFsKENh
bGxEYXRhJiBjYWxsRGF0YSkKICAgICB7CiAgICAgICAgIHJldHVybiBnZXRDYWxsRGF0YSh0aGlz
LCBjYWxsRGF0YSk7CiAgICAgfQogCi0gICAgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwg
Q2FsbERhdGEmIGNhbGxEYXRhKQorICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0Nl
bGwqLCBDYWxsRGF0YSYgY2FsbERhdGEpCiAgICAgewogICAgICAgICBjYWxsRGF0YS5uYXRpdmUu
ZnVuY3Rpb24gPSBjYWxsVGhyb3dUeXBlRXJyb3I7CiAgICAgICAgIHJldHVybiBDYWxsVHlwZUhv
c3Q7CiAgICAgfQogCisgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKKyAgICBz
dGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkgCisgICAg
eyAKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZz
X2luZm8pOyAKKyAgICB9CisKIHByaXZhdGU6CiAgICAgVVN0cmluZyBtX21lc3NhZ2U7CiB9Owog
CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbik7
CiAKK2NvbnN0IENsYXNzSW5mbyBTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb246OnNfaW5mbyA9
IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShT
dHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pIH07CisKIEpTVmFsdWUgY3JlYXRlVHlwZUVycm9y
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBVU3RyaW5nJiBtZXNzYWdlKQogewogICAg
IHJldHVybiBTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb246OmNyZWF0ZShleGVjLCBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+aW50ZXJu
YWxGdW5jdGlvblN0cnVjdHVyZSgpLCBtZXNzYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYTA1Y2Q1MjZkOGI0Njc4
ZWYzNjQ0ZWFmZDAwMDcwZjAzMDlkODFiMC4uN2EwMDJiYTEzMzdiMDJmYTljMzMwMzMxYWRlZDAz
NDkwMmE4YTVlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIEFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRXJyb3JDb25zdHJ1Y3Rvcik7CiAKK2NvbnN0IENsYXNz
SW5mbyBFcnJvckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2lu
Zm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRXJyb3JDb25zdHJ1Y3RvcikgfTsKKwogRXJy
b3JDb25zdHJ1Y3Rvcjo6RXJyb3JDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggMjRmYzE5OGIyY2ZlMWUwZDdkZTM0ZjU1Y2JmOTky
Mjg0NGNjMzZhOC4uYjdkODgxYjNjMjM3NGIyOTFmZmRjYWI5MzdjYmU3ZGQ2ODNiN2ZlNCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaApA
QCAtMzksNiArMzksMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gY29u
c3RydWN0b3I7CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNf
aW5mbzsKKworICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVl
IHByb3RvdHlwZSkgCisgICAgICAgIHsgCisgICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpj
cmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVj
dFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7IAorICAgICAgICB9CisKICAgICBwcm90
ZWN0ZWQ6CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgRXJyb3JQcm90
b3R5cGUqKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCmluZGV4IGY2OTEzMDBjOTUyYzEwY2MxYjI4MGFk
ZDg3YmI0OGFmZjI0Y2M3OGMuLjc2NzgyMjQ2NmZhNzE0OTJkNzc5NzE4OTE3NDBiYjc1ODIyZTcy
YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
Q29uc3RydWN0b3IuY3BwCkBAIC0zNyw2ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKEZ1bmN0aW9uQ29uc3RydWN0b3IpOwogCitjb25zdCBDbGFz
c0luZm8gRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6
c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEZ1bmN0aW9uQ29uc3RydWN0b3IpIH07
CisKIEZ1bmN0aW9uQ29uc3RydWN0b3I6OkZ1bmN0aW9uQ29uc3RydWN0b3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBJbnRlcm5hbEZ1
bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oCmluZGV4IDY4ZjA1N2U3MzZm
YWZjOTBkZDgxNjE3MDExOTg1NDNjZTNmMDYzYWIuLjIyYTYwMTZiNzg1M2JkMTY4MjllNjU1MTc2
N2RmMzEwYTA2OGVlODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmgKQEAgLTM4LDYgKzM4LDEzIEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgICAgICB9CiAKKyAgICAgICAg
c3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKKyAgICAgICAgc3RhdGljIFN0cnVjdHVy
ZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpIAorICAgICAgICB7IAorICAgICAg
ICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8p
OyAKKyAgICAgICAgfQorCiAgICAgcHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25Db25zdHJ1Y3Rv
cihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEV4ZWNTdGF0ZSosIEZ1bmN0aW9uUHJvdG90eXBlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKaW5kZXggYWIyZDhjNTQ1
YTkwODFmY2FmMzI3YWExN2ZiM2M5MjllMjYwZGE1My4uZmNmMjBlMWRiZmQyZDlmNDQ4Y2RiOWRh
MDA0YmQxYjY4MjdiYzMxYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcApAQCAtMzksNiArMzksOCBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0FwcGx5KEV4ZWNTdGF0ZSop
Owogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Qcm90b0Z1bmND
YWxsKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVu
Y3Rpb25Qcm90b0Z1bmNCaW5kKEV4ZWNTdGF0ZSopOwogCitjb25zdCBDbGFzc0luZm8gRnVuY3Rp
b25Qcm90b3R5cGU6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShGdW5jdGlvblByb3RvdHlwZSkgfTsKKwogRnVuY3Rpb25Qcm90
b3R5cGU6OkZ1bmN0aW9uUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5oCmluZGV4IDgyZmZmMDU4NmNmNDAyMDNlNmUyNTEyNzY4ZGFlYmVkZGY3
YzE0NmEuLjdjMTk2MzIyMmZlZDAwMmQwNjFiMTMwYWI2NTkwMzBmMGU3NTMyMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaApAQCAt
NDMsNiArNDMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOwogICAgICAgICB9CiAKKyAgICAgICAg
c3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBlYTdlYTRiNDk1NDBhZWNjNjM1OTExODNjOThiYTFkY2E2NjlkZDNh
Li5kMzA5MzRiMjkwMzNmMDFlOWE0OTQ2MzY3NDJmNWJmNmMxMjk4ZmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTEtMTAtMDQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJn
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3RhdGljIENsYXNzSW5mbyBzdHJ1Y3RzIHRvIGNs
YXNzZXMgdGhhdCBvdmVycmlkZSBKU0NlbGw6OmdldENhbGxEYXRhCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMxMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisg
ICAgICAgIEFkZGVkIENsYXNzSW5mbyBzdHJ1Y3RzIHRvIGVhY2ggY2xhc3MgdGhhdCBkZWZpbmVk
IGl0cyBvd24gZ2V0Q2FsbERhdGEgCisgICAgICAgIGZ1bmN0aW9uIGJ1dCBkaWQgbm90IGFscmVh
ZHkgaGF2ZSBpdHMgb3duIENsYXNzSW5mbyBzdHJ1Y3QuICBUaGlzIGlzIGEgCisgICAgICAgIG5l
Y2Vzc2FyeSBhZGRpdGlvbiBmb3Igd2hlbiB3ZSBzd2l0Y2ggb3ZlciB0byBsb29raW5nIHVwIGdl
dENhbGxEYXRhIGZyb20gCisgICAgICAgIHRoZSBNZXRob2RUYWJsZSBpbiBDbGFzc0luZm8gcmF0
aGVyIHRoYW4gZG9pbmcgdGhlIHZpcnR1YWwgY2FsbCAod2hpY2ggd2UgCisgICAgICAgIGFyZSBy
ZW1vdmluZykuICBUaGVzZSBuZXcgQ2xhc3NJbmZvIHN0cnVjdHMgYXJlIHB1YmxpYyBiZWNhdXNl
IHdlIG9mdGVuIAorICAgICAgICB1c2UgdGhlc2Ugc3RydWN0cyBpbiBvdGhlciBhcmVhcyBvZiB0
aGUgY29kZSB0byB1bmlxdWVseSBpZGVudGlmeSBKU0MgY2xhc3NlcyBhbmQgCisgICAgICAgIHRv
IGVuZm9yY2UgcnVudGltZSBpbnZhcmlhbnRzIGJhc2VkIG9uIHRob3NlIGNsYXNzIGlkZW50aXRp
ZXMgdXNpbmcgQVNTRVJUcy4KKyAgICAgICAgQWxzbyBhZGRlZCBuZXcgY3JlYXRlU3RydWN0dXJl
IG1ldGhvZHMgdG8gdGhvc2UgY2xhc3NlcyB0aGF0IGRpZG4ndCBoYXZlIAorICAgICAgICB0aGVt
IHNvIHRoYXQgdGhlIG5ldyBDbGFzc0luZm8gc3RydWN0cyB3b3VsZCBiZSB1c2VkIHdoZW4gY3Jl
YXRpbmcgdGhlIFN0cnVjdHVyZXMgCisgICAgICAgIGluIHRoZXNlIGNsYXNzZXMuCisKKyAgICAg
ICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5jcHA6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1
bnRpbWUuaDoKKwogMjAxMS0xMC0wNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk2NjMwLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCmluZGV4IDU1NTdiMTM2ODI1ZjA1M2Uz
Njc2MjYwNDVhYzM2Y2M4YWE4OGMyZDQuLmQ5NjVlOTRlM2QzMTRlZjg3ODRjMGFmOWE5MmEzYjU5
ZGE5MWY2MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKQEAgLTE0
MjUsNiArMTQyNSw4IEBAIHN0YXRpYyBpbnQgZmluZFNpZ25hbEluZGV4KGNvbnN0IFFNZXRhT2Jq
ZWN0KiBtZXRhLCBpbnQgaW5pdGlhbEluZGV4LCBRQnl0ZUFycmF5CiAgICAgcmV0dXJuIGluZGV4
OwogfQogCitjb25zdCBDbGFzc0luZm8gUXRSdW50aW1lTWV0YU1ldGhvZDo6c19pbmZvID0geyAi
UXRSdW50aW1lTWV0aG9kIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShRdFJ1bnRpbWVNZXRhTWV0aG9kKSB9OworCiBRdFJ1bnRpbWVNZXRhTWV0aG9kOjpRdFJ1bnRp
bWVNZXRhTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IElkZW50aWZpZXImIGlkZW50aWZpZXIpCiAgICAgOiBRdFJ1bnRpbWVNZXRob2QgKG5ldyBRdFJ1
bnRpbWVNZXRhTWV0aG9kRGF0YSgpLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50aWZpZXIpCiB7CkBA
IC0xNTgwLDYgKzE1ODIsOCBAQCBKU1ZhbHVlIFF0UnVudGltZU1ldGFNZXRob2Q6OmRpc2Nvbm5l
Y3RHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLAogCiBRTXVsdGlNYXA8
UU9iamVjdCosIFF0Q29ubmVjdGlvbk9iamVjdCo+IFF0UnVudGltZUNvbm5lY3Rpb25NZXRob2Q6
OmNvbm5lY3Rpb25zOwogCitjb25zdCBDbGFzc0luZm8gUXRSdW50aW1lQ29ubmVjdGlvbk1ldGhv
ZDo6c19pbmZvID0geyAiUXRSdW50aW1lTWV0aG9kIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShRdFJ1bnRpbWVDb25uZWN0aW9uTWV0aG9kKSB9OworCiBRdFJ1bnRp
bWVDb25uZWN0aW9uTWV0aG9kOjpRdFJ1bnRpbWVDb25uZWN0aW9uTWV0aG9kKEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIp
CiAgICAgOiBRdFJ1bnRpbWVNZXRob2QgKG5ldyBRdFJ1bnRpbWVDb25uZWN0aW9uTWV0aG9kRGF0
YSgpLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50aWZpZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0
L3F0X3J1bnRpbWUuaAppbmRleCA5YTI3NjI5ZTZkZmNiNWEwNjkzNThkYWYyODljM2FiOTAxNWI0
NDBjLi5hZWMxMWNhNmQ4MTVhMjM5ZWFiZTA3ODc0NmIxZDliYjliYzJkMTU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKQEAgLTE3MCw2ICsxNzAsOCBAQCBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAK
KyAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKKwogcHJvdGVjdGVkOgogICAgIFF0
UnVudGltZU1ldGFNZXRob2REYXRhKiBkX2Z1bmMoKSBjb25zdCB7cmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8UXRSdW50aW1lTWV0YU1ldGhvZERhdGEqPihkX3B0cik7fQogCkBAIC0yMDEsNiArMjAz
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0
YXRlICosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKICAgICB2aXJ0dWFsIGJv
b2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
LCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0T3duUHJvcGVydHlO
YW1lcyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSBtb2Rl
ID0gRXhjbHVkZURvbnRFbnVtUHJvcGVydGllcyk7CisgCisgICAgc3RhdGljIGNvbnN0IENsYXNz
SW5mbyBzX2luZm87CiAKIHByb3RlY3RlZDoKICAgICBRdFJ1bnRpbWVDb25uZWN0aW9uTWV0aG9k
RGF0YSogZF9mdW5jKCkgY29uc3Qge3JldHVybiByZWludGVycHJldF9jYXN0PFF0UnVudGltZUNv
bm5lY3Rpb25NZXRob2REYXRhKj4oZF9wdHIpO30K
</data>
<flag name="review"
          id="106997"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="107029"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>