<?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>130443</bug_id>
          
          <creation_ts>2014-03-18 20:44:45 -0700</creation_ts>
          <short_desc>Rewrite WebHTMLConverter::_colorForNode in C++</short_desc>
          <delta_ts>2014-03-19 01:09: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>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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>992007</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-03-18 20:44:45 -0700</bug_when>
    <thetext>Rewrite WebHTMLConverter::_colorForNode in C++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992008</commentid>
    <comment_count>1</comment_count>
      <attachid>227153</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-03-18 20:47:39 -0700</bug_when>
    <thetext>Created attachment 227153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992023</commentid>
    <comment_count>2</comment_count>
      <attachid>227153</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-03-18 23:18:05 -0700</bug_when>
    <thetext>Comment on attachment 227153
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992048</commentid>
    <comment_count>3</comment_count>
      <attachid>227153</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-19 01:05:21 -0700</bug_when>
    <thetext>Comment on attachment 227153
Patch

Clearing flags on attachment: 227153

Committed r165877: &lt;http://trac.webkit.org/changeset/165877&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992049</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-19 01:09:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227153</attachid>
            <date>2014-03-18 20:47:39 -0700</date>
            <delta_ts>2014-03-19 01:05:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130443-20140318204717.patch</filename>
            <type>text/plain</type>
            <size>9849</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTg2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAzLTE4ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV3cml0ZSBXZWJIVE1MQ29udmVydGVy
