<?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>41438</bug_id>
          
          <creation_ts>2010-06-30 16:54:33 -0700</creation_ts>
          <short_desc>Abstract &apos;a&apos;-&apos;z&apos; checks into a function</short_desc>
          <delta_ts>2010-07-01 02:42:19 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>245015</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-30 16:54:33 -0700</bug_when>
    <thetext>Abstract &apos;a&apos;-&apos;z&apos; checks into a function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245021</commentid>
    <comment_count>1</comment_count>
      <attachid>60171</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-30 17:11:14 -0700</bug_when>
    <thetext>Created attachment 60171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245023</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-30 17:12:11 -0700</bug_when>
    <thetext>@Sam: I think you said there were some functions in a header somewhere that does this.  I couldn&apos;t find it.  Do you know where it is off-hand?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245025</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-30 17:15:12 -0700</bug_when>
    <thetext>wtf/ASCIICType.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245029</commentid>
    <comment_count>4</comment_count>
      <attachid>60171</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-30 17:21:39 -0700</bug_when>
    <thetext>Comment on attachment 60171
Patch

We should use the wtf functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245053</commentid>
    <comment_count>5</comment_count>
      <attachid>60171</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-06-30 18:48:45 -0700</bug_when>
    <thetext>Comment on attachment 60171
Patch

ASCIICType.h has all of these. You&apos;d want to use isASCIIUpper and isASCIILower and toASCIILower.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245132</commentid>
    <comment_count>6</comment_count>
      <attachid>60204</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-30 23:32:33 -0700</bug_when>
    <thetext>Created attachment 60204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245133</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-30 23:33:59 -0700</bug_when>
    <thetext>&gt; ASCIICType.h has all of these. You&apos;d want to use isASCIIUpper and isASCIILower and toASCIILower.

I didn&apos;t do toASCIILower because it&apos;s more complicated than what we&apos;re using (because we only call ours on ASCII upper chars), but I did the rest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245224</commentid>
    <comment_count>8</comment_count>
      <attachid>60204</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-01 02:42:15 -0700</bug_when>
    <thetext>Comment on attachment 60204
Patch

Clearing flags on attachment: 60204

Committed r62242: &lt;http://trac.webkit.org/changeset/62242&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245225</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-01 02:42:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60171</attachid>
            <date>2010-06-30 17:11:14 -0700</date>
            <delta_ts>2010-06-30 23:32:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41438-20100630171113.patch</filename>
            <type>text/plain</type>
            <size>12319</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NGJlMjI1OGYzMmEwMGZjNTcyN2U2Mjc0MDQxNjlkOTk5YmExNDQ0NS4uMzMwZmVlZjdjYzI2OGRh
