<?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>55343</bug_id>
          
          <creation_ts>2011-02-27 20:14:05 -0800</creation_ts>
          <short_desc>[ES5] Global Math object should be configurable but isn&apos;t</short_desc>
          <delta_ts>2012-09-21 12:03: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>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>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mark S. Miller">erights</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>barraclough</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>erights</cc>
    
    <cc>kent.hansen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>358864</commentid>
    <comment_count>0</comment_count>
    <who name="Mark S. Miller">erights</who>
    <bug_when>2011-02-27 20:14:05 -0800</bug_when>
    <thetext>They are both still writable as they should be, so this isn&apos;t a big deal -- hence the classification as trivial. If you close this out as a wont-fix, please tag this with DeliberateSpecViolation (a new v8 tag introduced for this purpose) or some such so we can track these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422474</commentid>
    <comment_count>1</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-06-17 00:56:31 -0700</bug_when>
    <thetext>*** Bug 55034 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528596</commentid>
    <comment_count>2</comment_count>
      <attachid>120897</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-01-02 15:41:25 -0800</bug_when>
    <thetext>Created attachment 120897
Fix for JSON object

Our current handling of Math &amp; JSON (treating them as non-configurable vars) allows slightly faster access.  This is probably not significant for typical JSON loads, since in real world usage the overhead of one property access from the global object is nothing compared to the cost of loading JSON data over the network, the host call to the parse function, and running the parser over the JSON data.  Fast access to the Math object is more important since it is used for very small, fast intrinsic functions that will be inlined by the JIT, e.g. abs.  We should fix this bug for the Math object too, but there we will need to pay more concern to avoiding any performance penalty – in the case of the JSON object there is no real justification to retain our current incorrect behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528623</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-01-02 18:37:31 -0800</bug_when>
    <thetext>Fixed for JSON object in r103921, updating title to reflect this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528724</commentid>
    <comment_count>4</comment_count>
    <who name="Mark S. Miller">erights</who>
    <bug_when>2012-01-03 04:31:45 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=120897) [details]
&gt; Fix for JSON object
&gt; 
&gt; [...] Math [...] slightly faster access.  [..]  Fast access to the Math object is more important since it is used for very small, fast intrinsic functions that will be inlined by the JIT, e.g. abs.  We should fix this bug for the Math object too, but there we will need to pay more concern to avoiding any performance penalty [...]


I just tested on WebKit Nightly r103874, and as I expected the properties on the Math object are correctly writable and configurable. Thus, you have to worry about cache invalidation for of calls to these Math functions anyway. Given that, is it still more expensive to have assignment to Math also invalidate these same caches?


&gt; Math.abs = function(x){return x;}
&gt; Math.abs(-7)
-7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528845</commentid>
    <comment_count>5</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-01-03 10:45:38 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Given that, is it still more expensive to have assignment to Math also invalidate these same caches?

Hi Mark,

The way our engine works, if we store Math in a regular property on the global object the calling abs will require 3 independent checks:

1) Check the shape of the global object, ensure there is still a &apos;Math&apos; property at the expected offset.
2) Load the &apos;Math&apos; property from a fixed offset in the global object&apos;s storage.
3) Check the shape of the Math object, ensure there is still a &apos;abs&apos; property at the expected offset.
2) Load the &apos;abs&apos; property from a fixed offset in the Math object&apos;s storage.
5) Check the abs function is callable (or is the expected value, or check that it is the abs intrinsic, depending on optimizations).

If &apos;Math&apos; is a var on the global object instead of a property, and as such non-configurable, we can skip step 1 (Math will always be present at the same offset into the var storage).

We should be able to better optimize the process of access to variables like this – of course the fact we have incorrectly been treating &apos;Math&apos; as a var has been artificially taking away a key incentive to do so!

cheers,
G.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589144</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-27 12:33:34 -0700</bug_when>
    <thetext>Attachment 120897 was posted by a committer and has review+, assigning to Gavin Barraclough for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589157</commentid>
    <comment_count>7</comment_count>
      <attachid>120897</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-03-27 12:38:23 -0700</bug_when>
    <thetext>Comment on attachment 120897
Fix for JSON object

Clearing review flag, this was landed in r103921.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725620</commentid>
    <comment_count>8</comment_count>
      <attachid>165153</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-09-21 10:26:44 -0700</bug_when>
    <thetext>Created attachment 165153
Fix Math object.

This no longer has any bearing on performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725639</commentid>
    <comment_count>9</comment_count>
      <attachid>165153</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-21 11:05:59 -0700</bug_when>
    <thetext>Comment on attachment 165153
Fix Math object.

I&apos;m surprised we don&apos;t have a more centralized test for what global objects are deletable or not. :)  LGTM too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725642</commentid>
    <comment_count>10</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-09-21 11:08:55 -0700</bug_when>
    <thetext>Fixed in r129241</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725684</commentid>
    <comment_count>11</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-09-21 12:03:46 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 165153 [details])
&gt; I&apos;m surprised we don&apos;t have a more centralized test for what global objects are deletable or not. :)  LGTM too.

