<?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>46868</bug_id>
          
          <creation_ts>2010-09-29 19:53:43 -0700</creation_ts>
          <short_desc>Input Method inserts conversion candidates unexpectedly</short_desc>
          <delta_ts>2010-10-26 13:27:07 -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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.6</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>0</everconfirmed>
          <reporter name="Kenichi Ishibashi">bashi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hbono</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>287334</commentid>
    <comment_count>0</comment_count>
      <attachid>69300</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-09-29 19:53:43 -0700</bug_when>
    <thetext>Created attachment 69300
screenshot

Chromium bug: http://code.google.com/p/chromium/issues/detail?id=56759

Steps to repro:
1. Open a chat window in Gmail
2. Type a Japanese character sequence &quot;てすと&quot; [tesuto] with IME enabled.
3. Hit spaces a couple of times to go through conversion candidates.

Expected result:
Conversion candidates should not be input to the textbox while going through them, until hitting an Enter. The expected result is just &quot;テスト&quot; or &quot;てすと&quot; or similar.

Actual result:
A conversion candidate is input to the textbox every time you hit a space, resulting in an unexpectedly long string like &quot;testtestテストてすと&quot; (as shown in the attached image)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287339</commentid>
    <comment_count>1</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-09-29 19:58:16 -0700</bug_when>
    <thetext>I&apos;ve investigated deeply this issue. This issue will happen on the textarea that has an event listener which invokes style recalculation.

When IME composition changes, WebKit calls the event listener at first and style recalculation is scheduled. Then, the IME composition is processed by Editor::setComposition(). In the typical sequence, it uses CompositionEditCommand::replaceTextInNode() to set the current IME composition into the text node which is on the textarea node. The replaceTextInNode() function is composed of DeleteFromTextNodeCommand and InsertIntoTextNodeCommand, and after invoking DeleteFromTextNodeCommand, it invokes style recalculation if it needed (and it&apos;s needed in this case).

At this point, a state mismatch occurred. Although the content of the text node has changed by deletion command, the textarea node still keeps previous text and the m_valueMatchesRenderer flag, which indicates whether the text is up-to-date, does not update yet. As the result, when WebKit recalculation the style of the textarea, it inserts the IME candidate text into the text node unexpectedly.

I wrote a repro for this issue and I&apos;ll attach the file.

I&apos;ll post a trial patch to fix this issue and would like to ask some advice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287340</commentid>
    <comment_count>2</comment_count>
      <attachid>69302</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-09-29 20:00:07 -0700</bug_when>
    <thetext>Created attachment 69302
HTML file to reproduce this issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287347</commentid>
    <comment_count>3</comment_count>
      <attachid>69303</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-09-29 20:14:47 -0700</bug_when>
    <thetext>Created attachment 69303
A trial patch V0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287349</commentid>
    <comment_count>4</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-09-29 20:15:56 -0700</bug_when>
    <thetext>This patch attempts to recalculate style before setting composition into the textarea. I&apos;m not sure this is preferable way to fix this issue so please let me know if you have ideas for fixing the issue in more desirable way.

FYI, as the patch implies, when the selection is different from the previous selection, that is the case of IME composition has multiple segments, this issue will not appear.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287464</commentid>
    <comment_count>5</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2010-09-30 03:17:04 -0700</bug_when>
    <thetext>Even though I&apos;m not a WebKit reviewer (or a committer), I would encourage you to write a layout test with textInputController.setComposition(). Also, if this problem happens only when we use an IME, it may be more reasonable to call updateStyleIfNeeded() in Editor::setComposition().

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287477</commentid>
    <comment_count>6</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-09-30 03:44:08 -0700</bug_when>
    <thetext>Hi Bono-san,

&gt; Even though I&apos;m not a WebKit reviewer (or a committer), I would encourage you to write a layout test with textInputController.setComposition(). 

Thank you for your suggestions. I didn&apos;t know textInputController.setComposition() and just wondering how we can write test for this issue. I&apos;ll check it could use to validate the issue.

&gt; Also, if this problem happens only when we use an IME, it may be more reasonable to call updateStyleIfNeeded() in Editor::setComposition().

Yes, this problem happens only when we use an IME. However it is not always needed because it happens when an event listener which involves style recalculation. So I just put it at the place we actually need to do it. I&apos;d like to ask further opinions including overall idea of fixing the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288864</commentid>
    <comment_count>7</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-04 03:48:01 -0700</bug_when>
    <thetext>Someone who can review or give a suggestion for this issue? I&apos;d like to fix this issue as soon as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292880</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-12 00:55:38 -0700</bug_when>
    <thetext>The change will affect all platforms.  So we should not add &quot;[Chromium]&quot; to the bug title.

Is this issue Chromium-Mac specific? Does it occur on non-Mac or non-Chromium? Why?