YTg2OGI3ZWJjMGFhNjcyOWVjMjZmNDk1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwxOCBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIEFic3RyYWN0ICdhJy0neicgY2hlY2tz
IGludG8gYSBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDE0MzgKKworICAgICAgICBIb3BlZnVsbHkgdGhpcyB2ZXJzaW9uIGlzIG1vcmUg
cmVhZGFibGUuCisKKyAgICAgICAgKiBodG1sL0hUTUxUb2tlbml6ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFRva2VuaXplcjo6bmV4dFRva2VuKToKKworMjAxMC0wNi0zMCAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCiAgICAgICAgIEhUTUxUb2tlbml6ZXIncyB3aGl0ZXNwYWNlIGNoZWNrcyBhcmUg
dmVyeSByZWR1bmRhbnQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQxNDM0CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmNw
cCBiL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmNwcAppbmRleCA2OGRjNGRiNWQwYzQ3NmQ1
OWIyNmJkZmFiNzJhMWJlMDhlMzhhMjkwLi41ZGQ5MWU4ZmU3OTRjZjIzNjU0MTAwYzA5ZGZhYWU4
ZDlkYWVjY2Q2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5jcHAKKysr
IGIvV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6ZXIuY3BwCkBAIC00OCw5ICs0OCwxOSBAQCBjb25z
dCBVQ2hhciBIVE1MVG9rZW5pemVyOjpJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcjo6ZW5kT2ZGaWxl
TWFya2VyID0gMDsKIAogbmFtZXNwYWNlIHsKIAoraW5saW5lIGJvb2wgaXNBU0NJSVVwcGVyQ2Fz
ZShVQ2hhciBjYykKK3sKKyAgICByZXR1cm4gY2MgPj0gJ0EnICYmIGNjIDw9ICdaJzsKK30KKwor
aW5saW5lIGJvb2wgaXNBU0NJSUxvd2VyQ2FzZShVQ2hhciBjYykKK3sKKyAgICByZXR1cm4gY2Mg
Pj0gJ2EnICYmIGNjIDw9ICd6JzsKK30KKwogaW5saW5lIFVDaGFyIHRvTG93ZXJDYXNlKFVDaGFy
IGNjKQogewotICAgIEFTU0VSVChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKTsKKyAgICBBU1NFUlQo
aXNBU0NJSVVwcGVyQ2FzZShjYykpOwogICAgIGNvbnN0IGludCBsb3dlckNhc2VPZmZzZXQgPSAw
eDIwOwogICAgIHJldHVybiBjYyArIGxvd2VyQ2FzZU9mZnNldDsKIH0KQEAgLTM2NCwxMCArMzc0
LDEwIEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFN0cmluZyYgc291
cmNlLCBIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICAgICAgQURWQU5DRV9UTyhNYXJrdXBEZWNs
YXJhdGlvbk9wZW5TdGF0ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09ICcvJykKICAgICAgICAg
ICAgIEFEVkFOQ0VfVE8oRW5kVGFnT3BlblN0YXRlKTsKLSAgICAgICAgZWxzZSBpZiAoY2MgPj0g
J0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXJDYXNlKGNj
KSkgewogICAgICAgICAgICAgbV90b2tlbi0+YmVnaW5TdGFydFRhZyh0b0xvd2VyQ2FzZShjYykp
OwogICAgICAgICAgICAgQURWQU5DRV9UTyhUYWdOYW1lU3RhdGUpOwotICAgICAgICB9IGVsc2Ug
aWYgKGNjID49ICdhJyAmJiBjYyA8PSAneicpIHsKKyAgICAgICAgfSBlbHNlIGlmIChpc0FTQ0lJ
TG93ZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YmVnaW5TdGFydFRhZyhjYyk7
CiAgICAgICAgICAgICBBRFZBTkNFX1RPKFRhZ05hbWVTdGF0ZSk7CiAgICAgICAgIH0gZWxzZSBp
ZiAoY2MgPT0gJz8nKSB7CkBAIC0zODUsMTAgKzM5NSwxMCBAQCBib29sIEhUTUxUb2tlbml6ZXI6
Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuJiB0b2tlbikKICAg
ICBFTkRfU1RBVEUoKQogCiAgICAgQkVHSU5fU1RBVEUoRW5kVGFnT3BlblN0YXRlKSB7Ci0gICAg
ICAgIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAgIGlmIChpc0FTQ0lJVXBw
ZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YmVnaW5FbmRUYWcodG9Mb3dlckNh
c2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKLSAgICAgICAg
fSBlbHNlIGlmIChjYyA+PSAnYScgJiYgY2MgPD0gJ3onKSB7CisgICAgICAgIH0gZWxzZSBpZiAo
aXNBU0NJSUxvd2VyQ2FzZShjYykpIHsKICAgICAgICAgICAgIG1fdG9rZW4tPmJlZ2luRW5kVGFn
KGNjKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKICAgICAgICAgfSBl
bHNlIGlmIChjYyA9PSAnPicpIHsKQEAgLTQxMyw3ICs0MjMsNyBAQCBib29sIEhUTUxUb2tlbml6
ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuJiB0b2tlbikK
ICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2VsZkNsb3NpbmdTdGFydFRhZ1N0YXRlKTsKICAgICAg
ICAgZWxzZSBpZiAoY2MgPT0gJz4nKQogICAgICAgICAgICAgcmV0dXJuIGVtaXRBbmRSZXN1bWVJ
bihzb3VyY2UsIERhdGFTdGF0ZSk7Ci0gICAgICAgIGVsc2UgaWYgKGNjID49ICdBJyAmJiBjYyA8
PSAnWicpIHsKKyAgICAgICAgZWxzZSBpZiAoaXNBU0NJSVVwcGVyQ2FzZShjYykpIHsKICAgICAg
ICAgICAgIG1fdG9rZW4tPmFwcGVuZFRvTmFtZSh0b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAg
ICAgQURWQU5DRV9UTyhUYWdOYW1lU3RhdGUpOwogICAgICAgICB9IGlmIChjYyA9PSBJbnB1dFN0
cmVhbVByZXByb2Nlc3Nvcjo6ZW5kT2ZGaWxlTWFya2VyKSB7CkBAIC00MzksMTEgKzQ0OSwxMSBA
QCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwg
SFRNTFRva2VuJiB0b2tlbikKICAgICBFTkRfU1RBVEUoKQogCiAgICAgQkVHSU5fU1RBVEUoUkNE
QVRBRW5kVGFnT3BlblN0YXRlKSB7Ci0gICAgICAgIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1on
KSB7CisgICAgICAgIGlmIChpc0FTQ0lJVXBwZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgbV90
ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAgICAgICAgICAgIGFkZFRvUG9zc2libGVFbmRU
YWcodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oUkNEQVRBRW5kVGFn
TmFtZVN0YXRlKTsKLSAgICAgICAgfSBlbHNlIGlmIChjYyA+PSAnYScgJiYgY2MgPD0gJ3onKSB7
CisgICAgICAgIH0gZWxzZSBpZiAoaXNBU0NJSUxvd2VyQ2FzZShjYykpIHsKICAgICAgICAgICAg
IG1fdGVtcG9yYXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAgICAgICAgICAgICBhZGRUb1Bvc3NpYmxl
RW5kVGFnKGNjKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oUkNEQVRBRW5kVGFnTmFtZVN0YXRl
KTsKQEAgLTQ1NiwxMSArNDY2LDExIEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNl
Z21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2VuKQogICAgIEVORF9TVEFURSgp
CiAKICAgICBCRUdJTl9TVEFURShSQ0RBVEFFbmRUYWdOYW1lU3RhdGUpIHsKLSAgICAgICAgaWYg
KGNjID49ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAgICAgaWYgKGlzQVNDSUlVcHBlckNhc2Uo
Y2MpKSB7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQoY2MpOwogICAgICAg
ICAgICAgYWRkVG9Qb3NzaWJsZUVuZFRhZyh0b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAgICAg
QURWQU5DRV9UTyhSQ0RBVEFFbmRUYWdOYW1lU3RhdGUpOwotICAgICAgICB9IGVsc2UgaWYgKGNj
ID49ICdhJyAmJiBjYyA8PSAneicpIHsKKyAgICAgICAgfSBlbHNlIGlmIChpc0FTQ0lJTG93ZXJD
YXNlKGNjKSkgewogICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAg
ICAgICAgICAgIGFkZFRvUG9zc2libGVFbmRUYWcoY2MpOwogICAgICAgICAgICAgQURWQU5DRV9U
TyhSQ0RBVEFFbmRUYWdOYW1lU3RhdGUpOwpAQCAtNDk3LDExICs1MDcsMTEgQEAgYm9vbCBIVE1M
VG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYg
dG9rZW4pCiAgICAgRU5EX1NUQVRFKCkKIAogICAgIEJFR0lOX1NUQVRFKFJBV1RFWFRFbmRUYWdP
cGVuU3RhdGUpIHsKLSAgICAgICAgaWYgKGNjID49ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAg
ICAgaWYgKGlzQVNDSUlVcHBlckNhc2UoY2MpKSB7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1
ZmZlci5hcHBlbmQoY2MpOwogICAgICAgICAgICAgYWRkVG9Qb3NzaWJsZUVuZFRhZyh0b0xvd2Vy
Q2FzZShjYykpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhSQVdURVhURW5kVGFnTmFtZVN0YXRl
KTsKLSAgICAgICAgfSBlbHNlIGlmIChjYyA+PSAnYScgJiYgY2MgPD0gJ3onKSB7CisgICAgICAg
IH0gZWxzZSBpZiAoaXNBU0NJSUxvd2VyQ2FzZShjYykpIHsKICAgICAgICAgICAgIG1fdGVtcG9y
YXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAgICAgICAgICAgICBhZGRUb1Bvc3NpYmxlRW5kVGFnKGNj
KTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oUkFXVEVYVEVuZFRhZ05hbWVTdGF0ZSk7CkBAIC01
MTQsMTEgKzUyNCwxMSBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRT
dHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuJiB0b2tlbikKICAgICBFTkRfU1RBVEUoKQogCiAgICAg
QkVHSU5fU1RBVEUoUkFXVEVYVEVuZFRhZ05hbWVTdGF0ZSkgewotICAgICAgICBpZiAoY2MgPj0g
J0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICBpZiAoaXNBU0NJSVVwcGVyQ2FzZShjYykpIHsK
ICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAgICAgICAgICAgICBh
ZGRUb1Bvc3NpYmxlRW5kVGFnKHRvTG93ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBBRFZBTkNF
X1RPKFJBV1RFWFRFbmRUYWdOYW1lU3RhdGUpOwotICAgICAgICB9IGVsc2UgaWYgKGNjID49ICdh
JyAmJiBjYyA8PSAneicpIHsKKyAgICAgICAgfSBlbHNlIGlmIChpc0FTQ0lJTG93ZXJDYXNlKGNj
KSkgewogICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAgICAgICAg
ICAgIGFkZFRvUG9zc2libGVFbmRUYWcoY2MpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhSQVdU
RVhURW5kVGFnTmFtZVN0YXRlKTsKQEAgLTU1OSwxMSArNTY5LDExIEBAIGJvb2wgSFRNTFRva2Vu
aXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2Vu
KQogICAgIEVORF9TVEFURSgpCiAKICAgICBCRUdJTl9TVEFURShTY3JpcHREYXRhRW5kVGFnT3Bl
blN0YXRlKSB7Ci0gICAgICAgIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAg
IGlmIChpc0FTQ0lJVXBwZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZm
ZXIuYXBwZW5kKGNjKTsKICAgICAgICAgICAgIGFkZFRvUG9zc2libGVFbmRUYWcodG9Mb3dlckNh
c2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YUVuZFRhZ05hbWVTdGF0
ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYmIGNjIDw9ICd6JykgeworICAgICAg
ICB9IGVsc2UgaWYgKGlzQVNDSUlMb3dlckNhc2UoY2MpKSB7CiAgICAgICAgICAgICBtX3RlbXBv
cmFyeUJ1ZmZlci5hcHBlbmQoY2MpOwogICAgICAgICAgICAgYWRkVG9Qb3NzaWJsZUVuZFRhZyhj
Yyk7CiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNjcmlwdERhdGFFbmRUYWdOYW1lU3RhdGUpOwpA
QCAtNTc2LDExICs1ODYsMTEgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVu
dGVkU3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgRU5EX1NUQVRFKCkKIAog
ICAgIEJFR0lOX1NUQVRFKFNjcmlwdERhdGFFbmRUYWdOYW1lU3RhdGUpIHsKLSAgICAgICAgaWYg
KGNjID49ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAgICAgaWYgKGlzQVNDSUlVcHBlckNhc2Uo
Y2MpKSB7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQoY2MpOwogICAgICAg
ICAgICAgYWRkVG9Qb3NzaWJsZUVuZFRhZyh0b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAgICAg
QURWQU5DRV9UTyhTY3JpcHREYXRhRW5kVGFnTmFtZVN0YXRlKTsKLSAgICAgICAgfSBlbHNlIGlm
IChjYyA+PSAnYScgJiYgY2MgPD0gJ3onKSB7CisgICAgICAgIH0gZWxzZSBpZiAoaXNBU0NJSUxv
d2VyQ2FzZShjYykpIHsKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFwcGVuZChjYyk7
CiAgICAgICAgICAgICBhZGRUb1Bvc3NpYmxlRW5kVGFnKGNjKTsKICAgICAgICAgICAgIEFEVkFO
Q0VfVE8oU2NyaXB0RGF0YUVuZFRhZ05hbWVTdGF0ZSk7CkBAIC02NzgsMTMgKzY4OCwxMyBAQCBi
b29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgSFRN
TFRva2VuJiB0b2tlbikKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmNsZWFyKCk7CiAg
ICAgICAgICAgICBBU1NFUlQobV9idWZmZXJlZEVuZFRhZ05hbWUuaXNFbXB0eSgpKTsKICAgICAg
ICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YUVzY2FwZWRFbmRUYWdPcGVuU3RhdGUpOwotICAg
ICAgICB9IGVsc2UgaWYgKGNjID49ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAgICAgfSBlbHNl
IGlmIChpc0FTQ0lJVXBwZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgYnVmZmVyQ2hhcmFjdGVy
KCc8Jyk7CiAgICAgICAgICAgICBidWZmZXJDaGFyYWN0ZXIoY2MpOwogICAgICAgICAgICAgbV90
ZW1wb3JhcnlCdWZmZXIuY2xlYXIoKTsKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFw
cGVuZCh0b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRh
RG91YmxlRXNjYXBlU3RhcnRTdGF0ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYm
IGNjIDw9ICd6JykgeworICAgICAgICB9IGVsc2UgaWYgKGlzQVNDSUlMb3dlckNhc2UoY2MpKSB7
CiAgICAgICAgICAgICBidWZmZXJDaGFyYWN0ZXIoJzwnKTsKICAgICAgICAgICAgIGJ1ZmZlckNo
YXJhY3RlcihjYyk7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5jbGVhcigpOwpAQCAt
Njk4LDExICs3MDgsMTEgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVk
U3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgRU5EX1NUQVRFKCkKIAogICAg
IEJFR0lOX1NUQVRFKFNjcmlwdERhdGFFc2NhcGVkRW5kVGFnT3BlblN0YXRlKSB7Ci0gICAgICAg
IGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAgIGlmIChpc0FTQ0lJVXBwZXJD
YXNlKGNjKSkgewogICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAg
ICAgICAgICAgIGFkZFRvUG9zc2libGVFbmRUYWcodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAg
ICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YUVzY2FwZWRFbmRUYWdOYW1lU3RhdGUpOwotICAgICAg
ICB9IGVsc2UgaWYgKGNjID49ICdhJyAmJiBjYyA8PSAneicpIHsKKyAgICAgICAgfSBlbHNlIGlm
IChpc0FTQ0lJTG93ZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIu
YXBwZW5kKGNjKTsKICAgICAgICAgICAgIGFkZFRvUG9zc2libGVFbmRUYWcoY2MpOwogICAgICAg
ICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRhRXNjYXBlZEVuZFRhZ05hbWVTdGF0ZSk7CkBAIC03
MTUsMTEgKzcyNSwxMSBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRT
dHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuJiB0b2tlbikKICAgICBFTkRfU1RBVEUoKQogCiAgICAg
QkVHSU5fU1RBVEUoU2NyaXB0RGF0YUVzY2FwZWRFbmRUYWdOYW1lU3RhdGUpIHsKLSAgICAgICAg
aWYgKGNjID49ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAgICAgaWYgKGlzQVNDSUlVcHBlckNh
c2UoY2MpKSB7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQoY2MpOwogICAg
ICAgICAgICAgYWRkVG9Qb3NzaWJsZUVuZFRhZyh0b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAg
ICAgQURWQU5DRV9UTyhTY3JpcHREYXRhRXNjYXBlZEVuZFRhZ05hbWVTdGF0ZSk7Ci0gICAgICAg
IH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYmIGNjIDw9ICd6JykgeworICAgICAgICB9IGVsc2UgaWYg
KGlzQVNDSUlMb3dlckNhc2UoY2MpKSB7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5h
cHBlbmQoY2MpOwogICAgICAgICAgICAgYWRkVG9Qb3NzaWJsZUVuZFRhZyhjYyk7CiAgICAgICAg
ICAgICBBRFZBTkNFX1RPKFNjcmlwdERhdGFFc2NhcGVkRW5kVGFnTmFtZVN0YXRlKTsKQEAgLTc1
MCwxMSArNzYwLDExIEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFN0
cmluZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICAgICAgICAgIEFEVkFOQ0Vf
VE8oU2NyaXB0RGF0YURvdWJsZUVzY2FwZWRTdGF0ZSk7CiAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRhRXNjYXBlZFN0YXRlKTsKLSAgICAgICAg
fSBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAgIH0gZWxzZSBpZiAo
aXNBU0NJSVVwcGVyQ2FzZShjYykpIHsKICAgICAgICAgICAgIGJ1ZmZlckNoYXJhY3RlcihjYyk7
CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQodG9Mb3dlckNhc2UoY2MpKTsK
ICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YURvdWJsZUVzY2FwZVN0YXJ0U3RhdGUp
OwotICAgICAgICB9IGVsc2UgaWYgKGNjID49ICdhJyAmJiBjYyA8PSAneicpIHsKKyAgICAgICAg
fSBlbHNlIGlmIChpc0FTQ0lJTG93ZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgYnVmZmVyQ2hh
cmFjdGVyKGNjKTsKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAg
ICAgICAgICAgICBBRFZBTkNFX1RPKFNjcmlwdERhdGFEb3VibGVFc2NhcGVTdGFydFN0YXRlKTsK
QEAgLTgzNCwxMSArODQ0LDExIEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21l
bnRlZFN0cmluZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICAgICAgICAgIEFE
VkFOQ0VfVE8oU2NyaXB0RGF0YUVzY2FwZWRTdGF0ZSk7CiAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRhRG91YmxlRXNjYXBlZFN0YXRlKTsKLSAg
ICAgICAgfSBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAgIH0gZWxz
ZSBpZiAoaXNBU0NJSVVwcGVyQ2FzZShjYykpIHsKICAgICAgICAgICAgIGJ1ZmZlckNoYXJhY3Rl
cihjYyk7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQodG9Mb3dlckNhc2Uo
Y2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YURvdWJsZUVzY2FwZUVuZFN0
YXRlKTsKLSAgICAgICAgfSBlbHNlIGlmIChjYyA+PSAnYScgJiYgY2MgPD0gJ3onKSB7CisgICAg
ICAgIH0gZWxzZSBpZiAoaXNBU0NJSUxvd2VyQ2FzZShjYykpIHsKICAgICAgICAgICAgIGJ1ZmZl
ckNoYXJhY3RlcihjYyk7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQoY2Mp
OwogICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRhRG91YmxlRXNjYXBlRW5kU3RhdGUp
OwpAQCAtODU0LDcgKzg2NCw3IEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21l
bnRlZFN0cmluZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICAgICAgQURWQU5D
RV9UTyhTZWxmQ2xvc2luZ1N0YXJ0VGFnU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9PSAn
PicpCiAgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRl
KTsKLSAgICAgICAgZWxzZSBpZiAoY2MgPj0gJ0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICBl
bHNlIGlmIChpc0FTQ0lJVXBwZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YWRk
TmV3QXR0cmlidXRlKCk7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb0F0dHJpYnV0ZU5h
bWUodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oQXR0cmlidXRlTmFt
ZVN0YXRlKTsKQEAgLTg4MCw3ICs4OTAsNyBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tl
bihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgICAg
IEFEVkFOQ0VfVE8oQmVmb3JlQXR0cmlidXRlVmFsdWVTdGF0ZSk7CiAgICAgICAgIGVsc2UgaWYg
KGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291cmNlLCBE
YXRhU3RhdGUpOwotICAgICAgICBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7Cisg
ICAgICAgIGVsc2UgaWYgKGlzQVNDSUlVcHBlckNhc2UoY2MpKSB7CiAgICAgICAgICAgICBtX3Rv
a2VuLT5hcHBlbmRUb0F0dHJpYnV0ZU5hbWUodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAgICAg
IEFEVkFOQ0VfVE8oQXR0cmlidXRlTmFtZVN0YXRlKTsKICAgICAgICAgfSBlbHNlIGlmIChjYyA9
PSBJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcjo6ZW5kT2ZGaWxlTWFya2VyKSB7CkBAIC05MDQsNyAr
OTE0LDcgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkU3RyaW5nJiBz
b3VyY2UsIEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgICAgICBBRFZBTkNFX1RPKEJlZm9yZUF0
dHJpYnV0ZVZhbHVlU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9PSAnPicpCiAgICAgICAg
ICAgICByZXR1cm4gZW1pdEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKLSAgICAgICAg
ZWxzZSBpZiAoY2MgPj0gJ0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICBlbHNlIGlmIChpc0FT
Q0lJVXBwZXJDYXNlKGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YWRkTmV3QXR0cmlidXRl
KCk7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb0F0dHJpYnV0ZU5hbWUodG9Mb3dlckNh
c2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oQXR0cmlidXRlTmFtZVN0YXRlKTsKQEAg
LTEyNTAsNyArMTI2MCw3IEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRl
ZFN0cmluZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2VuKQogICAgIEJFR0lOX1NUQVRFKEJlZm9y
ZURPQ1RZUEVOYW1lU3RhdGUpIHsKICAgICAgICAgaWYgKGlzVG9rZW5pemVyV2hpdGVzcGFjZShj
YykpCiAgICAgICAgICAgICBBRFZBTkNFX1RPKEJlZm9yZURPQ1RZUEVOYW1lU3RhdGUpOwotICAg
ICAgICBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAgIGVsc2UgaWYg
KGlzQVNDSUlVcHBlckNhc2UoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5iZWdpbkRPQ1RZ
UEUodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oRE9DVFlQRU5hbWVT
dGF0ZSk7CiAgICAgICAgIH0gZWxzZSBpZiAoY2MgPT0gJz4nKSB7CkBAIC0xMjc1LDcgKzEyODUs
NyBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJj
ZSwgSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oQWZ0ZXJET0NUWVBF
TmFtZVN0YXRlKTsKICAgICAgICAgZWxzZSBpZiAoY2MgPT0gJz4nKQogICAgICAgICAgICAgcmV0
dXJuIGVtaXRBbmRSZXN1bWVJbihzb3VyY2UsIERhdGFTdGF0ZSk7Ci0gICAgICAgIGVsc2UgaWYg
KGNjID49ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAgICAgZWxzZSBpZiAoaXNBU0NJSVVwcGVy
Q2FzZShjYykpIHsKICAgICAgICAgICAgIG1fdG9rZW4tPmFwcGVuZFRvTmFtZSh0b0xvd2VyQ2Fz
ZShjYykpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhET0NUWVBFTmFtZVN0YXRlKTsKICAgICAg
ICAgfSBlbHNlIGlmIChjYyA9PSBJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcjo6ZW5kT2ZGaWxlTWFy
a2VyKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60204</attachid>
            <date>2010-06-30 23:32:33 -0700</date>
            <delta_ts>2010-07-01 02:42:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41438-20100630233231.patch</filename>
            <type>text/plain</type>
            <size>11405</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjIzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDYtMzAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBYnN0