OjpfY29sb3JGb3JOb2RlIGluIEMrKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMwNDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvSFRNTENvbnZlcnRlci5tbToKKyAgICAgICAg
KF9wbGF0Zm9ybUNvbG9yKToKKyAgICAgICAgUmVuYW1lIGZyb20gX2NvbG9yRm9yUkdCQ29sb3Ig
YW5kIHNpbXBsaWZ5IHRvIGp1c3QgZG8gdGhlIHBsYXRmb3JtIGNvbnZlcnNpb24uCisKKyAgICAg
ICAgKG5vcm1hbGl6ZWRDb2xvcik6CisgICAgICAgIEV4dHJhY3Qgbm9ybWFsaXphdGlvbiBvdXQg
b2YgX2NvbG9yRm9yUkdCQ29sb3IgYW5kIHJlbW92ZSBjYXNlcyB0aGF0IGFyZSBpbXBvc3NpYmxl
IHRvIGhpdAorICAgICAgICBkdWUgdG8gdXMgb25seSBldmVyIHVzaW5nIHRoZSBkZXZpY2UgY29s
b3Igc3BhY2UuCisKKyAgICAgICAgKEhUTUxDb252ZXJ0ZXJDYWNoZXM6OmNvbG9yUHJvcGVydHlW
YWx1ZUZvck5vZGUpOgorICAgICAgICAoLVtXZWJIVE1MQ29udmVydGVyIF9jb2xvckZvck5vZGU6
cHJvcGVydHk6XSk6CisgICAgICAgIENvbnZlcnQgdG8gQysrLgorCisgICAgICAgICgtW1dlYkhU
TUxDb252ZXJ0ZXIgZGVhbGxvY10pOgorICAgICAgICAoLVtXZWJIVE1MQ29udmVydGVyIGluaXRd
KToKKyAgICAgICAgUmVtb3ZlIGNhY2hlcywgd2UgYWxyZWFkeSBjYWNoZSBpbiBDb2xvck1hYy4K
KwogMjAxNC0wMy0xOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBUZXh0VHJhY2tSZWdpb24gTm90IEltcGxlbWVudGVkCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvSFRNTENvbnZlcnRlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvSFRNTENvbnZlcnRlci5tbQkocmV2aXNpb24gMTY1ODY1KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0hUTUxDb252ZXJ0ZXIubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTQwMyw2ICs0MDMsOCBAQCBjbGFzcyBIVE1MQ29udmVydGVyQ2FjaGVzIHsKIHB1Ymxp
YzoKICAgICBTdHJpbmcgcHJvcGVydHlWYWx1ZUZvck5vZGUoTm9kZSYsIGNvbnN0IFN0cmluZyYg
cHJvcGVydHlOYW1lKTsKICAgICBib29sIGZsb2F0UHJvcGVydHlWYWx1ZUZvck5vZGUoTm9kZSYs
IGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBmbG9hdCYpOworICAgIENvbG9yIGNvbG9yUHJv
cGVydHlWYWx1ZUZvck5vZGUoTm9kZSYsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lKTsKKwog
ICAgIGJvb2wgaXNCbG9ja0VsZW1lbnQoRWxlbWVudCYpOwogICAgIGJvb2wgZWxlbWVudEhhc093
bkJhY2tncm91bmRDb2xvcihFbGVtZW50Jik7CiAKQEAgLTg0MiwzOSArODQ0LDE0IEBAIC0gKE5T
QnVuZGxlICopX3dlYktpdEJ1bmRsZQogfQogCiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGlu
bGluZSBVSUNvbG9yICpfY29sb3JGb3JSR0JDb2xvcihET01SR0JDb2xvciAqZG9tUkdCQ29sb3Is
IEJPT0wpCitzdGF0aWMgaW5saW5lIFVJQ29sb3IgKl9wbGF0Zm9ybUNvbG9yKENvbG9yIGNvbG9y
KQogewotICAgIHJldHVybiBbZ2V0VUlDb2xvckNsYXNzKCkgX2Rpc2FtYmlndWF0ZWRfZHVlX3Rv
X0NJSW1hZ2VfY29sb3JXaXRoQ0dDb2xvcjpbZG9tUkdCQ29sb3IgY29sb3JdXTsKKyAgICByZXR1
cm4gW2dldFVJQ29sb3JDbGFzcygpIF9kaXNhbWJpZ3VhdGVkX2R1ZV90b19DSUltYWdlX2NvbG9y
V2l0aENHQ29sb3I6Y2FjaGVkQ0dDb2xvcihjb2xvciwgV2ViQ29yZTo6Q29sb3JTcGFjZURldmlj
ZVJHQildOwogfQotCiAjZWxzZQotc3RhdGljIGlubGluZSBOU0NvbG9yICpfY29sb3JGb3JSR0JD
b2xvcihET01SR0JDb2xvciAqZG9tUkdCQ29sb3IsIEJPT0wgaWdub3JlQmxhY2spCitzdGF0aWMg
aW5saW5lIE5TQ29sb3IgKl9wbGF0Zm9ybUNvbG9yKENvbG9yIGNvbG9yKQogewotICAgIE5TQ29s
b3IgKmNvbG9yID0gW2RvbVJHQkNvbG9yIF9jb2xvcl07Ci0gICAgTlNDb2xvclNwYWNlICpjb2xv
clNwYWNlID0gW2NvbG9yIGNvbG9yU3BhY2VdOwotICAgIGNvbnN0IENHRmxvYXQgQ29sb3JFcHNp
bG9uID0gMSAvICgyICogKENHRmxvYXQpMjU1LjApOwotICAgIAotICAgIGlmIChjb2xvcikgewot
ICAgICAgICBpZiAoW2NvbG9yU3BhY2UgaXNFcXVhbDpbTlNDb2xvclNwYWNlIGdlbmVyaWNHcmF5
Q29sb3JTcGFjZV1dIHx8IFtjb2xvclNwYWNlIGlzRXF1YWw6W05TQ29sb3JTcGFjZSBkZXZpY2VH
cmF5Q29sb3JTcGFjZV1dKSB7Ci0gICAgICAgICAgICBDR0Zsb2F0IHdoaXRlLCBhbHBoYTsKLSAg
ICAgICAgICAgIFtjb2xvciBnZXRXaGl0ZTomd2hpdGUgYWxwaGE6JmFscGhhXTsKLSAgICAgICAg
ICAgIGlmICh3aGl0ZSA8IENvbG9yRXBzaWxvbiAmJiAoaWdub3JlQmxhY2sgfHwgYWxwaGEgPCBD
b2xvckVwc2lsb24pKQotICAgICAgICAgICAgICAgIGNvbG9yID0gbmlsOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgTlNDb2xvciAqcmdiQ29sb3IgPSBuaWw7Ci0gICAgICAgICAgICBp
ZiAoW2NvbG9yU3BhY2UgaXNFcXVhbDpbTlNDb2xvclNwYWNlIGdlbmVyaWNSR0JDb2xvclNwYWNl
XV0gfHwgW2NvbG9yU3BhY2UgaXNFcXVhbDpbTlNDb2xvclNwYWNlIGRldmljZVJHQkNvbG9yU3Bh
Y2VdXSkKLSAgICAgICAgICAgICAgICByZ2JDb2xvciA9IGNvbG9yOwotICAgICAgICAgICAgaWYg
KCFyZ2JDb2xvcikKLSAgICAgICAgICAgICAgICByZ2JDb2xvciA9IFtjb2xvciBjb2xvclVzaW5n
Q29sb3JTcGFjZU5hbWU6TlNEZXZpY2VSR0JDb2xvclNwYWNlXTsKLSAgICAgICAgICAgIGlmIChy
Z2JDb2xvcikgewotICAgICAgICAgICAgICAgIENHRmxvYXQgcmVkLCBncmVlbiwgYmx1ZSwgYWxw
aGE7Ci0gICAgICAgICAgICAgICAgW3JnYkNvbG9yIGdldFJlZDomcmVkIGdyZWVuOiZncmVlbiBi
bHVlOiZibHVlIGFscGhhOiZhbHBoYV07Ci0gICAgICAgICAgICAgICAgaWYgKHJlZCA8IENvbG9y
RXBzaWxvbiAmJiBncmVlbiA8IENvbG9yRXBzaWxvbiAmJiBibHVlIDwgQ29sb3JFcHNpbG9uICYm
IChpZ25vcmVCbGFjayB8fCBhbHBoYSA8IENvbG9yRXBzaWxvbikpCi0gICAgICAgICAgICAgICAg
ICAgIGNvbG9yID0gbmlsOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAgIHJl
dHVybiBjb2xvcjsKKyAgICByZXR1cm4gbnNDb2xvcihjb2xvcik7CiB9CiAjZW5kaWYKIApAQCAt
OTcyLDY0ICs5NDksNzYgQEAgLSAoRE9NRWxlbWVudCAqKV9ibG9ja0xldmVsRWxlbWVudEZvck5v
ZAogICAgIHJldHVybiBlbGVtZW50OwogfQogCi0tIChQbGF0Zm9ybUNvbG9yICopX2NvbXB1dGVk
Q29sb3JGb3JOb2RlOihET01Ob2RlICopbm9kZSBwcm9wZXJ0eTooTlNTdHJpbmcgKilrZXkKK3N0
YXRpYyBDb2xvciBub3JtYWxpemVkQ29sb3IoQ29sb3IgY29sb3IsIGJvb2wgaWdub3JlQmxhY2sp
CiB7Ci0gICAgUGxhdGZvcm1Db2xvciAqcmVzdWx0ID0gbmlsOwotICAgIGJvb2wgaW5oZXJpdCA9
IHRydWU7Ci0gICAgYm9vbCBoYXZlUmVzdWx0ID0gZmFsc2U7Ci0gICAgQk9PTCBpc0NvbG9yID0g
W0AiY29sb3IiIGlzRXF1YWxUb1N0cmluZzprZXldOwotICAgIEJPT0wgaXNCYWNrZ3JvdW5kQ29s
b3IgPSBbQCJiYWNrZ3JvdW5kLWNvbG9yIiBpc0VxdWFsVG9TdHJpbmc6a2V5XTsKLSAgICBOb2Rl
KiBjb3JlTm9kZSA9IGNvcmUobm9kZSk7Ci0gICAgaWYgKGNvcmVOb2RlICYmIGNvcmVOb2RlLT5p
c0VsZW1lbnROb2RlKCkpIHsKLSAgICAgICAgRWxlbWVudCYgZWxlbWVudCA9IHRvRWxlbWVudCgq
Y29yZU5vZGUpOwotICAgICAgICBTdHJpbmcgcHJvcGVydHlOYW1lID0ga2V5OwotICAgICAgICBp
bmhlcml0ID0gZmFsc2U7Ci0gICAgICAgIGlmICghaGF2ZVJlc3VsdCkgewotICAgICAgICAgICAg
aWYgKFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBfY2FjaGVzLT5jb21wdXRlZFN0eWxlUHJvcGVy
dHlGb3JFbGVtZW50KGVsZW1lbnQsIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgICAgICAgICBp
ZiAodmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSAmJiB0b0NTU1ByaW1pdGl2ZVZhbHVlKCp2YWx1
ZSkuaXNSR0JDb2xvcigpKSB7Ci0gICAgICAgICAgICAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpS
R0JDb2xvcj4gY29sb3IgPSB0b0NTU1ByaW1pdGl2ZVZhbHVlKCp2YWx1ZSkuZ2V0UkdCQ29sb3JW
YWx1ZShBU1NFUlRfTk9fRVhDRVBUSU9OKTsKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0g
X2NvbG9yRm9yUkdCQ29sb3Ioa2l0KGNvbG9yLmdldCgpKSwgaXNDb2xvcik7Ci0gICAgICAgICAg
ICAgICAgICAgIGhhdmVSZXN1bHQgPSB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAoIWhhdmVSZXN1bHQpIHsKLSAgICAgICAgICAg
IGlmIChSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gX2NhY2hlcy0+aW5saW5lU3R5bGVQcm9wZXJ0
eUZvckVsZW1lbnQoZWxlbWVudCwgcHJvcGVydHlOYW1lKSkgewotICAgICAgICAgICAgICAgIGlm
ICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpICYmIHRvQ1NTUHJpbWl0aXZlVmFsdWUoKnZhbHVl
KS5pc1JHQkNvbG9yKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFdlYkNvcmU6OlJH
QkNvbG9yPiBjb2xvciA9IHRvQ1NTUHJpbWl0aXZlVmFsdWUoKnZhbHVlKS5nZXRSR0JDb2xvclZh
bHVlKEFTU0VSVF9OT19FWENFUFRJT04pOwotICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBf
Y29sb3JGb3JSR0JDb2xvcihraXQoY29sb3IuZ2V0KCkpLCBpc0NvbG9yKTsKLSAgICAgICAgICAg
ICAgICAgICAgaGF2ZVJlc3VsdCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2
YWx1ZS0+aXNJbmhlcml0ZWRWYWx1ZSgpKQorICAgIGNvbnN0IGRvdWJsZSBDb2xvckVwc2lsb24g
PSAxIC8gKDIgKiAoZG91YmxlKTI1NS4wKTsKKyAgICAKKyAgICBkb3VibGUgcmVkLCBncmVlbiwg
Ymx1ZSwgYWxwaGE7CisgICAgY29sb3IuZ2V0UkdCQShyZWQsIGdyZWVuLCBibHVlLCBhbHBoYSk7
CisgICAgaWYgKHJlZCA8IENvbG9yRXBzaWxvbiAmJiBncmVlbiA8IENvbG9yRXBzaWxvbiAmJiBi
bHVlIDwgQ29sb3JFcHNpbG9uICYmIChpZ25vcmVCbGFjayB8fCBhbHBoYSA8IENvbG9yRXBzaWxv
bikpCisgICAgICAgIHJldHVybiBDb2xvcigpOworICAgIAorICAgIHJldHVybiBjb2xvcjsKK30K
KworQ29sb3IgSFRNTENvbnZlcnRlckNhY2hlczo6Y29sb3JQcm9wZXJ0eVZhbHVlRm9yTm9kZShO
b2RlJiBub2RlLCBjb25zdCBTdHJpbmcmIHByb3BlcnR5TmFtZSkKK3sKKyAgICBpZiAoIW5vZGUu
aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgIGlmIChOb2RlKiBwYXJlbnQgPSBub2RlLnBhcmVu
dE5vZGUoKSkKKyAgICAgICAgICAgIHJldHVybiBjb2xvclByb3BlcnR5VmFsdWVGb3JOb2RlKCpw
YXJlbnQsIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHJldHVybiBDb2xvcigpOworICAgIH0KKwor
ICAgIEVsZW1lbnQmIGVsZW1lbnQgPSB0b0VsZW1lbnQobm9kZSk7CisgICAgaWYgKFJlZlB0cjxD
U1NWYWx1ZT4gdmFsdWUgPSBjb21wdXRlZFN0eWxlUHJvcGVydHlGb3JFbGVtZW50KGVsZW1lbnQs
IHByb3BlcnR5TmFtZSkpIHsKKyAgICAgICAgaWYgKHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkg
JiYgdG9DU1NQcmltaXRpdmVWYWx1ZSgqdmFsdWUpLmlzUkdCQ29sb3IoKSkKKyAgICAgICAgICAg
IHJldHVybiBub3JtYWxpemVkQ29sb3IoQ29sb3IodG9DU1NQcmltaXRpdmVWYWx1ZSgqdmFsdWUp
LmdldFJHQkEzMlZhbHVlKCkpLCBwcm9wZXJ0eU5hbWUgPT0gImNvbG9yIik7CisgICAgfQorCisg
ICAgYm9vbCBpbmhlcml0ID0gZmFsc2U7CisgICAgaWYgKFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUg
PSBpbmxpbmVTdHlsZVByb3BlcnR5Rm9yRWxlbWVudChlbGVtZW50LCBwcm9wZXJ0eU5hbWUpKSB7
CisgICAgICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpICYmIHRvQ1NTUHJpbWl0aXZl
VmFsdWUoKnZhbHVlKS5pc1JHQkNvbG9yKCkpCisgICAgICAgICAgICByZXR1cm4gbm9ybWFsaXpl
ZENvbG9yKENvbG9yKHRvQ1NTUHJpbWl0aXZlVmFsdWUoKnZhbHVlKS5nZXRSR0JBMzJWYWx1ZSgp
KSwgcHJvcGVydHlOYW1lID09ICJjb2xvciIpOworICAgICAgICBpZiAodmFsdWUtPmlzSW5oZXJp
dGVkVmFsdWUoKSkKKyAgICAgICAgICAgIGluaGVyaXQgPSB0cnVlOworICAgIH0KKworICAgIHN3
aXRjaCAoY3NzUHJvcGVydHlJRChwcm9wZXJ0eU5hbWUpKSB7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eUNvbG9yOgorICAgICAgICBpbmhlcml0ID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcjoKKyAgICAgICAgaWYgKCFlbGVtZW50SGFzT3du
QmFja2dyb3VuZENvbG9yKGVsZW1lbnQpKSB7CisgICAgICAgICAgICBpZiAoRWxlbWVudCogcGFy
ZW50RWxlbWVudCA9IG5vZGUucGFyZW50RWxlbWVudCgpKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFlbGVtZW50SGFzT3duQmFja2dyb3VuZENvbG9yKCpwYXJlbnRFbGVtZW50KSkKICAgICAgICAg
ICAgICAgICAgICAgaW5oZXJpdCA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAg
ICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIGlmICgoaXNDb2xvciAmJiAhaGF2ZVJl
c3VsdCkgfHwgKGlzQmFja2dyb3VuZENvbG9yICYmICFbc2VsZiBfZWxlbWVudEhhc093bkJhY2tn
cm91bmRDb2xvcjpzdGF0aWNfY2FzdDxET01FbGVtZW50Kj4obm9kZSldKSkKLSAgICAgICAgICAg
ICAgICBpbmhlcml0ID0gdHJ1ZTsKLSAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBkZWZh
dWx0OgorICAgICAgICBicmVhazsKICAgICB9Ci0gICAgaWYgKCFyZXN1bHQgJiYgaW5oZXJpdCkg
ewotICAgICAgICBET01Ob2RlICpwYXJlbnROb2RlID0gW25vZGUgcGFyZW50Tm9kZV07Ci0gICAg
ICAgIGlmIChwYXJlbnROb2RlICYmICEoaXNCYWNrZ3JvdW5kQ29sb3IgJiYgW3BhcmVudE5vZGUg
bm9kZVR5cGVdID09IERPTV9FTEVNRU5UX05PREUgJiYgW3NlbGYgX2VsZW1lbnRIYXNPd25CYWNr
Z3JvdW5kQ29sb3I6KERPTUVsZW1lbnQgKilwYXJlbnROb2RlXSkpCi0gICAgICAgICAgICByZXR1
cm4gW3NlbGYgX2NvbG9yRm9yTm9kZTpwYXJlbnROb2RlIHByb3BlcnR5OmtleV07CisKKyAgICBp
ZiAoaW5oZXJpdCkgeworICAgICAgICBpZiAoTm9kZSogcGFyZW50ID0gbm9kZS5wYXJlbnROb2Rl
KCkpCisgICAgICAgICAgICByZXR1cm4gY29sb3JQcm9wZXJ0eVZhbHVlRm9yTm9kZSgqcGFyZW50
LCBwcm9wZXJ0eU5hbWUpOwogICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OworCisgICAgcmV0dXJu
IENvbG9yKCk7CiB9CiAKLS0gKFBsYXRmb3JtQ29sb3IgKilfY29sb3JGb3JOb2RlOihET01Ob2Rl
ICopbm9kZSBwcm9wZXJ0eTooTlNTdHJpbmcgKilrZXkgewotICAgIFJldGFpblB0cjxOU011dGFi
bGVEaWN0aW9uYXJ5PiBhdHRyaWJ1dGVEaWN0aW9uYXJ5ID0gW19jb2xvcnNGb3JOb2RlcyBvYmpl
Y3RGb3JLZXk6bm9kZV07Ci0gICAgaWYgKCFhdHRyaWJ1dGVEaWN0aW9uYXJ5KSB7Ci0gICAgICAg
IGF0dHJpYnV0ZURpY3Rpb25hcnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxv
Y10gaW5pdF0pOwotICAgICAgICBbX2NvbG9yc0Zvck5vZGVzIHNldE9iamVjdDphdHRyaWJ1dGVE
aWN0aW9uYXJ5LmdldCgpIGZvcktleTpub2RlXTsKLSAgICB9Ci0gICAgUGxhdGZvcm1Db2xvciAq
cmVzdWx0ID0gW2F0dHJpYnV0ZURpY3Rpb25hcnkgb2JqZWN0Rm9yS2V5OmtleV07Ci0gICAgaWYg
KCFyZXN1bHQpIHsKLSAgICAgICAgcmVzdWx0ID0gW3NlbGYgX2NvbXB1dGVkQ29sb3JGb3JOb2Rl
Om5vZGUgcHJvcGVydHk6a2V5XTsKLSAgICAgICAgW2F0dHJpYnV0ZURpY3Rpb25hcnkgc2V0T2Jq
ZWN0OihyZXN1bHQgPyByZXN1bHQgOiBbUGxhdGZvcm1Db2xvckNsYXNzIGNsZWFyQ29sb3JdKSBm
b3JLZXk6a2V5XTsKLSAgICB9Ci0gICAgaWYgKFtbUGxhdGZvcm1Db2xvckNsYXNzIGNsZWFyQ29s
b3JdIGlzRXF1YWw6cmVzdWx0XSB8fCAoW3Jlc3VsdCBhbHBoYUNvbXBvbmVudF0gPT0gMC4wKSAp
Ci0gICAgICAgIHJlc3VsdCA9IG5pbDsKLSAgICByZXR1cm4gcmVzdWx0OworLSAoUGxhdGZvcm1D
b2xvciAqKV9jb2xvckZvck5vZGU6KERPTU5vZGUgKilub2RlIHByb3BlcnR5OihOU1N0cmluZyAq
KWtleQoreworICAgIE5vZGUqIGNvcmVOb2RlID0gY29yZShub2RlKTsKKyAgICBpZiAoIWNvcmVO
b2RlKQorICAgICAgICByZXR1cm4gbmlsOworICAgIENvbG9yIHJlc3VsdCA9IF9jYWNoZXMtPmNv
bG9yUHJvcGVydHlWYWx1ZUZvck5vZGUoKmNvcmVOb2RlLCBTdHJpbmcoa2V5KSk7CisgICAgaWYg
KCFyZXN1bHQuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gbmlsOworICAgIFBsYXRmb3JtQ29s
b3IgKnBsYXRmb3JtUmVzdWx0ID0gX3BsYXRmb3JtQ29sb3IocmVzdWx0KTsKKyAgICBpZiAoW1tQ
bGF0Zm9ybUNvbG9yQ2xhc3MgY2xlYXJDb2xvcl0gaXNFcXVhbDpwbGF0Zm9ybVJlc3VsdF0gfHwg
KFtwbGF0Zm9ybVJlc3VsdCBhbHBoYUNvbXBvbmVudF0gPT0gMC4wKSkKKyAgICAgICAgcmV0dXJu
IG5pbDsKKyAgICByZXR1cm4gcGxhdGZvcm1SZXN1bHQ7CiB9CiAKICNkZWZpbmUgVUlGbG9hdElz
WmVybyhudW1iZXIpIChmYWJzKG51bWJlciAtIDApIDwgRkxUX0VQU0lMT04pCkBAIC0yNDA3LDcg
KzIzOTYsNiBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbX3RleHRUYWJsZVJvd3MgcmVsZWFzZV07
CiAgICAgW190ZXh0VGFibGVSb3dBcnJheXMgcmVsZWFzZV07CiAgICAgW190ZXh0VGFibGVSb3dC
YWNrZ3JvdW5kQ29sb3JzIHJlbGVhc2VdOwotICAgIFtfY29sb3JzRm9yTm9kZXMgcmVsZWFzZV07
CiAgICAgW19hdHRyaWJ1dGVzRm9yRWxlbWVudHMgcmVsZWFzZV07CiAgICAgW19mb250Q2FjaGUg
cmVsZWFzZV07CiAgICAgW193cml0aW5nRGlyZWN0aW9uQXJyYXkgcmVsZWFzZV07CkBAIC0yNDMy
LDcgKzI0MjAsNiBAQCAtIChpZClpbml0CiAgICAgX3RleHRUYWJsZVJvd3MgPSBbW05TTXV0YWJs
ZUFycmF5IGFsbG9jXSBpbml0XTsKICAgICBfdGV4dFRhYmxlUm93QXJyYXlzID0gW1tOU011dGFi
bGVBcnJheSBhbGxvY10gaW5pdF07CiAgICAgX3RleHRUYWJsZVJvd0JhY2tncm91bmRDb2xvcnMg
PSBbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XTsKLSAgICBfY29sb3JzRm9yTm9kZXMgPSBb
W05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdOwogICAgIF9hdHRyaWJ1dGVzRm9yRWxl
bWVudHMgPSBbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdOwogICAgIF9mb250Q2Fj
aGUgPSBbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdOwogICAgIF93cml0aW5nRGly
ZWN0aW9uQXJyYXkgPSBbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>