(In reply to comment #1)
&gt; When IME composition changes, WebKit calls the event listener at first and style recalculation is scheduled. Then, the IME composition is processed by Editor::setComposition(). In the typical sequence, it uses CompositionEditCommand::replaceTextInNode() to set the current IME composition into the text node which is on the textarea node. The replaceTextInNode() function is composed of DeleteFromTextNodeCommand and InsertIntoTextNodeCommand, and after invoking DeleteFromTextNodeCommand, it invokes style recalculation if it needed (and it&apos;s needed in this case).
&gt; 
&gt; At this point, a state mismatch occurred. Although the content of the text node has changed by deletion command, the textarea node still keeps previous text and the m_valueMatchesRenderer flag, which indicates whether the text is up-to-date, does not update yet. As the result, when WebKit recalculation the style of the textarea, it inserts the IME candidate text into the text node unexpectedly.

This explanation should be in ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295388</commentid>
    <comment_count>9</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-18 00:49:32 -0700</bug_when>
    <thetext>Kent-san,

Thank you for taking a look at this.

&gt; The change will affect all platforms.  So we should not add &quot;[Chromium]&quot; to the bug title.

Done.

&gt; Is this issue Chromium-Mac specific? Does it occur on non-Mac or non-Chromium? Why?

As I investigated roughly, for Safari, it fires event listeners after the IME composition text is updated so the mismatch of the text node doesn&apos;t occurred. I&apos;m not sure about Chromium on Windows because I don&apos;t have build environment on Chromium on Windows for now. I&apos;m preparing build environment but it will take some time.

&gt; This explanation should be in ChangeLog.

I&apos;ll add the explanation in ChangeLog in the next patch.

I&apos;m also trying to write a test for this issue, but I couldn&apos;t find the way to input key event to input method in DRT by JavaScript. Does anyone know the way to do this? Am I supposed to implement such function into DRT (and is it possible?)

I sought the API for dispatching key events to input method and found WKSendKeyEventToTSM() in WebKitSystemInterface.h, but it was disabled on SnowLeopard by changeset 41679. So it seems that there is no official way to dispatch key events to input method via DRT (I also try to use eventSender.keyDown() but it doesn&apos;t pass the event to input method). Anyway, I&apos;ll continue to seek the way to test for this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299361</commentid>
    <comment_count>10</comment_count>
      <attachid>71857</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-26 02:57:50 -0700</bug_when>
    <thetext>Created attachment 71857
A trial patch V1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299362</commentid>
    <comment_count>11</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-26 03:00:18 -0700</bug_when>
    <thetext>Hi,

I&apos;ve updated the patch following bono-san&apos;s suggestion and including a test. To add a test, I introduced setComposition() to TextInputController class in DRT chromium port. I&apos;m not sure this is a good way, so please let me know if I do something wrong.

Regards,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299365</commentid>
    <comment_count>12</comment_count>
      <attachid>71857</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-26 03:07:51 -0700</bug_when>
    <thetext>Comment on attachment 71857
A trial patch V1

View in context: https://bugs.webkit.org/attachment.cgi?id=71857&amp;action=review

&gt; LayoutTests/platform/chromium/fast/text/chromium-mac-duplicate-ime-composition-expected.txt:1
&gt; +This page tests that the composition text of an input method does not insert oddly into a textarea which have an event handler that changes the style of the textarea, as reported in the issue 46868. When you input text into the following textarea with an input method, the composition text should not insert oddly.

I think the first sentence is the test description and the last sentence is an instruction of manual test when we open the test with a browser.
&quot;oddly&quot; is ok for the description, but it&apos;s not ok for the instruction.  Please write what result is wrong concretely.

&gt; WebKitTools/DumpRenderTree/chromium/TextInputController.cpp:250
&gt; +    // Sends a keydown event with key code = 0xE5 to emulate input method behavior.

&gt; WebKitTools/DumpRenderTree/chromium/TextInputController.cpp:254
&gt; +    keyDown.windowsKeyCode = 0x5E; // VKEY_PROCESSKEY

Which is correct; 0xE5 or 0x5E?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299372</commentid>
    <comment_count>13</comment_count>
      <attachid>71857</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-26 03:50:46 -0700</bug_when>
    <thetext>Comment on attachment 71857
A trial patch V1

View in context: https://bugs.webkit.org/attachment.cgi?id=71857&amp;action=review

Hi kent-san,

Thank you very much your rapid response. I&apos;ll post revised patch in a minute.

&gt;&gt; LayoutTests/platform/chromium/fast/text/chromium-mac-duplicate-ime-composition-expected.txt:1
&gt;&gt; +This page tests that the composition text of an input method does not insert oddly into a textarea which have an event handler that changes the style of the textarea, as reported in the issue 46868. When you input text into the following textarea with an input method, the composition text should not insert oddly.
&gt; 
&gt; I think the first sentence is the test description and the last sentence is an instruction of manual test when we open the test with a browser.
&gt; &quot;oddly&quot; is ok for the description, but it&apos;s not ok for the instruction.  Please write what result is wrong concretely.

Revised the description to include wrong and correct result.

&gt;&gt; WebKitTools/DumpRenderTree/chromium/TextInputController.cpp:254
&gt;&gt; +    keyDown.windowsKeyCode = 0x5E; // VKEY_PROCESSKEY
&gt; 
&gt; Which is correct; 0xE5 or 0x5E?

0xE5 is correct. Sorry for confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299373</commentid>
    <comment_count>14</comment_count>
      <attachid>71859</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-26 03:51:16 -0700</bug_when>
    <thetext>Created attachment 71859
A trial patch V2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299377</commentid>
    <comment_count>15</comment_count>
      <attachid>71859</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-26 03:59:53 -0700</bug_when>
    <thetext>Comment on attachment 71859
A trial patch V2

View in context: https://bugs.webkit.org/attachment.cgi?id=71859&amp;action=review

- The test doesn&apos;t pass with Chromium test_shell.  So we had better add the test to LayoutTest/platform/chromium/test_expectations.txt.

I still have some comments on the patch.  However, I think it&apos;s ok to commit this.

&gt; LayoutTests/platform/chromium/fast/text/chromium-mac-duplicate-ime-composition.html:5
&gt; +      var console = document.getElementById(&apos;console&apos;);

nit: We usually use 4-space indent for JavaScript code.

&gt; WebKitTools/DumpRenderTree/chromium/TextInputController.cpp:254
&gt; +    keyDown.windowsKeyCode = 0xE5; // VKEY_PROCESSKEY

We should add VKEY_PROCESSKEY to webkit/support/webkit_support.h of Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299385</commentid>
    <comment_count>16</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-26 04:18:53 -0700</bug_when>
    <thetext>Kent-san,

Thank you for reviewing!

(In reply to comment #15)
&gt; nit: We usually use 4-space indent for JavaScript code.

Thank you letting me know that. I&apos;ll use 4-space indent next time.

&gt; &gt; WebKitTools/DumpRenderTree/chromium/TextInputController.cpp:254
&gt; &gt; +    keyDown.windowsKeyCode = 0xE5; // VKEY_PROCESSKEY
&gt; 
&gt; We should add VKEY_PROCESSKEY to webkit/support/webkit_support.h of Chromium.

I&apos;ll add it to Chromium soon.

Regards,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299705</commentid>
    <comment_count>17</comment_count>
      <attachid>71859</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-26 12:25:52 -0700</bug_when>
    <thetext>Comment on attachment 71859
A trial patch V2

Clearing flags on attachment: 71859

Committed r70555: &lt;http://trac.webkit.org/changeset/70555&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299706</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-26 12:25:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299758</commentid>
    <comment_count>19</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-10-26 13:27:07 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Kent-san,
&gt; 
&gt; Thank you for reviewing!
&gt; 
&gt; (In reply to comment #15)
&gt; &gt; nit: We usually use 4-space indent for JavaScript code.
&gt; 
&gt; Thank you letting me know that. I&apos;ll use 4-space indent next time.
&gt; 
&gt; &gt; &gt; WebKitTools/DumpRenderTree/chromium/TextInputController.cpp:254
&gt; &gt; &gt; +    keyDown.windowsKeyCode = 0xE5; // VKEY_PROCESSKEY
&gt; &gt; 
&gt; &gt; We should add VKEY_PROCESSKEY to webkit/support/webkit_support.h of Chromium.
&gt; 
&gt; I&apos;ll add it to Chromium soon.
&gt; 
&gt; Regards,

You&apos;ve neglected to add the test to test expectations.
http://trac.webkit.org/changeset/70563.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>69300</attachid>
            <date>2010-09-29 19:53:43 -0700</date>
            <delta_ts>2010-09-29 19:53:43 -0700</delta_ts>
            <desc>screenshot</desc>
            <filename>gmailchatbug.png</filename>
            <type>image/png</type>
            <size>29546</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">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
I8UxpW/KHCoaqoS92Wqt6suaYloe2iU6o3qC+kSD64Y/jI1NMvc9MaUx22vubZFmecmq3XrE5pMd
ZM/pIO2o5+TqTHHJca090Of2+RCnu7aHr2eu1z3vJaKoj4tvjl+3/2agclBA8LmQ52FIktJhT3I2
5U74bCQ2am+0Z0xmbHPcTDzXUdOE+MT6pPljoimHUovThtO5MlxPnMucPCmbHZ3Tnct9Oiyvt0Dh
TMlfmKKMEqbSgnMSZQ8vBFxkqqi/dKAKulJX43ENV9tZF10vf3P21uWmgBbZ2yt3b99LbrPo4Oqc
eFD38EiP2ROe3v4+x2cTz2NfCg70DWUO24+Iv0G8HX/X/aFmImeKPGM/xzdftijx8cayzqe+FY/V
5bXEb9j1og3BH2WbvL9ytuPPBfQBCZSBZ2ALjr0vogjxALGKFEHaIVOQTchFlDDKBX7eeyAUpAPF
Qk3QGo0KTSRNK5oGbY0uQc/TatKeop2lM6KroKejJ9G/YbBgaGPcC0fagKmX2ZV5HnMUy4Gtw1nj
PrOcYdVhnWM7y27PwczxmDODy4KblXuEp5KXzKfPz8a/INAtWCGUhg8SdhDRF1XaJSEmJM4nwSuJ
l5KRVoezkZfsEbli+VaFSSXMHi1lskqt6rKainqSxgstSe0UnWk9C/0mQxmjChPhfRdNpcxuWRhZ
DluTbJns6hzc4Oe11TXSTfngunub50lvd6KqL5Pf64DiINPgudCYsJ+Hw8lT4TYRN6NYoskxA3Ea
Ry4cZUyITpxJdjnWm2qQdjtdOaMxUzurJ9s1ZyH3aB5LfvkZ+cKWIp3i+6VaZxvLaM5bXCgof1ch
XRl16UEVxxXf6ttXMdeItXfrOG6Q6p80SN460fix2bal6Y7g3bTWpfvObe0dMp0FXVvdgQ8HevQe
1/RyPqX0Pe7ne+7/4urL+UHRIedXycNVrx+PTI3+fIsbE3on817lg8a4zoTepN6UzrTGzN5ZxTnp
eZEFzMLcYsvHqCWVpcXlyk+unxk+313xXcWtNn85uAbWyr8afB3/lrDOv97y3fH7p42sHxI/On66
/1zfzPsl/6tni0iN/069RM0fgMEwLDiMjLcwNNoe/vcuIcERcE223VjhK1OotxVcZwEqniWF21Br
QU74t0GJtDeGexxcDuF8A0xMf2M80cvIHMb8MK8Q629oBWMmGFv4kk3sYAzbQbgEepnZwBgD40Cf
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
pujC8JsQqkzsKVZXdhMN91aQyaSIhR0uKw+GPrOiZsABRhPijDOTf93zjY2FpMXCf4q2XhndfOCk
WEdi8QRwFTSaIWOTYaoLCxXiXq3fAR5jMJ32H7GRy5dP9x2L2b/s4Bf7LxIdJn2wSkN1DvJzVjxU
nQyk1Znv+sVCcnr03zIrde4ICiuaLLjO3gvisrv5+Wnb0nfE8ric9UcqdfJ9IxJk1Vcv5F64kJ9/
obS2o7YsDyIXLuTmXq3UtzNDXAn12GgvF7m1ZC31HRLyfc/1DMIcDwscz9CYcC/jxhY0K2Ky0jfl
ZNCt1hMfEgsid67eNh4zSgsHKtKrER9g30Pm9k7Ozu6TZ0WtDIOORYSqrj4U9skSotKkrWjVTA/y
QWrl0lx6ZJbz7JzIpPq2qoTIlNkjzRLPP9KKiQOl+NXSN/zT7ra7CasivUaT71PdRK91Cpw2iwc8
kxK4we41T5nVYQPhhf1HoB57212xa4S4vRFxDMgGJYWMX3bmSHGLy6xobWcs68un/lraqTrWtLe0
HwpNkfZKRHsuui9QRSMDosYSE+W9l5JEx7ZEpqDg/OmuOgmlzZnfx81em4JWpfITl0LTNmZ/m7VN
QESgQ/3Jqk2hz3o8pq4xift1Mn9TEhiuE4MIE9cIbl4fGxzgpM1vtFpD1pr/U0JeIwwJYl96Qn6d
kGPdWZwvMXZV/wAT8/Mz0s7ebvGaHx3qLu9xUbLUl4+s5urx1Kx7HvM/JLdXUzJ5JWMD6Xud55O+
v2s11mvEMKbg3vmsAswgbGe7Z7YaVQ3X/qjoh3if+BS05WSVr46vxdJjX60Ni4d+mY1phVvCvRWZ
NA3ffiENBUTMdkbpdzctUPFb2J2HntVCWhr2FMO2vs24wzGTG49/r6WlOlVoJX9a0jbhqDkRE/GR
Bq3nrefvSzjbOHzx6iXEt1t9Ucahwkbg77UojNIglFXm/nQEtjJjuSz6MFrrIct68rmW9vWpewjW
189w/8M0VRTFkrT6C4wwkaSptuRCraKzhT3E572lyk2s9JFcnfmZ8+ytCIWlFu5Z6q2z50TCL82J
3Fb4TZy3emcJuN+ZhGLuBX6rqjhpawnqUunMU01/k+6gTMB5645edp7e4wyMMc/CGpleXhQbSLs6
uixNwYl0nrfutzzOW7mxEnKasTJ+BoxSYJ2RlMAYOnLcNOupb3k6qsKVKHrymRAW6yIzx4c8lLSv
eGwgfY89ddUXEwVtnV2wxwAyMLI0N6G8AfWzk1PonwvPhY+Y7G3Zo+LeK/Z3r9DF0VatvxTH4yw4
l4Vcntljqovn6wRnWLsNN3ty+y5/pB7nrbdXFBXzWfbuDhqmoziewjpqjoeBOY6ezzjUXT8+CNsN
9A8WeizCzz8vDI6JJUcxvt4n9pbeU3U0NPvETkFkOGZqiCL+hv/S560PUAEY6H7OAcoWLYa2wCtv
AWZhYWGflVTbK+nBgwewV9I/fr/TZ4Y0IW2B19UCdhoZY76IvZLemTpSQxANoC3w5lrgl/N3NTNP
tzk1bUJDaAsMhAVo3xsIK78GMsT8mpb2Ps//ew0M8Pyz8LJ8r73qcnbJpXOP2/SdGPj8s05z1G4B
cf2NvFuXsu5W8Tsf5hXkXicmHvGvHbldR0z/E1T8/nMtsTxVxr9/Oevm5bPVD9XGS9G1tdnPAAAg
AElEQVRTiVAkEoq1/YlE1Icua6ksbWwHiKy+OK+WP8DuLe6E45B6H/iXU85eutd7OhWKAR5jkMt+
eHr3pZImuBHYTrDDzzRVUUr7jaj0l//LbfJZ9WEIzEHpZegPbS9F/eHRZU+KLtYy7YdZexgNd5Sd
/umyjd2UcXaDGUYsfM93Qfnv92olfqbEYLisq72FX33vUae90zCVATZ+wf6rFeoOqbCNzaQ/RSuO
ZhBXnc18GjLCxpTxqPDiU3MvB9UVndLHeedOXWeZwHprRZBKEJP1VIqGz1g2QhVZgdHjr2KEX/S4
tPL+vUflFSPmrx1p27uhZqm4tW+TIamavQTfE9w6cgF3PNBDy2grVTvV+O39/28v+gF8TwUslXYh
Jj75QgWsdqOdVg2JvlVYwGHaex4OWHH0Wxh46uj+2pF/BgsPhqfVcvXCpXsu89daEK7HsB0z/V3u
pe8Ku9QLkk3AqlmTgQR4yKQiMcIWk8ONoDT5hwaXaQrHw+TBbgH4sTiIATwIthhYHgabuY6Gs8Co
Rz0gJhLfv36hCOZoKLCQuOWxQISLk0nJrdGfIgMLO5UjFVtu/Jx/+R7DLnDaHF9DM4PG8gpjB5v7
5684v+OvkgFRQ2ML28aOeJuIxSIG21BDM1J2XyMD3uZsvnL6tyLEGu44TGO/ox7zcP+X9V/kIZT3
/ZpF4z/cdLATQ2448893xg818B3K+Mu3v+MQDNpWfvyLRYzxXOzvi0OlANFGi2HSQZcFZE+xtp9U
JHhq7uEx1v2pSABvuKdiYVvdE+tx77pYIVGnsqkmVbqACj/c8QAiLj/w7Y3HWOT+7z/WSt39Alyo
eE+ZRtbW2HwLKItPNVgNNrJzcBtr5+xG+XOxMYaGsIsjZSpwW8WZy6d+Ljp9rPRi7s2LGaUXT1/P
OHg149cWyjxBce1ZcLxhAaEWj89l/379qZHb5JmBViPDZiodT3z32HelsLJGUn01I6URpxXXns4+
cEatKQyqytrq4KDB/gQVb+8PI71oZbW5+3+FKcu8pR/Y3UmoeagXEYFk4uQ7Cu2+484LXhjAtnJh
INHZTXYbEtG6vadH8LPW/nkOsrn5t8VjwCF/+WjhEbT265/nsWpv1lpibRUN2l7IfYNRhXeP/VAl
YLENWejOHTG09Kr3NhnCsVx3cm5IZIbeQUunG+pnncGGqP1+7sXfi9rQsIlL51Kaj0Av6BSxbPFt
QMAJbbn6THoS38sr4YxbQkW1mRQZOgnTprH4rHTUNDuj1uvJu9vHzbEhNxjprLjw+2Xj8Us83BzR
cOPzB37OymLMnO4LJYYS2EPH2J3LuTg2avpoi5ybpTXTvB3b7lex3eapN0kZRqjx4rl/X+Q4TPLw
nWRj0csFAbjIgfQ98c2ff6yTIMfQTzxs2A3lmHwG7FmmX7D1WfzB7JUb20Le/dMKoJHV/Lw2Ec3d
dXPFfLBe4P9m//2/D5+LXzzGTPT4ThlC4bwpU0OMUAjBW41WP4E0FmfMe38mi2bjhd01TivGD1Mv
hM82k6yJLzJ3GT2iw4jr7e2p7q6S5jZE1k2swVCh4KE2N4nv/I6ns8o3JJEkqjp9T2DkzXOUo6r8
COuKL/ObpffuFXU4zAz2VuCIqgsOpYvtgoMIiKHL1Ih5Z9NOnM6SBU8fT/UBI1d/zoX99/jTXXyn
ND6A2q61sqLTcb7G3oWyToZL2NTxzFvnjl395TLbznv81KlW2OTyXgSq3F6Q9QG1pWh/yUOsYc9u
Kyu5JGq91wzxh2ePWU1720VzJq4WARK83pe38aXt2Ar03+I8fotToLrjXw2GY+es9fxt58opR3as
/Me2yGVv47OuVWgVBPRvTxaQ8stvlz1iyI9IR+2POjs7cm7VyX1HJhMZ2L810vnZC3akDZUdyMjY
ysVB27ITUW25DDlbYFwpDbjO8rJ7jU5jtBTlp/zr57PLoPriqjsxkRexjGluP8R88NDlI92UM0me
ttc0M90D5kxUuDacujh2WgQC9ztzrDVwAWzuoggMW5/5K5jmiGnl/5YD4hclNTO9J2j0xOCflExD
C5fxC9aJGspLT564nNYS8MG71KpYwVHn78D5XseTekKLexczSXVEdUUFRe4uDu4kRM8I8aDeWrt3
xWRraA1hwcgZr0OZ/n/JPzgxOWXrR3v/PGdv0v+ePPNX+4HLpZ7q/xHQoGuFwRyM7/YGX25YRwiT
CZ1axCfZYKTnPnwNJRmXGW7vyvtm1PMtuHWugjN+CelH2GZjkporh04gl3lulM85gk7wMO/S6YvI
LtCXrNBUGT5tuPFYZOQ3dqKFKnywrX9olCoI7sD9lhoVHPjp3L/qvBdHcOWH3DJMbOUvCVHV75ev
N459J0rLO4DCzNB27FtRzm0tqFeOBwwGrlTaB34Q7NFFdGwOZgiu/5RSL0HcSUt8J46mZKSnKO5i
RJcYbIGKO5r5WP8QXw0aw7Fvr/rb26vm/G386p1FjSJkb0I0a+S0Gvg0QIsFmBZuYya7kQmN7Tdr
nKaO7E2bU9RQWnQ8s82QF6DauaLkWZT2WGrv50W0DBmDUeejwt9v3CgRW0wKChpLokGVKOJX37lw
rLZRYu3z3lte2vcckLaU5h2/aOyzXM3xKHw0ooZOvn9acf3wT20dMoXvyXFaKn7Lv1DmELLKSdtr
Q1l/ytE5Zr2QKqcZON8bbDzEzpjMvNjKCNW3InMnVxN8C1QyQXfE1CMgCP1l3dHsoGB3R3vnRV9H
oQ1bpnxhcPRPs72k/LslZWjm4hAjUen//fUQb8lityGorhk6OV3wHKrS2r2IVUi6Ff8DpjAGq7/r
YTztqQxa/epwyBxWA0K/o2qozdpRWi1hOwUGTfclqzUqylN+wdXrjcNmfqQo29DpImm6Ue0csHwM
pbkIJE/513KP5iAL9/HvzLSz0KIA4DzM3X3zXqvZuHeneCmbmlRxOuMM2/FLV6ukyhqKUvfVS1ku
Mz9yG6a9Mnsq7ZTBlmv9CwPne6p6ShlkB5RqQg93TjPXBf8l96vF479Cfz9X/+cZXz/+2jJmw18W
HvkLThS+d+ZiiLC6kv++NvnvOMhz3aF/jMWtp0Zr1oOYNz4JXupPblyqZYx3kA9wYRYZbAAbXlI+
yeRWEjwuv/W4rhNZqRdEB/9lnAkmVoo9JjSNOtjKN2Qxj21E9hDaTlj60WBDE40qBQ22mhiy1INt
SGJqMkPWY4K8ecO4usVpodEFYpg7B4a5ObiZ6C6iVuOXTJT0vqZTlTiou7tbFdKLO7Uzn/Pz82FV
0eMh01/kOgZRW4uEacgxUpyuLhM0d0gRnPpMQiADXYJ2mVTKMLFUHXNXp+1FVt8gVHF17i+1/DZD
1zne8tag7szLHl9PP9nJZJmOmuE5tpcVjm6ur18KrGOwe5IF+fLz8zM1NTUwMGCx/ngnEBia4Z1i
5OMBB9OsxAxMNLYwwAjUaUkmdIRiAbZT0GLtX1QUJHmUYTf+nWhNMA3RxwIvpM2pdbWSPtrQOLQF
3hwLPH/f+/Pbo56X+UyMBz0vVjQf2gIv1wI//IC1OalB88uWmkrHaQvQFnhRFqB970VZluZLW6Bn
Czz/vZJ6lken/kEtIKyvaTHg2ptrH177g2bq5ar9QvZK0pklYe3lK7dlykMppcjQ2cfb5dnPU1S6
nMNLUfDl8XglJYrdrXWfuadAp397ZQHleetjGWUZ5cbvzpsAD+jhxZ8KXVcuwY5LFFxIO2k1/R13
WISn+7x1mVgohG2otUmWITZlQoWsrqxM7ODuZI4q8y91uUxy5z67OGjj2jeYuLW1L9tZ1+Qm/yb1
j5nh2jepBNXz72vpQRth7ZVTZwtUEXw89fE9Q7tlSQkBXQgGRtoqstZuTQlety3Ki9vV1YVMx+se
AlUVRdxJq/dt3dHmvy4uRN+OdG1cXmOY8rx185HDJEcOHbKzi5poz2AaEwcI8a+dzLsnjXqHcCud
563XZCcfKm7RYSabZRtWKnaBFxcez5AuGuFkzig/mye1Gq/me+KaC7t/us6h7vYOByHBQdJS5LNo
+cQ+OKpi3bqgpjT/VmVJ4e0pUev91M9n0aG4AtwlaoNR5X6GAfU9WOoP6sIxDFPHc/FZSFi9p99b
zjZ0RQyRVektBL73/gdxKzTWo0hFIgTHDD/DJG3Jm3egnctp3+vBTuR568uip32dlFzmEW8MBzbD
ZFz+1T2n7vlHrbcnXE/3eetOoTEbZhL7EkAVKEZsNhtft575zXd33YMUjoepAMsDBbgqWOnQqCgZ
Fq4hM61UNyZgoK77v2YUCijr1uGco6ZOXBx2NrU8QAVr76jinXVX05Kz7rGGT/toiZ+JhUFl4W0b
F5uLGZe9VwaolENhfXWTgZOjfN26UMjg6DvzUSFbj99nFVQ9WPQWxXbc1MmThvSWisQXSrAp0V0S
WDetnCcoenR+Y2TgjhxI4SWcOxYzFa/TRJX7tvxX9NZ0jJa3rqRguye69dkcHoa1NjrkKPL7+PCX
4WOwVDqoWgDOW4eXpFgoQNbj5vg0wtnrXSIk7YIi+djFN3wSFwkEQhMT+SQvreetAz9i3jwsV8/e
tUu6eMM8J/HVtN3FEo/YUJWmmpRt7ISdAi2EsqiyixKuEsPE3t3TXlU7JK6+AzN1eY7KWWb1JacP
FbUZs1kcDgCFUDNKGhs7kMXi9THkYevC6lxwPJ85c5ozMnalGWyImBAVPq2gyy1KeXSROD95d4v/
ylCbB4dS8xevXwO0wupTuw4x4+JDlcLwJQgSfl2rzNVc42WhpmoPty/B9zorszNarOxcx4wd7UTN
Tw9aPiOpvehDh8AU3rr0c/Nv7V4fG+hsXytZMJR56xDmeFtST/pb8a9eacfWaDGt/RauQzk7UHDI
+++PsXexfgbnNzpZeDH5u4IWlrExG5Xs7pBI0O0997Cbim8LJBJjn9VrZmifaKxhNKYxqi/PST5U
WIeGL46bp7oetr25g0V88YMTug7Vh6X4cmaxhe8y6tpBp6Co+CBMcHV+bte4IDeT1hPfJDyZNJd0
PDgxae+hAhv/ZTM8HdFIo727juw8yvxkoR9OhBHigT12wpCE9LyQT2ZMt8nKvFwTE+BYX15l7DVf
vaAyOaguL+HrPAsX39Dpvk59mkc6oL7HYGBZaK4qaa5CqDA3A9kv+DiWZ61S2xM26NX11vHtKQid
PLM91BYtmJx0McXnX8dLFsR4d7YBG95bM0PhmPWQUIKl7YKPYyLX7mh//4OYGM9eSXnzkDlBMUR5
xrJenZlYOip6nmvvH5asqbrDYrLXCL7JkHcCPNV9S9xSR1m3rqgqUdmJvQ/cwkPdVP0UfwaCilN5
Lcbhvo7anoiw/GJBdaM0/2Zho8usNQEKHGH1we9+7Rg+/SMCwnFdGTs/MeH4N0elaxZiPUlkMHcP
sMhIvlw/Y9IM//t3oIXVerG4Y3yUesWLpEKWx6JVUxi5J9IP7SkwHu6zcE6gYy87gQfU99jDQv66
KQSWYzVVFfy8/3g9qjuWfNpl/Vz150FaQr+IBFvCjmZzYRIMnCON9X8Gt2Jr/YZNAFlrAR62btvG
dXG+TngbVdoJ6G30WXuYzXoK4vqyc0WPmIrP54bqDn57du5D3IawZkgqMhk+yc+NWvdo5yauuwvn
PFtyXd01CjAQCKrKJMh5KPZOJj/TAFqWebNx0niqU8iZy+qv7f71JlRfruo1EYEglrItPBwsmE5R
UZSWqqzl4QOWx4dLJipbiObuMbEI3G97cmtsVJDSxRnciKhotjViMwIinFDNhb0PWD4LNXpi8H4W
homV67yoT4Lqyk4ePJ6a0PxhfMSzzSHPB/YzoL6nkMuwdp6y9J1HO34pRILKJ0Kk+HBQpPfpd0tq
+lsmCPuoRwL2CBfgYTs1jl8+7tvtX2zeEZ++Iz7trjDcVV50+iThDSOCVep4gGzDqBA2657FhJ4s
6GDEIBhMn1CfkVrA8gqX982oUwhyT9y28F9GvnwNwN3ENWnfHUce8wMon3MEHb/ywr4jeWj4tKVk
habKUFZXerODEzVhopqbM+wD4j9RRYU7cL8444O7DiVsqwtf/Z6rCeGYDCt7LoEqqMhMzWuc9eEK
7W6u4AcfpBGfjKjno145HlDrZ0CFmOf4297UIOemfBf1lT2+hN3Ve07oGPXsWI4J2ZQYsiYm0con
NuVMWbirN9HAMTPo3cBEXzX7A9OxrdyCZriRGahuuVk6KtCvN21OQV3pL8kZdcZeH6p2rih5Xjh8
U2IfNZloGcKuFB3l5zNPFhR32PiunkfdRkQmqK+6kJleXCdxmbY4wk/74JCYX5qUnGczTbOBSArU
iHCclmyIPvHDTw3tMoXvyXHqSk8kZ9z0WhQ7gbqXqIKBejlDHG5vPW+AfU/48NyhXL6HlwuzpeLM
2QdYRpwn6jnIoMi1ll/Pd9eERacsGztLnLUz2NXocXlBOdt3RQj3yGcbHnlHzn1r+KNb1UA2wh7v
WeGYj0Box+GD56eZjXN2sFS0qbTwfYNBcN66Wu6hupPqWLeOLZLEK0MqSdnRb47flhiPnrZ6oR9Z
rVERZPX5h/IafcJXK6pE6HSR3Cuo9p0TFURpLgIJtDO/S8pCNh6LPpyl9Ux2wCk9kZhxs8XeNzzK
T63Oo8rUFmdw561Zo5Igqz+6M+m2hOUfvjrAVavu0OTukOjallSFV083Gg7cE3K/02TttVUF8Ecw
4o6a+W7ElL5VewbUlYemvoeqzm2MDoyeDt97WIhMKlmBWEh4Z21E4FocErYxbfMC/H3JdF2eum7H
sq2BY7duyedv8qX3j8ANRLlAmYDz1ssYE9zlA1xYGqxXBuejYBFRneetu78daTbF1JGrs73G4PrF
rfbiKL83uGFxq+FcYs3ywOBOjIvzwAcPNOQrAMPHB4dPGuaqW5wCUY9fhsXEeYsCnXW5OcZh2JRl
i7tevXXry6Nie8ifWNje3tkFw59GFpYmKht9ayHq7Rqi9uZmGNjhmJoqKzOpqBkOu2CaWpqqvGWk
7c3tUg2oFhXeQJD42omfS5+0mXnM1eO89boT+zL4LBbXc2bohF5WOG+YaX/44QfI8ctct87mmFpz
tC4qfw6PwtRSoxJjGlpaaulfAbfTQH0OCrwWLOjz1gfoMQ4eIDm0GNoCtAVULUD7nqo96DvaAgNl
Adr3BsrStBzaAqoWoH1P1R70HW2BgbIA7XuEpaW3sg8cOY8NA9KBtsDAWECl531ARLaXXcwquPEA
sVhGHAvLoaN9/b31X4jRXrrPjLc9OFhj/UFOzqikksQVyunR0vbqS9cfwKoxsRg7v0gC0/ARSyx4
gkZMC/XUPBGH+ejMsoj8JGH2Ci29ogNiF1rIm2aBgfU94b3Du/bcwXwBpl0aiMUP0J0Sx7e8qYuS
e34AHDuftLTPTUzAowARZ4StykTijz82GUdMTZIzEN45HBgYT+Emn2aNVqVJEsM1s+05YyPaWsFH
aCiFho7SFnhxFhjIvZJkl48QjjdySdwKWHUoE7c/vF9noz57qafMMm09w8OVlVsPqKben0i6P6X6
WEP259zpm9M/W0gFkhxsxwTCWohbDV8OxStFqDbP5VSOmRMyVCs2SUZHaAv01QIDuFdSa/HFKkxN
/xWY40GEwTZ1Hq3/OLu0uqjwMWIZYWe0aQkSSacE2fl4OymcRXWivfTWX6dvRuvS55DpajyG+mxB
6PDZUleX+4nbN21NKYH0pPK2FWP011CNI31LW6AnCygKak84zydN2PAA35bDlNmQd/jk5UYxMh/m
PWt2iMp+Gj2JEmZu8IvF9nvQHXTvWXb+m493I17WZwt0ZljUaR6GNkfwdiME6/1O5h/29RpJz7TW
bWs6pb8W0FkU+8tYkx7fKAmh9rO/nTSxtBY3NzU3n95dUrPysyjFTHZNGirENCa7W75fEg4uTQzh
fb+wrTjumRVTc0FiYHxOWFI5LGDXGpqLDgT5LCtBwTvTty6Z5WtL97doNRMNfK4WeAljDLywdevW
bPivjyPw5RnlF2819y1HDdU5yM9Z5zx5BVNpdea7ftj07vTov2VW4kvcFUnEr/RRppXPMustafWS
7LgFtOOpWoe+e2EWGEDfkx+Lbs8bg21SxrAe54P9ood36/qSO1Fp0la0aqZHzxV3c+mRWc6zcyKT
6tuqEiJTZo80Szz/SE1c+ZGvENpyeFO4bc+81MjoW9oC/bPAwPkex84Fr+jqHjYRy8A6mjsw3V1G
9mHtiejYlsgUFPzBdFed2Zc2Z+5absWLyFmVyt+/wtbUKWZ/W9o6Xmygw+eZKmPo2NYudKAtMOAW
GMBXvQlvFu/ELyXtZ5O/Q7ODpGWnSrC+F3veqN6t5ml/VPRDvE98CtpyskrXwtfSY1+tDYuHfpmN
aYVbwr0VmTQN334hDQVEzHZG6Xc3LZD77ajgKISiuQv5SZFvj3VxMGLBQHxnS/3DG+dOP3Zb8yVl
vH7Anw4t8HW2gKJYDkge3cPWidCPGSV1Z9MPYgLZIxdEL+/VnhHVmZ85z94KPZGphXuWeuvoOYFZ
LPzSnMhthd/Eeat3m4D7nUko5l7gt5I5NvVcwS8fvicxaXvEbGxgQRGCIfhpH89QoNC/tAX6boHn
f956z+vWQVOxoLGlE47JMLK2NtXcIICaFW3r1puLzt8fMdnbckBfGlSl6Dhtgb5Y4OWvWwet2SY2
XO070OiTJUvvqb1ro+rDlMahLTDwFhi4vpaBzxstkbbAq2wB2vde5adD6/Y6W4D2vdf56dJ5e5Ut
QPveq/x0dOsmFWnsRqsbmU55JS3wOvieCI687Edoriw4X/pI/6IsfVSw66sDvSDQV7f2fQsHxRyp
1ANdum8WxyexVCumVNr+qLLowFfLBw0KyaxuFolg19LmR9WVRQXZBxK/Wu41KGafdkKt3Gjgi7PA
gHbVC+tKrt5pUVvbwzAfPcnDQf8c3jqw/v0f748wa2u739QExw7hB68nlLTFeGqdU91+63xeflk1
nBbdhUzG+03xHaO2OFaa9T9+ESi9e/+C0uzMFgsHWxhchxHCzobae5VXTh9Fc/9JjsITStZe/dfa
eMcln+qj8jOlU5lwuu4jj9FaTSEtzTxaKkDEUkc2akrOgfOWDh6xvy1fP4xgLfGw2eFThdmfO8BS
KQjBW/Krvni4413Ojib56fTBq7aEeodtOzdurMoiY6oGdHwgLTCgvvfg8i9nS7rUs8fmu3uE6z/o
YOYaHP+xvwnbxNLRAd36VyAsP4hMmD9Wi+M1FB153yeCXHUUHMyLjS5BYdtKkj71JMcppNV5KWhj
1mQ487T0cPyy3crRdV7YqvApIW85mqkp3FZ1B22MVI7rix4VlQl53q5qpnymdFFl5savzlk5WhgY
GBoiqLvr4ksQ79stIlcLOLnaUCRq7eoS1vD9Pt0CM3By4iPWolUb58o3ywjesi0YtRTlFxG6CZvK
duxuy2/L9g3ZKJRsLPvGJ9p8qe+QtgKr0J07DQ0MRIdj45Gfx1hHUzG/8tTha4/eXxVCnIimljf6
dgAtoFZgXqxkB+8FkzgNxEkKTEPW3azTtSCQO7Q3K9fRUN8FS30xPZuL9lkt28HbmHbhy3BNz3uU
/ZXD9PjIhKy2mJD6fQtHHn3v1NGlqKFo8wwfnlVLVfeX+OEMcIhHazFCf8V3cFmaWLw0EbeAtDSE
tXbn0URP/I64iJobnvDb2hqrj2bnoPSmzy2WDRszY/ECb+GVFJ/A+I0nq74MlbMEfH2kMznGI1zt
zLgGl7bH7i4JS0hamJSUhLq6kEFXcvTanOB1CVFeXQbmJtjaKwlUc1vOfbZmDEsK50xQAjQihELD
odyq7N2RAJY2V1+58ehaaUmJzfnMX9oQl2tmgJ2KhgUh1JHY5jUGhgbGKjzwVPoy8Bbo7keQSqWd
nZ2NjY1VVVXXr19PSEj4/vvv2wVP9frj390VD2FPOV8nvm7VhPlJ68BWW9LLteMIS8Jg4llCIZ4q
TItEvJ1EvLu7rQQKaWSqgpCfxUNhJcLubkl9/rn8cshJbW1VSTrs7rLzZFbqtnUbk0pwJvxtlGcT
uXHbzm2YAmjjSUi9m7YKGnn5bQpd9JeOU9RnbYSs8BXU3d3loOHGrHoloFuYlZCQlraFogIWBSWJ
kFpSmLQttVbSLSxPCwsOJoBhW1JTt63iYVPjCEQiyoN5sBTOdHSALACuAaGoqOjOnTsPHjyoq6tD
/ZHcD98TZHyDed6xG4IeHFVTN4lEWH83fwteunjrdqanp+7ctmXjulVhRPHi7STKf3kqlN4tisJb
BV6y5Zzirrv7HFbUzxHM2wq3gV9iVJJycCBq4PGCI1dtTM2vxTEl/Np6QJNUpYFTl0gwGEaLtuF8
68EteNvkPPWXjnPGROPORggiPDmyHF4HPQdhbeo6cCpeaqEyazhFPeQPQqFEmBoMb5lCfn0JWGBV
WiGfXwtvCd42xWuoZ/506nO1gKbvDeReScqCXX/5yNknyMQ9ItjZSAntOSYqXc7hpZA4vLCQzqNh
YdjXXHDkuvf/4/P/2upoYTOMaHx2NtaiLauITzJp9ZUdCGWNUX6g2bqFoe3Xmjfhk9NYhvgp0XDI
1ZjE7m6iyYmklTGs/4opPEqugIBkS3wTpdLM71HYf4wimuosOCr48L32T21NbWOztmye/t9FH2V7
m6JeSCeywxzzP2mrRk7/OFwIEm/9T8RuqJbH9Lh2vvLI+pERO4I3Ql23VG03p+aigzDZHEL0n3eH
m6GUZT5yo0X4wHYYEMJ24j/05WVbYAD3SiKz2lp04PdyWD00f743CXt2xNB5fVbWp06ujtwh2CFf
osqvFo+EclSetGqMxklDNTdzgj2+JngWHv4carYJSteTVlxK5y3bSPa2oGBUlrnvIXduOL4wAipz
JpPrzUsvqRZ5q58R/ehgbM6q9CSFX3QhtNANd3fbwKWRaPP245X7l7r2TjqupV5pqsIAACAASURB
VGv43xOCrXw+/GqnTWoKb1v90jEqBhHd+mzx/3s4ZAj5orqTD37EGyW88Y/VMZ046pM7nZF79oS7
Sn7agp04GLllpydqrcyG6q7k6+msrVZjhWklm9+2Pr/ZYVO/RmRU9KJv+mOBAe1rwRXtzDmcBgv3
Rr39fm/ODwZSU++QEDKrRbs/jG/bWZ8dp/QpMg2OmPUIzrlZg5A3asheFV+yMStc6WkN53bsRnNP
DlOiN2VvnZ3+3l0h7NoS57NMXktAI+38lXddp1J7cdqLjmxFvHNT5X0qopZWOLRbzofpuq28nDMS
WxPYO+lyesuYwye/584Gv0mrKlbPFNMs8L33xCbyzmDYkLSic3cOb9nct3nY4AIexALxaCtm6YG1
sekbU7eV/YgC9n/qnYkq4j9fG/Z9E9Y8iIgshj2Fm3jhnyt0loumf16OBQba91pvZuQ9gawO9yd2
jOhjrpuv7M1B4V+rl1EFN8eAhWht2HrvJPR9dEnwztwQ+ZietKHgz9zpObxtKaFyCEJmqCQ9nZd0
yJW/cdAyo6Ss2rAJHGHNt7N5m6MDd0cHJ51LWiF3tvYDG6CfP51cR3Ev9wiK3ERuGDN0jLyy6o10
ucai6vMbF8DqQV4wKolYsP7csS1TnShezxwaunSpInPYr3MFfODOXhDqSQVCvKgdbctf7339/SZ4
LaBm9tiwzz+Hbk6+WU402rI+9i0r6OgUm0ikA3zYt5qW9C1ugQGe19JZlFOIyR0ymtvz0r1nPB5L
93Ae2rzhwPlb7fjkKmgoUiksvT8uTN24IzZ6h/XGwp/jLEUNReczd322nMX124HWlVz4lPQ8JIF2
Iwr72M8Qtd1HyGPsmKGWlqaoJacECvHdcwlmcJJ0Kd5Iazj/A+xQmP7fcyqPfP45CC49tnVzyaqI
txTtT6X8XkgHovZHx3bFcJwDd/B23hUWZ0uqdvJ2BDqbLf/qSGWD7tahAYxHatnswjsm8VNfWzxP
MIwgfXAP67itrnrYhtD9mofV1VVVt8rvPW4d6Deu0jZ0TGmBgfU9WXN9MybbedzoXo3pKfVVxKZu
PJa0zmxZ4FgzDmvQoEEs1vc4Y0UyYnov/RLrpsr+0huam+2l0YGz1+YbJZ0sbOveTp0AYzrCHWhG
jIIx6zEbE1at9XPAuDkENq1L/dDXdWrM0dqqw56Ye7X/8t/xaN3JBUOZTBODzSCYF5YevO3TOfL2
JykYj+glvaE08/P1CweZOYStzU84WS7ZH4d9XTKd4vZLyk8mlMRHjORyQpavP1LwSMlc+ujYvgPZ
BedPnYRWpBbfIzAhwdqwpeDIwXpzrgEemmACEEztgT9zrmHNWa37tSml0LEBscDAvgEZDu9vIjrh
+p05ptOK7UcjtzTcrXrY2ikxsnFTftFp8rYNKe7u1gRjENNxJfn5Ri5YA883JlGy9ItaPnReGDk5
yduzQ+UR05gM/jsIE+IU+ml396cwiZRpqDzXHWOlK+iQbmokrigekppVMj+E+jYALswxoTHFkveK
zqQnfpXFtrOiMJZUZf24NxlZm63aNNuNAleJsgwQtDnNhwzlisX4O856U3o6Nq6O30KVaSzfK1WF
ir4ZYAu8hD0j9M+htj0j9KemMWkLvEIW0NwzYmDbnK+QKWhVaAu8ZAs8/zbnf6754CXniRZPW+DV
s8CkSZPUlHr+vodNCMYD9HRAvwVc4Y6IwFVNfH9u9eGvD44uHfpDq4snFa4Pf31wqDyp8f7QUvno
iuvDXx+c/vDXRasPXB/d9MHRJUuNlmhzUpGfv++BSAggAzzt6dOnhL8REOJKFQ8Qwi2pQIKWSIJ4
Dzha+VPxqToQyHDVUxaVFngSmqjRUmVRk4hMwZWgIm6pCBDXxZ/Kk4pD6088BaoZqbaiwgmDwxWA
PeAMcPmhagjxF+J7hAzCUpr2UtNAK4IarT44VLZa8akI1LguWWpwKgk1rlWWGq0+OM/kSUWgxnXJ
UoNTSahxfXTTB+eZPKkI1LianqQsNTiVhBon8TWBZBIZ6QFHM4kK6SGupicpSw2uyeEF+p6msBcH
gXwSrzoQofbOA4iaOV6cGn3mTOvfZ9M9F8KXYv/n388J2YCqHAIWkXbUVtV1QowS5EkkDo6Jp8sa
ax80i2QU3G5Ra11tvRoDaro8Dg+gu1ssFAolODf8Vh1Nt1wl5vPCUXLUL0YoTBQjoKD1Jx+Epv3I
JDKiidNbyLPtX5v9DpP5zu4iEKomN///ZjCjDhJLvkoSo5iUMGHCBCYzqqgdU4d4uNTrC6n3lO1s
adPFKwUTh7zrBAO6iqBWL8Ft7aVfL6FJ4ZNtKi4WPPWd6z+MA7oSaI1lFy7JfN+1cVTyJPpvhDUn
MwqGBMzzHoKx7mq6fTr3RheDgWQyp8lzJg6Vz7IU1lzNKOBPnjdrqIF6fUjwVygl/yWA6rJUkXTh
9BauyvXZd7r4Uyn7g6OLVhecKlefuD58+oOji1YXXB+dFTjNe/5z1jGEFoiwYglAsnzCFgWn1+cu
Tf4/A9y9WDbDpk1bYI5PVoep7wcOANEIMSRpcb0X871HigJN2YjNHAwA6OGQ17FEqhKnu9tqbEAI
w/zpUxmLgSRYBw3WHUIgMFlsRjfWWUrcKuBdJbkF2NoZKQFvuZR7w2rCjMkjzJC0S4gIO0Dqk9yC
apikQlATHFT5AAuV0B8cXbS64CqC9bjRh09/cHTR6oLrobIKij58+oOji1YXXEW5Hm9uH/rLanAi
KJNsrE1H4BJspXWF/4vQwckuxK3bwi2nFip4SW8bHTj2Y9yfPI2JRAVc8ftC6j0Fc1AWMZC44tLp
/IZ2xLb1C5pibywpPVNgOTVwmOGghpLs6zKPmROGtD0oLUUewR6meLZA0W5R/c1TeRXEOX3s4Rg/
Qn3iHdZ8M+8usrdi1IkR1rKVNlQ3Ie50Z9OuDiHLmGOIvWTAXSW3cvK67RzYj/l4K1al3lNqiHMm
2FKBPcSp71EqGmhC8qHi9AdO5U/lSYVT+VPhuuL68KHiUPn3Fk7VgUpLhVP5U+G64vrwoeJQ+fcW
DjpIH/zG+9OP87/8d1Dpn451qddf1ZdOIvTp5OFMkKKmcN7O//wRTcvaOFdRFailK+oidXA/7jWV
4KPh00OnDUcN+SU1CD3t6uoEH4P3h7irs1MsxSJC2DlCCDIV6rcU5FXY+QSHzQ/GznQGjooAyN2C
u7kVnZNDfGxgJQROIHsKTlqfe+zYb7+fPPpLVrVABmht9/PLO52DfUdAMxSaohAASFwxJvhHqYKr
8hfTQcOIGDElUPlAnAyAAnECkWCi5KuIAQJECRIqPkFIwAkEggJwIELw1IVDYGriE1SaVyofQiJx
BUwiCSKEUCpnIg4IENHEJwgJOIFA4JOsSOaaOASmJj6QaA1UWQQ34grIRBJEgBtxpTKHOCAQVwKT
xCdvSQSCEKGGne+8C96165MwU3xOOyBQcIRXDvyINs2yU4ghRaO636Z/dnbJ7n/6655n/EL6WhSa
YL8yxPadPMrEwMJjggN6XN+hcADQUjUwwCwAAfNImx/xkbmLo9kghrn9ELaM0vmCUEdhdinDYZyZ
pKlZjIStLfjOKUDH8AyaGxY2392qtbjsSXdnTe71BgcvZ3FjA2zP1dTYDvYCJOKKSdHxbKiaU+Ok
udX4ACsykEkkMpUDEQdkiBAkRKRnHCpPoCJuSSaatLogpEokQ0IH6pVMIpE1uZGiyUjPOFSeQELc
9kCryY2AkCqRDIGJWiCTSGRNbkACQIKQiPSMU7Tnz3+5MS71xl+H4OWnu1u+8k1O21525Dj62wx3
DSbCX74Aj/3Pvy7xIJII3dQUfv5tTmr2IKPYrawbvisJdUnxoA3x0YpZCoPKLQIxSSd8ynGgCwVI
iHcDSdstEbQhBqOh+MzvMqxFeuvSLavQkTIxQkPtjOF+sLkxG7pbutr54I0Nxedrcaw7l65Yz5k2
hKXUARgSzQ+ggQimjOIbGiCkOIiTgQQSyHCFJGobBm5JHCKidksikKnP1IHEJNSgMnwmLUFCXkla
Wn/Sqj3bEFqbU/7zEJr/9ajuu7duNJWcRfy3bpbeMnMePRy+4IC2+Wb2cTRvo6eFWvlpvrZ36V60
Jm31CAZpdfI5KCPPf68kkEYIxDKGuZWY39w1xJpx//YjhuNbBuBxYuGjx+325vVXHooZjrhzwoVo
D+C/LCtbBiqqfNwxzqLjdpWYMQx7XwI30Lp7sM20uXNx/tKSjJMS77fdbdhI7MhGl+/zPd0sGW0C
McOMwbLxmDPfA/AHdT/JPHF9/JxpXKacCekzSp6KOhDjr+qTxK0mnKQlIgRPQNMaiAcs11+V/zP5
AJVWHCqcsDZ5JcSBJkQErhBXy5dWnlqV7ycfqp6EULgSPEkdSM019STU1oSTtFSegKY19NkOnY1V
GMPjGyYdVzD+OnrS1+NyHudPMsWeS9mZQ2jef402IMqw/Dpo0OPvV22APV/XzBlG6knkUcFF/vv8
90oixWCRp9DXgu5ezLwL4hg2k/3soN1h7ci5fj07A3HMObBfK1YsoHIjPsnwWo6B2EM8HE1KCs7c
BziclUnxDWCj4I89QsDHbllD/DyGnLuQcRtA7CGTJ3HhlwhYlYsYcCUaCwpaORPyVoGO/ZJAIqJ2
SyJowqlMqPH+8NGTVlNcD3rq4kllQo3rwtcF7wOtJglAdPHXBacyocZ14euCk7Qm46IfP15O3DKZ
zUlBY//9/m9n/tPfRN6Ie/j7Fzc+SPFR60p5lLvvixvog3+956habkm2ZOT5tzlJX8dksIYEz5k3
ePBTsVjKZLMHY/Yc5Dh+up27GHZLBtlwD8HGa+ZMLD7IM3Qu/pZCw7ymOY6TSLpZgER9d5J6A2vP
2fPgFsjhauo8cY5Dl1DSbWhkyIDq9inWJMBSB3NnzZuO16kq9QCFD65TX+d8g3TitQoMiYhcrg44
VS413h8+umip/HXFddHqgr8IPr2VRdVBF60uOJWWGteOzzAwMmIrnu9TthWyZJsaM+TtSOnDq7AT
3uFJ8soNOADDQYO6ziV/gdC4+QHDCIiaFPAOgEOAyPP3PVIYCAC98VINezpQPragJqLcAhpJQkYw
OiabGJAn+GhFI/EhMohlgJ9iQoWpxAkOWvnoAhLaq3DRuNFKC4SASFwBoc98qNIIQVrF6QL2WS6t
P9XyRJyNl1PS1JWXTiD0l/F2WO8LCUTSR2U3EAp8f7w9NuqgaX/C9wiS5+97IBICoS4ZIW6JK6EQ
8XQBgdSPQNZKohVI5UmNU/kAc7IeBjgpi4pPjVNpAa5VLsEErgQCyVONVpMtFdJDnMoHmNP6q9nq
JdnfZOmJ1mWK9hFCgsv7DntsycJGFyj6dQ923nyxdTNA8B5E1USsxwEgcJXJZJCLF+J7FGW0RKll
C5LV9NNC0A/Qi5D1InjqyuKLkPUieL5x+ovu/nYeLf9iNGFMXdlXg4PXEY5HRJ6P74ETE4EQpqkQ
pAIQrmraEEBNfDU0rbdUnrr4vAgcqjK65FJxdMVfhG669KHKouqjC5+KoytO5amLz4vAoeqjSy4V
R1e8X7oZ8FKasZ3xSAWAG/VWTSiZCvhQ6UmgK6O7u7++B0yJMHjwYAaDAXwPHDigJpi+pS1AWwAs
AP4GG8lCAJd5Dr4HHIER4XiweKK1tRVOGG5ra+vo6IBd9GBTOqheddhd1vKwPOsyNi4AwWv6/JEW
7Pr6ei5XOUJAJNFX2gKviAWeWT4fP34MqkIlBE4B7gB7o3I4HGNjYzMzMysrKwsLC6icurq64ApJ
/ar3qDUeSPLw8ADHA/drb2+HpXQQwMV1+l7Xw10/HyVtOmzseJ+hnLt3744cOZIE0hHaAq+UBZ5Z
PuFsPWhPEiv44NgMCEZGRuB7JiYm5ubmpqamUBtBjQdXZ2fnfvke2IWs9GAUgfBy8DesPmXCeB67
J9+TiPyCF44JnVT782f7LyOOiZm5OaYlqPhKmZtWhrYAaYFnlk/wLqh4oN7DdwM3wL2PTbgiOAVU
d3BWLNRGgAbl/Hn6HhwSDk4PioJsqGrBuQk/JFVXjVgvjoH92IWNeJvU2NzK2hqrmq2tYXt2LKTk
Eb/0lbbAS7ZApL9cAWr51KoTOBU0LBsaGuArDAL4HtRJ4HvgePAJBr4HVOAanp6e4CP98j2izQlc
QAB4MwgA1hAnnBD8kARqVRQHdlrhI+gmVjZcLqY3+b1nRNd/uq1GpwykBcguCGr51KoAIFhaWtra
2sIRNFDxQADHIz7wAB9u7e3tYSMJOzs7APbL94Ad0eYkPBtuwdcJ3wMx4OV6+J6BCRyYA2vLzSyt
rOC1gn2SYvcIGWLrEtAns7ErHWgLvBQLfAMrYxFSFElELZ9a9QEEcD83NzfwLnA/6HEEH4NWKHzv
QYNuxIgR4HjQ2oRaChynX75H1Hvgb4QepB8SXkc4HlEZalUUB7KIYzk4puYWFubQngbVCWQD3PcU
d7oZ0Cm0BV6YBdQKIbV8apUJPSuEm4GnQRUH3Y1EJwi0BKGpCS1SuEI7EVyjv74H4gl/I/SAOPAl
qzsQAPBn+R4yxX3NxswclAbN4Epwg4PQISjuCBh9pS0woBZQK4TU8qlVD/A9COCi0PqDWkQgEEDV
B199hO9B8xAchKirno/vgRLAjnBC8DSi/QkRCFr1UwUarfx358p/y2HwkgDViRsWfnqV4k6ViL6j
LTAgFlArhNTyqVU+gQAuCv4GHgGFGXyPqP3AGyGA7wGcCP1qcxLiCUaEp5H+Rka0qqgLCMqB0kQq
0Q2kuNNFQcNpC7xAC6gVQmr51CqVQAAPhAjhF1AtQacjWTlBBNyP8I7n4HuEEiAJIsRVq1r6AAnN
5AyJhbTyDTL0odYPRyoSIaZGtuHMaD1PslSXIn2U/ef4q2v2fIqdGvscg7Ty8/BvFx7ajp96q8FX
Wr1r9Q63z7aGOj1fqRqC3mzAINVCSC2fWg0D5R/8CtCIALdQ9Z0+fdrf3x8gBAkgQIC4RiHUyvLl
A+HkcUNRQ2Ut08nVsnc6q1EVfePrE1+imSHetvziT31J+KPz+/5xsgK6XLHt0xC0GmBYBjWht774
cqn8QFoFKpMl3pGSuvj7nn1PKhVJhRKhSCSF3WiEEJVIWltbOp48EQx5a4Gvk4IZ5ZfJQenFDe1S
eEQiqRTGTU1NKW7GNGrdvePKB5u1+Z4oO/EfZ6oxhZUBcuA0Y/NK139vTaxHqgnmgZvjQjHW0obs
lKTDRzPvtJmN8pqy6IPoUE/Iq25uMSEUhZSi6BhYgKyEKioq4AQiGHWAWV/gfgAnAuD0rhy/TLOK
ShdzeT75/E2+undd09RPg4r3UW79h9qyzcSOfSaDsLmNw7GD48phdik0IUzYbRHL1qKwpL+TGGTE
lBuM5PMBSBgl0p640Cw2nQJQja5LLV8ALi+t/Mxn5FbNdwIXH4HBSILz27J9lTra+m9E68/e12oN
QXVFWRn4am1KSg5GGRnpAP3cyFsitDi5eWt6cFikA8movd3GG+ZDGKKGxHAu6Bm5btv7Y9CF7+Nn
74jfllX7aYiVTm4YFR3ULUDUaST0xx9/hHhKSsoXX3xBJJEI/doriRTw4iOGhLuYG1Hf2XqIxd8t
VCqmqaVaxaWVi+uCuC8XUFKqj8FN0ufv6vJ7lk69ONM2niv8+1A7ayush9nQsL30QBBv2Ygtqf9c
846rJVl6zcK2nwu3tTA3s7YyYrV1dppZoT1ha3kph2ZY/f/2rgeoyfOMP73hCe2BIxZsoR5SsAVb
0gla6DbQgG1Jt5peZw+FuDPWEfW8YDer4sTu4E7LujsvrttFdru0p0Edao2rjWuNOOpteC6ufqik
AiWsi3NQQptsJFvYsef9vuTLlz9gSJEQfN/Lfd/753n//fI+3/P+fV4YQd1tRO4JygOQU7KV2XHZ
tT0/3jXU8Sfj2681PNF0QUU+TPEr9x5iy+4qcyQo7JoPDik92biu2AHU6qOq4I6s47Njeqg1WPeW
p2E2SmXF/PsW7DhwQVVaOWZqfsWhDoIA19XksTAajSj30IlrfW1tbVKpFO0o9ziCr6Uric9jsizn
zp0bK6lmhRiFh16c0Kvr3F+ZM2Q+raqQHSaCQqw2HFOV5wA4zh7YJq1pIl6y+qbf1BamOP1jpb+z
NknBiMWePHCtMwns9t7BQdaDYTI19lNK/xbOkQ4dUMhArludFyoQIAlaFYpdDVtefa4weNAXl1NY
7MkQxdutsyJxVb3RUlfq38+MSyksZb8Jjo6GteI9HjkpMYni49jPTjzPpN600gpfBKbsR0rD4SZC
XV2vfjJwJ5D7PywxdpuDYntTCXyzXWzimaE0aBJuzxeER5CaIPa9YUWZxos13Lp55MgR3nn06NHi
4mJcbOCRiJk+5/ItWjisqNYYtjy7AFvw8lzZ3Fptp0EycOFgiTTX1dZfMbRbWtOlZyxL7r/9VnZR
UW+q/apSGAs72JLt7SY324vDeajhjpqiqqe0xjcLUobZbajuWXNDSi9z886aVllbf6UPNh4/ryXz
/s9lRdkAMo1hT2V5fmgeBddhuVSsbg9kPG8i+O7Q1uxJ1NlGK+PMzUm5VWarKz+YncnQ7Mq+ijIS
b25pW+evn8lJC/lHcgpvhEFJAJcNR0/3inC3LZet6PFlpTiuS3zsh3JQSLP3ieX1r5YtXVxQuEJZ
J4yJfW82gr8flwZ9+hDgxZperx/0fNZJKK71HTt2bPPmzT5SllGnywNnhPii/KR5FH8+42Zk2F9i
yF1LjAatEoPFZuvvt9m6GyWAQum6rhprVa8zdFptNqvFarOTuIJYvqQ4m5vBeHproHeA285oWbDk
bVbumqeA8NFRp0kCEgYPItstejUpA3Kgts0SRIeUWAWx0RYihPcyNYolaoY4+42YUH1bPx/EW9xW
I5YcqjWdNlYrNx8QaLFrCU4aFgg2zGlCD+wW+Awmo2WzI+FOxthSX82SEDJQG4W1CEotMLsZ6A5o
hML2GbK2SMAwDA6ucec07ibDDxxKv76+PjzXh3yI7Id7LXHPCfrjaTvPvCcL9fR+jLhxrAJu0ima
lTgPoFW6QCRKTRWJsncMghj+O7/yTX1j9Z4qaW66SJS+8reGLhwmgSBWQPUcTGsryB8b96TuUEdz
klgh1+hb6q0l6QkHLw0EJMI7h7FciRkrVQfd/UyjTK8w9PBBPot7uBcL73OHsD20ZFVrjbh07dqn
UolY47uAQtK2t8taq1vcB5U5E5zyxUTIeI+5eJU3o6MH1+Whv2uor8NsyytdVXfwFH6xbBZToxxq
ynZ34AQzNXcHgdjhPbb+s9k5jeEvugC28t9ki9bYuKXY1XMzecUb2G76LUxLfeaeqm0mhwczLpYf
gI4r2wpqoLYqZ8wu1ND5A2txbCbXtB9SrlxV92G7Rr6xKLXhbJ9fOkGOuJS87adG3XtLg0KQOR+t
AmbL22fHac9ppXW27vbtVYqmNh0Kt4xvBvdzHV1nQJL/5JgFD5FxgFcI9v+nca84N/2859sSl5yR
r3pNDWBlO+MB0alzchD4Gv/g5BQAzKd/vv/MlxW79pSOv0zMtoKLhveXzX1+0XMbAKpqGiTqLcUj
136XXbIRV+cOz6kt2TioM51+edEjojlkwIVKQMn8IAAXKyfNMwobGbj0empRE1QzteWhKuHoOHui
TqrQgxi7juuKuUmRuELlIRNAgXQBGLrryrNCRfT5jQFryqZO3Y5cacJxuaZO8e3FeXlZIeZck7MK
y0UdDcvLWuW6D0LM7iQu2yHfWJXbMFv/vaIn5iYlYB2d9sFbvcw1W9bmdcXCrLm5FiL/vQbHe9db
3z8/4BvvATxQsKI4Y5lcAk1lqWu1huqiBSkDN//4hqwG+6uZHsxI/ODUvKnSd0QIhOy2TpmnvbOF
m3VUm8gwSNifDuhqj47atNWEFtkMKbsNai4i+ki26qw48HF2q+W8n9g7VvGLhVKxXc2OZ+SNnb5h
UEB1nYZaiaRWZwlB4DbWi8W1RmEEZycZELaHIBZS+exuW7eucSv7XzWGGPq5LRq2miDXWMYczTlN
erVcwleWTUwsltW2+JfCrpOTsafP02lCjyCDK4ekePZuQzUZR3qMWK72hygoNV+dZqwtoBEK22fI
Ok9ovEe2wHjRnuK360pzfUHVPi5X5D1VfjKuMaxYsYLz2XaEvH+xhnN5njiEjeP3fo24hhzOODyZ
Ee/71rscQ84RXMNL9HnhYEYYy9F3xTIrP4+sYk2Ocd26dHlwUXEICTVu+ri3bUQ44+wldn38zrtD
4hdX5k9eCb1Jh/MecaGynZEAVMOJOCNpAhqhsH2GrC8q6eP0SmCTw61L3Jke1GCEu5TRcEH45A7r
CJtoyNTumqfjqsLLeGHmwc/ehkkvJPN9YhIz8vOEIV/bHp9WWBwBn/i+If4liC9ep/T3mVJXXHyi
b8F/SnOeCZmh1oV58+ZlZmbye6lxYhNVSHC7q/GJX1tcf0dPPN8QvbmWWXOqtjaa+q3aUN2gmfA/
0DpQBMZFIHpyLz5n+/4c3Ixy2TsbOW45SaBPdt2RlBJQBKY9AtGTe15ouN0SXhd9UwTuFQSiz3v3
CtK0nhQBfwSi1+f0loNbNfK66JsiEPMIcIMj3Ejd0tKCdtxcxp1veOGFF4T7OaMv92azq7dJs6L/
FYj5/5xWYBogwM9KyGQyXtEzlgvXFSoqKoRz9VHnvcR1h7C0o+smujw2DVCmRaAIBCCArMVzF2qL
WLNmDe9cvXo1sh/PmRgx6rwXUHjqpAjEMAJ4RgENX4GysjLUk4tOvPmkpKSE40Oe/WhPjweKWu4h
BBxO+Pgm3LgFXw0DbuyakwA5D0PJ4zDHo6Eycih4QcclsWHDBpVKJZfLOe2A6MkTUN6LHGUaM0YR
+Gsf6P4M+Rkgy4fUJLgPYMABf+mFBj288jQU3mGffFiVRuHG8RjKvU2bSGceSQAAA5dJREFUNuET
nSgS0Z8zmArlvbCgpEQzBoFP/kauuNpUBtl4CNRr8DRIVirhul+dQ50rsDTTGxDpmxduyGkFBQX4
ZHujPt5DZ6zoSooUAxqPIiBAwOGCdz8G1XOQmQI9/fC5DZbj3iqAC2aYLyLst/V5aDwD2amQzF4H
IogalhU3T3vkmlfucbdxCSUex4SE95Apw0p1SojG0ZU0JfnTTGY4Am2fwtNZhPHQnLkK2PnkeO/d
i7A4A1TPQnoyLMuB8zfgB0sjgQIZj4/GyTrUH8FZcP80XpeATxz4IeMhl9J5Th4rapn5CFy33nk4
V5QFn96OEAru0BCyFmpkQa7j1LSg6OOkHzIeb5CSjvciRJlGi0UE7MPwoOeeKyLleKPdwFtB9AC4
iLaDSAyyFt7JbrPZUA848huO+vDQEJ7c4+5p4Cwo95DxkIDyXiQQ0zixi4BXM+3YNcB5z0jNSy+9
FH5U2ucMHytKGfMIJCbAF+yZtbqTcO3vftX5bAB2nyA+Q/+G2VMikqLPe6grSancdb5vHOVdfhhR
B0UgYgQWpZF1PDS5D4P6Q/joGh4KJU6c53zzfXiUnYO5/BksfIh43m0zJQw+diUc5uMVMnIt0BPK
1++gp2zsRGgIRSBMBHAOExfQl2RC5TOAa3q//4TMdqL53yiU58HLS+D2V3DuBvxsAj3HMHP2I+vp
6cnKyooi7/npSvIrGnVQBO4OAshv330MTl2B156H73+L/ITGOgS//AhWF8Jc73yMMHSy7Mh4eLZo
586d0eO9ietKmqzK03TuWQRufQntPfDKUrKwbv4H5D0CD7JH2Ab/RfqiuPq3ail8Z+FdhAdnQY8f
P65QKDCP6PEeqytJu0vO/Dhdcfgu1pYmTRHgETDfgrhvwB+uAR42SEuG5nZw4pUwoxA/i2wx++mL
Hlbk6SfXwjMe6jLDlKPHexPXlTS5QNDU7kEEShcB/qJi8CK+kydPosRDxuPGe9Gf56S6kqLSFGim
U4mA2Ww+ceIEz3g43sPcoyf3wqs6pxg4PFpKRRGYjggg47333nvr169HidfV1cUxIRY0+nKP6kqa
ju2FlmmSEAhgPG6iJdrjPW/dxtKVFHATg5ecvikCMYPAjRs38PZZXuIh4/H2hQsXRl3uUV1JMdOS
aEEnhAB2L8diPGRCTCrqvDeh6lBiikBsIICMJ5RywXasRhTvAAsB4h3vWAoRh3pRBKYKgcltn/8H
+SK19ZQ4OK8AAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>69302</attachid>
            <date>2010-09-29 20:00:07 -0700</date>
            <delta_ts>2010-09-29 20:00:07 -0700</delta_ts>
            <desc>HTML file to reproduce this issue</desc>
            <filename>imedup.html</filename>
            <type>text/html</type>
            <size>414</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8dGl0bGU+PC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPHA+SW4gdGhlIGZv
bGxvd2luZyB0ZXh0YXJlYSwgaW5zZXJ0aW5nIHNvbWUgdGV4dCB2aWEgSU1FIGFuZCBjb252ZXJ0
aW5nIElNRSBjYW5kaWRhdGVzIHdvdWxkIGluc2VydCB0aGUgdW5jb21taXR0ZWQgY2FuZGlkYXRl
IHRleHQgdW5leHBlY3RlZGx5LjwvcD4KPHRleHRhcmVhIGlkPSJ0ZXh0YXJlYSI+PC90ZXh0YXJl
YT4KPHNjcmlwdD4KdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHRh
cmVhJyk7CnRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7
CiAgdGV4dGFyZWEuc3R5bGVbJ292ZXJmbG93J10gPSAiaGlkZGVuIjsKfSk7Cjwvc2NyaXB0Pgo8
L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69303</attachid>
            <date>2010-09-29 20:14:47 -0700</date>
            <delta_ts>2010-10-26 02:57:44 -0700</delta_ts>
            <desc>A trial patch V0</desc>
            <filename>bug-46868-20100930121445.patch</filename>
            <type>text/plain</type>
            <size>1633</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWNiNWM2Zjk3MGY4ZGE3ZThjN2NhMzNjYmM2MjZmZWFlZmI1YmJjNi4uMzYzMTNmNmJkNTg5MDJk
NDA4NDcxMzA1OTRhZmM4MGRmM2Q1NWUwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0yOSAgS2Vu
aWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gSW5wdXQgTWV0aG9kIGluc2Vy
dHMgY29udmVyc2lvbiBjYW5kaWRhdGVzIHVuZXhwZWN0ZWRseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY4NjgKKworICAgICAgICBDYWxscyBkb2N1
bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCkgZXZlbiBpZiB0aGUgc2VsZWN0aW9uCisgICAg
ICAgIGRpZG4ndCBjaGFuZ2Ugc2luY2UgdGhlIGNvbnRlbnQgb2YgdGhlIHRleHQgbm9kZSBjb3Vs
ZCBjaGFuZ2UKKyAgICAgICAgd2hlbiB3ZSBoYW5kbGVzIElNRSBjb21wb3NpdGlvbi4KKworICAg
ICAgICAqIGVkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZWxlY3Rpb25Db250cm9sbGVyOjpzZXRTZWxlY3Rpb24pOgorCiAyMDEwLTA5LTI5ICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIu
Y3BwIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGM5Mjk1
ZDNkZTg5MDMwMjVlM2FiZjJlMDZhMDVlYzQxOTA1NDIxYTAuLmUwYjNmNWJlNzU0OGU2MzFiODdj
OGQ0NjVmMDc3MjdjMjA4MTllMzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rp
b25Db250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5jcHAKQEAgLTE0OCw4ICsxNDgsMTMgQEAgdm9pZCBTZWxlY3Rpb25Db250cm9sbGVyOjpzZXRT
ZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgcywgYm9vbCBjbG9zZVR5cGkKICAgICBp
ZiAoc2hvdWxkQ2xlYXJUeXBpbmdTdHlsZSkKICAgICAgICAgY2xlYXJUeXBpbmdTdHlsZSgpOwog
ICAgICAgICAKLSAgICBpZiAobV9zZWxlY3Rpb24gPT0gcykKKyAgICBpZiAobV9zZWxlY3Rpb24g
PT0gcykgeworICAgICAgICAvLyBVcGRhdGVzIHN0eWxlIGluIG9yZGVyIHRvIHByZXZlbnQgc3Rh
dGUgbWlzbWF0Y2ggd2hlbiB3ZSBoYW5kbGluZworICAgICAgICAvLyBpbnB1dCBtZXRob2RzIGNv
bXBvc2l0aW9uLgorICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ2ODY4CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxl
SWZOZWVkZWQoKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KICAgICAKICAgICBWaXNpYmxlU2Vs
ZWN0aW9uIG9sZFNlbGVjdGlvbiA9IG1fc2VsZWN0aW9uOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71857</attachid>
            <date>2010-10-26 02:57:50 -0700</date>
            <delta_ts>2010-10-26 03:51:11 -0700</delta_ts>
            <desc>A trial patch V1</desc>
            <filename>bug-46868-20101026185748.patch</filename>
            <type>text/plain</type>
            <size>8955</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3M2VkZDdjOTMwMmQwNWVhYTQ3OTEwZmI2OGIyOTYxYzNjMzdjMzY1Li4zNWM2MGZk
MjRlY2UwMDE1NDZmNjA4MTBlNjVkYmRiNzM2MGJlNmQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTAtMjYgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnB1dCBNZXRob2Qg
aW5zZXJ0cyBjb252ZXJzaW9uIGNhbmRpZGF0ZXMgdW5leHBlY3RlZGx5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Njg2OAorCisgICAgICAgIEFkZHMg
YSB0ZXN0LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC90ZXh0L2Nocm9taXVt
LW1hYy1kdXBsaWNhdGUtaW1lLWNvbXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDEwLTEwLTI2
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByNzA1MTIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3RleHQvY2hyb21pdW0tbWFjLWR1cGxpY2F0ZS1pbWUtY29t
cG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC90ZXh0L2Nocm9taXVtLW1hYy1kdXBsaWNhdGUtaW1lLWNvbXBvc2l0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZGFkNmY0YzNlNzMzZjQxNGNlNzQwMzU0OGRhYTgxMzZiNzFkODY3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC90ZXh0
L2Nocm9taXVtLW1hYy1kdXBsaWNhdGUtaW1lLWNvbXBvc2l0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKK1RoaXMgcGFnZSB0ZXN0cyB0aGF0IHRoZSBjb21wb3NpdGlvbiB0ZXh0IG9m
IGFuIGlucHV0IG1ldGhvZCBkb2VzIG5vdCBpbnNlcnQgb2RkbHkgaW50byBhIHRleHRhcmVhIHdo
aWNoIGhhdmUgYW4gZXZlbnQgaGFuZGxlciB0aGF0IGNoYW5nZXMgdGhlIHN0eWxlIG9mIHRoZSB0
ZXh0YXJlYSwgYXMgcmVwb3J0ZWQgaW4gdGhlIGlzc3VlIDQ2ODY4LiBXaGVuIHlvdSBpbnB1dCB0
ZXh0IGludG8gdGhlIGZvbGxvd2luZyB0ZXh0YXJlYSB3aXRoIGFuIGlucHV0IG1ldGhvZCwgdGhl
IGNvbXBvc2l0aW9uIHRleHQgc2hvdWxkIG5vdCBpbnNlcnQgb2RkbHkuCisKKworUEFTUyBleHBl
Y3RzID0gInNlY29uZCIsIGFjdHVhbCA9ICJzZWNvbmQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3RleHQvY2hyb21pdW0tbWFjLWR1cGxpY2F0ZS1pbWUt
Y29tcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvdGV4
dC9jaHJvbWl1bS1tYWMtZHVwbGljYXRlLWltZS1jb21wb3NpdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhmYzQyYTg3NWI4MDkxOGUwN2VkZjA3MDQ2MjhkZDI4M2RkN2U3MmYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3RleHQvY2hyb21pdW0tbWFj
LWR1cGxpY2F0ZS1pbWUtY29tcG9zaXRpb24uaHRtbApAQCAtMCwwICsxLDQxIEBACis8aHRtbD4K
KzxoZWFkPgorICA8c2NyaXB0PgorICAgIGZ1bmN0aW9uIGNoZWNrKGV4cGVjdCwgYWN0dWFsKSB7
CisgICAgICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7
CisgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICBk
aXYuaW5uZXJIVE1MID0gZXhwZWN0ID09IGFjdHVhbCA/ICdQQVNTJyA6ICdGQUlMJzsKKyAgICAg
IGRpdi5pbm5lckhUTUwgKz0gJyBleHBlY3RzID0gIicgKyBleHBlY3QgKyAnIiwgYWN0dWFsID0g
IicgKyBhY3R1YWwgKyAnIic7CisgICAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRpdik7CisgICAg
fQorCisgICAgZnVuY3Rpb24gZG9UZXN0KCkgeworICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICAgIHZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0YXJl
YScpOworICAgICAgdmFyIGNvbnNvbGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2NvbnNvbGUnKTsKKyAgICAgIHRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBm
dW5jdGlvbiAoZSkgeworICAgICAgICB0ZXh0YXJlYS5zdHlsZVsnb3ZlcmZsb3cnXSA9ICdoaWRk
ZW4nOworICAgICAgfSk7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kaXNwbGF5KCk7Cisg
ICAgICB0ZXh0YXJlYS5mb2N1cygpOworICAgICAgaWYgKHRleHRJbnB1dENvbnRyb2xsZXIuc2V0
Q29tcG9zaXRpb24pIHsKKyAgICAgICAgLy8gRW11bGF0ZXMgc3RhcnQgaW5wdXQgbWV0aG9kIGNv
bnZlcnNpb24uCisgICAgICAgIHRleHRJbnB1dENvbnRyb2xsZXIuc2V0Q29tcG9zaXRpb24oJ2Zp
cnN0Jyk7CisgICAgICAgIC8vIFRoZW4sIGVtdWxhdGVzIGNoYW5nZSBvZiB0aGUgY29tcG9zaXRp
b24gdGV4dCBvZiB0aGUgaW5wdXQgbWV0aG9kLgorICAgICAgICB0ZXh0SW5wdXRDb250cm9sbGVy
LnNldENvbXBvc2l0aW9uKCdzZWNvbmQnKTsKKyAgICAgICAgLy8gQ2hlY2tzIHdoZXRoZXIgdGhl
IHRleHRhcmVhIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZpcnN0IGNvbXBvc2l0aW9uLgorICAgICAg
ICBjaGVjaygnc2Vjb25kJywgdGV4dGFyZWEudmFsdWUpOworICAgICAgfQorICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9ImRvVGVzdCgpIj4KKyAgPHA+VGhpcyBwYWdlIHRlc3RzIHRoYXQgdGhl
IGNvbXBvc2l0aW9uIHRleHQgb2YgYW4gaW5wdXQgbWV0aG9kIGRvZXMgbm90IGluc2VydCBvZGRs
eSBpbnRvIGEgdGV4dGFyZWEgd2hpY2ggaGF2ZSBhbiBldmVudCBoYW5kbGVyIHRoYXQgY2hhbmdl
cyB0aGUgc3R5bGUgb2YgdGhlIHRleHRhcmVhLCBhcyByZXBvcnRlZCBpbiA8YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY4NjgiPnRoZSBpc3N1ZSA0Njg2
ODwvYT4uIFdoZW4geW91IGlucHV0IHRleHQgaW50byB0aGUgZm9sbG93aW5nIHRleHRhcmVhIHdp
dGggYW4gaW5wdXQgbWV0aG9kLCB0aGUgY29tcG9zaXRpb24gdGV4dCBzaG91bGQgbm90IGluc2Vy
dCBvZGRseS48L3A+CisgIDx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiPjwvdGV4dGFyZWE+CisgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNDgzNjQxNDI4M2YzZDNm
ZjhlNjI0MTViNWZhZTNiNjQyMzgxYmE5Li5jODNjMmJkODVmMzY0NDA4NmRkZTg0YWQ0Mjk3Y2Zl
MDQ1NjUyYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEwLTI2ICBLZW5pY2hpIElzaGliYXNoaSAg
PGJhc2hpQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW5wdXQgTWV0aG9kIGluc2VydHMgY29udmVyc2lvbiBjYW5kaWRhdGVzIHVu
ZXhwZWN0ZWRseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDY4NjgKKworICAgICAgICBDYWxscyB1cGRhdGVTdHlsZUlmTmVlZGVkKCkgYmVmb3JlIHNl
dHRpbmcgc2VsZWN0aW9uIGZvciB0aGUgY29tcG9zaXRpb24gdG8KKyAgICAgICAgYXZvaWQgaW5z
ZXJ0aW5nIHRoZSBwcmV2aW91cyBjb21wb3NpdGlvbiB0ZXh0IGludG8gYSBjb250ZW50IGVkaXRh
YmxlIGVsZW1lbnQKKyAgICAgICAgd2hpY2ggaGFzIGFuIGV2ZW50IGhhbmRsZXIgdGhhdCBjaGFu
Z2VzIHRoZSBzdHlsZSBvZiB0aGUgZWxlbWVudC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L3RleHQvY2hyb21pdW0tbWFjLWR1cGxpY2F0ZS1pbWUtY29tcG9zaXRpb24u
aHRtbAorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RWRpdG9yOjpzZXRDb21wb3NpdGlvbik6CisKIDIwMTAtMTAtMjYgIFhhbiBMb3BleiAgPHhsb3Bl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5jcHAKaW5kZXggNGQ2ZDI1ODMwN2FhMGIwMDM2YjFiOWVkY2RmMGFmNGEzNDcyZDJmZi4u
MmNjMWM4NTIwYjcwMjRjNzliZTVlOTdlYmU4ZWU3YThmMDcxMWRhMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAK
QEAgLTE1MzQsNiArMTUzNCwxMSBAQCB2b2lkIEVkaXRvcjo6c2V0Q29tcG9zaXRpb24oY29uc3Qg
U3RyaW5nJiB0ZXh0LCBjb25zdCBWZWN0b3I8Q29tcG9zaXRpb25VbmRlcmxpbgogCiAgICAgc2V0
SWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UodHJ1ZSk7CiAKKyAgICAvLyBVcGRhdGVz
IHN0eWxlcyBiZWZvcmUgc2V0dGluZyBzZWxlY3Rpb24gZm9yIGNvbXBvc2l0aW9uIHRvIHByZXZl
bnQKKyAgICAvLyBpbnNlcnRpbmcgdGhlIHByZXZpb3VzIGNvbXBvc2l0aW9uIHRleHQgaW50byB0
ZXh0IG5vZGVzIG9kZGx5LgorICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDY4NjgKKyAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlm
TmVlZGVkKCk7CisKICAgICBzZWxlY3RDb21wb3NpdGlvbigpOwogCiAgICAgaWYgKG1fZnJhbWUt
PnNlbGVjdGlvbigpLT5pc05vbmUoKSkgewpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDgzM2Y1YTdjOWRmYWE3MWNhNjg1MDNi
YmUyZDY3OWU3ODVmMDJlMjAuLmRmMjk1NGUxNzMwYTFmMmQyZWI5ZjM1Y2FiNDlmZDY5NDQ5MGQ0
MGIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0xMC0yNiAgS2VuaWNoaSBJc2hpYmFzaGkg
IDxiYXNoaUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIElucHV0IE1ldGhvZCBpbnNlcnRzIGNvbnZlcnNpb24gY2FuZGlkYXRlcyB1
bmV4cGVjdGVkbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ2ODY4CisKKyAgICAgICAgQWRkcyBzZXRDb21wb3NpdGlvbigpIHRvIFRleHRJbnB1dENv
bnRyb2xsZXIgdG8gbWFrZSBEUlQgZW11bGF0ZQorICAgICAgICBhbiBpbnB1dCBtZXRob2QgYmVo
YXZpb3IuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFRleHRJbnB1dENvbnRyb2xsZXI6OlRleHRJbnB1dENvbnRy
b2xsZXIpOgorICAgICAgICAoVGV4dElucHV0Q29udHJvbGxlcjo6c2V0Q29tcG9zaXRpb24pOiBB
ZGRlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250cm9s
bGVyLmg6CisKIDIwMTAtMTAtMjUgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250cm9sbGVyLmNwcCBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwCmluZGV4
IDdhZjRlOWZlZmJmOGRhZGNhNGUwNTAwYmNhNDU1NWJiMTg0MTczYjQuLjc1NjczZWQ2ODU4Mjll
ZWE4ZmE4MmU4NWFhOTQ1Y2U0MGMxMzhiYjIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwCkBAIC0z
Myw5ICszMywxMSBAQAogCiAjaW5jbHVkZSAiVGVzdFNoZWxsLmgiCiAjaW5jbHVkZSAiV2ViQmlu
ZGluZ3MuaCIKKyNpbmNsdWRlICJXZWJDb21wb3NpdGlvblVuZGVybGluZS5oIgogI2luY2x1ZGUg
IldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViUmFuZ2UuaCIKICNpbmNsdWRlICJXZWJTdHJpbmcu
aCIKKyNpbmNsdWRlICJXZWJWZWN0b3IuaCIKICNpbmNsdWRlICJXZWJWaWV3LmgiCiAjaW5jbHVk
ZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHN0cmluZz4KQEAgLTY2LDYgKzY4LDcg
QEAgVGV4dElucHV0Q29udHJvbGxlcjo6VGV4dElucHV0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNo
ZWxsKQogICAgIGJpbmRNZXRob2QoInN1YnN0cmluZ0Zyb21SYW5nZSIsICZUZXh0SW5wdXRDb250
cm9sbGVyOjpzdWJzdHJpbmdGcm9tUmFuZ2UpOwogICAgIGJpbmRNZXRob2QoInVubWFya1RleHQi
LCAmVGV4dElucHV0Q29udHJvbGxlcjo6dW5tYXJrVGV4dCk7CiAgICAgYmluZE1ldGhvZCgidmFs
aWRBdHRyaWJ1dGVzRm9yTWFya2VkVGV4dCIsICZUZXh0SW5wdXRDb250cm9sbGVyOjp2YWxpZEF0
dHJpYnV0ZXNGb3JNYXJrZWRUZXh0KTsKKyAgICBiaW5kTWV0aG9kKCJzZXRDb21wb3NpdGlvbiIs
ICZUZXh0SW5wdXRDb250cm9sbGVyOjpzZXRDb21wb3NpdGlvbik7CiB9CiAKIFdlYkZyYW1lKiBU
ZXh0SW5wdXRDb250cm9sbGVyOjpnZXRNYWluRnJhbWUoKQpAQCAtMjMyLDMgKzIzNSwyNyBAQCB2
b2lkIFRleHRJbnB1dENvbnRyb2xsZXI6Om1ha2VBdHRyaWJ1dGVkU3RyaW5nKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYsIENwcFZhcmlhbgogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KICAg
ICByZXN1bHQtPnNldE51bGwoKTsKIH0KKwordm9pZCBUZXh0SW5wdXRDb250cm9sbGVyOjpzZXRD
b21wb3NpdGlvbihjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCog
cmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworCisgICAgV2ViVmlldyogdmlldyA9
IGdldE1haW5GcmFtZSgpID8gZ2V0TWFpbkZyYW1lKCktPnZpZXcoKSA6IDA7CisgICAgaWYgKCF2
aWV3KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA8IDEpCisg
ICAgICAgIHJldHVybjsKKworICAgIC8vIFNlbmRzIGEga2V5ZG93biBldmVudCB3aXRoIGtleSBj
b2RlID0gMHhFNSB0byBlbXVsYXRlIGlucHV0IG1ldGhvZCBiZWhhdmlvci4KKyAgICBXZWJLZXli
b2FyZEV2ZW50IGtleURvd247CisgICAga2V5RG93bi50eXBlID0gV2ViSW5wdXRFdmVudDo6UmF3
S2V5RG93bjsKKyAgICBrZXlEb3duLm1vZGlmaWVycyA9IDA7CisgICAga2V5RG93bi53aW5kb3dz
S2V5Q29kZSA9IDB4NUU7IC8vIFZLRVlfUFJPQ0VTU0tFWQorICAgIGtleURvd24uc2V0S2V5SWRl
bnRpZmllckZyb21XaW5kb3dzS2V5Q29kZSgpOworICAgIHZpZXctPmhhbmRsZUlucHV0RXZlbnQo
a2V5RG93bik7CisKKyAgICBXZWJWZWN0b3I8V2ViQ29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVy
bGluZXM7CisgICAgV2ViU3RyaW5nIHRleHQoV2ViU3RyaW5nOjpmcm9tVVRGOChhcmd1bWVudHNb
MF0udG9TdHJpbmcoKSkpOworICAgIHZpZXctPnNldENvbXBvc2l0aW9uKHRleHQsIHVuZGVybGlu
ZXMsIDAsIHRleHQubGVuZ3RoKCkpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGV4dElucHV0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGV4dElucHV0Q29udHJvbGxlci5oCmluZGV4IDk4OTZiZTU2
NjVjMjJlZThmZjE0YTk5MDlmNDY5MDYyZDY2OWUxY2MuLjNhMzkwN2ZkYThhYWQ1YWM0MGMwYzU4
NDYwZWM1MWQzYTI4OTVjYjggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250cm9sbGVyLmgKQEAgLTYxLDYgKzYxLDcgQEAg
cHVibGljOgogICAgIHZvaWQgY2hhcmFjdGVySW5kZXhGb3JQb2ludChjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCB2YWxpZEF0dHJpYnV0ZXNGb3JNYXJrZWRU
ZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIG1ha2VB
dHRyaWJ1dGVkU3RyaW5nKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAg
ICB2b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQq
KTsKIAogcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIHRoZSB0ZXN0IHNoZWxsJ3MgbWFpbiBXZWJG
cmFtZS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71859</attachid>
            <date>2010-10-26 03:51:16 -0700</date>
            <delta_ts>2010-10-26 12:25:52 -0700</delta_ts>
            <desc>A trial patch V2</desc>
            <filename>bug-46868-20101026195114.patch</filename>
            <type>text/plain</type>
            <size>9531</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3M2VkZDdjOTMwMmQwNWVhYTQ3OTEwZmI2OGIyOTYxYzNjMzdjMzY1Li4zNWM2MGZk
MjRlY2UwMDE1NDZmNjA4MTBlNjVkYmRiNzM2MGJlNmQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTAtMjYgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnB1dCBNZXRob2Qg
aW5zZXJ0cyBjb252ZXJzaW9uIGNhbmRpZGF0ZXMgdW5leHBlY3RlZGx5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Njg2OAorCisgICAgICAgIEFkZHMg
YSB0ZXN0LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC90ZXh0L2Nocm9taXVt
LW1hYy1kdXBsaWNhdGUtaW1lLWNvbXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDEwLTEwLTI2
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByNzA1MTIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3RleHQvY2hyb21pdW0tbWFjLWR1cGxpY2F0ZS1pbWUtY29t
cG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC90ZXh0L2Nocm9taXVtLW1hYy1kdXBsaWNhdGUtaW1lLWNvbXBvc2l0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yOGI3NzEwMGM0OGY5NTNkZjliOWU3YWIyOWY0NGViOTU2MzVkNjYzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC90ZXh0
L2Nocm9taXVtLW1hYy1kdXBsaWNhdGUtaW1lLWNvbXBvc2l0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKK1RoaXMgcGFnZSBlbnN1cmVzIHRoYXQgdGhlIGNvbXBvc2l0aW9uIHRleHQg
b2YgYW4gaW5wdXQgbWV0aG9kIGRvZXMgbm90IGluc2VydCBpbnRvIHRoZSB0ZXh0YXJlYSB3aGVu
IHRoZSBjb21wb3NpdGlvbiB0ZXh0IGlzIHVwZGF0ZWQgYnV0IGlzIG5vdCBjb21taXR0ZWQuIFRo
ZSBidWcsIHJlcG9ydGVkIGluIHRoZSBpc3N1ZSA0Njg2OCwgc2hvdWxkIG5vdCBvY2N1ciBoZXJl
LiBXaGVuIERSVCB0ZXN0cyB0aGlzIHBhZ2UsIGl0IHdpbGwgZW11bGF0ZSBjaGFuZ2luZyBjb21w
b3NpdGlvbiB0ZXh0IGZyb20gImZpcnN0IiB0byAic2Vjb25kIi4gQWZ0ZXIgdGhhdCwgdGhlIHZh
bHVlIG9mIHRoZSB0ZXh0YXJlYSBzaG91bGQgYmUgInNlY29uZCIgYW5kIHNob3VsZCBub3QgYmUg
InNlY29uZGZpcnN0Ii4KKworRm9yIG1hbnVhbCB0ZXN0LCBpbnB1dCB0ZXh0IGludG8gdGhlIGZv
bGxvd2luZyB0ZXh0YXJlYSBieSB1c2luZyBhbiBpbnB1dCBtZXRob2QuIFRoZSBjb21wb3NpdGlv
biB0ZXh0IHdoaWNoIGlzIG5vdCBjb21taXR0ZWQgc2hvdWxkIG5vdCBiZSBpbnNlcnRlZCBpbnRv
IHRoZSB0ZXh0YXJlYS4KKworCitQQVNTIGV4cGVjdHMgPSAic2Vjb25kIiwgYWN0dWFsID0gInNl
Y29uZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvdGV4
dC9jaHJvbWl1bS1tYWMtZHVwbGljYXRlLWltZS1jb21wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC90ZXh0L2Nocm9taXVtLW1hYy1kdXBsaWNhdGUtaW1l
LWNvbXBvc2l0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRmY2E5OTdlNWUxYjUxYWQwMmM4MDdjYWM2
MWQzNjQ2ZmY3NDZkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvdGV4dC9jaHJvbWl1bS1tYWMtZHVwbGljYXRlLWltZS1jb21wb3NpdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNDIgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQ+CisgICAgZnVu
Y3Rpb24gY2hlY2soZXhwZWN0LCBhY3R1YWwpIHsKKyAgICAgIHZhciBjb25zb2xlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKTsKKyAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgIGRpdi5pbm5lckhUTUwgPSBleHBlY3QgPT0gYWN0
dWFsID8gJ1BBU1MnIDogJ0ZBSUwnOworICAgICAgZGl2LmlubmVySFRNTCArPSAnIGV4cGVjdHMg
PSAiJyArIGV4cGVjdCArICciLCBhY3R1YWwgPSAiJyArIGFjdHVhbCArICciJzsKKyAgICAgIGNv
bnNvbGUuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7
CisgICAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJu
OworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgdmFyIHRleHRhcmVhID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHRhcmVhJyk7CisgICAgICB2YXIgY29uc29sZUVsZW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpOworICAgICAgdGV4dGFyZWEu
YWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uIChlKSB7CisgICAgICAgIHRleHRh
cmVhLnN0eWxlWydvdmVyZmxvdyddID0gJ2hpZGRlbic7CisgICAgICB9KTsKKyAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmRpc3BsYXkoKTsKKyAgICAgIHRleHRhcmVhLmZvY3VzKCk7CisgICAg
ICBpZiAodGV4dElucHV0Q29udHJvbGxlci5zZXRDb21wb3NpdGlvbikgeworICAgICAgICAvLyBF
bXVsYXRlcyBzdGFydCBpbnB1dCBtZXRob2QgY29udmVyc2lvbi4KKyAgICAgICAgdGV4dElucHV0
Q29udHJvbGxlci5zZXRDb21wb3NpdGlvbignZmlyc3QnKTsKKyAgICAgICAgLy8gVGhlbiwgZW11
bGF0ZXMgY2hhbmdlIG9mIHRoZSBjb21wb3NpdGlvbiB0ZXh0IG9mIHRoZSBpbnB1dCBtZXRob2Qu
CisgICAgICAgIHRleHRJbnB1dENvbnRyb2xsZXIuc2V0Q29tcG9zaXRpb24oJ3NlY29uZCcpOwor
ICAgICAgICAvLyBDaGVja3Mgd2hldGhlciB0aGUgdGV4dGFyZWEgZG9lcyBub3QgY29udGFpbiB0
aGUgZmlyc3QgY29tcG9zaXRpb24uCisgICAgICAgIGNoZWNrKCdzZWNvbmQnLCB0ZXh0YXJlYS52
YWx1ZSk7CisgICAgICB9CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgfQorICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iZG9UZXN0KCkiPgor
ICA8cD5UaGlzIHBhZ2UgZW5zdXJlcyB0aGF0IHRoZSBjb21wb3NpdGlvbiB0ZXh0IG9mIGFuIGlu
cHV0IG1ldGhvZCBkb2VzIG5vdCBpbnNlcnQgaW50byB0aGUgdGV4dGFyZWEgd2hlbiB0aGUgY29t
cG9zaXRpb24gdGV4dCBpcyB1cGRhdGVkIGJ1dCBpcyBub3QgY29tbWl0dGVkLiBUaGUgYnVnLCBy
ZXBvcnRlZCBpbiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDY4NjgiPnRoZSBpc3N1ZSA0Njg2ODwvYT4sIHNob3VsZCBub3Qgb2NjdXIgaGVyZS4gV2hl
biBEUlQgdGVzdHMgdGhpcyBwYWdlLCBpdCB3aWxsIGVtdWxhdGUgY2hhbmdpbmcgY29tcG9zaXRp
b24gdGV4dCBmcm9tICJmaXJzdCIgdG8gInNlY29uZCIuIEFmdGVyIHRoYXQsIHRoZSB2YWx1ZSBv
ZiB0aGUgdGV4dGFyZWEgc2hvdWxkIGJlICJzZWNvbmQiIGFuZCBzaG91bGQgbm90IGJlICJzZWNv
bmRmaXJzdCIuIDwvcD4KKyAgPHA+Rm9yIG1hbnVhbCB0ZXN0LCBpbnB1dCB0ZXh0IGludG8gdGhl
IGZvbGxvd2luZyB0ZXh0YXJlYSBieSB1c2luZyBhbiBpbnB1dCBtZXRob2QuIFRoZSBjb21wb3Np
dGlvbiB0ZXh0IHdoaWNoIGlzIG5vdCBjb21taXR0ZWQgc2hvdWxkIG5vdCBiZSBpbnNlcnRlZCBp
bnRvIHRoZSB0ZXh0YXJlYS48L3A+CisgIDx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiPjwvdGV4dGFy
ZWE+CisgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNDgzNjQx
NDI4M2YzZDNmZjhlNjI0MTViNWZhZTNiNjQyMzgxYmE5Li43MjVmMTMxMjc2YTVkNTU5M2QyY2Qy
ODJiMjE5NDdkZGNhODhiMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEwLTI2ICBLZW5pY2hpIElz
aGliYXNoaSAgPGJhc2hpQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW5wdXQgTWV0aG9kIGluc2VydHMgY29udmVyc2lvbiBjYW5k
aWRhdGVzIHVuZXhwZWN0ZWRseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDY4NjgKKworICAgICAgICBDYWxscyB1cGRhdGVTdHlsZUlmTmVlZGVkKCkg
YmVmb3JlIHNldHRpbmcgc2VsZWN0aW9uIGZvciB0aGUgY29tcG9zaXRpb24gdG8KKyAgICAgICAg
YXZvaWQgaW5zZXJ0aW5nIHRoZSBwcmV2aW91cyBjb21wb3NpdGlvbiB0ZXh0IGludG8gYSBjb250
ZW50IGVkaXRhYmxlIGVsZW1lbnQKKyAgICAgICAgd2hpY2ggaGFzIGFuIGV2ZW50IGhhbmRsZXIg
dGhhdCBjaGFuZ2VzIHRoZSBzdHlsZSBvZiB0aGUgZWxlbWVudC4KKworICAgICAgICBUZXN0OiBw
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3RleHQvY2hyb21pdW0tbWFjLWR1cGxpY2F0ZS1pbWUtY29t
cG9zaXRpb24uaHRtbAorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RWRpdG9yOjpzZXRDb21wb3NpdGlvbik6IGNhbGxzIHVwZGF0ZVN0eWxlSWZOZWVk
ZWQoKSBiZWZvcmUgc2V0dGluZyBzZWxlY3Rpb24uCisKIDIwMTAtMTAtMjYgIFhhbiBMb3BleiAg
PHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNv
bi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5jcHAKaW5kZXggNGQ2ZDI1ODMwN2FhMGIwMDM2YjFiOWVkY2RmMGFmNGEzNDcy
ZDJmZi4uMmNjMWM4NTIwYjcwMjRjNzliZTVlOTdlYmU4ZWU3YThmMDcxMWRhMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ci5jcHAKQEAgLTE1MzQsNiArMTUzNCwxMSBAQCB2b2lkIEVkaXRvcjo6c2V0Q29tcG9zaXRpb24o
Y29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBWZWN0b3I8Q29tcG9zaXRpb25VbmRlcmxpbgogCiAg
ICAgc2V0SWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UodHJ1ZSk7CiAKKyAgICAvLyBV
cGRhdGVzIHN0eWxlcyBiZWZvcmUgc2V0dGluZyBzZWxlY3Rpb24gZm9yIGNvbXBvc2l0aW9uIHRv
IHByZXZlbnQKKyAgICAvLyBpbnNlcnRpbmcgdGhlIHByZXZpb3VzIGNvbXBvc2l0aW9uIHRleHQg
aW50byB0ZXh0IG5vZGVzIG9kZGx5LgorICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDY4NjgKKyAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVT
dHlsZUlmTmVlZGVkKCk7CisKICAgICBzZWxlY3RDb21wb3NpdGlvbigpOwogCiAgICAgaWYgKG1f
ZnJhbWUtPnNlbGVjdGlvbigpLT5pc05vbmUoKSkgewpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDgzM2Y1YTdjOWRmYWE3MWNh
Njg1MDNiYmUyZDY3OWU3ODVmMDJlMjAuLmRmMjk1NGUxNzMwYTFmMmQyZWI5ZjM1Y2FiNDlmZDY5
NDQ5MGQ0MGIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0xMC0yNiAgS2VuaWNoaSBJc2hp
YmFzaGkgIDxiYXNoaUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIElucHV0IE1ldGhvZCBpbnNlcnRzIGNvbnZlcnNpb24gY2FuZGlk
YXRlcyB1bmV4cGVjdGVkbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ2ODY4CisKKyAgICAgICAgQWRkcyBzZXRDb21wb3NpdGlvbigpIHRvIFRleHRJ
bnB1dENvbnRyb2xsZXIgdG8gbWFrZSBEUlQgZW11bGF0ZQorICAgICAgICBhbiBpbnB1dCBtZXRo
b2QgYmVoYXZpb3IuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5w
dXRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFRleHRJbnB1dENvbnRyb2xsZXI6OlRleHRJbnB1
dENvbnRyb2xsZXIpOgorICAgICAgICAoVGV4dElucHV0Q29udHJvbGxlcjo6c2V0Q29tcG9zaXRp
b24pOiBBZGRlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRD
b250cm9sbGVyLmg6CisKIDIwMTAtMTAtMjUgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250cm9sbGVyLmNwcCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuY3Bw
CmluZGV4IDdhZjRlOWZlZmJmOGRhZGNhNGUwNTAwYmNhNDU1NWJiMTg0MTczYjQuLmQ5Yzc5NGM0
MzI4MWNkYjVlYThkZWNiZjMzYTdlOWQ3MDNjYzNmODAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuY3Bw
CkBAIC0zMyw5ICszMywxMSBAQAogCiAjaW5jbHVkZSAiVGVzdFNoZWxsLmgiCiAjaW5jbHVkZSAi
V2ViQmluZGluZ3MuaCIKKyNpbmNsdWRlICJXZWJDb21wb3NpdGlvblVuZGVybGluZS5oIgogI2lu
Y2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViUmFuZ2UuaCIKICNpbmNsdWRlICJXZWJT
dHJpbmcuaCIKKyNpbmNsdWRlICJXZWJWZWN0b3IuaCIKICNpbmNsdWRlICJXZWJWaWV3LmgiCiAj
aW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHN0cmluZz4KQEAgLTY2LDYg
KzY4LDcgQEAgVGV4dElucHV0Q29udHJvbGxlcjo6VGV4dElucHV0Q29udHJvbGxlcihUZXN0U2hl
bGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoInN1YnN0cmluZ0Zyb21SYW5nZSIsICZUZXh0SW5w
dXRDb250cm9sbGVyOjpzdWJzdHJpbmdGcm9tUmFuZ2UpOwogICAgIGJpbmRNZXRob2QoInVubWFy
a1RleHQiLCAmVGV4dElucHV0Q29udHJvbGxlcjo6dW5tYXJrVGV4dCk7CiAgICAgYmluZE1ldGhv
ZCgidmFsaWRBdHRyaWJ1dGVzRm9yTWFya2VkVGV4dCIsICZUZXh0SW5wdXRDb250cm9sbGVyOjp2
YWxpZEF0dHJpYnV0ZXNGb3JNYXJrZWRUZXh0KTsKKyAgICBiaW5kTWV0aG9kKCJzZXRDb21wb3Np
dGlvbiIsICZUZXh0SW5wdXRDb250cm9sbGVyOjpzZXRDb21wb3NpdGlvbik7CiB9CiAKIFdlYkZy
YW1lKiBUZXh0SW5wdXRDb250cm9sbGVyOjpnZXRNYWluRnJhbWUoKQpAQCAtMjMyLDMgKzIzNSwy
NyBAQCB2b2lkIFRleHRJbnB1dENvbnRyb2xsZXI6Om1ha2VBdHRyaWJ1dGVkU3RyaW5nKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbgogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhp
cy4KICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KKwordm9pZCBUZXh0SW5wdXRDb250cm9sbGVy
OjpzZXRDb21wb3NpdGlvbihjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFy
aWFudCogcmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworCisgICAgV2ViVmlldyog
dmlldyA9IGdldE1haW5GcmFtZSgpID8gZ2V0TWFpbkZyYW1lKCktPnZpZXcoKSA6IDA7CisgICAg
aWYgKCF2aWV3KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA8
IDEpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFNlbmRzIGEga2V5ZG93biBldmVudCB3aXRo
IGtleSBjb2RlID0gMHhFNSB0byBlbXVsYXRlIGlucHV0IG1ldGhvZCBiZWhhdmlvci4KKyAgICBX
ZWJLZXlib2FyZEV2ZW50IGtleURvd247CisgICAga2V5RG93bi50eXBlID0gV2ViSW5wdXRFdmVu
dDo6UmF3S2V5RG93bjsKKyAgICBrZXlEb3duLm1vZGlmaWVycyA9IDA7CisgICAga2V5RG93bi53
aW5kb3dzS2V5Q29kZSA9IDB4RTU7IC8vIFZLRVlfUFJPQ0VTU0tFWQorICAgIGtleURvd24uc2V0
S2V5SWRlbnRpZmllckZyb21XaW5kb3dzS2V5Q29kZSgpOworICAgIHZpZXctPmhhbmRsZUlucHV0
RXZlbnQoa2V5RG93bik7CisKKyAgICBXZWJWZWN0b3I8V2ViQ29tcG9zaXRpb25VbmRlcmxpbmU+
IHVuZGVybGluZXM7CisgICAgV2ViU3RyaW5nIHRleHQoV2ViU3RyaW5nOjpmcm9tVVRGOChhcmd1
bWVudHNbMF0udG9TdHJpbmcoKSkpOworICAgIHZpZXctPnNldENvbXBvc2l0aW9uKHRleHQsIHVu
ZGVybGluZXMsIDAsIHRleHQubGVuZ3RoKCkpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGV4dElucHV0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGV4dElucHV0Q29udHJvbGxlci5oCmluZGV4IDk4
OTZiZTU2NjVjMjJlZThmZjE0YTk5MDlmNDY5MDYyZDY2OWUxY2MuLjNhMzkwN2ZkYThhYWQ1YWM0
MGMwYzU4NDYwZWM1MWQzYTI4OTVjYjggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250cm9sbGVyLmgKQEAgLTYxLDYgKzYx
LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2hhcmFjdGVySW5kZXhGb3JQb2ludChjb25zdCBDcHBB
cmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCB2YWxpZEF0dHJpYnV0ZXNGb3JN
YXJrZWRUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lk
IG1ha2VBdHRyaWJ1dGVkU3RyaW5nKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQq
KTsKKyAgICB2b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZh
cmlhbnQqKTsKIAogcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIHRoZSB0ZXN0IHNoZWxsJ3MgbWFp
biBXZWJGcmFtZS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>