<?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>31700</bug_id>
          
          <creation_ts>2009-11-19 19:11:52 -0800</creation_ts>
          <short_desc>Web Inspector: isMac should be in one central location + Cached</short_desc>
          <delta_ts>2009-11-20 11:52:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</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>
          <dependson>31699</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>165175</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-19 19:11:52 -0800</bug_when>
    <thetext>We have the same isMac code in multiple places throughout the code base. This should be refactored into a WebInspector.isMac, where that value can be cached, for the same reasons as webkit.org/b/31699. The refactoring would put the call to indexOf in one place, and we could cache the result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165365</commentid>
    <comment_count>1</comment_count>
      <attachid>43597</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-20 11:03:57 -0800</bug_when>
    <thetext>Created attachment 43597
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165375</commentid>
    <comment_count>2</comment_count>
      <attachid>43597</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-11-20 11:24:25 -0800</bug_when>
    <thetext>Comment on attachment 43597
[PATCH] Fix

WebInspector.isMac should be a function, since it asks a question with it&apos;s name. Otherwise r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165385</commentid>
    <comment_count>3</comment_count>
      <attachid>43600</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-20 11:45:42 -0800</bug_when>
    <thetext>Created attachment 43600
[PATCH] Use function instead of getter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165387</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-20 11:52:13 -0800</bug_when>
    <thetext>Landed in r51250.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43597</attachid>
            <date>2009-11-20 11:03:57 -0800</date>
            <delta_ts>2009-11-20 11:45:42 -0800</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>isMac.patch</filename>
            <type>text/plain</type>
            <size>6238</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTI0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMDktMTEtMjAgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzMxNzAwPi4KKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogaXNNYWMgc2hvdWxkIGJlIGluIG9uZSBjZW50cmFsIGxvY2F0aW9uICsgQ2FjaGVkLgor
