<?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>88566</bug_id>
          
          <creation_ts>2012-06-07 11:51:18 -0700</creation_ts>
          <short_desc>Refactor and improve code style in TextResourceDecoder to prepare for buffering improvement</short_desc>
          <delta_ts>2012-06-09 18:08:32 -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>Page Loading</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>23677</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>643758</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-07 11:51:18 -0700</bug_when>
    <thetext>Refactor and improve code style in TextResourceDecoder to prepare for buffering improvement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643763</commentid>
    <comment_count>1</comment_count>
      <attachid>146347</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-07 11:56:30 -0700</bug_when>
    <thetext>Created attachment 146347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645438</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-09 18:08:32 -0700</bug_when>
    <thetext>Committed r119919: &lt;http://trac.webkit.org/changeset/119919&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146347</attachid>
            <date>2012-06-07 11:56:30 -0700</date>
            <delta_ts>2012-06-08 12:32:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88566-20120607115630.patch</filename>
            <type>text/plain</type>
            <size>10760</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTc0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTA3ICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBhbmQgaW1wcm92ZSBj
b2RlIHN0eWxlIGluIFRleHRSZXNvdXJjZURlY29kZXIgdG8gcHJlcGFyZSBmb3IgYnVmZmVyaW5n
IGltcHJvdmVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04ODU2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Ynl0ZXNFcXVhbCk6IEFkZGVkIGhlbHBlciBmdW5jdGlvbiB0byBtYWtlIGNvbXBhcmluZyBhZ2Fp
bnN0IHNlcXVlbmNlcyBvZiBieXRlcworICAgICAgICBlYXNpZXIgdG8gcmVhZCBhdCB0aGUgY2Fs
bCBzaXRlLgorICAgICAgICAoV2ViQ29yZTo6S2FuamlDb2RlOjpqdWRnZSk6IENoYW5nZWQgdG8g
dXNlIGJ5dGVzRXF1YWwgaW4gYSBmZXcgcGxhY2VzLCBtZXJnZWQgbXVsdGlwbGUgaWYKKyAgICAg
ICAgc3RhdGVtZW50cywgZ290IHJpZCBvZiBlbHNlIGFmdGVyIGdvdG8uCisgICAgICAgIChXZWJD
b3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpjaGVja0ZvckNTU0NoYXJzZXQpOiBDaGFuZ2VkIHRv
IHVzZSBlYXJseSByZXR1cm4gaW5zdGVhZCBvZgorICAgICAgICBuZXN0aW5nIHRoZSB3aG9sZSBm
dW5jdGlvbi4gQ2hhbmdlZCB0byB1c2UgYnl0ZXNFcXVhbC4KKyAgICAgICAgKFdlYkNvcmU6OnNr
aXBDb21tZW50KTogQ2hhbmdlZCB0byB1c2UgZWFybHkgcmV0dXJuIGZvciBtb3JlIGNhc2VzLiBD
aGFuZ2VkIHRvIHVzZSBieXRlc0VxdWFsLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJlc291cmNl
RGVjb2Rlcjo6Y2hlY2tGb3JIZWFkQ2hhcnNldCk6IENoYW5nZWQgdG8gdXNlIGJ5dGVzRXF1YWwu
CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpkZWNvZGUpOiBDaGFuZ2Vk
IHRvIHVzZSBlbXB0eVN0cmluZygpIGluc3RlYWQgb2YgIiIsIHNpbmNlCisgICAgICAgIHRoZSBm
b3JtZXIgaXMgbW9yZSBlZmZpY2llbnQuCisKIDIwMTItMDYtMDcgIFBldGVyIEJldmVybG9vICA8
cGV0ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEJ1aWxkZml4IGZvciBFTkFCTEVfT1ZFUkZM
T1dfU0NST0xMSU5HPTAgKHRob3VnaCBkZWZpbmVkKQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcAkocmV2aXNpb24gMTE5NzQxKQorKysgU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogLyoKICAgICBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAo
a25vbGxAbXBpLWhkLm1wZy5kZSkKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICAgIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAw
OSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgQ29weXJpZ2h0IChD
KSAyMDA1LCAyMDA2LCAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9wLmNvbSkKIAog
ICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKQEAgLTM5LDYgKzM5LDMxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKIAorc3RhdGljIGlubGluZSBib29sIGJ5dGVzRXF1YWwoY29u
c3QgY2hhciogcCwgY2hhciBiMCwgY2hhciBiMSkKK3sKKyAgICByZXR1cm4gcFswXSA9PSBiMCAm
JiBwWzFdID09IGIxOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgYnl0ZXNFcXVhbChjb25zdCBj
aGFyKiBwLCBjaGFyIGIwLCBjaGFyIGIxLCBjaGFyIGIyKQoreworICAgIHJldHVybiBwWzBdID09
IGIwICYmIHBbMV0gPT0gYjEgJiYgcFsyXSA9PSBiMjsKK30KKworc3RhdGljIGlubGluZSBib29s
IGJ5dGVzRXF1YWwoY29uc3QgY2hhciogcCwgY2hhciBiMCwgY2hhciBiMSwgY2hhciBiMiwgY2hh
ciBiMywgY2hhciBiNCkKK3sKKyAgICByZXR1cm4gcFswXSA9PSBiMCAmJiBwWzFdID09IGIxICYm
IHBbMl0gPT0gYjIgJiYgcFszXSA9PSBiMyAmJiBwWzRdID09IGI0OworfQorCitzdGF0aWMgaW5s
aW5lIGJvb2wgYnl0ZXNFcXVhbChjb25zdCBjaGFyKiBwLCBjaGFyIGIwLCBjaGFyIGIxLCBjaGFy
IGIyLCBjaGFyIGIzLCBjaGFyIGI0LCBjaGFyIGI1KQoreworICAgIHJldHVybiBwWzBdID09IGIw
ICYmIHBbMV0gPT0gYjEgJiYgcFsyXSA9PSBiMiAmJiBwWzNdID09IGIzICYmIHBbNF0gPT0gYjQg
JiYgcFs1XSA9PSBiNTsKK30KKworc3RhdGljIGlubGluZSBib29sIGJ5dGVzRXF1YWwoY29uc3Qg
Y2hhciogcCwgY2hhciBiMCwgY2hhciBiMSwgY2hhciBiMiwgY2hhciBiMywgY2hhciBiNCwgY2hh
ciBiNSwgY2hhciBiNiwgY2hhciBiNykKK3sKKyAgICByZXR1cm4gcFswXSA9PSBiMCAmJiBwWzFd
ID09IGIxICYmIHBbMl0gPT0gYjIgJiYgcFszXSA9PSBiMyAmJiBwWzRdID09IGI0ICYmIHBbNV0g
PT0gYjUgJiYgcFs2XSA9PSBiNiAmJiBwWzddID09IGI3OworfQorCiAvLyBZb3UgbWlnaHQgdGhp
bmsgd2Ugc2hvdWxkIHB1dCB0aGVzZSBmaW5kIGZ1bmN0aW9ucyBlbHNld2hlcmUsIHBlcmhhcHMg
d2l0aCB0aGUKIC8vIHNpbWlsYXIgZnVuY3Rpb25zIHRoYXQgb3BlcmF0ZSBvbiBVQ2hhciwgYnV0
IGFyZ3VhYmx5IG9ubHkgdGhlIGRlY29kZXIgaGFzCiAvLyBhIHJlYXNvbiB0byBwcm9jZXNzIHN0
cmluZ3Mgb2YgY2hhciByYXRoZXIgdGhhbiBVQ2hhci4KQEAgLTE0NSwxOCArMTcwLDE0IEBAIGVu
dW0gS2FuamlDb2RlOjpUeXBlIEthbmppQ29kZTo6anVkZ2UoY28KICAgICBpID0gMDsKICAgICB3
aGlsZSAoaSA8IHNpemUpIHsKICAgICAgICAgaWYgKHB0cltpXSA9PSBFU0MgJiYgKHNpemUgLSBp
ID49IDMpKSB7Ci0gICAgICAgICAgICBpZiAoKHB0cltpICsgMV0gPT0gJyQnICYmIHB0cltpICsg
Ml0gPT0gJ0InKQotICAgICAgICAgICAgfHwgKHB0cltpICsgMV0gPT0gJygnICYmIHB0cltpICsg
Ml0gPT0gJ0InKSkgewotICAgICAgICAgICAgICAgIGNvZGUgPSBKSVM7Ci0gICAgICAgICAgICAg
ICAgZ290byBicmVha0JyZWFrOwotICAgICAgICAgICAgfSBlbHNlIGlmICgocHRyW2kgKyAxXSA9
PSAnJCcgJiYgcHRyW2kgKyAyXSA9PSAnQCcpCi0gICAgICAgICAgICAgICAgICAgIHx8IChwdHJb
aSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdKJykpIHsKKyAgICAgICAgICAgIGlmIChi
eXRlc0VxdWFsKHN0ciArIGkgKyAxLCAnJCcsICdCJykKKyAgICAgICAgICAgICAgICAgICAgfHwg
Ynl0ZXNFcXVhbChzdHIgKyBpICsgMSwgJygnLCAnQicpCisgICAgICAgICAgICAgICAgICAgIHx8
IGJ5dGVzRXF1YWwoc3RyICsgaSArIDEsICckJywgJ0AnKQorICAgICAgICAgICAgICAgICAgICB8
fCBieXRlc0VxdWFsKHN0ciArIGkgKyAxLCAnKCcsICdKJykpIHsKICAgICAgICAgICAgICAgICBj
b2RlID0gSklTOwogICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAocHRyW2kgKyAxXSA9PSAnKCcgJiYgcHRyW2kgKyAyXSA9PSAnSScpIHsKLSAg
ICAgICAgICAgICAgICBjb2RlID0gSklTOwotICAgICAgICAgICAgICAgIGkgKz0gMzsKLSAgICAg
ICAgICAgIH0gZWxzZSBpZiAocHRyW2kgKyAxXSA9PSAnKScgJiYgcHRyW2kgKyAyXSA9PSAnSScp
IHsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChieXRlc0VxdWFsKHN0ciArIGkgKyAx
LCAnKCcsICdJJykgfHwgYnl0ZXNFcXVhbChzdHIgKyBpICsgMSwgJyknLCAnSScpKSB7CiAgICAg
ICAgICAgICAgICAgY29kZSA9IEpJUzsKICAgICAgICAgICAgICAgICBpICs9IDM7CiAgICAgICAg
ICAgICB9IGVsc2UgewpAQCAtNDQ0LDQyICs0NjUsNDEgQEAgYm9vbCBUZXh0UmVzb3VyY2VEZWNv
ZGVyOjpjaGVja0ZvckNTU0NoYQogCiAgICAgbW92ZWREYXRhVG9CdWZmZXIgPSB0cnVlOwogCi0g
ICAgaWYgKG1fYnVmZmVyLnNpemUoKSA+IDgpIHsgLy8gc3RybGVuKCJAY2hhcnNldCIpID09IDgK
LSAgICAgICAgY29uc3QgY2hhciogZGF0YVN0YXJ0ID0gbV9idWZmZXIuZGF0YSgpOwotICAgICAg
ICBjb25zdCBjaGFyKiBkYXRhRW5kID0gZGF0YVN0YXJ0ICsgbV9idWZmZXIuc2l6ZSgpOworICAg
IGlmIChtX2J1ZmZlci5zaXplKCkgPD0gOCkgLy8gc3RybGVuKCJAY2hhcnNldCIpID09IDgKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIGlmIChkYXRhU3RhcnRbMF0gPT0gJ0AnICYm
IGRhdGFTdGFydFsxXSA9PSAnYycgJiYgZGF0YVN0YXJ0WzJdID09ICdoJyAmJiBkYXRhU3RhcnRb
M10gPT0gJ2EnICYmIGRhdGFTdGFydFs0XSA9PSAncicgJiYgCi0gICAgICAgICAgICBkYXRhU3Rh
cnRbNV0gPT0gJ3MnICYmIGRhdGFTdGFydFs2XSA9PSAnZScgJiYgZGF0YVN0YXJ0WzddID09ICd0
JykgewotICAgIAotICAgICAgICAgICAgZGF0YVN0YXJ0ICs9IDg7Ci0gICAgICAgICAgICBjb25z
dCBjaGFyKiBwb3MgPSBkYXRhU3RhcnQ7Ci0gICAgICAgICAgICBpZiAoIXNraXBXaGl0ZXNwYWNl
KHBvcywgZGF0YUVuZCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNvbnN0
IGNoYXIqIGRhdGFTdGFydCA9IG1fYnVmZmVyLmRhdGEoKTsKKyAgICBjb25zdCBjaGFyKiBkYXRh
RW5kID0gZGF0YVN0YXJ0ICsgbV9idWZmZXIuc2l6ZSgpOwogCi0gICAgICAgICAgICBpZiAoKnBv
cyA9PSAnIicgfHwgKnBvcyA9PSAnXCcnKSB7Ci0gICAgICAgICAgICAgICAgY2hhciBxdW90YXRp
b25NYXJrID0gKnBvczsKLSAgICAgICAgICAgICAgICArK3BvczsKLSAgICAgICAgICAgICAgICBk
YXRhU3RhcnQgPSBwb3M7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgICAgICB3aGlsZSAocG9z
IDwgZGF0YUVuZCAmJiAqcG9zICE9IHF1b3RhdGlvbk1hcmspCi0gICAgICAgICAgICAgICAgICAg
ICsrcG9zOwotICAgICAgICAgICAgICAgIGlmIChwb3MgPT0gZGF0YUVuZCkKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChieXRlc0VxdWFsKGRhdGFTdGFydCwgJ0An
LCAnYycsICdoJywgJ2EnLCAncicsICdzJywgJ2UnLCAndCcpKSB7CisgICAgICAgIGRhdGFTdGFy
dCArPSA4OworICAgICAgICBjb25zdCBjaGFyKiBwb3MgPSBkYXRhU3RhcnQ7CisgICAgICAgIGlm
ICghc2tpcFdoaXRlc3BhY2UocG9zLCBkYXRhRW5kKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgICAgICAgICAgICAgIGludCBlbmNvZGluZ05hbWVMZW5ndGggPSBwb3MgLSBkYXRh
U3RhcnQ7Ci0gICAgICAgICAgICAgICAgCisgICAgICAgIGlmICgqcG9zID09ICciJyB8fCAqcG9z
ID09ICdcJycpIHsKKyAgICAgICAgICAgIGNoYXIgcXVvdGF0aW9uTWFyayA9ICpwb3M7CisgICAg
ICAgICAgICArK3BvczsKKyAgICAgICAgICAgIGRhdGFTdGFydCA9IHBvczsKKyAgICAgICAgCisg
ICAgICAgICAgICB3aGlsZSAocG9zIDwgZGF0YUVuZCAmJiAqcG9zICE9IHF1b3RhdGlvbk1hcmsp
CiAgICAgICAgICAgICAgICAgKytwb3M7Ci0gICAgICAgICAgICAgICAgaWYgKCFza2lwV2hpdGVz
cGFjZShwb3MsIGRhdGFFbmQpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgICAgICBpZiAocG9zID09IGRhdGFFbmQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgICAgICAgICAgICAgaWYgKCpwb3MgPT0gJzsnKQotICAgICAgICAgICAgICAg
ICAgICBzZXRFbmNvZGluZyhmaW5kVGV4dEVuY29kaW5nKGRhdGFTdGFydCwgZW5jb2RpbmdOYW1l
TGVuZ3RoKSwgRW5jb2RpbmdGcm9tQ1NTQ2hhcnNldCk7Ci0gICAgICAgICAgICB9CisgICAgICAg
ICAgICBpbnQgZW5jb2RpbmdOYW1lTGVuZ3RoID0gcG9zIC0gZGF0YVN0YXJ0OworICAgICAgICAg
ICAgCisgICAgICAgICAgICArK3BvczsKKyAgICAgICAgICAgIGlmICghc2tpcFdoaXRlc3BhY2Uo
cG9zLCBkYXRhRW5kKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
ICAgIGlmICgqcG9zID09ICc7JykKKyAgICAgICAgICAgICAgICBzZXRFbmNvZGluZyhmaW5kVGV4
dEVuY29kaW5nKGRhdGFTdGFydCwgZW5jb2RpbmdOYW1lTGVuZ3RoKSwgRW5jb2RpbmdGcm9tQ1NT
Q2hhcnNldCk7CiAgICAgICAgIH0KLSAgICAgICAgbV9jaGVja2VkRm9yQ1NTQ2hhcnNldCA9IHRy
dWU7Ci0gICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBtX2NoZWNrZWRGb3JDU1NDaGFyc2V0ID0gdHJ1ZTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAog
Ly8gT3RoZXIgYnJvd3NlcnMgYWxsb3cgY29tbWVudHMgaW4gdGhlIGhlYWQgc2VjdGlvbiwgc28g
d2UgbmVlZCB0byBhbHNvLgpAQCAtNDg4LDI2ICs1MDgsMjggQEAgc3RhdGljIGlubGluZSB2b2lk
IHNraXBDb21tZW50KGNvbnN0IGNoYQogewogICAgIGNvbnN0IGNoYXIqIHAgPSBwdHI7CiAgICAg
aWYgKHAgPT0gcEVuZCkKLSAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuOworCiAgICAgLy8g
QWxsb3cgPCEtLT47IG90aGVyIGJyb3dzZXJzIGRvLgogICAgIGlmICgqcCA9PSAnPicpIHsKLSAg
ICAgICAgcCsrOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHdoaWxlIChwICsgMiA8IHBFbmQpIHsK
LSAgICAgICAgICAgIGlmICgqcCA9PSAnLScpIHsKLSAgICAgICAgICAgICAgICAvLyBUaGlzIGlz
IHRoZSByZWFsIGVuZCBvZiBjb21tZW50LCAiLS0+Ii4KLSAgICAgICAgICAgICAgICBpZiAocFsx
XSA9PSAnLScgJiYgcFsyXSA9PSAnPicpIHsKLSAgICAgICAgICAgICAgICAgICAgcCArPSAzOwot
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgLy8gVGhpcyBpcyB0aGUgaW5jb3JyZWN0IGVuZCBvZiBjb21tZW50IHRoYXQgb3RoZXIg
YnJvd3NlcnMgYWxsb3csICItLSE+Ii4KLSAgICAgICAgICAgICAgICBpZiAocCArIDMgPCBwRW5k
ICYmIHBbMV0gPT0gJy0nICYmIHBbMl0gPT0gJyEnICYmIHBbM10gPT0gJz4nKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHAgKz0gNDsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgfQorICAgICAgICBwdHIgPSBwICsgMTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIHdoaWxlIChwICsgMiA8IHBFbmQpIHsKKyAgICAgICAgaWYgKCpwID09ICctJykgewor
ICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgcmVhbCBlbmQgb2YgY29tbWVudCwgIi0tPiIuCisg
ICAgICAgICAgICBpZiAoYnl0ZXNFcXVhbChwICsgMSwgJy0nLCAnPicpKSB7CisgICAgICAgICAg
ICAgICAgcCArPSAzOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgLy8gVGhpcyBpcyB0aGUgaW5jb3JyZWN0IGVuZCBvZiBjb21tZW50IHRoYXQgb3Ro
ZXIgYnJvd3NlcnMgYWxsb3csICItLSE+Ii4KKyAgICAgICAgICAgIGlmIChwICsgMyA8IHBFbmQg
JiYgYnl0ZXNFcXVhbChwICsgMSwgJy0nLCAnIScsICc+JykpIHsKKyAgICAgICAgICAgICAgICBw
ICs9IDQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBwKys7CiAgICAgICAgIH0KKyAgICAgICAgcCsrOwogICAgIH0KICAgICBwdHIgPSBwOwogfQpA
QCAtNTQxLDcgKzU2Myw3IEBAIGJvb2wgVGV4dFJlc291cmNlRGVjb2Rlcjo6Y2hlY2tGb3JIZWFk
Q2gKIAogICAgIC8vIEhhbmRsZSBYTUwgZGVjbGFyYXRpb24sIHdoaWNoIGNhbiBoYXZlIGVuY29k
aW5nIGluIGl0LiBUaGlzIGVuY29kaW5nIGlzIGhvbm9yZWQgZXZlbiBmb3IgSFRNTCBkb2N1bWVu
dHMuCiAgICAgLy8gSXQgaXMgYW4gZXJyb3IgZm9yIGFuIFhNTCBkZWNsYXJhdGlvbiBub3QgdG8g
YmUgYXQgdGhlIHN0YXJ0IG9mIGFuIFhNTCBkb2N1bWVudCwgYW5kIGl0IGlzIGlnbm9yZWQgaW4g
SFRNTCBkb2N1bWVudHMgaW4gc3VjaCBjYXNlLgotICAgIGlmIChwdHJbMF0gPT0gJzwnICYmIHB0
clsxXSA9PSAnPycgJiYgcHRyWzJdID09ICd4JyAmJiBwdHJbM10gPT0gJ20nICYmIHB0cls0XSA9
PSAnbCcpIHsKKyAgICBpZiAoYnl0ZXNFcXVhbChwdHIsICc8JywgJz8nLCAneCcsICdtJywgJ2wn
KSkgewogICAgICAgICBjb25zdCBjaGFyKiB4bWxEZWNsYXJhdGlvbkVuZCA9IHB0cjsKICAgICAg
ICAgd2hpbGUgKHhtbERlY2xhcmF0aW9uRW5kICE9IHBFbmQgJiYgKnhtbERlY2xhcmF0aW9uRW5k
ICE9ICc+JykKICAgICAgICAgICAgICsreG1sRGVjbGFyYXRpb25FbmQ7CkBAIC01NTMsMTYgKzU3
NSwxNiBAQCBib29sIFRleHRSZXNvdXJjZURlY29kZXI6OmNoZWNrRm9ySGVhZENoCiAgICAgICAg
IGlmIChwb3MgIT0gLTEpCiAgICAgICAgICAgICBzZXRFbmNvZGluZyhmaW5kVGV4dEVuY29kaW5n
KHB0ciArIHBvcywgbGVuKSwgRW5jb2RpbmdGcm9tWE1MSGVhZGVyKTsKICAgICAgICAgLy8gY29u
dGludWUgbG9va2luZyBmb3IgYSBjaGFyc2V0IC0gaXQgbWF5IGJlIHNwZWNpZmllZCBpbiBhbiBI
VFRQLUVxdWl2IG1ldGEKLSAgICB9IGVsc2UgaWYgKHB0clswXSA9PSAnPCcgJiYgcHRyWzFdID09
IDAgJiYgcHRyWzJdID09ICc/JyAmJiBwdHJbM10gPT0gMCAmJiBwdHJbNF0gPT0gJ3gnICYmIHB0
cls1XSA9PSAwKSB7CisgICAgfSBlbHNlIGlmIChieXRlc0VxdWFsKHB0ciwgJzwnLCAwLCAnPycs
IDAsICd4JywgMCkpIHsKICAgICAgICAgc2V0RW5jb2RpbmcoVVRGMTZMaXR0bGVFbmRpYW5FbmNv
ZGluZygpLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAg
IH0gZWxzZSBpZiAocHRyWzBdID09IDAgJiYgcHRyWzFdID09ICc8JyAmJiBwdHJbMl0gPT0gMCAm
JiBwdHJbM10gPT0gJz8nICYmIHB0cls0XSA9PSAwICYmIHB0cls1XSA9PSAneCcpIHsKKyAgICB9
IGVsc2UgaWYgKGJ5dGVzRXF1YWwocHRyLCAwLCAnPCcsIDAsICc/JywgMCwgJ3gnKSkgewogICAg
ICAgICBzZXRFbmNvZGluZyhVVEYxNkJpZ0VuZGlhbkVuY29kaW5nKCksIEF1dG9EZXRlY3RlZEVu
Y29kaW5nKTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChwdHJbMF0gPT0g
JzwnICYmIHB0clsxXSA9PSAwICYmIHB0clsyXSA9PSAwICYmIHB0clszXSA9PSAwICYmIHB0cls0
XSA9PSAnPycgJiYgcHRyWzVdID09IDAgJiYgcHRyWzZdID09IDAgJiYgcHRyWzddID09IDApIHsK
KyAgICB9IGVsc2UgaWYgKGJ5dGVzRXF1YWwocHRyLCAnPCcsIDAsIDAsIDAsICc/JywgMCwgMCwg
MCkpIHsKICAgICAgICAgc2V0RW5jb2RpbmcoVVRGMzJMaXR0bGVFbmRpYW5FbmNvZGluZygpLCBB
dXRvRGV0ZWN0ZWRFbmNvZGluZyk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBp
ZiAocHRyWzBdID09IDAgJiYgcHRyWzFdID09IDAgJiYgcHRyWzJdID09IDAgJiYgcHRyWzNdID09
ICc8JyAmJiBwdHJbNF0gPT0gMCAmJiBwdHJbNV0gPT0gMCAmJiBwdHJbNl0gPT0gMCAmJiBwdHJb
N10gPT0gJz8nKSB7CisgICAgfSBlbHNlIGlmIChieXRlc0VxdWFsKHB0ciwgMCwgMCwgMCwgJzwn
LCAwLCAwLCAwLCAnPycpKSB7CiAgICAgICAgIHNldEVuY29kaW5nKFVURjMyQmlnRW5kaWFuRW5j
b2RpbmcoKSwgQXV0b0RldGVjdGVkRW5jb2RpbmcpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CkBAIC02MzIsMTEgKzY1NCwxMSBAQCBTdHJpbmcgVGV4dFJlc291cmNlRGVjb2Rlcjo6ZGVj
b2RlKGNvbnN0CiAKICAgICBpZiAobV9jb250ZW50VHlwZSA9PSBDU1MgJiYgIW1fY2hlY2tlZEZv
ckNTU0NoYXJzZXQpCiAgICAgICAgIGlmICghY2hlY2tGb3JDU1NDaGFyc2V0KGRhdGEsIGxlbiwg
bW92ZWREYXRhVG9CdWZmZXIpKQotICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAgICAg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICBpZiAoKG1fY29udGVudFR5cGUgPT0gSFRNTCB8
fCBtX2NvbnRlbnRUeXBlID09IFhNTCkgJiYgIW1fY2hlY2tlZEZvckhlYWRDaGFyc2V0KSAvLyBI
VE1MIGFuZCBYTUwKICAgICAgICAgaWYgKCFjaGVja0ZvckhlYWRDaGFyc2V0KGRhdGEsIGxlbiwg
bW92ZWREYXRhVG9CdWZmZXIpKQotICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAgICAg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICAvLyBGSVhNRTogSXQgaXMgd3JvbmcgdG8gY2hh
bmdlIHRoZSBlbmNvZGluZyBkb3duc3RyZWFtIGFmdGVyIHdlIGhhdmUgYWxyZWFkeSBkb25lIHNv
bWUgZGVjb2RpbmcuCiAgICAgaWYgKHNob3VsZEF1dG9EZXRlY3QoKSkgewo=
</data>
<flag name="review"
          id="153639"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>