<?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>24333</bug_id>
          
          <creation_ts>2009-03-03 13:48:28 -0800</creation_ts>
          <short_desc>execCommand(&apos;underline&apos;) can modify DOM outside of the contentEditable area</short_desc>
          <delta_ts>2009-07-24 14:13:04 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>20215</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robby Walker">robbyw</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>eric</cc>
    
    <cc>jparent</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>112074</commentid>
    <comment_count>0</comment_count>
    <who name="Robby Walker">robbyw</who>
    <bug_when>2009-03-03 13:48:28 -0800</bug_when>
    <thetext>1. Start with the following HTML

&lt;div style=&quot;textDecoration: underline&quot;&gt;&lt;div id=&quot;editable&quot;&gt;Text&lt;/div&gt;&lt;/div&gt;

2. Set document.getElementById(&apos;editable&apos;).contentEditable = true
3. Select Text
4. Ctrl-U (or execCommand(&apos;underline&apos;)
5. Note that the style for the outer div has changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112075</commentid>
    <comment_count>1</comment_count>
      <attachid>28238</attachid>
    <who name="Robby Walker">robbyw</who>
    <bug_when>2009-03-03 13:49:48 -0800</bug_when>
    <thetext>Created attachment 28238
Demonstration of the bug, note the HTML in the second textarea shows style has been removed from the outer DIV.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131765</commentid>
    <comment_count>2</comment_count>
      <attachid>32751</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-14 17:34:56 -0700</bug_when>
    <thetext>Created attachment 32751
demonstrates the same bug on WebKit &amp; Firefox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131771</commentid>
    <comment_count>3</comment_count>
      <attachid>32754</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-14 17:40:26 -0700</bug_when>
    <thetext>Created attachment 32754
simplified test case (without designMode=&quot;on&quot;)

The previous test case had the designMode=&quot;on&quot;.  When turning this off, Firefox doesn&apos;t change the style at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131787</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-14 18:39:14 -0700</bug_when>
    <thetext>It seems that highestAncestorWithTextDecoration called in ApplyStyleCommand::pushDownTextDecorationStyleAroundNode is crossing the editing boundary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133285</commentid>
    <comment_count>5</comment_count>
      <attachid>33120</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-20 16:14:07 -0700</bug_when>
    <thetext>Created attachment 33120
highestAncestorWithTextDecoration stops at an unsplittable element, and improves other text decorations support

This patch may also resolve https://bugs.webkit.org/show_bug.cgi?id=20215.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133639</commentid>
    <comment_count>6</comment_count>
      <attachid>33120</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-21 15:59:55 -0700</bug_when>
    <thetext>Comment on attachment 33120
highestAncestorWithTextDecoration stops at an unsplittable element, and improves other text decorations support

This makes unrelated, possibly incorrect changes.  Please break this into multiple patches with individual test cases.

See the test case on https://bugs.webkit.org/show_bug.cgi?id=20215, I think you may have broken some of those cases here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133661</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-21 17:14:41 -0700</bug_when>
    <thetext>Note: also see http://trac.webkit.org/changeset/8466</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134617</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-24 12:04:07 -0700</bug_when>
    <thetext>Changed the priority because this has potential security vulnerability that part of document that the author does not expect to change may change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134621</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-24 12:20:43 -0700</bug_when>
    <thetext>I respectfully disagree.
http://webkit.org/quality/bugpriorities.html

I don&apos;t think there is any &quot;security&quot; concern here.  If there was it should be under the Security component anyway.  P1s are generally regressions or crashes, of which this is neither.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134633</commentid>
    <comment_count>10</comment_count>
      <attachid>33463</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-24 12:51:56 -0700</bug_when>
    <thetext>Created attachment 33463
smaller patch with extra test case for unsplittable element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134649</commentid>
    <comment_count>11</comment_count>
      <attachid>33463</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2009-07-24 13:49:23 -0700</bug_when>
    <thetext>Comment on attachment 33463
smaller patch with extra test case for unsplittable element

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134658</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-07-24 14:13:04 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/46373</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>28238</attachid>
            <date>2009-03-03 13:49:48 -0800</date>
            <delta_ts>2009-03-03 13:49:48 -0800</delta_ts>
            <desc>Demonstration of the bug, note the HTML in the second textarea shows style has been removed from the outer DIV.</desc>
            <filename>ununderline_test.html</filename>
            <type>text/html</type>
            <size>561</size>
            <attacher name="Robby Walker">robbyw</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aGVhZD5UZXN0IGNhc2UgZm9yIHVuLXVuZGVybGluZTwvaGVhZD4NCjxib2R5Pg0K
PGRpdiBpZD0ib3V0ZXIiPg0KPGRpdiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUi
Pg0KPGRpdiBpZD0iZWRpdGFibGUiPkVkaXRhYmxlIHRleHQ8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+
DQo8dGV4dGFyZWEgaWQ9ImJlZm9yZSIgcm93cz00IGNvbHM9NTA+PC90ZXh0YXJlYT4NCjx0ZXh0
YXJlYSBpZD0iYWZ0ZXIiIHJvd3M9NCBjb2xzPTUwPjwvdGV4dGFyZWE+DQo8c2NyaXB0Pg0KZnVu
Y3Rpb24gJChpZCkgew0KICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOw0KfQ0K
DQokKCdiZWZvcmUnKS52YWx1ZSA9ICQoJ291dGVyJykuaW5uZXJIVE1MOw0KDQokKCdlZGl0YWJs
ZScpLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7DQokKCdlZGl0YWJsZScpLmZvY3VzKCk7DQpkb2N1
bWVudC5leGVjQ29tbWFuZCgndW5kZXJsaW5lJyk7DQoNCiQoJ2FmdGVyJykudmFsdWUgPSAkKCdv
dXRlcicpLmlubmVySFRNTDsNCg0KPC9zY3JpcHQ+DQo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>32751</attachid>
            <date>2009-07-14 17:34:56 -0700</date>
            <delta_ts>2009-07-14 17:40:26 -0700</delta_ts>
            <desc>demonstrates the same bug on WebKit &amp; Firefox</desc>
            <filename>noneditable-style-change.html</filename>
            <type>text/html</type>
            <size>872</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8ZGl2IGlkPSJlIj4KPGRpdiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1
bmRlcmxpbmU7IiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj48ZGl2IGlkPSJ0ZXN0IiBzdHlsZT0i
dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IiBjb250ZW50ZWRpdGFibGU9InRydWUiPnRleHQ8
L2Rpdj48L2Rpdj4KPC9kaXY+Cgo8dWw+CjxsaT5CZWZvcmU6PHNwYW4gaWQ9ImMxIj48L3NwYW4+
PC9saT4KPGxpPkFmdGVyOjxzcGFuIGlkPSJjMiI+PC9zcGFuPjwvbGk+CjwvdWw+Cgo8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgppZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQogICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwoKd2luZG93LmRvY3VtZW50
LmRlc2lnbk1vZGUgPSAiT24iOwoKdmFyIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZScp
Owpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYzEnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShlLmlubmVySFRNTCkpOwoKdmFyIHMgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7
CnZhciByID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKci5zZXRTdGFydChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndGVzdCcpLDApOwpyLnNldEVuZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdCcpLDEpOwpzLnJlbW92ZUFsbFJhbmdlcygpOwpzLmFkZFJhbmdlKHIpOwpkb2N1bWVudC5l
eGVjQ29tbWFuZCgidW5kZXJsaW5lIiwgZmFsc2UsIG51bGwpOwoKZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2MyJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZS5pbm5lckhU
TUwpKTsKCjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>32754</attachid>
            <date>2009-07-14 17:40:26 -0700</date>
            <delta_ts>2009-07-14 17:40:26 -0700</delta_ts>
            <desc>simplified test case (without designMode=&quot;on&quot;)</desc>
            <filename>noneditable-style-change.html</filename>
            <type>text/html</type>
            <size>800</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8ZGl2IGlkPSJlIj4KPGRpdiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1
bmRlcmxpbmU7IiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj48ZGl2IGlkPSJ0ZXN0IiBjb250ZW50
ZWRpdGFibGU9InRydWUiPnRleHQ8L2Rpdj48L2Rpdj4KPC9kaXY+Cgo8dWw+CjxsaT5CZWZvcmU6
PHNwYW4gaWQ9ImMxIj48L3NwYW4+PC9saT4KPGxpPkFmdGVyOjxzcGFuIGlkPSJjMiI+PC9zcGFu
PjwvbGk+CjwvdWw+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgppZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOwoKdmFyIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZScpOwpkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYzEnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlLmlu
bmVySFRNTCkpOwoKdmFyIHMgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CnZhciByID0gZG9jdW1l
bnQuY3JlYXRlUmFuZ2UoKTsKci5zZXRTdGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dCcpLDApOwpyLnNldEVuZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpLDEpOwpzLnJl
bW92ZUFsbFJhbmdlcygpOwpzLmFkZFJhbmdlKHIpOwpkb2N1bWVudC5leGVjQ29tbWFuZCgidW5k
ZXJsaW5lIiwgZmFsc2UsIG51bGwpOwoKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MyJykuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZS5pbm5lckhUTUwpKTsKCjwvc2NyaXB0
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33120</attachid>
            <date>2009-07-20 16:14:07 -0700</date>
            <delta_ts>2009-07-24 12:51:56 -0700</delta_ts>
            <desc>highestAncestorWithTextDecoration stops at an unsplittable element, and improves other text decorations support</desc>
            <filename>fix24333</filename>
            <type>text/plain</type>
            <size>11239</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjEzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDctMjAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZXhl
Y0NvbW1hbmQoJ3VuZGVybGluZScpIGNhbiBtb2RpZnkgRE9NIG91dHNpZGUgb2YgdGhlIGNvbnRl
bnRFZGl0YWJsZSBhcmVhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNDMzMworCisgICAgICAgIGhpZ2hlc3RBbmNlc3RvcldpdGhUZXh0RGVjb3JhdGlv
biBzdG9wcyBhdCB0aGUgY2xvc2VzdCB1bnNwbGl0dGFibGUgZWxlbWVudCBzbyB0aGF0IGlmIHRl
eHQtZGVjb3JhdGlvbiBzdHlsZSBpcyBhZGRlZCBhYm92ZSBpdCwKKyAgICAgICAgdGhlbiB3ZSBk
b24ndCBhY2NpZGVudGx5IHJlbW92ZSBpdC4gIFdlIGFsc28gZG9uJ3QgYWRkIHJlZHVuZGFudCB0
ZXh0LWRlY29yYXRpb246IG5vbmUgYW55bW9yZS4KKyAgICAgICAgSW4gYWRkaXRpb24sIHdlIGNh
biBub3cgcmVtb3ZlIHUsIHMsIHN0aWtlIHRhZ3MgYnkgdG9nZ2xpbmcgdW5kZXJsaW5lIGFuZCBs
aW5lLXRocm91Z2guCisKKyAgICAgICAgKiBlZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ2hhbmdlOjppbml0KTogSWdub3JlcyAidGV4dC1kZWNv
cmF0aW9uOiBub25lIgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmltcGxp
Y2l0bHlTdHlsZWRFbGVtZW50U2hvdWxkQmVSZW1vdmVkV2hlbkFwcGx5aW5nU3R5bGUpOiBBZGRl
ZCBzdXBwb3J0IGZvciB0ZXh0LWRlY29yYXRpb24gcmVsYXRlZCB0YWdzCisgICAgICAgIChXZWJD
b3JlOjpoaWdoZXN0QW5jZXN0b3JXaXRoVGV4dERlY29yYXRpb24pOiBTdG9wcyBhdCB1bnNwbGl0
dGFibGUgZWxlbWVudAorICAgICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OnB1c2hE
b3duVGV4dERlY29yYXRpb25TdHlsZUFyb3VuZE5vZGUpOiBSZWZhY3Rvcml6YXRpb24gZm9yIGNs
YXJpdHksIGV4aGliaXRzIHRoZSBleGFjdCBiZWhhdmlvcgorICAgICAgICAqIGVkaXRpbmcvQXBw
bHlTdHlsZUNvbW1hbmQuaDogVXBkYXRlZCBwcm90b3R5cGUgb2YgcHVzaERvd25UZXh0RGVjb3Jh
dGlvblN0eWxlQXJvdW5kTm9kZSBmb3IgY2xhcml0eS4KKwogMjAwOS0wNy0yMCAgWW9uZyBMaSAg
PHlvbmcubGlAdG9yY2htb2JpbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9i
ZW4uCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAJKHJldmlzaW9uIDQ2
MDk2KQorKysgV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTMxLDExICsxMzEsMTIgQEAgdm9pZCBTdHlsZUNoYW5nZTo6aW5pdChQYXNzUmVm
UHRyPENTU1N0eQogCiAgICAgICAgIC8vIEFkZCB0aGlzIHByb3BlcnR5CiAKLSAgICAgICAgaWYg
KHByb3BlcnR5LT5pZCgpID09IENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZl
Y3QpIHsKLSAgICAgICAgICAgIC8vIHdlIGhhdmUgdG8gc3BlY2lhbC1jYXNlIHRleHQgZGVjb3Jh
dGlvbnMKLSAgICAgICAgICAgIC8vIEZJWE1FOiBXaHk/CisgICAgICAgIGlmIChwcm9wZXJ0eS0+
aWQoKSA9PSBDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uIHx8IHByb3BlcnR5LT5pZCgpID09IENT
U1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3QpIHsKKyAgICAgICAgICAgIC8v
IFdlIHVzZSB0ZXh0LWRlY29yYXRpb24gaW5zdGVhZCBvZiAtd2Via2l0LXRleHQtZGVjb3JhdGlv
bnMtaW4tZWZmZWN0CiAgICAgICAgICAgICBDU1NQcm9wZXJ0eSBhbHRlcmVkUHJvcGVydHkoQ1NT
UHJvcGVydHlUZXh0RGVjb3JhdGlvbiwgcHJvcGVydHktPnZhbHVlKCksIHByb3BlcnR5LT5pc0lt
cG9ydGFudCgpKTsKLSAgICAgICAgICAgIHN0eWxlVGV4dCArPSBhbHRlcmVkUHJvcGVydHkuY3Nz
VGV4dCgpOworICAgICAgICAgICAgLy8gV2UgZG9uJ3QgYWRkICJ0ZXh0LWRlY29yYXRpb246IG5v
bmUiIGJlY2F1c2UgaXQgZG9lc24ndCBkbyBhbnl0aGluZy4KKyAgICAgICAgICAgIGlmIChwcm9w
ZXJ0eS0+dmFsdWUoKS0+Y3NzVGV4dCgpICE9ICJub25lIikKKyAgICAgICAgICAgICAgICBzdHls
ZVRleHQgKz0gYWx0ZXJlZFByb3BlcnR5LmNzc1RleHQoKTsKICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICBzdHlsZVRleHQgKz0gcHJvcGVydHktPmNzc1RleHQoKTsKIApAQCAtOTYyLDYgKzk2
MywxMiBAQCBib29sIEFwcGx5U3R5bGVDb21tYW5kOjppbXBsaWNpdGx5U3R5bGVkCiAgICAgICAg
ICAgICBpZiAoZWxlbS0+aGFzTG9jYWxOYW1lKGlUYWcpIHx8IGVsZW0tPmhhc0xvY2FsTmFtZShl
bVRhZykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uOgorICAgICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Q6CisgICAgICAgICAgICAvLyBG
b3Igc2ltcGxpY2l0eSwgd2UgcmVtb3ZlIGFsbCBwcmVzZW50YXRpb25hbCBlbGVtZW50cyByZWxh
dGVkIHRvIHRleHQtZGVjb3JhdGlvbiwgYW5kIHJlYXBwbHkgc3R5bGUgd2l0aCBzcGFuLgorICAg
ICAgICAgICAgaWYgKGVsZW0tPmhhc0xvY2FsTmFtZSh1VGFnKSB8fCBlbGVtLT5oYXNMb2NhbE5h
bWUoc3RyaWtlVGFnKSB8fCBlbGVtLT5oYXNMb2NhbE5hbWUoc1RhZykpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KICAg
ICByZXR1cm4gZmFsc2U7CkBAIC0xMDc1LDExICsxMDgyLDE1IEBAIHN0YXRpYyBib29sIGhhc1Rl
eHREZWNvcmF0aW9uUHJvcGVydHkoTm8KIAogc3RhdGljIE5vZGUqIGhpZ2hlc3RBbmNlc3Rvcldp
dGhUZXh0RGVjb3JhdGlvbihOb2RlICpub2RlKQogewotICAgIE5vZGUgKnJlc3VsdCA9IE5VTEw7
Ci0KKyAgICBBU1NFUlQobm9kZSk7CisgICAgTm9kZSogcmVzdWx0ID0gMDsKKyAgICBOb2RlKiB1
bnNwbGl0dGFibGVFbGVtZW50ID0gdW5zcGxpdHRhYmxlRWxlbWVudEZvclBvc2l0aW9uKFBvc2l0
aW9uKG5vZGUsIDApKTsKICAgICBmb3IgKE5vZGUgKm4gPSBub2RlOyBuOyBuID0gbi0+cGFyZW50
Tm9kZSgpKSB7CiAgICAgICAgIGlmIChoYXNUZXh0RGVjb3JhdGlvblByb3BlcnR5KG4pKQogICAg
ICAgICAgICAgcmVzdWx0ID0gbjsKKyAgICAgICAgLy8gU2hvdWxkIHN0b3AgYXQgdGhlIHVuc3Bs
aXR0YWJsZSBlbGVtZW50IHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBVQXMKKyAgICAgICAg
aWYgKG4gPT0gdW5zcGxpdHRhYmxlRWxlbWVudCkKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0K
IAogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMTYyLDMyICsxMTczLDM1IEBAIHZvaWQgQXBwbHlT
dHlsZUNvbW1hbmQ6OmFwcGx5VGV4dERlY29yYXQKICAgICB9CiB9CiAKLXZvaWQgQXBwbHlTdHls
ZUNvbW1hbmQ6OnB1c2hEb3duVGV4dERlY29yYXRpb25TdHlsZUFyb3VuZE5vZGUoTm9kZSogbm9k
ZSwgYm9vbCBmb3JjZSkKK3ZvaWQgQXBwbHlTdHlsZUNvbW1hbmQ6OnB1c2hEb3duVGV4dERlY29y
YXRpb25TdHlsZUFyb3VuZE5vZGUoTm9kZSogdGFyZ2V0Tm9kZSwgYm9vbCBmb3JjZU5lZ2F0ZSkK
IHsKLSAgICBOb2RlICpoaWdoZXN0QW5jZXN0b3IgPSBoaWdoZXN0QW5jZXN0b3JXaXRoVGV4dERl
Y29yYXRpb24obm9kZSk7Ci0gICAgCi0gICAgaWYgKGhpZ2hlc3RBbmNlc3RvcikgewotICAgICAg
ICBOb2RlICpuZXh0Q3VycmVudDsKLSAgICAgICAgTm9kZSAqbmV4dENoaWxkOwotICAgICAgICBm
b3IgKE5vZGUgKmN1cnJlbnQgPSBoaWdoZXN0QW5jZXN0b3I7IGN1cnJlbnQgIT0gbm9kZTsgY3Vy
cmVudCA9IG5leHRDdXJyZW50KSB7Ci0gICAgICAgICAgICBBU1NFUlQoY3VycmVudCk7Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIG5leHRDdXJyZW50ID0gTlVMTDsKLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBkZWNvcmF0aW9u
ID0gZm9yY2UgPyBleHRyYWN0QW5kTmVnYXRlVGV4dERlY29yYXRpb25TdHlsZShjdXJyZW50KSA6
IGV4dHJhY3RUZXh0RGVjb3JhdGlvblN0eWxlKGN1cnJlbnQpOworICAgIEFTU0VSVCh0YXJnZXRO
b2RlKTsKKyAgICBOb2RlICpoaWdoZXN0QW5jZXN0b3IgPSBoaWdoZXN0QW5jZXN0b3JXaXRoVGV4
dERlY29yYXRpb24odGFyZ2V0Tm9kZSk7CisgICAgaWYgKCFoaWdoZXN0QW5jZXN0b3IpCisgICAg
ICAgIHJldHVybjsKIAotICAgICAgICAgICAgZm9yIChOb2RlICpjaGlsZCA9IGN1cnJlbnQtPmZp
cnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gbmV4dENoaWxkKSB7Ci0gICAgICAgICAgICAgICAg
bmV4dENoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCk7CisgICAgLy8gVGhlIG91dGVyIGxvb3Ag
aXMgdHJhdmVyc2luZyB0aGUgdHJlZSB2aXJ0dWNhbGx5IGZyb20gaGlnaGVzdEFuY2VzdG9yIHRv
IHRhcmdldE5vZGUKKyAgICBOb2RlICpjdXJyZW50ID0gaGlnaGVzdEFuY2VzdG9yOworICAgIHdo
aWxlIChjdXJyZW50ICE9IHRhcmdldE5vZGUpIHsKKyAgICAgICAgQVNTRVJUKGN1cnJlbnQpOwor
ICAgICAgICBBU1NFUlQoY3VycmVudC0+Y29udGFpbnModGFyZ2V0Tm9kZSkpOworICAgICAgICBS
ZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+IGRlY29yYXRpb24gPSBmb3JjZU5lZ2F0
ZSA/IGV4dHJhY3RBbmROZWdhdGVUZXh0RGVjb3JhdGlvblN0eWxlKGN1cnJlbnQpIDogZXh0cmFj
dFRleHREZWNvcmF0aW9uU3R5bGUoY3VycmVudCk7CisKKyAgICAgICAgLy8gVGhlIGlubmVyIGxv
b3Agd2lsbCBnbyB0aHJvdWdoIGNoaWxkcmVuIG9uIGVhY2ggbGV2ZWwKKyAgICAgICAgTm9kZSog
Y2hpbGQgPSBjdXJyZW50LT5maXJzdENoaWxkKCk7CisgICAgICAgIHdoaWxlIChjaGlsZCkgewor
ICAgICAgICAgICAgTm9kZSogbmV4dENoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCk7CisKKyAg
ICAgICAgICAgIC8vIFdlIGZvdW5kIHRoZSBuZXh0IG5vZGUgZm9yIHRoZSBvdXRlciBsb29wIChj
b250YWlucyB0YXJnZXROb2RlKQorICAgICAgICAgICAgLy8gT3Igd2UgaGF2ZSByZWFjaGVkIHRh
cmdldE5vZGUsIHNvIGdldCBvdXQgb2YgdGhlIG91dGVyIGxvb3Agd2hlbiB0aGUgY3VycmVudCBp
dGVyYXRpb24gaXMgZG9uZQorICAgICAgICAgICAgaWYgKGNoaWxkID09IHRhcmdldE5vZGUgfHwg
Y2hpbGQtPmNvbnRhaW5zKHRhcmdldE5vZGUpKQorICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBj
aGlsZDsKKworICAgICAgICAgICAgLy8gQXBwbHkgdGV4dCBkZWNvcmF0aW9uIHRvIGFsbCBub2Rl
cyBjb250YWluaW5nIHRhcmdldE5vZGUgYW5kIHRoZWlyIHNpYmxpbmdzIGJ1dCBOT1QgdG8gdGFy
Z2V0Tm9kZQorICAgICAgICAgICAgaWYgKGNoaWxkICE9IHRhcmdldE5vZGUpCisgICAgICAgICAg
ICAgICAgYXBwbHlUZXh0RGVjb3JhdGlvblN0eWxlKGNoaWxkLCBkZWNvcmF0aW9uLmdldCgpKTsK
IAotICAgICAgICAgICAgICAgIGlmIChub2RlID09IGNoaWxkKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIG5leHRDdXJyZW50ID0gY2hpbGQ7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChub2Rl
LT5pc0Rlc2NlbmRhbnRPZihjaGlsZCkpIHsKLSAgICAgICAgICAgICAgICAgICAgYXBwbHlUZXh0
RGVjb3JhdGlvblN0eWxlKGNoaWxkLCBkZWNvcmF0aW9uLmdldCgpKTsKLSAgICAgICAgICAgICAg
ICAgICAgbmV4dEN1cnJlbnQgPSBjaGlsZDsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICBhcHBseVRleHREZWNvcmF0aW9uU3R5bGUoY2hpbGQsIGRlY29yYXRp
b24uZ2V0KCkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGNoaWxkID0gbmV4dENoaWxkOwogICAgICAgICB9CiAgICAgfQogfQpJbmRleDogV2ViQ29yZS9l
ZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5n
L0FwcGx5U3R5bGVDb21tYW5kLmgJKHJldmlzaW9uIDQ2MDk2KQorKysgV2ViQ29yZS9lZGl0aW5n
L0FwcGx5U3R5bGVDb21tYW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAgcHJp
dmF0ZToKICAgICBQYXNzUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBleHRyYWN0
VGV4dERlY29yYXRpb25TdHlsZShOb2RlKik7CiAgICAgUGFzc1JlZlB0cjxDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbj4gZXh0cmFjdEFuZE5lZ2F0ZVRleHREZWNvcmF0aW9uU3R5bGUoTm9kZSop
OwogICAgIHZvaWQgYXBwbHlUZXh0RGVjb3JhdGlvblN0eWxlKE5vZGUqLCBDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbiAqc3R5bGUpOwotICAgIHZvaWQgcHVzaERvd25UZXh0RGVjb3JhdGlvblN0
eWxlQXJvdW5kTm9kZShOb2RlKiwgYm9vbCBmb3JjZSk7CisgICAgdm9pZCBwdXNoRG93blRleHRE
ZWNvcmF0aW9uU3R5bGVBcm91bmROb2RlKE5vZGUqLCBib29sIGZvcmNlTmVnYXRlKTsKICAgICB2
b2lkIHB1c2hEb3duVGV4dERlY29yYXRpb25TdHlsZUF0Qm91bmRhcmllcyhjb25zdCBQb3NpdGlv
biYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQpOwogICAgIAogICAgIC8vIHN0eWxlLWFwcGxp
Y2F0aW9uIGhlbHBlcnMKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ2MTM0KQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDktMDctMjAgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgZXhlY0NvbW1hbmQoJ3VuZGVybGluZScpIGNhbiBtb2Rp
ZnkgRE9NIG91dHNpZGUgb2YgdGhlIGNvbnRlbnRFZGl0YWJsZSBhcmVhCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDMzMworCisgICAgICAgIGhpZ2hl
c3RBbmNlc3RvcldpdGhUZXh0RGVjb3JhdGlvbiBzdG9wcyBhdCB0aGUgY2xvc2VzdCB1bnNwbGl0
dGFibGUgZWxlbWVudCBzbyB0aGF0IGlmIHRleHQtZGVjb3JhdGlvbiBzdHlsZSBpcyBhZGRlZCBh
Ym92ZSBpdCwKKyAgICAgICAgdGhlbiB3ZSBkb24ndCBhY2NpZGVudGx5IHJlbW92ZSBpdC4gIFdl
IGFsc28gZG9uJ3QgYWRkIHJlZHVuZGFudCB0ZXh0LWRlY29yYXRpb246IG5vbmUgYW55bW9yZS4K
KyAgICAgICAgSW4gYWRkaXRpb24sIHdlIGNhbiBub3cgcmVtb3ZlIHUsIHMsIHN0aWtlIHRhZ3Mg
YnkgdG9nZ2xpbmcgdW5kZXJsaW5lIGFuZCBsaW5lLXRocm91Z2guCisKKyAgICAgICAgKiBlZGl0
aW5nL2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHlsZXMtZXhwZWN0ZWQudHh0OiBQYXNzZXMgdHdvIHRl
c3RzIHRoYXQgdXNlZCB0byBmYWlsIChyZW1vdmluZyB1LCBzLCBhbmQgc3RyaWtlKS4KKyAgICAg
ICAgKiBlZGl0aW5nL3N0eWxlL3JlbW92ZS1ub25lZGl0YWJsZS11bmRlcmxpbmUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3N0eWxlL3JlbW92ZS1ub25lZGl0YWJsZS11
bmRlcmxpbmUuaHRtbDogQWRkZWQuCisKIDIwMDktMDctMTkgIFNpbW9uIEhhdXNtYW5uICA8aGF1
c21hbm5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBYYW4gTG9wZXou
CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHlsZXMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQv
dG9nZ2xlLXN0eWxlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ2MDk2KQorKysgTGF5b3V0VGVz
dHMvZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGVzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTksMTEgKzE5LDExIEBAIFBBU1Mgc3VwZXJzY3JpcHQgdG9nZ2xlCiBQQVNT
IHN1cGVyc2NyaXB0IHJlbW92aW5nIHN1cAogUEFTUyBzdXBlcnNjcmlwdCByZW1vdmluZyB2ZXJ0
aWNhbC1hbGlnbjogc3VwZXIKIFBBU1Mgc3RyaWtldGhyb3VnaCB0b2dnbGUKLUZBSUwgc3RyaWtl
dGhyb3VnaCByZW1vdmluZyBzdHJpa2UgLS0gPHN0cmlrZT48c3BhbiBjbGFzcz0iQXBwbGUtc3R5
bGUtc3BhbiIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPnRlc3Q8L3NwYW4+PC9zdHJp
a2U+CitQQVNTIHN0cmlrZXRocm91Z2ggcmVtb3Zpbmcgc3RyaWtlCiBQQVNTIHN0cmlrZXRocm91
Z2ggcmVtb3ZpbmcgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2gKLUZBSUwgc3RyaWtldGhy
b3VnaCByZW1vdmluZyBzIC0tIDxzPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHls
ZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+dGVzdDwvc3Bhbj48L3M+CitQQVNTIHN0cmlrZXRo
cm91Z2ggcmVtb3ZpbmcgcwogUEFTUyB1bmRlcmxpbmUgdG9nZ2xlCi1GQUlMIHVuZGVybGluZSBy
ZW1vdmluZyB1IC0tIDx1PjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0idGV4
dC1kZWNvcmF0aW9uOiBub25lOyI+dGVzdDwvc3Bhbj48L3U+CitQQVNTIHVuZGVybGluZSByZW1v
dmluZyB1CiBQQVNTIHVuZGVybGluZSByZW1vdmluZyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGlu
ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3N0eWxlL3JlbW92ZS1ub25lZGl0YWJsZS11bmRlcmxpbmUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvcmVtb3ZlLW5vbmVkaXRhYmxl
LXVuZGVybGluZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0
aW5nL3N0eWxlL3JlbW92ZS1ub25lZGl0YWJsZS11bmRlcmxpbmUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdHMgcmVtb3ZpbmcgdW5kZXJsaW5lIHNl
dCBieSBhIG5vZGUgYWJvdmUgdGhlIHJvb3QgZWRpdGFibGUgZWxlbWVudC4gVGhlIHVuZGVybGlu
ZSBzaG91bGQgbm90IGJlIHJlbW92ZWQuCisKK3RleHQKK0JlZm9yZTogPGRpdiBzdHlsZT0idGV4
dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj48ZGl2IGlk
PSJ0ZXN0IiBjb250ZW50ZWRpdGFibGU9InRydWUiPnRleHQ8L2Rpdj48L2Rpdj4KK0FmdGVyOiA8
ZGl2IHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiIGNvbnRlbnRlZGl0YWJsZT0i
ZmFsc2UiPjxkaXYgaWQ9InRlc3QiIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+dGV4dDwvZGl2Pjwv
ZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9yZW1vdmUtbm9uZWRpdGFibGUt
dW5kZXJsaW5lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9y
ZW1vdmUtbm9uZWRpdGFibGUtdW5kZXJsaW5lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3N0eWxlL3JlbW92ZS1ub25lZGl0YWJsZS11bmRlcmxpbmUuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzMSBAQAorPGh0bWw+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdHMg
cmVtb3ZpbmcgdW5kZXJsaW5lIHNldCBieSBhIG5vZGUgYWJvdmUgdGhlIHJvb3QgZWRpdGFibGUg
ZWxlbWVudC4gIFRoZSB1bmRlcmxpbmUgc2hvdWxkIG5vdCBiZSByZW1vdmVkLjwvcD4KKzxkaXYg
aWQ9ImUiPgorPGRpdiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IiBjb250ZW50
ZWRpdGFibGU9ImZhbHNlIj48ZGl2IGlkPSJ0ZXN0IiBjb250ZW50ZWRpdGFibGU9InRydWUiPnRl
eHQ8L2Rpdj48L2Rpdj4KKzwvZGl2PgorCis8dWw+Cis8bGk+QmVmb3JlOjxzcGFuIGlkPSJjMSI+
PC9zcGFuPjwvbGk+Cis8bGk+QWZ0ZXI6PHNwYW4gaWQ9ImMyIj48L3NwYW4+PC9saT4KKzwvdWw+
CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3ZhciBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2UnKTsKK2RvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjMScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUuaW5uZXJI
VE1MKSk7CisKK3ZhciBzID0gd2luZG93LmdldFNlbGVjdGlvbigpOwordmFyIHIgPSBkb2N1bWVu
dC5jcmVhdGVSYW5nZSgpOworci5zZXRTdGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dCcpLDApOworci5zZXRFbmQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKSwxKTsKK3Mu
cmVtb3ZlQWxsUmFuZ2VzKCk7CitzLmFkZFJhbmdlKHIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQo
InVuZGVybGluZSIsIGZhbHNlLCBudWxsKTsKKworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2My
JykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZS5pbm5lckhUTUwpKTsKKwor
PC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="17446"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33463</attachid>
            <date>2009-07-24 12:51:56 -0700</date>
            <delta_ts>2009-07-24 13:49:22 -0700</delta_ts>
            <desc>smaller patch with extra test case for unsplittable element</desc>
            <filename>fix24333b</filename>
            <type>text/plain</type>
            <size>7869</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjM3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDctMjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZXhl
Y0NvbW1hbmQoJ3VuZGVybGluZScpIGNhbiBtb2RpZnkgRE9NIG91dHNpZGUgb2YgdGhlIGNvbnRl
bnRFZGl0YWJsZSBhcmVhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNDMzMworCisgICAgICAgIGhpZ2hlc3RBbmNlc3RvcldpdGhUZXh0RGVjb3JhdGlv
biBzdG9wcyBhdCB0aGUgY2xvc2VzdCB1bnNwbGl0dGFibGUgZWxlbWVudCBzbyB0aGF0IGlmIHRl
eHQtZGVjb3JhdGlvbiBpcyBhcHBsaWVkCisgICAgICAgIG91dHNpZGUgb2YgaXQsIHdlIGRvbid0
IGFjY2lkZW50bHkgbW9kaWZ5IHRoZSBzdHlsZSBhdHRyaWJ1dGUuCisKKyAgICAgICAgVGVzdHM6
IGVkaXRpbmcvc3R5bGUvdGV4dGRlY29yYXRpb24tb3V0c2lkZS1vZi1yb290ZWRpdGFibGUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9zdHlsZS90ZXh0ZGVjb3JhdGlvbi1vdXRzaWRlLW9m
LXVuc3BsaXR0YWJsZS1lbGVtZW50Lmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvQXBwbHlTdHls
ZUNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVDaGFuZ2U6OmluaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6aGlnaGVzdEFuY2VzdG9yV2l0aFRleHREZWNvcmF0aW9uKToKKwogMjAw
OS0wNy0yNCAgRHJldyBXaWxzb24gIDxhdHdpbHNvbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNv
bW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFu
ZC5jcHAJKHJldmlzaW9uIDQ2MzY3KQorKysgV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21t
YW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgU3R5bGVDaGFu
Z2U6OmluaXQoUGFzc1JlZlB0cjxDU1NTdHkKICAgICAgICAgICAgIC8vIEFsd2F5cyB1c2UgdGV4
dC1kZWNvcmF0aW9uIGJlY2F1c2UgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24taW4tZWZmZWN0IGlz
IGludGVybmFsLgogICAgICAgICAgICAgQ1NTUHJvcGVydHkgYWx0ZXJlZFByb3BlcnR5KENTU1By
b3BlcnR5VGV4dERlY29yYXRpb24sIHByb3BlcnR5LT52YWx1ZSgpLCBwcm9wZXJ0eS0+aXNJbXBv
cnRhbnQoKSk7CiAgICAgICAgICAgICAvLyBXZSBkb24ndCBhZGQgInRleHQtZGVjb3JhdGlvbjog
bm9uZSIgYmVjYXVzZSBpdCBkb2Vzbid0IG92ZXJyaWRlIHRoZSBleGlzdGluZyB0ZXh0IGRlY29y
YXRpb25zOyBpLmUuIHJlZHVuZGFudAotICAgICAgICAgICAgaWYgKGFsdGVyZWRQcm9wZXJ0eS5j
c3NUZXh0KCkgIT0gIm5vbmUiKQorICAgICAgICAgICAgaWYgKCFlcXVhbElnbm9yaW5nQ2FzZShh
bHRlcmVkUHJvcGVydHkudmFsdWUoKS0+Y3NzVGV4dCgpLCAibm9uZSIpKQogICAgICAgICAgICAg
ICAgIHN0eWxlVGV4dCArPSBhbHRlcmVkUHJvcGVydHkuY3NzVGV4dCgpOwogICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgIHN0eWxlVGV4dCArPSBwcm9wZXJ0eS0+Y3NzVGV4dCgpOwpAQCAtMTA5
MywxMSArMTA5MywxNyBAQCBzdGF0aWMgYm9vbCBoYXNUZXh0RGVjb3JhdGlvblByb3BlcnR5KE5v
CiAKIHN0YXRpYyBOb2RlKiBoaWdoZXN0QW5jZXN0b3JXaXRoVGV4dERlY29yYXRpb24oTm9kZSAq
bm9kZSkKIHsKLSAgICBOb2RlICpyZXN1bHQgPSBOVUxMOworICAgIEFTU0VSVChub2RlKTsKKyAg
ICBOb2RlKiByZXN1bHQgPSAwOworICAgIE5vZGUqIHVuc3BsaXR0YWJsZUVsZW1lbnQgPSB1bnNw
bGl0dGFibGVFbGVtZW50Rm9yUG9zaXRpb24oUG9zaXRpb24obm9kZSwgMCkpOwogCiAgICAgZm9y
IChOb2RlICpuID0gbm9kZTsgbjsgbiA9IG4tPnBhcmVudE5vZGUoKSkgewogICAgICAgICBpZiAo
aGFzVGV4dERlY29yYXRpb25Qcm9wZXJ0eShuKSkKICAgICAgICAgICAgIHJlc3VsdCA9IG47Cisg
ICAgICAgIC8vIFNob3VsZCBzdG9wIGF0IHRoZSBlZGl0YWJsZSByb290IChjYW5ub3QgY3Jvc3Mg
ZWRpdGluZyBib3VuZGFyeSkgYW5kCisgICAgICAgIC8vIGFsc28gc3RvcCBhdCB0aGUgdW5zcGxp
dHRhYmxlIGVsZW1lbnQgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIFVBcworICAgICAgICBp
ZiAobiA9PSB1bnNwbGl0dGFibGVFbGVtZW50KQorICAgICAgICAgICAgYnJlYWs7CiAgICAgfQog
CiAgICAgcmV0dXJuIHJlc3VsdDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ2MzcwKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMDct
MjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZXhlY0NvbW1hbmQoJ3VuZGVybGluZScpIGNh
biBtb2RpZnkgRE9NIG91dHNpZGUgb2YgdGhlIGNvbnRlbnRFZGl0YWJsZSBhcmVhCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDMzMworICAgICAgICAK
KyAgICAgICAgVGVzdHMgdG8gbWFrZSBzdXJlIHdlIGFyZSBub3QgcmVtb3ZpbmcgdW5kZXJsaW5l
IGFwcGxpZWQgb3V0c2lkZSBvZiByb290IGVkaXRhYmxlIG5vZGUgb3IgdW5zcGxpdHRhYmxlIGVs
ZW1lbnQuCisKKyAgICAgICAgKiBlZGl0aW5nL3N0eWxlL3RleHRkZWNvcmF0aW9uLW91dHNpZGUt
b2Ytcm9vdGVkaXRhYmxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
dHlsZS90ZXh0ZGVjb3JhdGlvbi1vdXRzaWRlLW9mLXJvb3RlZGl0YWJsZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3N0eWxlL3RleHRkZWNvcmF0aW9uLW91dHNpZGUtb2YtdW5zcGxp
dHRhYmxlLWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3N0
eWxlL3RleHRkZWNvcmF0aW9uLW91dHNpZGUtb2YtdW5zcGxpdHRhYmxlLWVsZW1lbnQuaHRtbDog
QWRkZWQuCisKIDIwMDktMDctMjQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5n
L3N0eWxlL3RleHRkZWNvcmF0aW9uLW91dHNpZGUtb2Ytcm9vdGVkaXRhYmxlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3RleHRkZWNvcmF0aW9u
LW91dHNpZGUtb2Ytcm9vdGVkaXRhYmxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvdGV4dGRlY29yYXRpb24tb3V0c2lkZS1vZi1yb290ZWRp
dGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dHMgcmVtb3ZpbmcgdW5kZXJsaW5lIHdoaWNoIGlzIGFwcGxpZWQgb3V0c2lkZSBvZiBlZGl0YWJs
ZSByb290LiBXZSBzaG91bGRuJ3QgYmUgcmVtb3ZpbmcgdW5kZXJsaW5lLgorCit0ZXh0CitCZWZv
cmU6IDxkaXYgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyIgY29udGVudGVkaXRh
YmxlPSJmYWxzZSI+PGRpdiBpZD0idGVzdCIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj50ZXh0PC9k
aXY+PC9kaXY+CitBZnRlcjogPGRpdiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7
IiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj48ZGl2IGlkPSJ0ZXN0IiBjb250ZW50ZWRpdGFibGU9
InRydWUiPnRleHQ8L2Rpdj48L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUv
dGV4dGRlY29yYXRpb24tb3V0c2lkZS1vZi1yb290ZWRpdGFibGUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3RleHRkZWNvcmF0aW9uLW91dHNpZGUtb2Ytcm9v
dGVkaXRhYmxlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxl
L3RleHRkZWNvcmF0aW9uLW91dHNpZGUtb2Ytcm9vdGVkaXRhYmxlLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIHJlbW92aW5n
IHVuZGVybGluZSB3aGljaCBpcyBhcHBsaWVkIG91dHNpZGUgb2YgZWRpdGFibGUgcm9vdC4gIFdl
IHNob3VsZG4ndCBiZSByZW1vdmluZyB1bmRlcmxpbmUuPC9wPgorPGRpdiBpZD0iZSI+Cis8ZGl2
IHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiIGNvbnRlbnRlZGl0YWJsZT0iZmFs
c2UiPjxkaXYgaWQ9InRlc3QiIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+dGV4dDwvZGl2PjwvZGl2
PgorPC9kaXY+CisKKzx1bD4KKzxsaT5CZWZvcmU6PHNwYW4gaWQ9ImMxIj48L3NwYW4+PC9saT4K
KzxsaT5BZnRlcjo8c3BhbiBpZD0iYzIiPjwvc3Bhbj48L2xpPgorPC91bD4KKworPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGUgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MxJyku
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZS5pbm5lckhUTUwpKTsKKwordmFy
IHMgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdl
KCk7CityLnNldFN0YXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0JyksMCk7CityLnNl
dEVuZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpLDEpOworcy5yZW1vdmVBbGxSYW5n
ZXMoKTsKK3MuYWRkUmFuZ2Uocik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgidW5kZXJsaW5lIiwg
ZmFsc2UsIG51bGwpOworCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYzInKS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlLmlubmVySFRNTCkpOworCis8L3NjcmlwdD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxl
L3RleHRkZWNvcmF0aW9uLW91dHNpZGUtb2YtdW5zcGxpdHRhYmxlLWVsZW1lbnQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvdGV4dGRlY29yYXRp
b24tb3V0c2lkZS1vZi11bnNwbGl0dGFibGUtZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3RleHRkZWNvcmF0aW9uLW91dHNpZGUt
b2YtdW5zcGxpdHRhYmxlLWVsZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDYgQEAKK1RoaXMgdGVzdHMgcmVtb3ZpbmcgdW5kZXJsaW5lIHdoaWNoIGlzIGFwcGxpZWQg
b3V0c2lkZSBvZiB1bnNwbGl0dGFibGUgZWxlbWVudC4gV2Ugc2hvdWxkbid0IGJlIHJlbW92aW5n
IHVuZGVybGluZS4KKworaGVsbG8Jd29ybGQKK3dlYmtpdAlyb2NrcworQmVmb3JlOiA8dGFibGUg
c3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+IDx0Ym9keT48dHI+IDx0ZCBpZD0i
dGVzdCIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj5oZWxsbzwvdGQ+IDx0ZD53b3JsZDwvdGQ+IDwv
dHI+IDx0cj4gPHRkPndlYmtpdDwvdGQ+IDx0ZD5yb2NrczwvdGQ+IDwvdHI+IDwvdGJvZHk+PC90
YWJsZT4KK0FmdGVyOiA8dGFibGUgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+
IDx0Ym9keT48dHI+IDx0ZCBpZD0idGVzdCIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj5oZWxsbzwv
dGQ+IDx0ZD53b3JsZDwvdGQ+IDwvdHI+IDx0cj4gPHRkPndlYmtpdDwvdGQ+IDx0ZD5yb2Nrczwv
dGQ+IDwvdHI+IDwvdGJvZHk+PC90YWJsZT4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc3R5
bGUvdGV4dGRlY29yYXRpb24tb3V0c2lkZS1vZi11bnNwbGl0dGFibGUtZWxlbWVudC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvdGV4dGRlY29yYXRpb24tb3V0
c2lkZS1vZi11bnNwbGl0dGFibGUtZWxlbWVudC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZWRpdGluZy9zdHlsZS90ZXh0ZGVjb3JhdGlvbi1vdXRzaWRlLW9mLXVuc3BsaXR0YWJs
ZS1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKzxodG1sPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3RzIHJlbW92aW5nIHVuZGVybGluZSB3aGljaCBpcyBhcHBsaWVkIG91
dHNpZGUgb2YgdW5zcGxpdHRhYmxlIGVsZW1lbnQuICBXZSBzaG91bGRuJ3QgYmUgcmVtb3Zpbmcg
dW5kZXJsaW5lLjwvcD4KKzxkaXYgaWQ9ImUiPgorPHRhYmxlIHN0eWxlPSJ0ZXh0LWRlY29yYXRp
b246IHVuZGVybGluZTsiPgorPHRyPgorPHRkIGlkPSJ0ZXN0IiBjb250ZW50ZWRpdGFibGU9InRy
dWUiPmhlbGxvPC90ZD4KKzx0ZD53b3JsZDwvdGQ+Cis8L3RyPgorPHRyPgorPHRkPndlYmtpdDwv
dGQ+Cis8dGQ+cm9ja3M8L3RkPgorPC90cj4KKzwvdGFibGU+Cis8L2Rpdj4KKworPHVsPgorPGxp
PkJlZm9yZTo8c3BhbiBpZD0iYzEiPjwvc3Bhbj48L2xpPgorPGxpPkFmdGVyOjxzcGFuIGlkPSJj
MiI+PC9zcGFuPjwvbGk+Cis8L3VsPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
Jyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYzEnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZShlLmlubmVySFRNTCkpOworCit2YXIgcyA9IHdpbmRvdy5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKK3Iuc2V0U3RhcnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKSwwKTsKK3Iuc2V0RW5kKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0ZXN0JyksMSk7CitzLnJlbW92ZUFsbFJhbmdlcygpOworcy5hZGRSYW5nZShyKTsK
K2RvY3VtZW50LmV4ZWNDb21tYW5kKCJ1bmRlcmxpbmUiLCBmYWxzZSwgbnVsbCk7CisKK2RvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdjMicpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKGUuaW5uZXJIVE1MKSk7CisKKzwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUK
</data>
<flag name="review"
          id="17741"
          type_id="1"
          status="+"
          setter="justin.garcia"
    />
          </attachment>
      

    </bug>

</bugzilla>