ICAgICAgICAKKyAgICAgICAgV2Ugc2hvdWxkIGNhY2hlIHRoZSB2YWx1ZSBvZiBpc01hYywgYW5k
IG1ha2UgdGhlIGluZGV4T2YgY2FsbCBpbiBvbmUKKyAgICAgICAgc2luZ2xlIGxvY2F0aW9uLCBi
ZWNhdXNlIHdlIGFyZSBjYWxsaW5nIGl0IGZyb20gbXVsdGlwbGUgcGxhY2VzLCBhbmQgc2F2aW5n
CisgICAgICAgIHRoZSByZXN1bHQgY2FuIHNhdmUgdXMgdGltZSwgYW5kIG1ha2UgdGhlIGNhbGwg
c2l0ZXMgc2ltcGxlci4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQWJzdHJhY3RU
aW1lbGluZVBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxpbmVQ
YW5lbC5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5w
cm90b3R5cGUuX3VwZGF0ZUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9F
bGVtZW50c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJv
dG90eXBlLmhhbmRsZUtleUV2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLl9sb2FkZWQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmdldCBp
c01hYyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuZG9jdW1lbnRLZXlEb3duKToKKwogMjAwOS0x
MS0yMCAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKSW5kZXg6IFdl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVsaW5lUGFuZWwuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Fic3RyYWN0VGltZWxpbmVQYW5l
bC5qcwkocmV2aXNpb24gNTEyNDIpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWJz
dHJhY3RUaW1lbGluZVBhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xODksNyArMTg5LDcgQEAg
V2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxpbmVQYW5lbC5wcm90bwogCiAgICAgX3VwZGF0ZUZp
bHRlcjogZnVuY3Rpb24oZSkKICAgICB7Ci0gICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rv
ci5wbGF0Zm9ybS5pbmRleE9mKCJtYWMtIikgPT09IDA7CisgICAgICAgIHZhciBpc01hYyA9IFdl
Ykluc3BlY3Rvci5pc01hYzsKICAgICAgICAgdmFyIHNlbGVjdE11bHRpcGxlID0gZmFsc2U7CiAg
ICAgICAgIGlmIChpc01hYyAmJiBlLm1ldGFLZXkgJiYgIWUuY3RybEtleSAmJiAhZS5hbHRLZXkg
JiYgIWUuc2hpZnRLZXkpCiAgICAgICAgICAgICBzZWxlY3RNdWx0aXBsZSA9IHRydWU7CkluZGV4
OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCShyZXZpc2lvbiA1
MTI0MikKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwkod29y
a2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5w
cm90b3R5cGUgPSB7CiAgICAgCiAgICAgX3VwZGF0ZUZpbHRlcjogZnVuY3Rpb24oZSkKICAgICB7
Ci0gICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5wbGF0Zm9ybS5pbmRleE9mKCJtYWMt
IikgPT09IDA7CisgICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5pc01hYzsKICAgICAg
ICAgdmFyIHNlbGVjdE11bHRpcGxlID0gZmFsc2U7CiAgICAgICAgIGlmIChpc01hYyAmJiBlLm1l
dGFLZXkgJiYgIWUuY3RybEtleSAmJiAhZS5hbHRLZXkgJiYgIWUuc2hpZnRLZXkpCiAgICAgICAg
ICAgICBzZWxlY3RNdWx0aXBsZSA9IHRydWU7CkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRWxlbWVudHNQYW5lbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwkocmV2aXNpb24gNTEyNDIpCisrKyBXZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTAw
MSw4ICsxMDAxLDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewog
ICAgICAgICAvLyBDbWQvQ29udHJvbCArIFNoaWZ0ICsgQyBzaG91bGQgYmUgYSBzaG9ydGN1dCB0
byBjbGlja2luZyB0aGUgTm9kZSBTZWFyY2ggQnV0dG9uLgogICAgICAgICAvLyBUaGlzIHNob3J0
Y3V0IG1hdGNoZXMgRmlyZWJ1Zy4KICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09
ICJVKzAwNDMiKSB7ICAgICAvLyBDIGtleQotICAgICAgICAgICAgdmFyIGlzTWFjID0gV2ViSW5z
cGVjdG9yLnBsYXRmb3JtLmluZGV4T2YoIm1hYy0iKSA9PT0gMDsKLSAgICAgICAgICAgIGlmIChp
c01hYykKKyAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuaXNNYWMpCiAgICAgICAgICAgICAg
ICAgdmFyIGlzTm9kZVNlYXJjaEtleSA9IGV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkg
JiYgIWV2ZW50LmFsdEtleSAmJiBldmVudC5zaGlmdEtleTsKICAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgICB2YXIgaXNOb2RlU2VhcmNoS2V5ID0gZXZlbnQuY3RybEtleSAmJiAhZXZl
bnQubWV0YUtleSAmJiAhZXZlbnQuYWx0S2V5ICYmIGV2ZW50LnNoaWZ0S2V5OwpJbmRleDogV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCShyZXZpc2lvbiA1MTI0
MikKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMJKHdvcmtp
bmcgY29weSkKQEAgLTE2Miw4ICsxNjIsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsID0g
ZnVuY3Rpb24oKQogCiAgICAgdGhpcy5fc2hvcnRjdXRzID0ge307CiAKLSAgICB2YXIgaXNNYWMg
PSBXZWJJbnNwZWN0b3IucGxhdGZvcm0uaW5kZXhPZigibWFjLSIpID09PSAwOwotICAgIHZhciBw
bGF0Zm9ybVNwZWNpZmljTW9kaWZpZXIgPSBpc01hYyA/IFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0Lk1vZGlmaWVycy5NZXRhIDogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9k
aWZpZXJzLkN0cmw7CisgICAgdmFyIHBsYXRmb3JtU3BlY2lmaWNNb2RpZmllciA9IFdlYkluc3Bl
Y3Rvci5pc01hYyA/IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5NZXRh
IDogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0cmw7CiAKICAgICAv
LyBDb250aW51ZS4KICAgICB2YXIgaGFuZGxlciA9IHRoaXMucGF1c2VCdXR0b24uY2xpY2suYmlu
ZCh0aGlzLnBhdXNlQnV0dG9uKTsKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VGcmFtZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlRnJhbWUuanMJKHJldmlzaW9uIDUxMjQyKQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NvdXJjZUZyYW1lLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMDcsOCArMjA3LDcgQEAg
V2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5lbGVt
ZW50LmNvbnRlbnREb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRBbmltYXRpb25FbmQi
LCB0aGlzLl9oaWdobGlnaHRMaW5lRW5kcy5iaW5kKHRoaXMpLCBmYWxzZSk7CiAKICAgICAgICAg
Ly8gUmVnaXN0ZXIgJ2V2YWwnIHNob3J0Y3V0LgotICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNw
ZWN0b3IucGxhdGZvcm0uaW5kZXhPZigibWFjLSIpID09PSAwOwotICAgICAgICB2YXIgcGxhdGZv
cm1TcGVjaWZpY01vZGlmaWVyID0gaXNNYWMgPyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllcnMuTWV0YSA6IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVy
cy5DdHJsOworICAgICAgICB2YXIgcGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyID0gV2ViSW5zcGVj
dG9yLmlzTWFjID8gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLk1ldGEg
OiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuQ3RybDsKICAgICAgICAg
dmFyIHNob3J0Y3V0ID0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZUtleSg2OSAv
KiAnRScgKi8sIHBsYXRmb3JtU3BlY2lmaWNNb2RpZmllciB8IFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCk7CiAgICAgICAgIHRoaXMuX3Nob3J0Y3V0c1tzaG9y
dGN1dF0gPSB0aGlzLl9ldmFsU2VsZWN0aW9uSW5DYWxsRnJhbWUuYmluZCh0aGlzKTsKIApJbmRl
eDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCShyZXZpc2lvbiA1MTI0
MikKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTczLDYgKzczLDE0IEBAIHZhciBXZWJJbnNwZWN0b3IgPSB7CiAgICAgY29va2ll
RG9tYWluczoge30sCiAgICAgbWlzc2luZ0xvY2FsaXplZFN0cmluZ3M6IHt9LAogICAgIAorICAg
IGdldCBpc01hYygpCisgICAgeworICAgICAgICBpZiAoISgiX2lzTWFjIiBpbiB0aGlzKSkKKyAg
ICAgICAgICAgIHRoaXMuX2lzTWFjID0gV2ViSW5zcGVjdG9yLnBsYXRmb3JtLmluZGV4T2YoIm1h
Yy0iKSA9PT0gMDsKKyAgICAgICAgCisgICAgICAgIHJldHVybiB0aGlzLl9pc01hYzsKKyAgICB9
LAorICAgIAogICAgIGdldCBwbGF0Zm9ybSgpCiAgICAgewogICAgICAgICBpZiAoISgiX3BsYXRm
b3JtIiBpbiB0aGlzKSkKQEAgLTYzNiw3ICs2NDQsNyBAQCBXZWJJbnNwZWN0b3IuZG9jdW1lbnRL
ZXlEb3duID0gZnVuY3Rpb24oCiAgICAgICAgIFdlYkluc3BlY3Rvclt0aGlzLmN1cnJlbnRGb2N1
c0VsZW1lbnQuaWQgKyAiS2V5RG93biJdKGV2ZW50KTsKIAogICAgIGlmICghZXZlbnQuaGFuZGxl
ZCkgewotICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0b3IucGxhdGZvcm0uaW5kZXhPZigi
bWFjLSIpID09PSAwOworICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0b3IuaXNNYWM7CiAK
ICAgICAgICAgc3dpdGNoIChldmVudC5rZXlJZGVudGlmaWVyKSB7CiAgICAgICAgICAgICBjYXNl
ICJVKzAwMUIiOiAvLyBFc2NhcGUga2V5Cg==
</data>
<flag name="review"
          id="25337"
          type_id="1"
          status="-"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="25338"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43600</attachid>
            <date>2009-11-20 11:45:42 -0800</date>
            <delta_ts>2009-11-20 11:47:40 -0800</delta_ts>
            <desc>[PATCH] Use function instead of getter</desc>
            <filename>isMac.patch</filename>
            <type>text/plain</type>
            <size>6353</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTI0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMDktMTEtMjAgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzMxNzAwPi4KKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogaXNNYWMgc2hvdWxkIGJlIGluIG9uZSBjZW50cmFsIGxvY2F0aW9uICsgQ2FjaGVkLgor
