<?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>69215</bug_id>
          
          <creation_ts>2011-10-01 12:27:34 -0700</creation_ts>
          <short_desc>Support string length in the DFG</short_desc>
          <delta_ts>2011-10-01 14:46:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>476585</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-01 12:27:34 -0700</bug_when>
    <thetext>Support string length in the DFG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476586</commentid>
    <comment_count>1</comment_count>
      <attachid>109406</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-01 12:31:39 -0700</bug_when>
    <thetext>Created attachment 109406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476595</commentid>
    <comment_count>2</comment_count>
      <attachid>109406</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-01 14:28:44 -0700</bug_when>
    <thetext>Comment on attachment 109406
Patch

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGPropagator.cpp:715
&gt;              if (!isInt32Prediction(m_predictions[m_compileIndex]))
&gt;                  break;

Not super important, but I think you&apos;re guaranteed to have an int once you have an array / string .length property.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:1730
&gt; +        speculationCheck(m_jit.branch32(MacroAssembler::LessThan, resultGPR, MacroAssembler::TrustedImm32(0)));

I believe we could remove this branch, and the branch on array length access, if we changed array and string length to int from unsigned, and limited their lengths to 2^31-1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476596</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-01 14:46:42 -0700</bug_when>
    <thetext>Committed r96461</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109406</attachid>
            <date>2011-10-01 12:31:39 -0700</date>
            <delta_ts>2011-10-01 14:28:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69215-20111001123149.patch</filename>
            <type>text/plain</type>
            <size>7802</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY0NTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGY3