Funnily enough, this isn&apos;t covered by the Test262 suite.  Ideally I think a test should be added there and then we should find a way to start running that, though I think if I import the full Test262 suite into LayoutTests people are going to not like me for the runtime. :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120897</attachid>
            <date>2012-01-02 15:41:25 -0800</date>
            <delta_ts>2012-03-27 12:38:22 -0700</delta_ts>
            <desc>Fix for JSON object</desc>
            <filename>55343-JSON.patch</filename>
            <type>text/plain</type>
            <size>3597</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTAzOTEyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDEyLTAxLTAyICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUzNDMK
KyAgICAgICAgR2xvYmFsIEpTT04gc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBidXQgaXNuJ3QKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUv
SlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6cmVzZXQp
OgorICAgICAgICAgICAgLSBtYWtlIEpTT04gY29uZmlndXJhYmxlCisKIDIwMTItMDEtMDEgIEZp
bGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBDYWxsIGluc3RydWN0aW9u
cyBzaG91bGQgbGVhdmUgcm9vbSBmb3IgbGlua2luZyBpbmZvcm1hdGlvbgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkocmV2aXNp
b24gMTAzODIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTksMTIgKzI5OSwxMyBAQCB2b2lkIEpTR2xvYmFs
T2JqZWN0OjpyZXNldChKU1ZhbHVlIHByb3RvCiAgICAgbV9ldmFsRnVuY3Rpb24uc2V0KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMsIHRoaXMsIDEsIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5ldmFsLCBnbG9iYWxGdW5jRXZhbCkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1l
cygpLmV2YWwsIG1fZXZhbEZ1bmN0aW9uLmdldCgpLCBEb250RW51bSk7CiAKKyAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywg
IkpTT04iKSwgSlNPTk9iamVjdDo6Y3JlYXRlKGV4ZWMsIHRoaXMsIEpTT05PYmplY3Q6OmNyZWF0
ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKSksIERvbnRFbnVtKTsKKwogICAgIEdsb2JhbFByb3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxz
W10gPSB7CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhJZGVudGlmaWVyKGV4ZWMsICJNYXRo
IiksIE1hdGhPYmplY3Q6OmNyZWF0ZShleGVjLCB0aGlzLCBNYXRoT2JqZWN0OjpjcmVhdGVTdHJ1
Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkp
LCBEb250RW51bSB8IERvbnREZWxldGUpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oSWRl
bnRpZmllcihleGVjLCAiTmFOIiksIGpzTmFOKCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKElkZW50aWZpZXIoZXhlYywgIklu
ZmluaXR5IiksIGpzTnVtYmVyKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHko
KSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKElkZW50aWZpZXIoZXhlYywgInVuZGVmaW5lZCIpLCBqc1VuZGVmaW5lZCgpLCBE
b250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyhJZGVudGlmaWVyKGV4ZWMsICJKU09OIiksIEpTT05PYmplY3Q6OmNyZWF0ZShleGVjLCB0
aGlzLCBKU09OT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlz
LCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUpCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyhJZGVudGlmaWVyKGV4ZWMsICJ1bmRlZmluZWQiKSwganNV
bmRlZmluZWQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpCiAgICAgfTsKICAg
ICBhZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0dsb2JhbHMsIFdURl9BUlJBWV9MRU5HVEgoc3RhdGlj
R2xvYmFscykpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDM5MTIpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMS0wMiAgR2F2
aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MzQzCisgICAgICAgIEdsb2JhbCBK
U09OIHNob3VsZCBiZSBjb25maWd1cmFibGUgYnV0IGlzbid0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC8x
MS40LjEtNC5hLTgtZXhwZWN0ZWQudHh0OgorICAgICAgICAgICAgLSBjaGVjayBpbiBwYXNzaW5n
IHJlc3VsdAorCiAyMDEyLTAxLTAyICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIFF0LVdLMiBnYXJkZW5pbmcuCkluZGV4OiBMYXlvdXRU
ZXN0cy9pZXRlc3RjZW50ZXIvSmF2YXNjcmlwdC8xMS40LjEtNC5hLTgtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lldGVzdGNlbnRlci9KYXZhc2NyaXB0LzExLjQuMS00
LmEtOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwMzgyMykKKysrIExheW91dFRlc3RzL2lldGVz
dGNlbnRlci9KYXZhc2NyaXB0LzExLjQuMS00LmEtOC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTQsNyArNCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEEKIAogCiBQQVNTIEVTNUhhcm5lc3MucHJlY29uZGl0aW9uUGFzc2VkIGlzIHRydWUKLUZBSUwg
RVM1SGFybmVzcy50ZXN0UGFzc2VkIHNob3VsZCBiZSB0cnVlIChvZiB0eXBlIGJvb2xlYW4pLiBX
YXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCitQQVNTIEVTNUhhcm5lc3MudGVzdFBh
c3NlZCBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09N
UExFVEUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165153</attachid>
            <date>2012-09-21 10:26:44 -0700</date>
            <delta_ts>2012-09-21 11:05:59 -0700</delta_ts>
            <desc>Fix Math object.</desc>
            <filename>55343.patch</filename>
            <type>text/plain</type>
            <size>3817</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI5MjM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA5LTIxICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBHbG9iYWwgTWF0aCBvYmplY3Qgc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBidXQg
aXNuJ3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1
MzQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBoYXMgbm8gcGVyZm9ybWFuY2UgaW1wYWN0LgorCisgICAgICAgICogcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpyZXNldCk6CisgICAg
ICAgICAgICAtIE1ha2UgJ01hdGgnIGEgcmVndWxhciBwcm9wZXJ0eS4KKwogMjAxMi0wOS0yMSAg
Q2hhby15aW5nIEZ1ICA8ZnVAbWlwcy5jb20+CiAKICAgICAgICAgQWRkIE1JUFMgb3IzMiBmdW5j
dGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAkocmV2aXNpb24gMTI5MTkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTAsOSArMzEwLDkg
QEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVzZXQoSlNWYWx1ZSBwcm90bwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1l
cygpLmV2YWwsIG1fZXZhbEZ1bmN0aW9uLmdldCgpLCBEb250RW51bSk7CiAKICAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywg
IkpTT04iKSwgSlNPTk9iamVjdDo6Y3JlYXRlKGV4ZWMsIHRoaXMsIEpTT05PYmplY3Q6OmNyZWF0
ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKSksIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgIk1hdGgiKSwgTWF0aE9iamVjdDo6Y3JlYXRl
KGV4ZWMsIHRoaXMsIE1hdGhPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRh
KCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERvbnRFbnVtKTsKIAogICAgIEds
b2JhbFByb3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7Ci0gICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyhJZGVudGlmaWVyKGV4ZWMsICJNYXRoIiksIE1hdGhPYmplY3Q6OmNyZWF0ZShleGVj
LCB0aGlzLCBNYXRoT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0
aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUpLAog
ICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oSWRlbnRpZmllcihleGVjLCAiTmFOIiksIGpzTmFO
KCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKElkZW50aWZpZXIoZXhlYywgIkluZmluaXR5IiksIGpzTnVtYmVyKHN0ZDo6bnVt
ZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKElkZW50aWZpZXIoZXhlYywg
InVuZGVmaW5lZCIpLCBqc1VuZGVmaW5lZCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyOTIzOCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA5LTIxICBHYXZpbiBCYXJy
YWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBHbG9iYWwgTWF0aCBv
YmplY3Qgc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBidXQgaXNuJ3QKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MzQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdCBjYXNlLgorCisgICAgICAg
ICogZmFzdC9qcy9tYXRoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10
ZXN0cy9tYXRoLmpzOgorICAgICAgICAgICAgLSBBZGRlZCB0ZXN0IGNhc2UuCisKIDIwMTItMDkt
MjEgIE1hcmNlbG8gTGlyYSAgPG1hcmNlbG8ubGlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAg
IFtRdF0gUkVHUkVTU0lPTjogNSB0ZXN0cyBzdGFydGVkIHRvIGZhaWwgd2l0aCBuZXdlciBRdDUK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvbWF0aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9tYXRoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTI5MTkx
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9tYXRoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMTYzLDYgKzE2Myw4IEBAIFBBU1MgTWF0aC50YW4oMCkgaXMgMAogUEFTUyBNYXRoLnRh
bigtMCkgaXMgLTAKIFBBU1MgTWF0aC50YW4oSW5maW5pdHkpIGlzIE5hTgogUEFTUyBNYXRoLnRh
bigtSW5maW5pdHkpIGlzIE5hTgorUEFTUyBkZWxldGUgTWF0aDsgaXMgdHJ1ZQorUEFTUyAnTWF0
aCcgaW4gZ2xvYmFsKCkgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMv
bWF0aC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9t
YXRoLmpzCShyZXZpc2lvbiAxMjkxOTEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10
ZXN0cy9tYXRoLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQsMyArMjM0LDExIEBAIHNob3VsZEJl
KCJNYXRoLnRhbigwKSIsICIwIik7CiBzaG91bGRCZSgiTWF0aC50YW4oLTApIiwgIi0wIik7CiBz
aG91bGRCZSgiTWF0aC50YW4oSW5maW5pdHkpIiwgIk5hTiIpOwogc2hvdWxkQmUoIk1hdGgudGFu
KC1JbmZpbml0eSkiLCAiTmFOIik7CisKK3ZhciBfX01hdGggPSBNYXRoOworc2hvdWxkQmVUcnVl
KCJkZWxldGUgTWF0aDsiKTsKKworZnVuY3Rpb24gZ2xvYmFsKCkgeyByZXR1cm4gdGhpczsgfQor
c2hvdWxkQmVGYWxzZSgiJ01hdGgnIGluIGdsb2JhbCgpIik7CisKK01hdGggPSBfX01hdGg7Cg==
</data>
<flag name="review"
          id="177126"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>