cmFjdCAnYSctJ3onIGNoZWNrcyBpbnRvIGEgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNDM4CisKKyAgICAgICAgSG9wZWZ1bGx5IHRo
aXMgdmVyc2lvbiBpcyBtb3JlIHJlYWRhYmxlLgorCisgICAgICAgICogaHRtbC9IVE1MVG9rZW5p
emVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbik6CisK
IDIwMTAtMDYtMzAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFRva2VuaXplci5jcHAJKHJldmlz
aW9uIDYyMjMwKQorKysgV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiSFRNTFRva2VuLmgiCiAjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlIDx3dGYv
QVNDSUlDVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTUwLDcg
KzUxLDcgQEAgbmFtZXNwYWNlIHsKIAogaW5saW5lIFVDaGFyIHRvTG93ZXJDYXNlKFVDaGFyIGNj
KQogewotICAgIEFTU0VSVChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKTsKKyAgICBBU1NFUlQoaXNB
U0NJSVVwcGVyKGNjKSk7CiAgICAgY29uc3QgaW50IGxvd2VyQ2FzZU9mZnNldCA9IDB4MjA7CiAg
ICAgcmV0dXJuIGNjICsgbG93ZXJDYXNlT2Zmc2V0OwogfQpAQCAtMzY0LDEwICszNjUsMTAgQEAg
Ym9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwogICAgICAgICAgICAgQURW
QU5DRV9UTyhNYXJrdXBEZWNsYXJhdGlvbk9wZW5TdGF0ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNj
ID09ICcvJykKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oRW5kVGFnT3BlblN0YXRlKTsKLSAgICAg
ICAgZWxzZSBpZiAoY2MgPj0gJ0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICBlbHNlIGlmIChp
c0FTQ0lJVXBwZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5iZWdpblN0YXJ0VGFnKHRv
TG93ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBBRFZBTkNFX1RPKFRhZ05hbWVTdGF0ZSk7Ci0g
ICAgICAgIH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYmIGNjIDw9ICd6JykgeworICAgICAgICB9IGVs
c2UgaWYgKGlzQVNDSUlMb3dlcihjYykpIHsKICAgICAgICAgICAgIG1fdG9rZW4tPmJlZ2luU3Rh
cnRUYWcoY2MpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhUYWdOYW1lU3RhdGUpOwogICAgICAg
ICB9IGVsc2UgaWYgKGNjID09ICc/JykgewpAQCAtMzg1LDEwICszODYsMTAgQEAgYm9vbCBIVE1M
VG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwogICAgIEVORF9TVEFURSgpCiAKICAgICBC
RUdJTl9TVEFURShFbmRUYWdPcGVuU3RhdGUpIHsKLSAgICAgICAgaWYgKGNjID49ICdBJyAmJiBj
YyA8PSAnWicpIHsKKyAgICAgICAgaWYgKGlzQVNDSUlVcHBlcihjYykpIHsKICAgICAgICAgICAg
IG1fdG9rZW4tPmJlZ2luRW5kVGFnKHRvTG93ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBBRFZB
TkNFX1RPKFRhZ05hbWVTdGF0ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYmIGNj
IDw9ICd6JykgeworICAgICAgICB9IGVsc2UgaWYgKGlzQVNDSUlMb3dlcihjYykpIHsKICAgICAg
ICAgICAgIG1fdG9rZW4tPmJlZ2luRW5kVGFnKGNjKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8o
VGFnTmFtZVN0YXRlKTsKICAgICAgICAgfSBlbHNlIGlmIChjYyA9PSAnPicpIHsKQEAgLTQxMyw3
ICs0MTQsNyBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAg
ICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAgIGVs
c2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291
cmNlLCBEYXRhU3RhdGUpOwotICAgICAgICBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1on
KSB7CisgICAgICAgIGVsc2UgaWYgKGlzQVNDSUlVcHBlcihjYykpIHsKICAgICAgICAgICAgIG1f
dG9rZW4tPmFwcGVuZFRvTmFtZSh0b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAgICAgQURWQU5D
RV9UTyhUYWdOYW1lU3RhdGUpOwogICAgICAgICB9IGlmIChjYyA9PSBJbnB1dFN0cmVhbVByZXBy
b2Nlc3Nvcjo6ZW5kT2ZGaWxlTWFya2VyKSB7CkBAIC00MzksMTEgKzQ0MCwxMSBAQCBib29sIEhU
TUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAgRU5EX1NUQVRFKCkKIAogICAg
IEJFR0lOX1NUQVRFKFJDREFUQUVuZFRhZ09wZW5TdGF0ZSkgewotICAgICAgICBpZiAoY2MgPj0g
J0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICBpZiAoaXNBU0NJSVVwcGVyKGNjKSkgewogICAg
ICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAgICAgICAgICAgIGFkZFRv
UG9zc2libGVFbmRUYWcodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8o
UkNEQVRBRW5kVGFnTmFtZVN0YXRlKTsKLSAgICAgICAgfSBlbHNlIGlmIChjYyA+PSAnYScgJiYg
Y2MgPD0gJ3onKSB7CisgICAgICAgIH0gZWxzZSBpZiAoaXNBU0NJSUxvd2VyKGNjKSkgewogICAg
ICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAgICAgICAgICAgIGFkZFRv
UG9zc2libGVFbmRUYWcoY2MpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhSQ0RBVEFFbmRUYWdO
YW1lU3RhdGUpOwpAQCAtNDU2LDExICs0NTcsMTEgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0
VG9rZW4oU2VnbWVudGVkUwogICAgIEVORF9TVEFURSgpCiAKICAgICBCRUdJTl9TVEFURShSQ0RB
VEFFbmRUYWdOYW1lU3RhdGUpIHsKLSAgICAgICAgaWYgKGNjID49ICdBJyAmJiBjYyA8PSAnWicp
IHsKKyAgICAgICAgaWYgKGlzQVNDSUlVcHBlcihjYykpIHsKICAgICAgICAgICAgIG1fdGVtcG9y
YXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAgICAgICAgICAgICBhZGRUb1Bvc3NpYmxlRW5kVGFnKHRv
TG93ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBBRFZBTkNFX1RPKFJDREFUQUVuZFRhZ05hbWVT
dGF0ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYmIGNjIDw9ICd6JykgeworICAg
ICAgICB9IGVsc2UgaWYgKGlzQVNDSUlMb3dlcihjYykpIHsKICAgICAgICAgICAgIG1fdGVtcG9y
YXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAgICAgICAgICAgICBhZGRUb1Bvc3NpYmxlRW5kVGFnKGNj
KTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oUkNEQVRBRW5kVGFnTmFtZVN0YXRlKTsKQEAgLTQ5
NywxMSArNDk4LDExIEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFMK
ICAgICBFTkRfU1RBVEUoKQogCiAgICAgQkVHSU5fU1RBVEUoUkFXVEVYVEVuZFRhZ09wZW5TdGF0
ZSkgewotICAgICAgICBpZiAoY2MgPj0gJ0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICBpZiAo
aXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5k
KGNjKTsKICAgICAgICAgICAgIGFkZFRvUG9zc2libGVFbmRUYWcodG9Mb3dlckNhc2UoY2MpKTsK
ICAgICAgICAgICAgIEFEVkFOQ0VfVE8oUkFXVEVYVEVuZFRhZ05hbWVTdGF0ZSk7Ci0gICAgICAg
IH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYmIGNjIDw9ICd6JykgeworICAgICAgICB9IGVsc2UgaWYg
KGlzQVNDSUlMb3dlcihjYykpIHsKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFwcGVu
ZChjYyk7CiAgICAgICAgICAgICBhZGRUb1Bvc3NpYmxlRW5kVGFnKGNjKTsKICAgICAgICAgICAg
IEFEVkFOQ0VfVE8oUkFXVEVYVEVuZFRhZ05hbWVTdGF0ZSk7CkBAIC01MTQsMTEgKzUxNSwxMSBA
QCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAgRU5EX1NUQVRF
KCkKIAogICAgIEJFR0lOX1NUQVRFKFJBV1RFWFRFbmRUYWdOYW1lU3RhdGUpIHsKLSAgICAgICAg
aWYgKGNjID49ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAgICAgaWYgKGlzQVNDSUlVcHBlcihj
YykpIHsKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAgICAgICAg
ICAgICBhZGRUb1Bvc3NpYmxlRW5kVGFnKHRvTG93ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBB
RFZBTkNFX1RPKFJBV1RFWFRFbmRUYWdOYW1lU3RhdGUpOwotICAgICAgICB9IGVsc2UgaWYgKGNj
ID49ICdhJyAmJiBjYyA8PSAneicpIHsKKyAgICAgICAgfSBlbHNlIGlmIChpc0FTQ0lJTG93ZXIo
Y2MpKSB7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQoY2MpOwogICAgICAg
ICAgICAgYWRkVG9Qb3NzaWJsZUVuZFRhZyhjYyk7CiAgICAgICAgICAgICBBRFZBTkNFX1RPKFJB
V1RFWFRFbmRUYWdOYW1lU3RhdGUpOwpAQCAtNTU5LDExICs1NjAsMTEgQEAgYm9vbCBIVE1MVG9r
ZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwogICAgIEVORF9TVEFURSgpCiAKICAgICBCRUdJ
Tl9TVEFURShTY3JpcHREYXRhRW5kVGFnT3BlblN0YXRlKSB7Ci0gICAgICAgIGlmIChjYyA+PSAn
QScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAgIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7CiAgICAg
ICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQoY2MpOwogICAgICAgICAgICAgYWRkVG9Q
b3NzaWJsZUVuZFRhZyh0b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhT
Y3JpcHREYXRhRW5kVGFnTmFtZVN0YXRlKTsKLSAgICAgICAgfSBlbHNlIGlmIChjYyA+PSAnYScg
JiYgY2MgPD0gJ3onKSB7CisgICAgICAgIH0gZWxzZSBpZiAoaXNBU0NJSUxvd2VyKGNjKSkgewog
ICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAgICAgICAgICAgIGFk
ZFRvUG9zc2libGVFbmRUYWcoY2MpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRh
RW5kVGFnTmFtZVN0YXRlKTsKQEAgLTU3NiwxMSArNTc3LDExIEBAIGJvb2wgSFRNTFRva2VuaXpl
cjo6bmV4dFRva2VuKFNlZ21lbnRlZFMKICAgICBFTkRfU1RBVEUoKQogCiAgICAgQkVHSU5fU1RB
VEUoU2NyaXB0RGF0YUVuZFRhZ05hbWVTdGF0ZSkgewotICAgICAgICBpZiAoY2MgPj0gJ0EnICYm
IGNjIDw9ICdaJykgeworICAgICAgICBpZiAoaXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAg
ICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAgICAgICAgICAgIGFkZFRvUG9zc2li
bGVFbmRUYWcodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0
RGF0YUVuZFRhZ05hbWVTdGF0ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYmIGNj
IDw9ICd6JykgeworICAgICAgICB9IGVsc2UgaWYgKGlzQVNDSUlMb3dlcihjYykpIHsKICAgICAg
ICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAgICAgICAgICAgICBhZGRUb1Bv
c3NpYmxlRW5kVGFnKGNjKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YUVuZFRh
Z05hbWVTdGF0ZSk7CkBAIC02NzgsMTMgKzY3OSwxMyBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5l
eHRUb2tlbihTZWdtZW50ZWRTCiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5jbGVhcigp
OwogICAgICAgICAgICAgQVNTRVJUKG1fYnVmZmVyZWRFbmRUYWdOYW1lLmlzRW1wdHkoKSk7CiAg
ICAgICAgICAgICBBRFZBTkNFX1RPKFNjcmlwdERhdGFFc2NhcGVkRW5kVGFnT3BlblN0YXRlKTsK
LSAgICAgICAgfSBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAgIH0g
ZWxzZSBpZiAoaXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAgYnVmZmVyQ2hhcmFjdGVy
KCc8Jyk7CiAgICAgICAgICAgICBidWZmZXJDaGFyYWN0ZXIoY2MpOwogICAgICAgICAgICAgbV90
ZW1wb3JhcnlCdWZmZXIuY2xlYXIoKTsKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFw
cGVuZCh0b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRh
RG91YmxlRXNjYXBlU3RhcnRTdGF0ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYm
IGNjIDw9ICd6JykgeworICAgICAgICB9IGVsc2UgaWYgKGlzQVNDSUlMb3dlcihjYykpIHsKICAg
ICAgICAgICAgIGJ1ZmZlckNoYXJhY3RlcignPCcpOwogICAgICAgICAgICAgYnVmZmVyQ2hhcmFj
dGVyKGNjKTsKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmNsZWFyKCk7CkBAIC02OTgs
MTEgKzY5OSwxMSBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAg
ICAgRU5EX1NUQVRFKCkKIAogICAgIEJFR0lOX1NUQVRFKFNjcmlwdERhdGFFc2NhcGVkRW5kVGFn
T3BlblN0YXRlKSB7Ci0gICAgICAgIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAg
ICAgIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZl
ci5hcHBlbmQoY2MpOwogICAgICAgICAgICAgYWRkVG9Qb3NzaWJsZUVuZFRhZyh0b0xvd2VyQ2Fz
ZShjYykpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRhRXNjYXBlZEVuZFRhZ05h
bWVTdGF0ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoY2MgPj0gJ2EnICYmIGNjIDw9ICd6Jykgewor
ICAgICAgICB9IGVsc2UgaWYgKGlzQVNDSUlMb3dlcihjYykpIHsKICAgICAgICAgICAgIG1fdGVt
cG9yYXJ5QnVmZmVyLmFwcGVuZChjYyk7CiAgICAgICAgICAgICBhZGRUb1Bvc3NpYmxlRW5kVGFn
KGNjKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YUVzY2FwZWRFbmRUYWdOYW1l
U3RhdGUpOwpAQCAtNzE1LDExICs3MTYsMTEgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9r
ZW4oU2VnbWVudGVkUwogICAgIEVORF9TVEFURSgpCiAKICAgICBCRUdJTl9TVEFURShTY3JpcHRE
YXRhRXNjYXBlZEVuZFRhZ05hbWVTdGF0ZSkgewotICAgICAgICBpZiAoY2MgPj0gJ0EnICYmIGNj
IDw9ICdaJykgeworICAgICAgICBpZiAoaXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAg
bV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAgICAgICAgICAgIGFkZFRvUG9zc2libGVF
bmRUYWcodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0
YUVzY2FwZWRFbmRUYWdOYW1lU3RhdGUpOwotICAgICAgICB9IGVsc2UgaWYgKGNjID49ICdhJyAm
JiBjYyA8PSAneicpIHsKKyAgICAgICAgfSBlbHNlIGlmIChpc0FTQ0lJTG93ZXIoY2MpKSB7CiAg
ICAgICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQoY2MpOwogICAgICAgICAgICAgYWRk
VG9Qb3NzaWJsZUVuZFRhZyhjYyk7CiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNjcmlwdERhdGFF
c2NhcGVkRW5kVGFnTmFtZVN0YXRlKTsKQEAgLTc1MCwxMSArNzUxLDExIEBAIGJvb2wgSFRNTFRv
a2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFMKICAgICAgICAgICAgICAgICBBRFZBTkNFX1RP
KFNjcmlwdERhdGFEb3VibGVFc2NhcGVkU3RhdGUpOwogICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YUVzY2FwZWRTdGF0ZSk7Ci0gICAgICAgIH0g
ZWxzZSBpZiAoY2MgPj0gJ0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICB9IGVsc2UgaWYgKGlz
QVNDSUlVcHBlcihjYykpIHsKICAgICAgICAgICAgIGJ1ZmZlckNoYXJhY3RlcihjYyk7CiAgICAg
ICAgICAgICBtX3RlbXBvcmFyeUJ1ZmZlci5hcHBlbmQodG9Mb3dlckNhc2UoY2MpKTsKICAgICAg
ICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YURvdWJsZUVzY2FwZVN0YXJ0U3RhdGUpOwotICAg
ICAgICB9IGVsc2UgaWYgKGNjID49ICdhJyAmJiBjYyA8PSAneicpIHsKKyAgICAgICAgfSBlbHNl
IGlmIChpc0FTQ0lJTG93ZXIoY2MpKSB7CiAgICAgICAgICAgICBidWZmZXJDaGFyYWN0ZXIoY2Mp
OwogICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBwZW5kKGNjKTsKICAgICAgICAgICAg
IEFEVkFOQ0VfVE8oU2NyaXB0RGF0YURvdWJsZUVzY2FwZVN0YXJ0U3RhdGUpOwpAQCAtODM0LDEx
ICs4MzUsMTEgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwogICAg
ICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YUVzY2FwZWRTdGF0ZSk7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRhRG91YmxlRXNj
YXBlZFN0YXRlKTsKLSAgICAgICAgfSBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7
CisgICAgICAgIH0gZWxzZSBpZiAoaXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAgYnVm
ZmVyQ2hhcmFjdGVyKGNjKTsKICAgICAgICAgICAgIG1fdGVtcG9yYXJ5QnVmZmVyLmFwcGVuZCh0
b0xvd2VyQ2FzZShjYykpOwogICAgICAgICAgICAgQURWQU5DRV9UTyhTY3JpcHREYXRhRG91Ymxl
RXNjYXBlRW5kU3RhdGUpOwotICAgICAgICB9IGVsc2UgaWYgKGNjID49ICdhJyAmJiBjYyA8PSAn
eicpIHsKKyAgICAgICAgfSBlbHNlIGlmIChpc0FTQ0lJTG93ZXIoY2MpKSB7CiAgICAgICAgICAg
ICBidWZmZXJDaGFyYWN0ZXIoY2MpOwogICAgICAgICAgICAgbV90ZW1wb3JhcnlCdWZmZXIuYXBw
ZW5kKGNjKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oU2NyaXB0RGF0YURvdWJsZUVzY2FwZUVu
ZFN0YXRlKTsKQEAgLTg1NCw3ICs4NTUsNyBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tl
bihTZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdT
dGF0ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBl
bWl0QW5kUmVzdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwotICAgICAgICBlbHNlIGlmIChjYyA+
PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAgICAgIGVsc2UgaWYgKGlzQVNDSUlVcHBlcihjYykp
IHsKICAgICAgICAgICAgIG1fdG9rZW4tPmFkZE5ld0F0dHJpYnV0ZSgpOwogICAgICAgICAgICAg
bV90b2tlbi0+YXBwZW5kVG9BdHRyaWJ1dGVOYW1lKHRvTG93ZXJDYXNlKGNjKSk7CiAgICAgICAg
ICAgICBBRFZBTkNFX1RPKEF0dHJpYnV0ZU5hbWVTdGF0ZSk7CkBAIC04ODAsNyArODgxLDcgQEAg
Ym9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwogICAgICAgICAgICAgQURW
QU5DRV9UTyhCZWZvcmVBdHRyaWJ1dGVWYWx1ZVN0YXRlKTsKICAgICAgICAgZWxzZSBpZiAoY2Mg
PT0gJz4nKQogICAgICAgICAgICAgcmV0dXJuIGVtaXRBbmRSZXN1bWVJbihzb3VyY2UsIERhdGFT
dGF0ZSk7Ci0gICAgICAgIGVsc2UgaWYgKGNjID49ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAg
ICAgZWxzZSBpZiAoaXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YXBw
ZW5kVG9BdHRyaWJ1dGVOYW1lKHRvTG93ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBBRFZBTkNF
X1RPKEF0dHJpYnV0ZU5hbWVTdGF0ZSk7CiAgICAgICAgIH0gZWxzZSBpZiAoY2MgPT0gSW5wdXRT
dHJlYW1QcmVwcm9jZXNzb3I6OmVuZE9mRmlsZU1hcmtlcikgewpAQCAtOTA0LDcgKzkwNSw3IEBA
IGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFMKICAgICAgICAgICAgIEFE
VkFOQ0VfVE8oQmVmb3JlQXR0cmlidXRlVmFsdWVTdGF0ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNj
ID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291cmNlLCBEYXRh
U3RhdGUpOwotICAgICAgICBlbHNlIGlmIChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKSB7CisgICAg
ICAgIGVsc2UgaWYgKGlzQVNDSUlVcHBlcihjYykpIHsKICAgICAgICAgICAgIG1fdG9rZW4tPmFk
ZE5ld0F0dHJpYnV0ZSgpOwogICAgICAgICAgICAgbV90b2tlbi0+YXBwZW5kVG9BdHRyaWJ1dGVO
YW1lKHRvTG93ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBBRFZBTkNFX1RPKEF0dHJpYnV0ZU5h
bWVTdGF0ZSk7CkBAIC0xMjUwLDcgKzEyNTEsNyBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRU
b2tlbihTZWdtZW50ZWRTCiAgICAgQkVHSU5fU1RBVEUoQmVmb3JlRE9DVFlQRU5hbWVTdGF0ZSkg
ewogICAgICAgICBpZiAoaXNUb2tlbml6ZXJXaGl0ZXNwYWNlKGNjKSkKICAgICAgICAgICAgIEFE
VkFOQ0VfVE8oQmVmb3JlRE9DVFlQRU5hbWVTdGF0ZSk7Ci0gICAgICAgIGVsc2UgaWYgKGNjID49
ICdBJyAmJiBjYyA8PSAnWicpIHsKKyAgICAgICAgZWxzZSBpZiAoaXNBU0NJSVVwcGVyKGNjKSkg
ewogICAgICAgICAgICAgbV90b2tlbi0+YmVnaW5ET0NUWVBFKHRvTG93ZXJDYXNlKGNjKSk7CiAg
ICAgICAgICAgICBBRFZBTkNFX1RPKERPQ1RZUEVOYW1lU3RhdGUpOwogICAgICAgICB9IGVsc2Ug
aWYgKGNjID09ICc+JykgewpAQCAtMTI3NSw3ICsxMjc2LDcgQEAgYm9vbCBIVE1MVG9rZW5pemVy
OjpuZXh0VG9rZW4oU2VnbWVudGVkUwogICAgICAgICAgICAgQURWQU5DRV9UTyhBZnRlckRPQ1RZ
UEVOYW1lU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9PSAnPicpCiAgICAgICAgICAgICBy
ZXR1cm4gZW1pdEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKLSAgICAgICAgZWxzZSBp
ZiAoY2MgPj0gJ0EnICYmIGNjIDw9ICdaJykgeworICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBw
ZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb05hbWUodG9Mb3dlckNhc2Uo
Y2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oRE9DVFlQRU5hbWVTdGF0ZSk7CiAgICAgICAg
IH0gZWxzZSBpZiAoY2MgPT0gSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3I6OmVuZE9mRmlsZU1hcmtl
cikgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>