MTVjMjQxZDVhMGQ1MzlmYTQyZjg0NDkwYzU5ZGIzZDRjZjhmYWEuLmVkMDQxZTc1ZmI4OTFlOGUw
MGVmMzQxYmNkYWMwYzZlZDU2ODNiZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI3IEBACisyMDExLTEwLTAxICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
KyAgICAgICAgU3VwcG9ydCBzdHJpbmcgbGVuZ3RoIGluIHRoZSBERkcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjE1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBhIEdldFN0cmluZ0xlbmd0aCBu
b2RlIHRvIHRoZSBERkcgc28gdGhhdCB3ZSBjYW4gc3VwcG9ydAorICAgICAgICBzdHJpbmcubGVu
Z3RoIGlubGluZS4KKworICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgICogZGZnL0RG
R1Byb3BhZ2F0b3IuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlByb3BhZ2F0b3I6OnByb3BhZ2F0
ZU5vZGVQcmVkaWN0aW9ucyk6CisgICAgICAgIChKU0M6OkRGRzo6UHJvcGFnYXRvcjo6Zml4dXBO
b2RlKToKKyAgICAgICAgKEpTQzo6REZHOjpQcm9wYWdhdG9yOjpwZXJmb3JtTm9kZUNTRSk6Cisg
ICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmlzS25vd25TdHJpbmcpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBydW50aW1lL0pTU3Ry
aW5nLmg6CisgICAgICAgIChKU0M6OlJvcGVCdWlsZGVyOjpvZmZzZXRPZkxlbmd0aCk6CisKIDIw
MTEtMTAtMDEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NjQyMS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlLmgKaW5kZXggN2RkYjRjY2FkMThjZGQ5M2FlNTM2ZTNmZTQ1OTM1YTk2ZDQyY2Mz
Yi4uNjNiN2Y1MDVhOTU3OWJlYzYxMGZjYzRmZTkzZDUzZjZjNTU5ZWNmMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlLmgKQEAgLTMxOSw2ICszMTksNyBAQCBzdGF0aWMgaW5saW5lIGNv
bnN0IGNoYXIqIGFyaXRoTm9kZUZsYWdzQXNTdHJpbmcoQXJpdGhOb2RlRmxhZ3MgZmxhZ3MpCiAg
ICAgbWFjcm8oR2V0QnlPZmZzZXQsIE5vZGVSZXN1bHRKUykgXAogICAgIG1hY3JvKFB1dEJ5T2Zm
c2V0LCBOb2RlTXVzdEdlbmVyYXRlIHwgTm9kZUNsb2JiZXJzV29ybGQpIFwKICAgICBtYWNybyhH
ZXRBcnJheUxlbmd0aCwgTm9kZVJlc3VsdEludDMyKSBcCisgICAgbWFjcm8oR2V0U3RyaW5nTGVu
Z3RoLCBOb2RlUmVzdWx0SW50MzIpIFwKICAgICBtYWNybyhHZXRNZXRob2QsIE5vZGVSZXN1bHRK
UyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja01ldGhvZCwgTm9kZVJlc3Vs
dEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKEdldFNjb3BlQ2hhaW4sIE5vZGVS
ZXN1bHRKUykgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9w
YWdhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvcGFnYXRvci5jcHAK
aW5kZXggOTk0YWMzYzI3YWQ0Y2E0YjViZmE0NDZhZWFhYTE0Y2M2N2ZhMjNhMy4uNjQ4NTVjY2Fm
ZTg0MzM1ZTQzZWZiM2E4MDE0ZTgxZDM4YWVkMWI4OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQcm9wYWdhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1Byb3BhZ2F0b3IuY3BwCkBAIC01NTksNyArNTU5LDggQEAgcHJpdmF0ZToKICAg
ICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgVmFsdWVUb0RvdWJsZToKLSAgICAg
ICAgY2FzZSBHZXRBcnJheUxlbmd0aDogeworICAgICAgICBjYXNlIEdldEFycmF5TGVuZ3RoOgor
ICAgICAgICBjYXNlIEdldFN0cmluZ0xlbmd0aDogewogICAgICAgICAgICAgLy8gVGhpcyBub2Rl
IHNob3VsZCBuZXZlciBiZSB2aXNpYmxlIGF0IHRoaXMgc3RhZ2Ugb2YgY29tcGlsYXRpb24uIEl0
IGlzCiAgICAgICAgICAgICAvLyBpbnNlcnRlZCBieSBmaXh1cCgpLCB3aGljaCBmb2xsb3dzIHRo
aXMgcGhhc2UuCiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTcwNiw3ICs3
MDcsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBH
ZXRCeUlkOiB7Ci0gICAgICAgICAgICBpZiAoIWlzQXJyYXlQcmVkaWN0aW9uKG1fcHJlZGljdGlv
bnNbbm9kZS5jaGlsZDEoKV0pKQorICAgICAgICAgICAgYm9vbCBpc0FycmF5ID0gaXNBcnJheVBy
ZWRpY3Rpb24obV9wcmVkaWN0aW9uc1tub2RlLmNoaWxkMSgpXSk7CisgICAgICAgICAgICBib29s
IGlzU3RyaW5nID0gaXNTdHJpbmdQcmVkaWN0aW9uKG1fcHJlZGljdGlvbnNbbm9kZS5jaGlsZDEo
KV0pOworICAgICAgICAgICAgaWYgKCFpc0FycmF5ICYmICFpc1N0cmluZykKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIGlmICghaXNJbnQzMlByZWRpY3Rpb24obV9wcmVkaWN0
aW9uc1ttX2NvbXBpbGVJbmRleF0pKQogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNzE0LDkg
KzcxNyw5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAK
ICNpZiBFTkFCTEUoREZHX0RFQlVHX1BST1BBR0FUSU9OX1ZFUkJPU0UpCi0gICAgICAgICAgICBw
cmludGYoIiAgQCV1IC0+IEdldEFycmF5TGVuZ3RoIiwgbm9kZUluZGV4KTsKKyAgICAgICAgICAg
IHByaW50ZigiICBAJXUgLT4gJXMiLCBub2RlSW5kZXgsIGlzQXJyYXkgPyAiR2V0QXJyYXlMZW5n
dGgiIDogIkdldFN0cmluZ0xlbmd0aCIpOwogI2VuZGlmCi0gICAgICAgICAgICBub2RlLm9wID0g
R2V0QXJyYXlMZW5ndGg7CisgICAgICAgICAgICBub2RlLm9wID0gaXNBcnJheSA/IEdldEFycmF5
TGVuZ3RoIDogR2V0U3RyaW5nTGVuZ3RoOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICAgICAgICAgICAgIApAQCAtMTE4OSw2ICsxMTkyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2Fz
ZSBBcml0aFNxcnQ6CiAgICAgICAgIGNhc2UgR2V0Q2FsbGVlOgogICAgICAgICBjYXNlIEdldEFy
cmF5TGVuZ3RoOgorICAgICAgICBjYXNlIEdldFN0cmluZ0xlbmd0aDoKICAgICAgICAgICAgIHNl
dFJlcGxhY2VtZW50KHB1cmVDU0Uobm9kZSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApp
bmRleCBiOGM3NTg0ZDBkODdjY2E4NDhlMzBhZTllNWViMmMwZjBiMzk0MmY3Li41ZGFmM2IyOTVj
Yzk3OTI5NzA4ZWUyOTk5ZTQ0ZTEzNDY5MDhjYzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC01NjgsNiArNTY4LDE4IEBAIHByaXZhdGU6
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBib29s
IGlzS25vd25TdHJpbmcoTm9kZUluZGV4IG9wMSkKKyAgICB7CisgICAgICAgIE5vZGUmIG5vZGUg
PSBtX2ppdC5ncmFwaCgpW29wMV07CisgICAgICAgIHN3aXRjaCAobm9kZS5vcCkgeworICAgICAg
ICBjYXNlIEdldExvY2FsOgorICAgICAgICAgICAgcmV0dXJuIGlzU3RyaW5nUHJlZGljdGlvbihu
b2RlLnZhcmlhYmxlQWNjZXNzRGF0YSgpLT5wcmVkaWN0aW9uKCkpOworCisgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CiAgICAgCiAg
ICAgYm9vbCBjb21wYXJlKE5vZGUmLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRpdGlv
biwgTWFjcm9Bc3NlbWJsZXI6OkRvdWJsZUNvbmRpdGlvbiwgWl9ERkdPcGVyYXRpb25fRUpKKTsK
ICAgICBib29sIGNvbXBpbGVQZWVwSG9sZUJyYW5jaChOb2RlJiwgTWFjcm9Bc3NlbWJsZXI6OlJl
bGF0aW9uYWxDb25kaXRpb24sIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVDb25kaXRpb24sIFpfREZH
T3BlcmF0aW9uX0VKSik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCAxNTVlZDBjZGM5MzliNzFiYWJjMGQxMzE5OTVj
NDljMGQzYWEzM2FjLi45N2M2YjI4MTI2MzgwMDBlOTkzN2UwY2JmYmFkZTI1YjY4MTg1ODMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJf
NjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKQEAgLTE2NTUsNiArMTY1NSwyNCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2UgR2V0U3Ry
aW5nTGVuZ3RoOiB7CisgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9k
ZS5jaGlsZDEoKSk7CisgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CisgICAgICAg
IAorICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7CisgICAgICAgIEdQUlJlZyBy
ZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7CisgICAgICAgIAorICAgICAgICBpZiAoIWlzS25vd25T
dHJpbmcobm9kZS5jaGlsZDEoKSkpCisgICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKG1faml0
LmJyYW5jaFB0cihNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIE1hY3JvQXNzZW1ibGVyOjpBZGRy
ZXNzKGJhc2VHUFIpLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihtX2ppdC5nbG9iYWxE
YXRhKCktPmpzU3RyaW5nVlB0cikpKTsKKyAgICAgICAgCisgICAgICAgIG1faml0LmxvYWQzMihN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlR1BSLCBKU1N0cmluZzo6b2Zmc2V0T2ZMZW5ndGgo
KSksIHJlc3VsdEdQUik7CisgICAgICAgIAorICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKG1faml0
LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpMZXNzVGhhbiwgcmVzdWx0R1BSLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKDApKSk7CisgICAgICAgIAorICAgICAgICBpbnRlZ2VyUmVzdWx0
KHJlc3VsdEdQUiwgbV9jb21waWxlSW5kZXgpOworICAgICAgICBicmVhazsKKyAgICB9CisKICAg
ICBjYXNlIENoZWNrU3RydWN0dXJlOiB7CiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJh
c2UodGhpcywgbm9kZS5jaGlsZDEoKSk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggMGFhMzg4ZmUwNjBlZDBj
MjAzMzBlMmMyYTYzN2RhMjcwMGYxNDBiYi4uNmUzYzlmNmRhMjM4NWI4ZDUwYjExZTUzNmMwN2Rh
ZDQ3ZGE3NDJhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCkBAIC0xNzE1LDYgKzE3MTUsMjQgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNl
IEdldFN0cmluZ0xlbmd0aDogeworICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRo
aXMsIG5vZGUuY2hpbGQxKCkpOworICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwor
ICAgICAgICAKKyAgICAgICAgR1BSUmVnIGJhc2VHUFIgPSBiYXNlLmdwcigpOworICAgICAgICBH
UFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOworICAgICAgICAKKyAgICAgICAgaWYgKCFp
c0tub3duU3RyaW5nKG5vZGUuY2hpbGQxKCkpKQorICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVj
ayhtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6Ok5vdEVxdWFsLCBNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhiYXNlR1BSKSwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIobV9qaXQu
Z2xvYmFsRGF0YSgpLT5qc1N0cmluZ1ZQdHIpKSk7CisgICAgICAgIAorICAgICAgICBtX2ppdC5s
b2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUdQUiwgSlNTdHJpbmc6Om9mZnNldE9m
TGVuZ3RoKCkpLCByZXN1bHRHUFIpOworICAgICAgICAKKyAgICAgICAgc3BlY3VsYXRpb25DaGVj
ayhtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6TGVzc1RoYW4sIHJlc3VsdEdQUiwgTWFj
cm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigwKSkpOworICAgICAgICAKKyAgICAgICAgaW50ZWdl
clJlc3VsdChyZXN1bHRHUFIsIG1fY29tcGlsZUluZGV4KTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorCiAgICAgY2FzZSBDaGVja1N0cnVjdHVyZTogewogICAgICAgICBTcGVjdWxhdGVDZWxsT3Bl
cmFuZCBiYXNlKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1N0cmluZy5oCmluZGV4IDU0YWZkNWNlOGJhMDNmNWRkZTJjNTI3MzU4
N2NiOThjYTk2ZGRiYmUuLjFhYzg0ZjQ5MzRjMDc1YTMyY2ViYmM0MzRiOTE3YTY3NTMxZTBkY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaApAQCAtNDQ1LDcgKzQ0
NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gU3Ry
dWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlwZUluZm8o
U3RyaW5nVHlwZSwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90KSwgJnNfaW5mbyk7CiAgICAg
ICAgIH0KLSAgICAgICAgCisKKyAgICAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZkxlbmd0aCgp
IHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1N0cmluZywgbV9sZW5ndGgpOyB9CisKICAgICAg
ICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAKICAgICBwcml2YXRlOgo=
</data>
<flag name="review"
          id="106641"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>