ICAgICAgICAKKyAgICAgICAgV2Ugc2hvdWxkIGNhY2hlIHRoZSB2YWx1ZSBvZiBpc01hYywgYW5k
IG1ha2UgdGhlIGluZGV4T2YgY2FsbCBpbiBvbmUKKyAgICAgICAgc2luZ2xlIGxvY2F0aW9uLCBi
ZWNhdXNlIHdlIGFyZSBjYWxsaW5nIGl0IGZyb20gbXVsdGlwbGUgcGxhY2VzLCBhbmQgc2F2aW5n
CisgICAgICAgIHRoZSByZXN1bHQgY2FuIHNhdmUgdXMgdGltZSwgYW5kIG1ha2UgdGhlIGNhbGwg
c2l0ZXMgc2ltcGxlci4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQWJzdHJhY3RU
aW1lbGluZVBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxpbmVQ
YW5lbC5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5w
cm90b3R5cGUuX3VwZGF0ZUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9F
bGVtZW50c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJv
dG90eXBlLmhhbmRsZUtleUV2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLl9sb2FkZWQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3Vt
ZW50S2V5RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaXNNYWMpOgorCiAyMDA5LTExLTE5
ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3Zl
ZCAuRFNfU3RvcmUgYWNjaWRlbnRhbGx5IGFkZGVkIGluIGxhc3QgKHI1MTI0NSkuCkluZGV4OiBX
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWJzdHJhY3RUaW1lbGluZVBhbmVsLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVsaW5lUGFu
ZWwuanMJKHJldmlzaW9uIDUxMjQyKQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Fi
c3RyYWN0VGltZWxpbmVQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTg5LDcgKzE4OSw3IEBA
IFdlYkluc3BlY3Rvci5BYnN0cmFjdFRpbWVsaW5lUGFuZWwucHJvdG8KIAogICAgIF91cGRhdGVG
aWx0ZXI6IGZ1bmN0aW9uKGUpCiAgICAgewotICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0
b3IucGxhdGZvcm0uaW5kZXhPZigibWFjLSIpID09PSAwOworICAgICAgICB2YXIgaXNNYWMgPSBX
ZWJJbnNwZWN0b3IuaXNNYWMoKTsKICAgICAgICAgdmFyIHNlbGVjdE11bHRpcGxlID0gZmFsc2U7
CiAgICAgICAgIGlmIChpc01hYyAmJiBlLm1ldGFLZXkgJiYgIWUuY3RybEtleSAmJiAhZS5hbHRL
ZXkgJiYgIWUuc2hpZnRLZXkpCiAgICAgICAgICAgICBzZWxlY3RNdWx0aXBsZSA9IHRydWU7Cklu
ZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCShyZXZpc2lv
biA1MTI0MikKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgCiAgICAgX3VwZGF0ZUZpbHRlcjogZnVuY3Rpb24oZSkKICAg
ICB7Ci0gICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5wbGF0Zm9ybS5pbmRleE9mKCJt
YWMtIikgPT09IDA7CisgICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5pc01hYygpOwog
ICAgICAgICB2YXIgc2VsZWN0TXVsdGlwbGUgPSBmYWxzZTsKICAgICAgICAgaWYgKGlzTWFjICYm
IGUubWV0YUtleSAmJiAhZS5jdHJsS2V5ICYmICFlLmFsdEtleSAmJiAhZS5zaGlmdEtleSkKICAg
ICAgICAgICAgIHNlbGVjdE11bHRpcGxlID0gdHJ1ZTsKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCShyZXZpc2lvbiA1MTI0MikKKysrIFdlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDAxLDggKzEwMDEsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUg
PSB7CiAgICAgICAgIC8vIENtZC9Db250cm9sICsgU2hpZnQgKyBDIHNob3VsZCBiZSBhIHNob3J0
Y3V0IHRvIGNsaWNraW5nIHRoZSBOb2RlIFNlYXJjaCBCdXR0b24uCiAgICAgICAgIC8vIFRoaXMg
c2hvcnRjdXQgbWF0Y2hlcyBGaXJlYnVnLgogICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmll
ciA9PT0gIlUrMDA0MyIpIHsgICAgIC8vIEMga2V5Ci0gICAgICAgICAgICB2YXIgaXNNYWMgPSBX
ZWJJbnNwZWN0b3IucGxhdGZvcm0uaW5kZXhPZigibWFjLSIpID09PSAwOwotICAgICAgICAgICAg
aWYgKGlzTWFjKQorICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5pc01hYygpKQogICAgICAg
ICAgICAgICAgIHZhciBpc05vZGVTZWFyY2hLZXkgPSBldmVudC5tZXRhS2V5ICYmICFldmVudC5j
dHJsS2V5ICYmICFldmVudC5hbHRLZXkgJiYgZXZlbnQuc2hpZnRLZXk7CiAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgdmFyIGlzTm9kZVNlYXJjaEtleSA9IGV2ZW50LmN0cmxLZXkg
JiYgIWV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiBldmVudC5zaGlmdEtleTsKSW5k
ZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwkocmV2aXNp
b24gNTEyNDIpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsOCArMTYyLDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQ
YW5lbCA9IGZ1bmN0aW9uKCkKIAogICAgIHRoaXMuX3Nob3J0Y3V0cyA9IHt9OwogCi0gICAgdmFy
IGlzTWFjID0gV2ViSW5zcGVjdG9yLnBsYXRmb3JtLmluZGV4T2YoIm1hYy0iKSA9PT0gMDsKLSAg
ICB2YXIgcGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyID0gaXNNYWMgPyBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuTWV0YSA6IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0Lk1vZGlmaWVycy5DdHJsOworICAgIHZhciBwbGF0Zm9ybVNwZWNpZmljTW9kaWZpZXIgPSBX
ZWJJbnNwZWN0b3IuaXNNYWMoKSA/IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlm
aWVycy5NZXRhIDogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0cmw7
CiAKICAgICAvLyBDb250aW51ZS4KICAgICB2YXIgaGFuZGxlciA9IHRoaXMucGF1c2VCdXR0b24u
Y2xpY2suYmluZCh0aGlzLnBhdXNlQnV0dG9uKTsKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9Tb3VyY2VGcmFtZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU291cmNlRnJhbWUuanMJKHJldmlzaW9uIDUxMjQyKQorKysgV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMDcsOCAr
MjA3LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAg
dGhpcy5lbGVtZW50LmNvbnRlbnREb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRBbmlt
YXRpb25FbmQiLCB0aGlzLl9oaWdobGlnaHRMaW5lRW5kcy5iaW5kKHRoaXMpLCBmYWxzZSk7CiAK
ICAgICAgICAgLy8gUmVnaXN0ZXIgJ2V2YWwnIHNob3J0Y3V0LgotICAgICAgICB2YXIgaXNNYWMg
PSBXZWJJbnNwZWN0b3IucGxhdGZvcm0uaW5kZXhPZigibWFjLSIpID09PSAwOwotICAgICAgICB2
YXIgcGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyID0gaXNNYWMgPyBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5Nb2RpZmllcnMuTWV0YSA6IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVycy5DdHJsOworICAgICAgICB2YXIgcGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyID0g
V2ViSW5zcGVjdG9yLmlzTWFjKCkgPyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2Rp
ZmllcnMuTWV0YSA6IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5DdHJs
OwogICAgICAgICB2YXIgc2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5t
YWtlS2V5KDY5IC8qICdFJyAqLywgcGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyIHwgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0KTsKICAgICAgICAgdGhpcy5fc2hv
cnRjdXRzW3Nob3J0Y3V0XSA9IHRoaXMuX2V2YWxTZWxlY3Rpb25JbkNhbGxGcmFtZS5iaW5kKHRo
aXMpOwogCkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMJKHJl
dmlzaW9uIDUxMjQyKQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
cwkod29ya2luZyBjb3B5KQpAQCAtNjM2LDcgKzYzNiw3IEBAIFdlYkluc3BlY3Rvci5kb2N1bWVu
dEtleURvd24gPSBmdW5jdGlvbigKICAgICAgICAgV2ViSW5zcGVjdG9yW3RoaXMuY3VycmVudEZv
Y3VzRWxlbWVudC5pZCArICJLZXlEb3duIl0oZXZlbnQpOwogCiAgICAgaWYgKCFldmVudC5oYW5k
bGVkKSB7Ci0gICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5wbGF0Zm9ybS5pbmRleE9m
KCJtYWMtIikgPT09IDA7CisgICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5pc01hYygp
OwogCiAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5SWRlbnRpZmllcikgewogICAgICAgICAgICAg
Y2FzZSAiVSswMDFCIjogLy8gRXNjYXBlIGtleQpAQCAtMTYzMiw2ICsxNjMyLDE0IEBAIFdlYklu
c3BlY3Rvci5VSVN0cmluZyA9IGZ1bmN0aW9uKHN0cmluZykKICAgICByZXR1cm4gU3RyaW5nLnZz
cHJpbnRmKHN0cmluZywgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSk7
CiB9CiAKK1dlYkluc3BlY3Rvci5pc01hYyA9IGZ1bmN0aW9uKCkKK3sKKyAgICBpZiAoISgiX2lz
TWFjIiBpbiB0aGlzKSkKKyAgICAgICAgdGhpcy5faXNNYWMgPSBXZWJJbnNwZWN0b3IucGxhdGZv
cm0uaW5kZXhPZigibWFjLSIpID09PSAwOworCisgICAgcmV0dXJuIHRoaXMuX2lzTWFjOworfQor
CiBXZWJJbnNwZWN0b3IuaXNCZWluZ0VkaXRlZCA9IGZ1bmN0aW9uKGVsZW1lbnQpCiB7CiAgICAg
cmV0dXJuIGVsZW1lbnQuX19lZGl0aW5nOwo=
</data>
<flag name="review"
          id="25342"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="25343"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
      

    </bug>

</bugzilla>