<?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>39989</bug_id>
          
          <creation_ts>2010-06-01 04:22:25 -0700</creation_ts>
          <short_desc>Applying inline style to a text node whose parent is an inline editable root causes crash</short_desc>
          <delta_ts>2010-07-27 11:38:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://veitlehmann.de/webkit-crash.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42793</dependson>
    
    <dependson>42937</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Veit Lehmann">levito82</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tobias.struckmeier</cc>
    
    <cc>tony</cc>
    
    <cc>zuh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>232673</commentid>
    <comment_count>0</comment_count>
    <who name="Veit Lehmann">levito82</who>
    <bug_when>2010-06-01 04:22:25 -0700</bug_when>
    <thetext>Elements styled as inline, inline-block or inline-table with contenteditable=true crash WebKit browsers when RichText is applied.

To reproduce the bug:
- Go to http://veitlehmann.de/webkit-crash.html
- OR: try this snippet: &lt;span contenteditable=&quot;true&quot;&gt;select text, press ctrl+b&lt;/span&gt;
- Select some text in the contenteditable areas and press ctrl+b or ctrl+i

If the element ist styled as inline* and doesn&apos;t float, the browser will crash.

This happens regardless of the element type - the styling counts.
It also happens with insite text editors like http://www.nicedit.com applied on such elements.

Contenteditable on inline-styled elements with RichText is useful for CMS with insite editing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232753</commentid>
    <comment_count>1</comment_count>
    <who name="Tobias Struckmeier">tobias.struckmeier</who>
    <bug_when>2010-06-01 08:04:15 -0700</bug_when>
    <thetext>I was able to reproduce the bug on two machines as well (chrome 5.0.375.55)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232755</commentid>
    <comment_count>2</comment_count>
    <who name="Tobias Struckmeier">tobias.struckmeier</who>
    <bug_when>2010-06-01 08:05:19 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; I was able to reproduce the bug on two machines as well (chrome 5.0.375.55)

One is a fresh and clean Windows XP installation. With no extra software which hooks into the browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233356</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-02 11:30:31 -0700</bug_when>
    <thetext>Confirmed with r60522.

#0	0x01bf7635 in WebCore::Node::getFlag at Node.h:651
#1	0x01ad5e41 in WebCore::Node::isContainerNode at Node.h:185
#2	0x01c97341 in WebCore::Node::lastChild at Node.h:144
#3	0x01b3b8e8 in WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded at ApplyStyleCommand.cpp:1580
#4	0x01b41e9f in WebCore::ApplyStyleCommand::applyInlineStyle at ApplyStyleCommand.cpp:918
#5	0x01b43c1c in WebCore::ApplyStyleCommand::doApply at ApplyStyleCommand.cpp:562
#6	0x01dcbb99 in WebCore::EditCommand::apply at EditCommand.cpp:91
#7	0x01dcbc25 in WebCore::applyCommand at EditCommand.cpp:212
#8	0x01dd2082 in WebCore::Editor::applyStyle at Editor.cpp:729
#9	0x01dd5bf2 in WebCore::Editor::applyStyleToSelection at Editor.cpp:759
#10	0x01ddc19f in WebCore::applyCommandToFrame at EditorCommand.cpp:102
#11	0x01ddc3bf in WebCore::executeToggleStyle at EditorCommand.cpp:175
#12	0x01ddc463 in WebCore::executeToggleBold at EditorCommand.cpp:1005

See also: bug 37197.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233359</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-02 11:32:19 -0700</bug_when>
    <thetext>This also happens with Safari/WebKit 4.0.5, so it&apos;s not a recent regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234655</commentid>
    <comment_count>5</comment_count>
    <who name="Kalle Vahlman">zuh</who>
    <bug_when>2010-06-06 05:51:27 -0700</bug_when>
    <thetext>*** Bug 37197 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235414</commentid>
    <comment_count>6</comment_count>
    <who name="Veit Lehmann">levito82</who>
    <bug_when>2010-06-08 12:02:22 -0700</bug_when>
    <thetext>I have tested this in some other WebKit-based browsers.

These browsers don&apos;t crash:
- Arora 0.10.0 (current)
- Old Chrome 1.0.154.53 and 3.0.197.0
- Old Safari 3.2.1 (525.27.1)

The new Safari 5 still crashes on these elements. I think Chrome crashes starting from version 4.x.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247343</commentid>
    <comment_count>7</comment_count>
      <attachid>60692</attachid>
    <who name="Patrick Quinn-Graham">patrick</who>
    <bug_when>2010-07-06 23:48:36 -0700</bug_when>
    <thetext>Created attachment 60692
Very simple HTML5 test case for this bug

I&apos;m hitting this bug in Safari 5, Chromium 6.0.459.0 (51684) (nightly downloaded today) and WebKit r62241.

Can hit it two ways: using document.execCommand or by using the cmd+b keyboard shortcut in Safari (Chromium doesn&apos;t seem to support that).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247348</commentid>
    <comment_count>8</comment_count>
      <attachid>60693</attachid>
    <who name="Patrick Quinn-Graham">patrick</who>
    <bug_when>2010-07-06 23:52:44 -0700</bug_when>
    <thetext>Created attachment 60693
Crash log

Example crash log from WebKit when this bug is triggered</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255676</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-07-24 00:52:18 -0700</bug_when>
    <thetext>This is crash is caused when splitTextElementAtEndIfNeeded is called on a text node with non-editable parent.  As in https://bugs.webkit.org/show_bug.cgi?id=27156, we should carefully verify the pre-condition to call splitTextElementAtEndIfNeeded.  The bug does not reproduce when the entire text node is selected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255733</commentid>
    <comment_count>10</comment_count>
      <attachid>62507</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-07-24 12:35:59 -0700</bug_when>
    <thetext>Created attachment 62507
cleans up splitText(Element)At(Start|End)IfNeed and fixes the bug

Work in progress.  This patch moves &quot;IfNeeded&quot; check from splitText(Element)AtEndIfNeed and isolate as isValidCaretPositionInTextNode, thanks to Eric Seidel&apos;s patch for the bug 25056.  I then made splitTextElementAt(Start|End) smarter by adding a check to see if the parent of the element we&apos;re about to split is editable (if the element itself was the root editable element, then we can&apos;t split).  If the check fails, we only split the text node, which is always possible.

This patch can be split into cleanup and actual fix.  It also requires rebaseline of editing/execCommand/hilitecolor.html and editing/style/remove-underline-from-stylesheet.html but we must wait for my patch for the bug 42793 to be landed because hilitecolor.html is a currently render test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255752</commentid>
    <comment_count>11</comment_count>
      <attachid>62511</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-07-24 16:38:34 -0700</bug_when>
    <thetext>Created attachment 62511
complete patch since 42793 has been resolved

This patch definitely needs to be broken down into two pieces.  I&apos;d ask for your early feedbacks first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256122</commentid>
    <comment_count>12</comment_count>
      <attachid>62586</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-07-26 11:18:16 -0700</bug_when>
    <thetext>Created attachment 62586
simple fix with large test

Ready for review.  Since I wanted to test throughly with variety of inline styles, I added 12KB test but the change in code is simple and small so should be easy to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256214</commentid>
    <comment_count>13</comment_count>
      <attachid>62586</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-26 13:55:11 -0700</bug_when>
    <thetext>Comment on attachment 62586
simple fix with large test

&gt; +    Node* parent = start.node()-&gt;parentNode();
&gt; +    if (parent &amp;&amp; parent-&gt;parentElement() &amp;&amp; parent-&gt;parentElement()-&gt;isContentEditable()) {
&gt; +        int endOffsetAdjustment = start.node() == end.node() ? start.deprecatedEditingOffset() : 0;
&gt; +        Text* text = static_cast&lt;Text*&gt;(start.node());
&gt; +        splitTextNodeContainingElement(text, start.deprecatedEditingOffset());
&gt; +        updateStartEnd(Position(start.node()-&gt;parentNode(), start.node()-&gt;nodeIndex()), Position(end.node(), end.deprecatedEditingOffset() - endOffsetAdjustment));
&gt; +    } else {
&gt; +        splitTextAtStart(start, end);
&gt; +    }

In WebKit we often take the &quot;early exit&quot; approach, checking for an unusual case and handling that case, then using a return. The non-unusual case then continues without be indented inside an if statement. Doing that here would have two benefits besides the usual ones:

    1) The diff would be smaller because we wouldn&apos;t be re-indenting all the code.
    2) The body of the if statement would be two lines so you could use braces around it, unlike the one line else body.

It’s not WebKit style to have braces around a 1-line else body, but such things are pretty ugly without the braces, so I think it would be nice to avoid it.

Patch otherwise looks fine, but I think it would be better with early exit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256248</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-07-26 14:38:27 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Patch otherwise looks fine, but I think it would be better with early exit.

oops, I don&apos;t know why I didn&apos;t think of doing that here.  Now my changes are 4 lines per function.  I&apos;ll commit the early exit version as soon as I updated my local checkout.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256298</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-07-26 15:49:24 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/64083.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256321</commentid>
    <comment_count>16</comment_count>
    <who name="Veit Lehmann">levito82</who>
    <bug_when>2010-07-26 16:27:03 -0700</bug_when>
    <thetext>Cool, you rock! I will test the next nightly on Mac an Windows and give you feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256554</commentid>
    <comment_count>17</comment_count>
    <who name="Veit Lehmann">levito82</who>
    <bug_when>2010-07-27 07:08:22 -0700</bug_when>
    <thetext>I just tested WebKit r64084 (Mac) and r64088 (Win) with my test case (http://veitlehmann.de/webkit-crash.html). It works, doesn&apos;t crash anymore. Thanks a lot, guys!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256720</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-07-27 11:38:32 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; I just tested WebKit r64084 (Mac) and r64088 (Win) with my test case (http://veitlehmann.de/webkit-crash.html). It works, doesn&apos;t crash anymore. Thanks a lot, guys!

Thank you for filing a bug with a reduction steps. Having a reduction definitely helped us spotting the bug and fixing it promptly.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>60692</attachid>
            <date>2010-07-06 23:48:36 -0700</date>
            <delta_ts>2010-07-06 23:48:36 -0700</delta_ts>
            <desc>Very simple HTML5 test case for this bug</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>247</size>
            <attacher name="Patrick Quinn-Graham">patrick</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPgogICAgICBUZXN0IGNh
c2UKICAgIDwvdGl0bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+CiAgICAgIDxzcGFuIGNv
bnRlbnRlZGl0YWJsZT5UZXN0IG1lPC9zcGFuPiAKICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDpk
b2N1bWVudC5leGVjQ29tbWFuZCgnYm9sZCcsZmFsc2UsbnVsbCkiPmJvbGQ8L2E+CiAgICA8L3A+
CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>60693</attachid>
            <date>2010-07-06 23:52:44 -0700</date>
            <delta_ts>2010-07-06 23:52:44 -0700</delta_ts>
            <desc>Crash log</desc>
            <filename>Safari_2010-07-07-164946_Patrick-Quinn-Grahams-iMac.crash</filename>
            <type>text/plain</type>
            <size>34103</size>
            <attacher name="Patrick Quinn-Graham">patrick</attacher>
            
              <data encoding="base64">UHJvY2VzczogICAgICAgICBTYWZhcmkgWzM2OTYxXQpQYXRoOiAgICAgICAgICAgIC9Wb2x1bWVz
L1dlYktpdC9XZWJLaXQuYXBwL0NvbnRlbnRzL01hY09TL1dlYktpdApJZGVudGlmaWVyOiAgICAg
IG9yZy53ZWJraXQubmlnaHRseS5XZWJLaXQKVmVyc2lvbjogICAgICAgICByNjIyNDEgKDYyMjQx
KQpDb2RlIFR5cGU6ICAgICAgIFg4NiAoTmF0aXZlKQpQYXJlbnQgUHJvY2VzczogIGxhdW5jaGQg
WzE1OTVdCgpEYXRlL1RpbWU6ICAgICAgIDIwMTAtMDctMDcgMTY6NDk6NDYuNDI3ICsxMDAwCk9T
IFZlcnNpb246ICAgICAgTWFjIE9TIFggMTAuNS44ICg5TDMxYSkKUmVwb3J0IFZlcnNpb246ICA2
CkFub255bW91cyBVVUlEOiAgRUE2QjRERDQtNEExMC00RDY4LUJCQTEtMUNFQTBCRkM0ODA2CgpF
eGNlcHRpb24gVHlwZTogIEVYQ19CQURfQUNDRVNTIChTSUdCVVMpCkV4Y2VwdGlvbiBDb2Rlczog
S0VSTl9QUk9URUNUSU9OX0ZBSUxVUkUgYXQgMHgwMDAwMDAwMDAwMDAwMDE4CkNyYXNoZWQgVGhy
ZWFkOiAgMAoKVGhyZWFkIDAgQ3Jhc2hlZDoKMCAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAg
ICAgIAkweDAxYjg4ZTA2IFdlYkNvcmU6Ok5vZGU6Om5vZGVJbmRleCgpIGNvbnN0ICsgNgoxICAg
Y29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDEzYThmNTQgV2ViQ29yZTo6QXBwbHlT
dHlsZUNvbW1hbmQ6OnNwbGl0VGV4dEVsZW1lbnRBdEVuZElmTmVlZGVkKFdlYkNvcmU6OlBvc2l0
aW9uIGNvbnN0JiwgV2ViQ29yZTo6UG9zaXRpb24gY29uc3QmKSArIDE2NAoyICAgY29tLmFwcGxl
LldlYkNvcmUgICAgICAgICAgICAgCTB4MDEzYjJjNDYgV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1h
bmQ6OmFwcGx5SW5saW5lU3R5bGUoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24q
KSArIDE5OAozICAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDEzYjRkNTYgV2Vi
Q29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmRvQXBwbHkoKSArIDE1MAo0ICAgY29tLmFwcGxlLldl
YkNvcmUgICAgICAgICAgICAgCTB4MDE1ODVmMWIgV2ViQ29yZTo6RWRpdENvbW1hbmQ6OmFwcGx5
KCkgKyA1OQo1ICAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDE1ODg0N2IgV2Vi
Q29yZTo6RWRpdG9yOjphcHBseVN0eWxlKFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb24qLCBX
ZWJDb3JlOjpFZGl0QWN0aW9uKSArIDE1NQo2ICAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAg
ICAgCTB4MDE1OTU2ZGMgX19aTjdXZWJDb3JlTDE5YXBwbHlDb21tYW5kVG9GcmFtZUVQTlNfNUZy
YW1lRU5TXzE5RWRpdG9yQ29tbWFuZFNvdXJjZUVOU18xMEVkaXRBY3Rpb25FUE5TXzI2Q1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb25FICsgOTIKNyAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAg
ICAgIAkweDAxNTk5MzY4IF9fWk43V2ViQ29yZUwxOGV4ZWN1dGVUb2dnbGVTdHlsZUVQTlNfNUZy
YW1lRU5TXzE5RWRpdG9yQ29tbWFuZFNvdXJjZUVOU18xMEVkaXRBY3Rpb25FaVBLY1M1XyArIDMy
OAo4ICAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDE1OTk0ZDggX19aTjdXZWJD
b3JlTDE3ZXhlY3V0ZVRvZ2dsZUJvbGRFUE5TXzVGcmFtZUVQTlNfNUV2ZW50RU5TXzE5RWRpdG9y
Q29tbWFuZFNvdXJjZUVSS05TXzZTdHJpbmdFICsgNTYKOSAgIGNvbS5hcHBsZS5XZWJDb3JlICAg
ICAgICAgICAgIAkweDAxNTk1NjVjIFdlYkNvcmU6OkVkaXRvcjo6Q29tbWFuZDo6ZXhlY3V0ZShX
ZWJDb3JlOjpTdHJpbmcgY29uc3QmLCBXZWJDb3JlOjpFdmVudCopIGNvbnN0ICsgMTA4CjEwICBj
b20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMTRkNzNiYSBXZWJDb3JlOjpEb2N1bWVu
dDo6ZXhlY0NvbW1hbmQoV2ViQ29yZTo6U3RyaW5nIGNvbnN0JiwgYm9vbCwgV2ViQ29yZTo6U3Ry
aW5nIGNvbnN0JikgKyA1OAoxMSAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDE3
YzMzNzggV2ViQ29yZTo6anNEb2N1bWVudFByb3RvdHlwZUZ1bmN0aW9uRXhlY0NvbW1hbmQoSlND
OjpFeGVjU3RhdGUqKSArIDM0NAoxMiAgPz8/ICAgICAgICAgICAgICAgICAgICAgICAgICAgCTB4
MTk0OTc1ZjMgMCArIDQyNDI0NDcyMwoxMyAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAg
CTB4MDA3MGJiZjggSlNDOjpJbnRlcnByZXRlcjo6ZXhlY3V0ZShKU0M6OlByb2dyYW1FeGVjdXRh
YmxlKiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlNjb3BlQ2hhaW5Ob2RlKiwgSlNDOjpKU09iamVj
dCosIEpTQzo6SlNWYWx1ZSopICsgNTY4CjE0ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAg
ICAJMHgwMDZkN2FhYiBKU0M6OmV2YWx1YXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpTY29wZUNo
YWluJiwgSlNDOjpTb3VyY2VDb2RlIGNvbnN0JiwgSlNDOjpKU1ZhbHVlKSArIDQ3NQoxNSAgY29t
LmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDFjZGQ1MDcgV2ViQ29yZTo6U2NyaXB0Q29u
dHJvbGxlcjo6ZXZhbHVhdGVJbldvcmxkKFdlYkNvcmU6OlNjcmlwdFNvdXJjZUNvZGUgY29uc3Qm
LCBXZWJDb3JlOjpET01XcmFwcGVyV29ybGQqLCBXZWJDb3JlOjpTaG91bGRBbGxvd1hTUykgKyAz
NzUKMTYgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAxY2RkZDUwIFdlYkNvcmU6
OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKFdlYkNvcmU6OlNjcmlwdFNvdXJjZUNvZGUgY29u
c3QmLCBXZWJDb3JlOjpTaG91bGRBbGxvd1hTUykgKyA0OAoxNyAgY29tLmFwcGxlLldlYkNvcmUg
ICAgICAgICAgICAgCTB4MDFjZTAxNTUgV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0
ZVNjcmlwdChXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlIGNvbnN0JiwgV2ViQ29yZTo6U2hvdWxk
QWxsb3dYU1MpICsgMTgxCjE4ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMWNl
MDM4YyBXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpleGVjdXRlU2NyaXB0KFdlYkNvcmU6OlN0
cmluZyBjb25zdCYsIGJvb2wsIFdlYkNvcmU6OlNob3VsZEFsbG93WFNTKSArIDM4MAoxOSAgY29t
LmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDFjZTA4MzMgV2ViQ29yZTo6U2NyaXB0Q29u
dHJvbGxlcjo6ZXhlY3V0ZUlmSmF2YVNjcmlwdFVSTChXZWJDb3JlOjpLVVJMIGNvbnN0JiwgYm9v
bCwgV2ViQ29yZTo6U2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKSArIDU5NQoy
MCAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDE1ZjhjNWIgV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OnVybFNlbGVjdGVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdCYsIFdl
YkNvcmU6OlN0cmluZyBjb25zdCYsIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpFdmVudD4sIGJv
b2wsIGJvb2wsIGJvb2wsIFdlYkNvcmU6OlJlZmVycmVyUG9saWN5LCBXZWJDb3JlOjpTaG91bGRS
ZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwpICsgOTEKMjEgIGNvbS5hcHBsZS5XZWJDb3Jl
ICAgICAgICAgICAgIAkweDAxNWY5NGY3IFdlYkNvcmU6OkZyYW1lTG9hZGVyOjp1cmxTZWxlY3Rl
ZChXZWJDb3JlOjpLVVJMIGNvbnN0JiwgV2ViQ29yZTo6U3RyaW5nIGNvbnN0JiwgV1RGOjpQYXNz
UmVmUHRyPFdlYkNvcmU6OkV2ZW50PiwgYm9vbCwgYm9vbCwgYm9vbCwgV2ViQ29yZTo6UmVmZXJy
ZXJQb2xpY3kpICsgNDcxCjIyICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMTY1
NDJmOSBXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihXZWJD
b3JlOjpFdmVudCopICsgMjA0MQoyMyAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4
MDFiOGQ5YWQgV2ViQ29yZTo6Tm9kZTo6ZGlzcGF0Y2hHZW5lcmljRXZlbnQoV1RGOjpQYXNzUmVm
UHRyPFdlYkNvcmU6OkV2ZW50PikgKyA5NTcKMjQgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAg
ICAgIAkweDAxYjhkZDg0IFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoRXZlbnQoV1RGOjpQYXNzUmVm
UHRyPFdlYkNvcmU6OkV2ZW50PikgKyAyMTIKMjUgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAg
ICAgIAkweDAxYjhiN2Q1IFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoTW91c2VFdmVudChXZWJDb3Jl
OjpBdG9taWNTdHJpbmcgY29uc3QmLCBpbnQsIGludCwgaW50LCBpbnQsIGludCwgaW50LCBib29s
LCBib29sLCBib29sLCBib29sLCBib29sLCBXZWJDb3JlOjpOb2RlKiwgV1RGOjpQYXNzUmVmUHRy
PFdlYkNvcmU6OkV2ZW50PikgKyA3NDEKMjYgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAg
IAkweDAxYjhjNjMzIFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoTW91c2VFdmVudChXZWJDb3JlOjpQ
bGF0Zm9ybU1vdXNlRXZlbnQgY29uc3QmLCBXZWJDb3JlOjpBdG9taWNTdHJpbmcgY29uc3QmLCBp
bnQsIFdlYkNvcmU6Ok5vZGUqKSArIDE2MwoyNyAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAg
ICAgCTB4MDE1YWEyN2UgV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpkaXNwYXRjaE1vdXNlRXZlbnQo
V2ViQ29yZTo6QXRvbWljU3RyaW5nIGNvbnN0JiwgV2ViQ29yZTo6Tm9kZSosIGJvb2wsIGludCwg
V2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50IGNvbnN0JiwgYm9vbCkgKyAxMjYKMjggIGNvbS5h
cHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAxNWIwMDc0IFdlYkNvcmU6OkV2ZW50SGFuZGxl
cjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50IGNv
bnN0JikgKyAxMTQwCjI5ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMTViMzQy
MiBXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om1vdXNlVXAoTlNFdmVudCopICsgMzg2CjMwICBjb20u
YXBwbGUuV2ViS2l0ICAgICAgICAgICAgICAJMHgwMDk2NDczNyAtW1dlYkhUTUxWaWV3IG1vdXNl
VXA6XSArIDI2MwozMSAgY29tLmFwcGxlLkFwcEtpdCAgICAgICAgICAgICAgCTB4OTE2NjliOTUg
LVtOU1dpbmRvdyBzZW5kRXZlbnQ6XSArIDU1MzkKMzIgIGNvbS5hcHBsZS5TYWZhcmkgICAgICAg
ICAgICAgIAkweDAwMDNmZTNlIDB4MTAwMCArIDI1NzU5OAozMyAgY29tLmFwcGxlLlNhZmFyaSAg
ICAgICAgICAgICAgCTB4MDAwM2ZkY2IgMHgxMDAwICsgMjU3NDgzCjM0ICBjb20uYXBwbGUuQXBw
S2l0ICAgICAgICAgICAgICAJMHg5MTYzNjZhNSAtW05TQXBwbGljYXRpb24gc2VuZEV2ZW50Ol0g
KyAyOTM5CjM1ICBjb20uYXBwbGUuU2FmYXJpICAgICAgICAgICAgICAJMHgwMDAzNzA3OCAweDEw
MDAgKyAyMjEzMDQKMzYgIGNvbS5hcHBsZS5BcHBLaXQgICAgICAgICAgICAgIAkweDkxNTkzZmU3
IC1bTlNBcHBsaWNhdGlvbiBydW5dICsgODY3CjM3ICBjb20uYXBwbGUuQXBwS2l0ICAgICAgICAg
ICAgICAJMHg5MTU2MTFkOCBOU0FwcGxpY2F0aW9uTWFpbiArIDU3NAozOCAgY29tLmFwcGxlLlNh
ZmFyaSAgICAgICAgICAgICAgCTB4MDAwMGEzYzYgMHgxMDAwICsgMzc4MzAKClRocmVhZCAxOgow
ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTdhMDU0NGUgX19zZW13YWl0X3Np
Z25hbCArIDEwCjEgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5N2EyZmRjZCBw
dGhyZWFkX2NvbmRfd2FpdCRVTklYMjAwMyArIDczCjIgICBjb20uYXBwbGUuSmF2YVNjcmlwdENv
cmUgICAgICAJMHgwMDZmOTMzZiBXVEY6OlRDTWFsbG9jX1BhZ2VIZWFwOjpzY2F2ZW5nZXJUaHJl
YWQoKSArIDE3NQozICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA2Zjk2NWYg
V1RGOjpUQ01hbGxvY19QYWdlSGVhcDo6cnVuU2NhdmVuZ2VyVGhyZWFkKHZvaWQqKSArIDE1CjQg
ICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5N2EyZjE1NSBfcHRocmVhZF9zdGFy
dCArIDMyMQo1ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTdhMmYwMTIgdGhy
ZWFkX3N0YXJ0ICsgMzQKClRocmVhZCAyOgowICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAg
ICAgCTB4OTdhMDU0NGUgX19zZW13YWl0X3NpZ25hbCArIDEwCjEgICBsaWJTeXN0ZW0uQi5keWxp
YiAgICAgICAgICAgICAJMHg5N2EyZmRjZCBwdGhyZWFkX2NvbmRfd2FpdCRVTklYMjAwMyArIDcz
CjIgICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMTZkZTcxNCBXZWJDb3JlOjpJ
Y29uRGF0YWJhc2U6OnN5bmNUaHJlYWRNYWluTG9vcCgpICsgMjYwCjMgICBjb20uYXBwbGUuV2Vi
Q29yZSAgICAgICAgICAgICAJMHgwMTZkZTgyYyBXZWJDb3JlOjpJY29uRGF0YWJhc2U6Omljb25E
YXRhYmFzZVN5bmNUaHJlYWQoKSArIDE4OAo0ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAg
ICAgCTB4OTdhMmYxNTUgX3B0aHJlYWRfc3RhcnQgKyAzMjEKNSAgIGxpYlN5c3RlbS5CLmR5bGli
ICAgICAgICAgICAgIAkweDk3YTJmMDEyIHRocmVhZF9zdGFydCArIDM0CgpUaHJlYWQgMzoKMCAg
IGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDk3OWZlMjY2IG1hY2hfbXNnX3RyYXAg
KyAxMAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTdhMDVhNWMgbWFjaF9t
c2cgKyA3MgoyICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4OTFmYjRlN2UgQ0ZS
dW5Mb29wUnVuU3BlY2lmaWMgKyAxNzkwCjMgICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gICAg
ICAJMHg5MWZiNWFhOCBDRlJ1bkxvb3BSdW5Jbk1vZGUgKyA4OAo0ICAgY29tLmFwcGxlLkNGTmV0
d29yayAgICAgICAgICAgCTB4OTcwNjkyNjQgQ0ZVUkxDYWNoZVdvcmtlclRocmVhZCh2b2lkKikg
KyAzODgKNSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDk3YTJmMTU1IF9wdGhy
ZWFkX3N0YXJ0ICsgMzIxCjYgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5N2Ey
ZjAxMiB0aHJlYWRfc3RhcnQgKyAzNAoKVGhyZWFkIDQ6CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAg
ICAgICAgICAgICAJMHg5NzlmZTI2NiBtYWNoX21zZ190cmFwICsgMTAKMSAgIGxpYlN5c3RlbS5C
LmR5bGliICAgICAgICAgICAgIAkweDk3YTA1YTVjIG1hY2hfbXNnICsgNzIKMiAgIGNvbS5hcHBs
ZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDkxZmI0ZTdlIENGUnVuTG9vcFJ1blNwZWNpZmljICsg
MTc5MAozICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4OTFmYjVhYTggQ0ZSdW5M
b29wUnVuSW5Nb2RlICsgODgKNCAgIGNvbS5hcHBsZS5TYWZhcmkgICAgICAgICAgICAgIAkweDAw
MDJlYTM5IDB4MTAwMCArIDE4NjkzNwo1ICAgY29tLmFwcGxlLlNhZmFyaSAgICAgICAgICAgICAg
CTB4MDAwMmU3ODIgMHgxMDAwICsgMTg2MjQyCjYgICBjb20uYXBwbGUuU2FmYXJpICAgICAgICAg
ICAgICAJMHgwMDAyZTcxYiAweDEwMDAgKyAxODYxMzkKNyAgIGxpYlN5c3RlbS5CLmR5bGliICAg
ICAgICAgICAgIAkweDk3YTJmMTU1IF9wdGhyZWFkX3N0YXJ0ICsgMzIxCjggICBsaWJTeXN0ZW0u
Qi5keWxpYiAgICAgICAgICAgICAJMHg5N2EyZjAxMiB0aHJlYWRfc3RhcnQgKyAzNAoKVGhyZWFk
IDU6CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5NzlmZTI2NiBtYWNoX21z
Z190cmFwICsgMTAKMSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDk3YTA1YTVj
IG1hY2hfbXNnICsgNzIKMiAgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDkxZmI0
ZTdlIENGUnVuTG9vcFJ1blNwZWNpZmljICsgMTc5MAozICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0
aW9uICAgICAgCTB4OTFmYjVhYTggQ0ZSdW5Mb29wUnVuSW5Nb2RlICsgODgKNCAgIGNvbS5hcHBs
ZS5Gb3VuZGF0aW9uICAgICAgICAgIAkweDk3NzlmNTIwICtbTlNVUkxDb25uZWN0aW9uKE5TVVJM
Q29ubmVjdGlvblJlYWxseUludGVybmFsKSBfcmVzb3VyY2VMb2FkTG9vcDpdICsgMzIwCjUgICBj
b20uYXBwbGUuRm91bmRhdGlvbiAgICAgICAgICAJMHg5NzczYmRmZCAtW05TVGhyZWFkIG1haW5d
ICsgNDUKNiAgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uICAgICAgICAgIAkweDk3NzNiOWE0IF9fTlNU
aHJlYWRfX21haW5fXyArIDMwOAo3ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4
OTdhMmYxNTUgX3B0aHJlYWRfc3RhcnQgKyAzMjEKOCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAg
ICAgICAgIAkweDk3YTJmMDEyIHRocmVhZF9zdGFydCArIDM0CgpUaHJlYWQgNjoKMCAgIGxpYlN5
c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDk3OWZlMjY2IG1hY2hfbXNnX3RyYXAgKyAxMAox
ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTdhMDVhNWMgbWFjaF9tc2cgKyA3
MgoyICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4OTFmYjRlN2UgQ0ZSdW5Mb29w
UnVuU3BlY2lmaWMgKyAxNzkwCjMgICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gICAgICAJMHg5
MWZiNWFhOCBDRlJ1bkxvb3BSdW5Jbk1vZGUgKyA4OAo0ICAgY29tLmFwcGxlLlNhZmFyaSAgICAg
ICAgICAgICAgCTB4MDAwMmVhMzkgMHgxMDAwICsgMTg2OTM3CjUgICBjb20uYXBwbGUuU2FmYXJp
ICAgICAgICAgICAgICAJMHgwMDAyZTc4MiAweDEwMDAgKyAxODYyNDIKNiAgIGNvbS5hcHBsZS5T
YWZhcmkgICAgICAgICAgICAgIAkweDAwMDJlNzFiIDB4MTAwMCArIDE4NjEzOQo3ICAgbGliU3lz
dGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTdhMmYxNTUgX3B0aHJlYWRfc3RhcnQgKyAzMjEK
OCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDk3YTJmMDEyIHRocmVhZF9zdGFy
dCArIDM0CgpUaHJlYWQgNzoKMCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDk3
YTA1NDRlIF9fc2Vtd2FpdF9zaWduYWwgKyAxMAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAg
ICAgICAgCTB4OTdhMmZkY2QgcHRocmVhZF9jb25kX3dhaXQkVU5JWDIwMDMgKyA3MwoyICAgY29t
LmFwcGxlLkNvbG9yU3luYyAgICAgICAgICAgCTB4OTM3NDAzZjggcHRocmVhZFNlbWFwaG9yZVdh
aXQodF9wdGhyZWFkU2VtYXBob3JlKikgKyA0MgozICAgY29tLmFwcGxlLkNvbG9yU3luYyAgICAg
ICAgICAgCTB4OTM3NTJkNGUgQ01NQ29udlRhc2sodm9pZCopICsgNTQKNCAgIGxpYlN5c3RlbS5C
LmR5bGliICAgICAgICAgICAgIAkweDk3YTJmMTU1IF9wdGhyZWFkX3N0YXJ0ICsgMzIxCjUgICBs
aWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5N2EyZjAxMiB0aHJlYWRfc3RhcnQgKyAz
NAoKVGhyZWFkIDg6CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5N2EwNTQ0
ZSBfX3NlbXdhaXRfc2lnbmFsICsgMTAKMSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAg
IAkweDk3YTJmZGNkIHB0aHJlYWRfY29uZF93YWl0JFVOSVgyMDAzICsgNzMKMiAgIGNvbS5hcHBs
ZS5RdWFydHpDb3JlICAgICAgICAgIAkweDk2ZGJjYTA5IGZlX2ZyYWdtZW50X3RocmVhZCArIDU0
CjMgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5N2EyZjE1NSBfcHRocmVhZF9z
dGFydCArIDMyMQo0ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTdhMmYwMTIg
dGhyZWFkX3N0YXJ0ICsgMzQKClRocmVhZCA5OgowICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAg
ICAgICAgCTB4OTdhMDU0NGUgX19zZW13YWl0X3NpZ25hbCArIDEwCjEgICBsaWJTeXN0ZW0uQi5k
eWxpYiAgICAgICAgICAgICAJMHg5N2EyZmRjZCBwdGhyZWFkX2NvbmRfd2FpdCRVTklYMjAwMyAr
IDczCjIgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDdmZDBjMSBXVEY6OlRo
cmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KFdURjo6TXV0ZXgmLCBkb3VibGUpICsgODEKMyAgIGNv
bS5hcHBsZS5TYWZhcmkgICAgICAgICAgICAgIAkweDAwMWFjYjg0IDB4MTAwMCArIDE3NTE5NDAK
NCAgIGNvbS5hcHBsZS5TYWZhcmkgICAgICAgICAgICAgIAkweDAwMDQ0ODEzIDB4MTAwMCArIDI3
NjQ5OQo1ICAgY29tLmFwcGxlLlNhZmFyaSAgICAgICAgICAgICAgCTB4MDAwNDQ3NjMgMHgxMDAw
ICsgMjc2MzIzCjYgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5N2EyZjE1NSBf
cHRocmVhZF9zdGFydCArIDMyMQo3ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4
OTdhMmYwMTIgdGhyZWFkX3N0YXJ0ICsgMzQKClRocmVhZCAxMDoKMCAgIGxpYlN5c3RlbS5CLmR5
bGliICAgICAgICAgICAgIAkweDk3YTRkNmZhIHNlbGVjdCREQVJXSU5fRVhUU04gKyAxMAoxICAg
bGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTdhMmYxNTUgX3B0aHJlYWRfc3RhcnQg
KyAzMjEKMiAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDk3YTJmMDEyIHRocmVh
ZF9zdGFydCArIDM0CgpUaHJlYWQgMCBjcmFzaGVkIHdpdGggWDg2IFRocmVhZCBTdGF0ZSAoMzIt
Yml0KToKICBlYXg6IDB4MDAwMDAwMDAgIGVieDogMHhiZmZmZTUxYyAgZWN4OiAweDAwMDAwMDAw
ICBlZHg6IDB4YmZmZmU1MjgKICBlZGk6IDB4MDAwMDAwMDAgIGVzaTogMHgwMDAwMDAwMCAgZWJw
OiAweGJmZmZlMzI4ICBlc3A6IDB4YmZmZmUzMjgKICAgc3M6IDB4MDAwMDAwMWYgIGVmbDogMHgw
MDAxMDI0NiAgZWlwOiAweDAxYjg4ZTA2ICAgY3M6IDB4MDAwMDAwMTcKICAgZHM6IDB4MDAwMDAw
MWYgICBlczogMHgwMDAwMDAxZiAgIGZzOiAweDAwMDAwMDAwICAgZ3M6IDB4MDAwMDAwMzcKICBj
cjI6IDB4MDAwMDAwMTgKCkJpbmFyeSBJbWFnZXM6CiAgICAweDEwMDAgLSAgIDB4NWNlZmYwICBj
b20uYXBwbGUuU2FmYXJpIDUuMCAoNTUzMy4xNikgPDE5ZDkyMzBjYjNkNmNiNTAwYmNhOWEzN2Rk
ODk3ZDBkPiAvQXBwbGljYXRpb25zL1NhZmFyaS5hcHAvQ29udGVudHMvTWFjT1MvU2FmYXJpCiAg
MHg2NDIwMDAgLSAgIDB4NjQ0ZmY3ICtXZWJLaXROaWdodGx5RW5hYmxlci5keWxpYiA/Pz8gKD8/
PykgPDAxYTYyN2ZkNzczMzg5MmM4NDYxZTEzMzMzMzE2YmQzPiAvVm9sdW1lcy9XZWJLaXQvV2Vi
S2l0LmFwcC9Db250ZW50cy9SZXNvdXJjZXMvV2ViS2l0TmlnaHRseUVuYWJsZXIuZHlsaWIKICAw
eDY0YTAwMCAtICAgMHg2NTVmZmYgIGxpYnhhci4xLmR5bGliID8/PyAoPz8/KSAvdXNyL2xpYi9s
aWJ4YXIuMS5keWxpYgogIDB4NjVkMDAwIC0gICAweDY4N2ZlOCAgY29tLmFwcGxlLmZyYW1ld29y
ay5BcHBsZTgwMjExIDUuMi44ICg1MjguMSkgPDk3ZGZkMGMyZDQ0ZDNjNTgzOWRkOTZmNzRlNDNk
OWMyPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXBwbGU4MDIxMS5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9BcHBsZTgwMjExCiAgMHg2OTgwMDAgLSAgIDB4ODkxZmYzICBjb20uYXBw
bGUuSmF2YVNjcmlwdENvcmUgNTM0KyAoNTM0LjIrKSA8ZDM0NjkwYzg1ZjUwYjRjNGRiYjI0YTQ5
MGVkM2FlYTA+IC9Wb2x1bWVzL1dlYktpdC9XZWJLaXQuYXBwL0NvbnRlbnRzL0ZyYW1ld29ya3Mv
MTAuNS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQog
IDB4OGY0MDAwIC0gICAweDkwM2ZmOCAgU3luZGljYXRpb25VSSA/Pz8gKD8/PykgPDdiNDc3MTBm
YTM5ZjA4YmU2MTNlY2ViZTBlNGY1ZWNlPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29y
a3MvU3luZGljYXRpb25VSS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TeW5kaWNhdGlvblVJCiAgMHg5
MTIwMDAgLSAgIDB4YTIzZmY3ICBjb20uYXBwbGUuV2ViS2l0IHI2MjI0MSAoNTM0LjIrKSA8ZWRi
YTUwM2E2MjE0ZTI1MjFmNDZiYTkzZDM3YzI1OWY+IC9Wb2x1bWVzL1dlYktpdC9XZWJLaXQuYXBw
L0NvbnRlbnRzL0ZyYW1ld29ya3MvMTAuNS9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2Vi
S2l0CiAgMHhhZTQwMDAgLSAgIDB4YjA5ZmY3ICtvcmcuYW5keW1hdHVzY2hhay5TcGFya2xlIDEu
NSBCZXRhIChnaXQpICg4MzBmNjMzKSA8YTJhZDAwYjA3YjRkNWIyZDI4NGNiN2I3MGRmMmE2ODc+
IC9Wb2x1bWVzL1dlYktpdC9XZWJLaXQuYXBwL0NvbnRlbnRzL0ZyYW1ld29ya3MvMTAuNS9TcGFy
a2xlLmZyYW1ld29yay9WZXJzaW9ucy9BL1NwYXJrbGUKIDB4MTM1MzAwMCAtICAweDFmYjFmZTcg
IGNvbS5hcHBsZS5XZWJDb3JlIDUzNCsgKDUzNC4yKykgPDc1MzBkZWJhYTRjNGFkNWE2Mzg0MWEz
YzQ0ZTc2MzkzPiAvVm9sdW1lcy9XZWJLaXQvV2ViS2l0LmFwcC9Db250ZW50cy9GcmFtZXdvcmtz
LzEwLjUvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCjB4MTNkZWEwMDAgLSAw
eDEzZmYyZmVmICBjb20uYXBwbGUuUmF3Q2FtZXJhLmJ1bmRsZSAyLjEuMiAoNTE3KSA8YWI5Yzdh
MGU5MTQ3ZGU5MDE5OWU0ZmE4YjBmNTA4NjM+IC9TeXN0ZW0vTGlicmFyeS9Db3JlU2VydmljZXMv
UmF3Q2FtZXJhLmJ1bmRsZS9Db250ZW50cy9NYWNPUy9SYXdDYW1lcmEKMHgxNDRiNjAwMCAtIDB4
MTQ0YjZmZjcgK3dzLmFnaWxlLjFQYXNzd29yZEFkZGl0aW9uIDMuMi41ICgzMDY2NSkgPDY1ZDky
NjZmMTIyYWRkYTU0MTdkMTI1NzNiYmI0YmJlPiAvVXNlcnMvcGF0cmljay9MaWJyYXJ5L1Njcmlw
dGluZ0FkZGl0aW9ucy8xUGFzc3dvcmQgQWRkaXRpb24gTGVvcGFyZC5vc2F4L0NvbnRlbnRzL01h
Y09TLzFQYXNzd29yZCBBZGRpdGlvbiBMZW9wYXJkCjB4MTlhOWMwMDAgLSAweDE5YWExZmYzICBs
aWJDR1hDb3JlSW1hZ2UuQS5keWxpYiA/Pz8gKD8/PykgPGViYmY5YWIwZjcwMGM4ODFmN2UyZjk0
ZmZlZGMxYmRmPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2Vz
LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ29yZUdyYXBoaWNzLmZyYW1ld29yay9W
ZXJzaW9ucy9BL1Jlc291cmNlcy9saWJDR1hDb3JlSW1hZ2UuQS5keWxpYgoweDE5Zjk5MDAwIC0g
MHgxOWY5YmZmZiAgY29tLmFwcGxlLkV4Y2VwdGlvbkhhbmRsaW5nIDEuNSAoMTApIC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0V4Y2VwdGlvbkhhbmRsaW5nLmZyYW1ld29yay9WZXJzaW9ucy9B
L0V4Y2VwdGlvbkhhbmRsaW5nCjB4MWQyN2IwMDAgLSAweDFkMzZhZmY3ICt3cy5hZ2lsZS4xUGFz
c3dvcmRXZWJLaXQgMy4yLjUgKDMwNjY1KSA8MzIxY2E1MmNiOTI2NTU2YTgzZDY1OTEzNDdjZmRm
ZDE+IC9Vc2Vycy9wYXRyaWNrL0xpYnJhcnkvQXBwbGljYXRpb24gU3VwcG9ydC8xUGFzc3dvcmQv
RXh0ZW5zaW9ucy8zMDY2NS9XZWJLaXRFeHRlbnNpb24uYnVuZGxlL0NvbnRlbnRzL01hY09TL1dl
YktpdEV4dGVuc2lvbgoweDhmZTAwMDAwIC0gMHg4ZmUyZGI0MyAgZHlsZCA5Ny4xICg/Pz8pIDw0
NThlZWQzOGEwMDllNTY1OGE3OTU3OWU3YmMyNjYwMz4gL3Vzci9saWIvZHlsZAoweDkwZjFiMDAw
IC0gMHg5MGY2YWZmZiAgY29tLmFwcGxlLlF1aWNrTG9va1VJRnJhbWV3b3JrIDEuMy4xICgxNzAu
OSkgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1F1aWNrTG9va1VJLmZyYW1ld29y
ay9WZXJzaW9ucy9BL1F1aWNrTG9va1VJCjB4OTBmNmIwMDAgLSAweDkwZjhmZmZmICBsaWJ4c2x0
LjEuZHlsaWIgPz8/ICg/Pz8pIDxhZGZlOTBhM2Q1NjRkODI0ZDVhZTBmYTZkZjhkNmMzZj4gL3Vz
ci9saWIvbGlieHNsdC4xLmR5bGliCjB4OTBmOTAwMDAgLSAweDkxMDE3ZmY3ICBsaWJzcWxpdGUz
LjAuZHlsaWIgPz8/ICg/Pz8pIDxhYWFmNzJjMDkzZTEzZjM0Yjk2ZTI2ODhiOTViZGI0YT4gL3Vz
ci9saWIvbGlic3FsaXRlMy4wLmR5bGliCjB4OTEwMTgwMDAgLSAweDkxMDcyZmY3ICBjb20uYXBw
bGUuQ29yZVRleHQgMi4wLjQgKD8/PykgPGM3YTIyMmJlMWI1MWE5OTU0ZWFlNzE2YWRiZDU2MjZh
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29y
ay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ29yZVRleHQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29y
ZVRleHQKMHg5MTBhODAwMCAtIDB4OTEwYThmZmMgIGNvbS5hcHBsZS5hdWRpby51bml0cy5BdWRp
b1VuaXQgMS41ICgxLjUpIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVW5pdC5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9BdWRpb1VuaXQKMHg5MTBhOTAwMCAtIDB4OTEwYjJmZmYgIGNvbS5h
cHBsZS5zcGVlY2gucmVjb2duaXRpb24uZnJhbWV3b3JrIDMuNy4yNCAoMy43LjI0KSA8ZGEyZDg0
MTE5MjFhM2ZkOGJjODk4ZGM3NTNiN2YzZWU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nh
cmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1NwZWVjaFJlY29nbml0aW9uLmZy
YW1ld29yay9WZXJzaW9ucy9BL1NwZWVjaFJlY29nbml0aW9uCjB4OTEwYjMwMDAgLSAweDkxMGY0
ZmU3ICBsaWJSSVAuQS5keWxpYiA/Pz8gKD8/PykgPGU5YzVkZjhiZDU3NGI3MWU1NWFjNjBjOTEw
YjkyOWNlPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ29yZUdyYXBoaWNzLmZyYW1ld29yay9WZXJz
aW9ucy9BL1Jlc291cmNlcy9saWJSSVAuQS5keWxpYgoweDkxNTViMDAwIC0gMHg5MWQ1OWZlZiAg
Y29tLmFwcGxlLkFwcEtpdCA2LjUuOSAoOTQ5LjU0KSA8NGRmNWQyZTIyNzExNzU0NTIxMDNmNzg5
YjRmNGQ4YTg+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvVmVy
c2lvbnMvQy9BcHBLaXQKMHg5MWQ1YTAwMCAtIDB4OTFkNjFmZmUgIGxpYmJzbS5keWxpYiA/Pz8g
KD8/PykgPGZhN2FlNWYxYTYyMWQ5YjY5ZTdlMTg3NDdjOTQwNWZiPiAvdXNyL2xpYi9saWJic20u
ZHlsaWIKMHg5MWQ2MjAwMCAtIDB4OTFkZWNmZjcgIGNvbS5hcHBsZS5EZXNrdG9wU2VydmljZXMg
MS40LjkgKDEuNC45KSA8ZjVlNTFhNzZkMzE1Nzk4MzcxYjNkZDM1YTRkNDZkNmM+IC9TeXN0ZW0v
TGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9EZXNrdG9wU2VydmljZXNQcml2LmZyYW1ld29yay9W
ZXJzaW9ucy9BL0Rlc2t0b3BTZXJ2aWNlc1ByaXYKMHg5MWUyMDAwMCAtIDB4OTFlMjBmZmUgIGNv
bS5hcHBsZS5Nb25pdG9yUGFuZWxGcmFtZXdvcmsgMS4yLjAgKDEuMi4wKSA8MWY0YzEwZmNjMTcx
ODdhNmYxMDZlMGEwYmU4MjM2YjA+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9N
b25pdG9yUGFuZWwuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTW9uaXRvclBhbmVsCjB4OTFlMjEwMDAg
LSAweDkxZTNlZmY3ICBjb20uYXBwbGUuUXVpY2tMb29rRnJhbWV3b3JrIDEuMy4xICgxNzAuOSkg
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVpY2tMb29rLmZyYW1ld29yay9WZXJzaW9ucy9B
L1F1aWNrTG9vawoweDkxZTNmMDAwIC0gMHg5MWU1YmZmMyAgY29tLmFwcGxlLkNvcmVWaWRlbyAx
LjYuMSAoNDguNikgPGYxODM3YmVlZWZjODE5NjRhYmY3YjU4MDc1ZWRlYTJmPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9Db3JlVmlkZW8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZVZpZGVv
CjB4OTFlNWMwMDAgLSAweDkxZTYxZmZmICBjb20uYXBwbGUuQ29tbW9uUGFuZWxzIDEuMi40ICg4
NSkgPGMxMzVmMDJlZGQ2YjJlMjg2NDMxMWUwYjlkMDhhOThkPiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db21tb25QYW5l
bHMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29tbW9uUGFuZWxzCjB4OTFlNjIwMDAgLSAweDkxZTY2
ZmZmICBsaWJtYXRoQ29tbW9uLkEuZHlsaWIgPz8/ICg/Pz8pIC91c3IvbGliL3N5c3RlbS9saWJt
YXRoQ29tbW9uLkEuZHlsaWIKMHg5MWU2NzAwMCAtIDB4OTFlNjdmZmIgIGNvbS5hcHBsZS5pbnN0
YWxsc2VydmVyLmZyYW1ld29yayAxLjAgKDgpIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3
b3Jrcy9JbnN0YWxsU2VydmVyLmZyYW1ld29yay9WZXJzaW9ucy9BL0luc3RhbGxTZXJ2ZXIKMHg5
MWU2ODAwMCAtIDB4OTFlYzRmZjcgIGNvbS5hcHBsZS5odG1scmVuZGVyaW5nIDY4ICgxLjEuMykg
PDFjNWMwYzQxNzg5MWI5MjBkZmUxMzkzODVmYzZjMTU1PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9IVE1MUmVuZGVyaW5n
LmZyYW1ld29yay9WZXJzaW9ucy9BL0hUTUxSZW5kZXJpbmcKMHg5MWYwMjAwMCAtIDB4OTFmMzRm
ZmYgIGNvbS5hcHBsZS5MREFQRnJhbWV3b3JrIDEuNC41ICgxMTApIDxiYjdhM2U1ZDY2ZjAwZDFk
MWM4YTQwNTY5YjAwM2JhMz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvTERBUC5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9MREFQCjB4OTFmMzUwMDAgLSAweDkxZjQxZmZlICBsaWJHTC5keWxpYiA/
Pz8gKD8/PykgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvT3BlbkdMLmZyYW1ld29yay9WZXJz
aW9ucy9BL0xpYnJhcmllcy9saWJHTC5keWxpYgoweDkxZjQyMDAwIC0gMHg5MjA3NWZlNyAgY29t
LmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuNS43ICg0NzYuMTkpIDxhMzMyYzhmNDU1MjllZTI2ZDJl
OWMzNmQwYzcyM2JhZD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24u
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KMHg5MjA3YzAwMCAtIDB4OTIwODhm
ZmYgIGxpYmJ6Mi4xLjAuZHlsaWIgPz8/ICg/Pz8pIDw4ODdiYjZmNzNkMjMwODhmZTQyOTQ2Y2Q5
ZjEzNDg3Nj4gL3Vzci9saWIvbGliYnoyLjEuMC5keWxpYgoweDkyMTdlMDAwIC0gMHg5MjI1ZmZm
NyAgbGlieG1sMi4yLmR5bGliID8/PyAoPz8/KSA8YjNiYzBiMjgwYzM2YWExN2FjNDc3YjRkYTU2
Y2QwMzg+IC91c3IvbGliL2xpYnhtbDIuMi5keWxpYgoweDkyMzJhMDAwIC0gMHg5MjRlNmZmMyAg
Y29tLmFwcGxlLlF1YXJ0ekNvbXBvc2VyIDIuMSAoMTA2LjEzKSA8ZGMwNDU2NjgxMWFiOWM1MzE2
ZDFhNjIyZjQyZGE4YmE+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0ei5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1F1YXJ0ekNvbXBvc2VyLmZyYW1ld29yay9WZXJzaW9u
cy9BL1F1YXJ0ekNvbXBvc2VyCjB4OTI0ZTcwMDAgLSAweDkyNTI2ZmVmICBsaWJUSUZGLmR5bGli
ID8/PyAoPz8/KSA8MDQzN2VhYzc3ZTRlODc0ZjU2NmVjNDIxOWFkMWIyNDk+IC9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy9JbWFnZUlPLmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9saWJUSUZG
LmR5bGliCjB4OTI1OWIwMDAgLSAweDkyNWMzZmY3ICBjb20uYXBwbGUuc2hvcnRjdXQgMS4wLjEg
KDEuMCkgPDM3ZTRiMDhjZmFmOWVkYjA4Yjg2ODJhMDZjNGVjODQ0PiAvU3lzdGVtL0xpYnJhcnkv
UHJpdmF0ZUZyYW1ld29ya3MvU2hvcnRjdXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2hvcnRjdXQK
MHg5MjVjNDAwMCAtIDB4OTI2MzZmZmYgIGNvbS5hcHBsZS5QREZLaXQgMi4xLjIgKDIuMS4yKSAv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9RdWFydHouZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJh
bWV3b3Jrcy9QREZLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUERGS2l0CjB4OTMxNGYwMDAgLSAw
eDkzMTZkZmZmICBsaWJyZXNvbHYuOS5keWxpYiA/Pz8gKD8/PykgPDBlMjZiMzA4NjU0ZjMzZmM5
NGEwYzAxMGE1MDc1MWY5PiAvdXNyL2xpYi9saWJyZXNvbHYuOS5keWxpYgoweDkzMWJkMDAwIC0g
MHg5MzFiZmZmZCAgY29tLmFwcGxlLkNyYXNoUmVwb3J0ZXJTdXBwb3J0IDEwLjUuNyAoMTYxKSA8
Y2NkYzNmMjAwMGFmYTVmY2JiODUzNzg0NWYzNmRjMDE+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRl
RnJhbWV3b3Jrcy9DcmFzaFJlcG9ydGVyU3VwcG9ydC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DcmFz
aFJlcG9ydGVyU3VwcG9ydAoweDkzMWMwMDAwIC0gMHg5MzFkMGZmYyAgY29tLmFwcGxlLkxhbmdB
bmFseXNpcyAxLjYuNSAoMS42LjUpIDxkMDU3ZmViMzgxNjMxMjFmZmQ4NzFjNTY0YzY5MjgwND4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9GcmFtZXdvcmtzL0xhbmdBbmFseXNpcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9M
YW5nQW5hbHlzaXMKMHg5MzFlNTAwMCAtIDB4OTMyMWNmZmYgIGNvbS5hcHBsZS5TeXN0ZW1Db25m
aWd1cmF0aW9uIDEuOS4yICgxLjkuMikgPDQxZDVhZWZmZWZjNmQxOWQ0NzFmNTFhZTBiMTUwMjRm
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TeXN0ZW1Db25maWd1cmF0aW9uLmZyYW1ld29y
ay9WZXJzaW9ucy9BL1N5c3RlbUNvbmZpZ3VyYXRpb24KMHg5MzIxZDAwMCAtIDB4OTM2MmRmZWYg
IGxpYkJMQVMuZHlsaWIgPz8/ICg/Pz8pIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2Vs
ZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1Zl
cnNpb25zL0EvbGliQkxBUy5keWxpYgoweDkzNjJlMDAwIC0gMHg5MzY0NGZmZiAgY29tLmFwcGxl
LkRpY3Rpb25hcnlTZXJ2aWNlcyAxLjAuMCAoMS4wLjApIDw3ZDIwYjhkMWZiMjM4YzNlNzFkMGZh
NmZkYTE4YzRmNz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1l
d29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvRGljdGlvbmFyeVNlcnZpY2VzLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0RpY3Rpb25hcnlTZXJ2aWNlcwoweDkzNjQ1MDAwIC0gMHg5MzcwY2ZmMiAgY29t
LmFwcGxlLnZJbWFnZSAzLjAgKDMuMCkgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxl
cmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL3ZJbWFnZS5mcmFtZXdvcmsvVmVy
c2lvbnMvQS92SW1hZ2UKMHg5MzcwZDAwMCAtIDB4OTM3ZDhmZWYgIGNvbS5hcHBsZS5Db2xvclN5
bmMgNC41LjMgKDQuNS4zKSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNl
cnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ29sb3JTeW5jLmZyYW1ld29y
ay9WZXJzaW9ucy9BL0NvbG9yU3luYwoweDkzN2RlMDAwIC0gMHg5MzdlOGZlYiAgY29tLmFwcGxl
LmF1ZGlvLlNvdW5kTWFuYWdlciAzLjkuMiAoMy45LjIpIDxkZjA3N2E4MDQ4YWZjMzA3NWM2ZjJk
OWU3NzgwZTc4ZT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ2FyYm9uU291bmQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ2Fy
Ym9uU291bmQKMHg5MzdlOTAwMCAtIDB4OTM4N2NmZmYgIGNvbS5hcHBsZS5pbmsuZnJhbWV3b3Jr
IDEwMS4zICg4NikgPGQ0Yzg1YjVjYWZhODAyN2ZmZjA0MmI4NGE4YmU3MWRjPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9J
bmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSW5rCjB4OTM4N2QwMDAgLSAweDkzOGFhZmViICBsaWJ2
RFNQLmR5bGliID8/PyAoPz8/KSA8ZjM5ZDQyNGJkNTZhMGU3NWQ1YzdhMjI4MGEyNWNkNzY+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvbGlidkRTUC5keWxpYgoweDkz
OTE5MDAwIC0gMHg5Mzk5M2ZmOCAgY29tLmFwcGxlLnByaW50LmZyYW1ld29yay5QcmludENvcmUg
NS41LjQgKDI0NS42KSA8OWFlODMzNTQ0YjgyNDk5ODRjMDc1NDRkYmU2YTk3ZmE+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25z
L0EvRnJhbWV3b3Jrcy9QcmludENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUHJpbnRDb3JlCjB4
OTM5OTQwMDAgLSAweDkzOTliZmU5ICBsaWJnY2Nfcy4xLmR5bGliID8/PyAoPz8/KSA8ZTI4MGRk
ZjNmNWZiMzA0OWU2NzRlZGNiMTA5ZjM4OWE+IC91c3IvbGliL2xpYmdjY19zLjEuZHlsaWIKMHg5
Mzk5YzAwMCAtIDB4OTNiMWNmZmYgIGNvbS5hcHBsZS5BZGRyZXNzQm9vay5mcmFtZXdvcmsgNC4x
LjIgKDcwMikgPGY5MzYwZjk5MjZjY2Q0MTFmZGY3NTUwYjczMDM0ZDE3PiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9BZGRyZXNzQm9vay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BZGRyZXNzQm9v
awoweDkzZDk1MDAwIC0gMHg5M2RhMmZlNyAgY29tLmFwcGxlLm9wZW5nbCAxLjUuMTAgKDEuNS4x
MCkgPGU3ZDExOThkODY5ZjQ1ZjA5MjUxZjk2OTdjYmRkMTkyPiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvT3BlbkdMCjB4OTNkYTMwMDAgLSAw
eDkzZTMwZmY3ICBjb20uYXBwbGUuZnJhbWV3b3JrLklPS2l0IDEuNS4yICg/Pz8pIDw3YTNjYzI0
Zjc4ZjkzOTMxNzMxMjAzODU0YWUwZDg5MT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSU9L
aXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSU9LaXQKMHg5M2UzMTAwMCAtIDB4OTNlMzFmZjggIGNv
bS5hcHBsZS5BcHBsaWNhdGlvblNlcnZpY2VzIDM0ICgzNCkgPGVlN2JkZjU5M2RhMDUwYmIzMGM3
YTFmYzQ0NmViOGE2PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0FwcGxpY2F0aW9uU2VydmljZXMKMHg5M2UzMjAwMCAt
IDB4OTNlYWZmZWYgIGxpYnZNaXNjLmR5bGliID8/PyAoPz8/KSAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvdmVjTGli
LmZyYW1ld29yay9WZXJzaW9ucy9BL2xpYnZNaXNjLmR5bGliCjB4OTNlYjAwMDAgLSAweDkzZWI3
ZmY3ICBsaWJDR0FUUy5BLmR5bGliID8/PyAoPz8/KSA8MTMzOWFiZmI2NzMxOGQ2NWMwMTMwZjc2
YmM4YzRkYTY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db3JlR3JhcGhpY3MuZnJhbWV3b3JrL1Zl
cnNpb25zL0EvUmVzb3VyY2VzL2xpYkNHQVRTLkEuZHlsaWIKMHg5M2YwNTAwMCAtIDB4OTNmMzZm
ZmIgIGNvbS5hcHBsZS5xdWFydHpmaWx0ZXJzIDEuNS4wICgxLjUuMCkgPDkyYjRmMzk0NzlmZGNh
YmFlMGQ4ZjUzZmViZDIyZmFkPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9RdWFydHouZnJh
bWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9RdWFydHpGaWx0ZXJzLmZyYW1ld29yay9WZXJz
aW9ucy9BL1F1YXJ0ekZpbHRlcnMKMHg5M2YzNzAwMCAtIDB4OTNmODhmZjcgIGNvbS5hcHBsZS5I
SVNlcnZpY2VzIDEuNy4xICg/Pz8pIDxiYTdmZDBlZGU1NDBhMGRhMDhkYjAyN2Y4N2VmYmQ2MD4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hJU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElT
ZXJ2aWNlcwoweDkzZjg5MDAwIC0gMHg5NDM0N2ZlYSAgbGliTEFQQUNLLmR5bGliID8/PyAoPz8/
KSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1ld29yay9WZXJzaW9u
cy9BL0ZyYW1ld29ya3MvdmVjTGliLmZyYW1ld29yay9WZXJzaW9ucy9BL2xpYkxBUEFDSy5keWxp
YgoweDk0MzQ4MDAwIC0gMHg5NDgxOWZiZSAgbGliR0xQcm9ncmFtbWFiaWxpdHkuZHlsaWIgPz8/
ICg/Pz8pIDxkNWNiNGU3OTk3YTg3M2NkNzc1MjM2ODllNjc0OWFjZD4gL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvT3BlbkdMLmZyYW1ld29yay9WZXJzaW9ucy9BL0xpYnJhcmllcy9saWJHTFBy
b2dyYW1tYWJpbGl0eS5keWxpYgoweDk0ODQ0MDAwIC0gMHg5NDg0ZmZlNyAgbGliQ1N5bmMuQS5k
eWxpYiA/Pz8gKD8/PykgPGQ4OGMyMGM5YTJmZDA2NzZkZWM2MmZkZGZhNzQ5NzlmPiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9u
cy9BL0ZyYW1ld29ya3MvQ29yZUdyYXBoaWNzLmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNl
cy9saWJDU3luYy5BLmR5bGliCjB4OTQ5YjQwMDAgLSAweDk0YTQxZmY3ICBjb20uYXBwbGUuTGF1
bmNoU2VydmljZXMgMjkyICgyOTIpIDxhNDEyODZjN2MxZWIyMGZmZDVjYzc5NmY3OTEwNzBmMD4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9u
cy9BL0ZyYW1ld29ya3MvTGF1bmNoU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGF1bmNo
U2VydmljZXMKMHg5NGE0MjAwMCAtIDB4OTRkZmVmZjQgIGNvbS5hcHBsZS5WaWRlb1Rvb2xib3gg
MC40ODQuMiAoNDg0LjIpIDwzNWYyZDE3Nzc5NmViYjNiNjFmOWQwNjU5M2QxNzg3YT4gL1N5c3Rl
bS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1ZpZGVvVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9WaWRlb1Rvb2xib3gKMHg5NGRmZjAwMCAtIDB4OTRlMzVmZWYgIGxpYnRpZHkuQS5keWxp
YiA/Pz8gKD8/PykgPDczNmU1NmI0NTNiYjEzMjQxMjVkNzJjYzNiZmQzYWVkPiAvdXNyL2xpYi9s
aWJ0aWR5LkEuZHlsaWIKMHg5NGU3YjAwMCAtIDB4OTRlYjVmZTcgIGNvbS5hcHBsZS5jb3JldWkg
MS4yICg2MikgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVVSS5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9Db3JlVUkKMHg5NGViNjAwMCAtIDB4OTRlY2JmZmIgIGNvbS5hcHBsZS5J
bWFnZUNhcHR1cmUgNS4wLjIgKDUuMC4yKSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJi
b24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbWFnZUNhcHR1cmUuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvSW1hZ2VDYXB0dXJlCjB4OTRlY2MwMDAgLSAweDk0ZWNjZmZkICBjb20uYXBw
bGUuQWNjZWxlcmF0ZSAxLjQuMiAoQWNjZWxlcmF0ZSAxLjQuMikgL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQWNjZWxlcmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BY2NlbGVyYXRlCjB4OTRl
Y2QwMDAgLSAweDk0ZWY2ZmZmICBsaWJjdXBzLjIuZHlsaWIgPz8/ICg/Pz8pIDw5ZjkwMGIwNzVl
NWM3YzQ4MjBhYTI0ZTk3NGNmOTlmMD4gL3Vzci9saWIvbGliY3Vwcy4yLmR5bGliCjB4OTRlZjcw
MDAgLSAweDk0ZWZjZmZmICBjb20uYXBwbGUuYmFja3VwLmZyYW1ld29yayAxLjAgKDEuMCkgL1N5
c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0JhY2t1cC5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9CYWNrdXAKMHg5NGVmZDAwMCAtIDB4OTRmMjhmZTcgIGxpYmF1dG8uZHlsaWIgPz8/ICg/Pz8p
IDw0ZjNlNThjYjgxZGEwN2ExNjYyYzFmNjQ3Y2UzMDIyNT4gL3Vzci9saWIvbGliYXV0by5keWxp
YgoweDk0ZjI5MDAwIC0gMHg5NGY0NWZmMyAgbGliUG5nLmR5bGliID8/PyAoPz8/KSA8ZDM3NTI0
ZmU4ODRhYTE2NGFiN2RiOTNkNGM4MDNiNjQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Fw
cGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbWFnZUlP
LmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9saWJQbmcuZHlsaWIKMHg5NGY1MjAwMCAt
IDB4OTUwMGRmZTMgIGNvbS5hcHBsZS5Db3JlU2VydmljZXMuT1NTZXJ2aWNlcyAyMjguMSAoMjI4
LjEpIDwwY2E3MGNhOGU2N2MxYTc2YmVlMTUxZDY1YjFlNzM5OD4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvT1NT
ZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9PU1NlcnZpY2VzCjB4OTUwMGUwMDAgLSAweDk1
MDU5ZmY3ICBjb20uYXBwbGUuQ29yZU1lZGlhSU9TZXJ2aWNlcyAxMzAuMCAoOTM1KSA8NGVlNjk1
ZWRkNTNmNWFhMjAwMDIxYTJmNjlkMjRmNzY+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3
b3Jrcy9Db3JlTWVkaWFJT1NlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVNZWRpYUlP
U2VydmljZXMKMHg5NTA1YTAwMCAtIDB4OTUwZWRmZjMgIGNvbS5hcHBsZS5BcHBsaWNhdGlvblNl
cnZpY2VzLkFUUyAzLjguMSAoPz8/KSA8NTZmNmQ5YzZmMGFlOGRjY2IzYjZkZWY0NmQ0YWUzZjM+
IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9BVFMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQVRTCjB4OTUw
ZjEwMDAgLSAweDk1MTMzZmVmICBjb20uYXBwbGUuTmF2aWdhdGlvblNlcnZpY2VzIDMuNS4yICgx
NjMpIDw3ZjRmMTc2NjQxNGE1MTFiZjViYzY4OTIwYWM4NWE4OD4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvTmF2aWdhdGlv
blNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL05hdmlnYXRpb25TZXJ2aWNlcwoweDk1MTQ2
MDAwIC0gMHg5NTE1NmZmZiAgY29tLmFwcGxlLnNwZWVjaC5zeW50aGVzaXMuZnJhbWV3b3JrIDMu
Ny4xICgzLjcuMSkgPDlhNzE0MjljNzRlZDZjYTQzZWIzNWUxZjc4NDcxYjJlPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3MvU3BlZWNoU3ludGhlc2lzLmZyYW1ld29yay9WZXJzaW9ucy9BL1NwZWVjaFN5
bnRoZXNpcwoweDk1MTU3MDAwIC0gMHg5NTE1YWZmZiAgY29tLmFwcGxlLmhlbHAgMS4xICgzNikg
PDFhMjVhOGZiYjQ5YTgzMGVmYjMxZDVjMGE1MjkzOWNkPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9IZWxwLmZyYW1ld29y
ay9WZXJzaW9ucy9BL0hlbHAKMHg5NTE1YjAwMCAtIDB4OTUxZGFmZjUgIGNvbS5hcHBsZS5TZWFy
Y2hLaXQgMS4yLjIgKDEuMi4yKSA8M2I1ZjNhYjZhMzYzYTRkOGEyYmJiZjc0MjEzYWIwZTU+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9GcmFtZXdvcmtzL1NlYXJjaEtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TZWFyY2hLaXQKMHg5
NTFkYjAwMCAtIDB4OTUxZTlmZmQgIGxpYnouMS5keWxpYiA/Pz8gKD8/PykgPGE5OGIzYjIyMWE3
MmI1NGZhZjczZGVkM2RkNzAwMGU1PiAvdXNyL2xpYi9saWJ6LjEuZHlsaWIKMHg5NTFlYTAwMCAt
IDB4OTUyNTBmZmIgIGNvbS5hcHBsZS5JU1N1cHBvcnQgMS44ICgzOC4zKSAvU3lzdGVtL0xpYnJh
cnkvUHJpdmF0ZUZyYW1ld29ya3MvSVNTdXBwb3J0LmZyYW1ld29yay9WZXJzaW9ucy9BL0lTU3Vw
cG9ydAoweDk1MjUxMDAwIC0gMHg5NTI1M2ZmZiAgY29tLmFwcGxlLnNlY3VyaXR5aGkgMy4wICgz
MDgxNykgPDU0N2JkZDljZTRlNzI3NmQ5YmRjMTM3ZDRjYWY5YzNmPiAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9TZWN1cml0
eUhJLmZyYW1ld29yay9WZXJzaW9ucy9BL1NlY3VyaXR5SEkKMHg5NTI1NDAwMCAtIDB4OTU4ZjRm
ZWIgIGNvbS5hcHBsZS5Db3JlR3JhcGhpY3MgMS40MDkuNSAoPz8/KSA8YTQwNjQ0Y2NkYmRjNzZl
M2EwYWI0ZDQ2OGIyZjliZGQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9u
U2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db3JlR3JhcGhpY3MuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvQ29yZUdyYXBoaWNzCjB4OTU4ZjUwMDAgLSAweDk1OTQwZmUxICBj
b20uYXBwbGUuc2VjdXJpdHlpbnRlcmZhY2UgMy4wLjQgKDM3MjEzKSA8MTZkZTU3YWIzZTNmODVm
M2I3NTNmMTE2ZTJmYTc4NDc+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5SW50
ZXJmYWNlLmZyYW1ld29yay9WZXJzaW9ucy9BL1NlY3VyaXR5SW50ZXJmYWNlCjB4OTU5NDEwMDAg
LSAweDk1OTQxZmY4ICBjb20uYXBwbGUuQ29jb2EgNi41ICg/Pz8pIDxhMWJjOTI0N2NmNjVjMjBm
MWE0NGQwOTczY2JlNjQ5Yz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvQ29jb2EKMHg5NTk0MjAwMCAtIDB4OTU5NjBmZjMgIGNvbS5hcHBsZS5E
aXJlY3RvcnlTZXJ2aWNlLkZyYW1ld29yayAzLjUuNyAoMy41LjcpIDwwNjJiMzkxY2M2YmVjYjA5
OGQ4ZTVmNGIzMmU1MGM0YT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRGlyZWN0b3J5U2Vy
dmljZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9EaXJlY3RvcnlTZXJ2aWNlCjB4OTVhNjkwMDAgLSAw
eDk1YTY5ZmZmICBjb20uYXBwbGUuQ2FyYm9uIDEzNiAoMTM2KSA8OGFlMWNkMjVmZDMzZGIyMmQ2
OWVjYmQ1ZjUxMDMyMjc+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9DYXJib24KMHg5NWE2YTAwMCAtIDB4OTVhNmZmZmYgIGNvbS5hcHBsZS5E
aXNwbGF5U2VydmljZXNGVyAyLjAuMiAoMi4wLjIpIDxjYjliOThiNDNhZTM4NWEwZjM3NGJhYWJl
MmI3MTc2ND4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Rpc3BsYXlTZXJ2aWNl
cy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9EaXNwbGF5U2VydmljZXMKMHg5NWE3MDAwMCAtIDB4OTVh
NzBmZmQgIGNvbS5hcHBsZS5BY2NlbGVyYXRlLnZlY0xpYiAzLjQuMiAodmVjTGliIDMuNC4yKSAv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3MvdmVjTGliLmZyYW1ld29yay9WZXJzaW9ucy9BL3ZlY0xpYgoweDk1YTcxMDAw
IC0gMHg5NWJiYmZlYiAgY29tLmFwcGxlLlFUS2l0IDcuNi42ICgxNjc0KSA8ZmY3ODRjMjE2OWM0
MjE0NDkzYTJiNTE1M2Q4MGJkMjU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1FUS2l0LmZy
YW1ld29yay9WZXJzaW9ucy9BL1FUS2l0CjB4OTViYmMwMDAgLSAweDk1YzE1ZmY3ICBsaWJHTFUu
ZHlsaWIgPz8/ICg/Pz8pIDw2NGQwMTBlMzFkNzU5NmJkOGY5ZWRjNmUwMjdkMWQwYz4gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvT3BlbkdMLmZyYW1ld29yay9WZXJzaW9ucy9BL0xpYnJhcmll
cy9saWJHTFUuZHlsaWIKMHg5NWMxNjAwMCAtIDB4OTVjMWFmZmYgIGxpYkdJRi5keWxpYiA/Pz8g
KD8/PykgPDA5ODQwNzNhMDhjNTljN2M2YmU4MWU1MmNlYmYyYmVjPiAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1l
d29ya3MvSW1hZ2VJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliR0lGLmR5bGli
CjB4OTVjMWIwMDAgLSAweDk1YzU5ZmZmICBsaWJHTEltYWdlLmR5bGliID8/PyAoPz8/KSA8MmU1
NzA5NTg1OTVlMGM5YzNhMjg5MTU4MjIzYjM5ZWU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L09wZW5HTC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MaWJyYXJpZXMvbGliR0xJbWFnZS5keWxpYgow
eDk1YzVhMDAwIC0gMHg5NWY4NWZmNiAgY29tLmFwcGxlLlF1aWNrVGltZSA3LjYuNiAoMTY3NCkg
PDNlYmMwNWRjYWY1ODU3YmMzZDMzYTA0ZWJhYmY1YzFhPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9RdWlja1RpbWUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUXVpY2tUaW1lCjB4OTVmODYwMDAg
LSAweDk1Zjg4ZmY1ICBsaWJSYWRpYW5jZS5keWxpYiA/Pz8gKD8/PykgPDk3ZmYwMzlmNmQzNzJh
YjU4YTY4NGEwZTMxMWU0ZWQ0PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvSW1hZ2VJTy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliUmFkaWFuY2UuZHlsaWIKMHg5NWY4OTAwMCAtIDB4
OTYwYzFmZTcgIGNvbS5hcHBsZS5pbWFnZUtpdCAxLjAuMiAoMS4wKSA8MDBkMDNjZjdmMjZlMWI2
MDIzZWZkYzRiZDE1ZGQ1MmU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0ei5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdlS2l0LmZyYW1ld29yay9WZXJzaW9ucy9B
L0ltYWdlS2l0CjB4OTYwYzIwMDAgLSAweDk2MWEyZmZmICBsaWJvYmpjLkEuZHlsaWIgPz8/ICg/
Pz8pIDwzY2EyODhiNjI1YTQ3YmJjZmUzNzgxNThlNGRjMzI4Zj4gL3Vzci9saWIvbGlib2JqYy5B
LmR5bGliCjB4OTYxYTMwMDAgLSAweDk2MWIyZmZlICBjb20uYXBwbGUuRFNPYmpDV3JhcHBlcnMu
RnJhbWV3b3JrIDEuMyAoMS4zKSA8YTJmN2ExNjNhNzRjMTM0ZjZmMTdkNDk3NDIzNDM2ZmU+IC9T
eXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9EU09iakNXcmFwcGVycy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9EU09iakNXcmFwcGVycwoweDk2MWIzMDAwIC0gMHg5NjFiOWZmZiAgY29tLmFw
cGxlLnByaW50LmZyYW1ld29yay5QcmludCAyMTguMC4zICgyMjAuMikgPDhjNTQxZDU4N2U0MDY4
YTVmZTVhNWNlOGVlMjA4NTE2PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJh
bWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9QcmludC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Q
cmludAoweDk2MWJhMDAwIC0gMHg5NjJmM2ZmNyAgbGliaWN1Y29yZS5BLmR5bGliID8/PyAoPz8/
KSA8ZjI4MTkyNDNiMjc4MjU5YjlhNjIyZWExMTFlYTVmZDY+IC91c3IvbGliL2xpYmljdWNvcmUu
QS5keWxpYgoweDk2MmY0MDAwIC0gMHg5NjJmNGZmZCAgY29tLmFwcGxlLnZlY0xpYiAzLjQuMiAo
dmVjTGliIDMuNC4yKSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvdmVjTGliCjB4OTYyZjUwMDAgLSAweDk2NGM2ZmYzICBjb20uYXBwbGUuc2Vj
dXJpdHkgNS4wLjYgKDM3NTkyKSA8NWQ3YWU5MmYyZTUyZWU3YmE1YWU2NTgzOTk3NzA2MDI+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yay9WZXJzaW9ucy9BL1Nl
Y3VyaXR5CjB4OTY0ZDYwMDAgLSAweDk2NGU1ZmZmICBsaWJzYXNsMi4yLmR5bGliID8/PyAoPz8/
KSA8MGFlOWYzYzA4ZDg1MDhkOWRiYTU2MzI0YzYwY2ViNjM+IC91c3IvbGliL2xpYnNhc2wyLjIu
ZHlsaWIKMHg5NjRlNjAwMCAtIDB4OTY1MjBmZmUgIGNvbS5hcHBsZS5zZWN1cml0eWZvdW5kYXRp
b24gMy4wLjIgKDM2MTMxKSA8ZGQyYTRkMWE0ZjUwYjgyOTIzZDdjZmM1ZGYxMDQ1NWQ+IC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5Rm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9TZWN1cml0eUZvdW5kYXRpb24KMHg5NjUyMTAwMCAtIDB4OTY1MjlmZmYgIGNvbS5hcHBs
ZS5EaXNrQXJiaXRyYXRpb24gMi4yLjEgKDIuMi4xKSA8YmE2NGRkNmFkYTQxN2I1ZTdiZTczNjk1
N2YzODBiY2E+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Rpc2tBcmJpdHJhdGlvbi5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9EaXNrQXJiaXRyYXRpb24KMHg5NjUyYTAwMCAtIDB4OTY2YWVmZWYg
IGNvbS5hcHBsZS5NZWRpYVRvb2xib3ggMC40ODQuMiAoNDg0LjIpIDxhNTExMGE3ZDNiY2IwMmM0
NWFkOGZjYTFmNDk1NzkxNz4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL01lZGlh
VG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9NZWRpYVRvb2xib3gKMHg5NjZhZjAwMCAtIDB4
OTY3NWZmZmYgIGVkdS5taXQuS2VyYmVyb3MgNi4wLjE0ICg2LjAuMTQpIDw2NzNmMTA3Y2RhZTgw
YzA4NDc3NGEyN2JjN2JjNDZjMT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvS2VyYmVyb3Mu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvS2VyYmVyb3MKMHg5NjdiMjAwMCAtIDB4OTY3Y2FmZmYgIGNv
bS5hcHBsZS5vcGVuc2NyaXB0aW5nIDEuMi44ICg/Pz8pIDxhODg4YjE4Yzg1MjdmNzE2Mjk3MDJl
ZDhkY2U5Yzg3Nz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0ZyYW1ld29ya3MvT3BlblNjcmlwdGluZy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9P
cGVuU2NyaXB0aW5nCjB4OTY3Y2IwMDAgLSAweDk2ODE0ZmVmICBjb20uYXBwbGUuTWV0YWRhdGEg
MTAuNS44ICgzOTguMjYpIDxlNGQyNjhlYTQ1Mzc5MjAwZjAzY2RjN2M4YmVkYWU2Zj4gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0Zy
YW1ld29ya3MvTWV0YWRhdGEuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTWV0YWRhdGEKMHg5NjgxNTAw
MCAtIDB4OTY4MTZmZmMgIGxpYmZmaS5keWxpYiA/Pz8gKD8/PykgPGVhZjEwYjk5YTNmYmM0OTIw
YjE3NTgwOTQwNzQ2NmMwPiAvdXNyL2xpYi9saWJmZmkuZHlsaWIKMHg5NjgxNzAwMCAtIDB4OTY5
NWZmZjcgIGNvbS5hcHBsZS5JbWFnZUlPLmZyYW1ld29yayAyLjAuNyAoMi4wLjcpIDwyYTU4NWU4
MjIzYjk4Yjc3ZTBkN2Q1NjY3NzBiOThmZD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdlSU8u
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvSW1hZ2VJTwoweDk2OTYwMDAwIC0gMHg5NmM2OGZlNyAgY29t
LmFwcGxlLkhJVG9vbGJveCAxLjUuNiAoPz8/KSA8ZWVjZTNjYjhhYTBhNGU2ODQzZmNjMTUwMGFj
YTYxYzU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9GcmFtZXdvcmtzL0hJVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9ISVRvb2xib3gK
MHg5NmM2OTAwMCAtIDB4OTZjYzZmZmIgIGxpYnN0ZGMrKy42LmR5bGliID8/PyAoPz8/KSA8N2Qz
ODkzODlhOTljZTY5NjcyNmNmNGM4OTgwY2M1MDU+IC91c3IvbGliL2xpYnN0ZGMrKy42LmR5bGli
CjB4OTZjYzcwMDAgLSAweDk2Y2M3ZmZlICBjb20uYXBwbGUucXVhcnR6ZnJhbWV3b3JrIDEuNSAo
MS41KSA8Njg2NWFhMGFlYWE1ODRiNWE1NGQ0M2YyZjIxZDZjMDg+IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL1F1YXJ0ei5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RdWFydHoKMHg5NmNjODAwMCAt
IDB4OTcwNjVmZWYgIGNvbS5hcHBsZS5RdWFydHpDb3JlIDEuNS44ICgxLjUuOCkgPDE4MTEzZTA2
ZDI5NjIzMGQ2M2E2M2I1OGJhZjM1ZjU1PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9RdWFy
dHpDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1F1YXJ0ekNvcmUKMHg5NzA2NjAwMCAtIDB4OTcx
MGRmZWMgIGNvbS5hcHBsZS5DRk5ldHdvcmsgNDM4LjE0ICg0MzguMTQpIDw4MjdjNmNiNDQxOWFl
ZGVjMDAzYmI0MmNiZWMwNzlhZj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZp
Y2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0NGTmV0d29yawoweDk3MTBlMDAwIC0gMHg5NzNlOGZmMyAgY29tLmFwcGxlLkNv
cmVTZXJ2aWNlcy5DYXJib25Db3JlIDc4Ni4xNiAoNzg2LjE2KSA8NjBiNTE4ZTRhZDAyYjkxODI2
MjQwMTk5YTYzMTEyODY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NhcmJvbkNvcmUuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvQ2FyYm9uQ29yZQoweDk3M2U5MDAwIC0gMHg5NzQ5MGZlYiAgY29tLmFwcGxlLlFEIDMu
MTEuNTcgKD8/PykgPDM1ZjA1ODY3ODk3MmQ0MmI4OGViZGY2NTJkZjc5OTU2PiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUUQKMHg5NzQ5MTAwMCAtIDB4OTc0
OTFmZmEgIGNvbS5hcHBsZS5Db3JlU2VydmljZXMgMzIgKDMyKSA8MzczZDZhODg4ZjkyMDQ2NDFm
MzEzYmM2MDcwYWUwNjU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlU2VydmljZXMKMHg5NzQ5MjAwMCAtIDB4OTc0YzFmZTMg
IGNvbS5hcHBsZS5BRSA0MDIuMyAoNDAyLjMpIDxkYmE1MTJlNDdmNjhlZWExZGQwYWIzNWY1OTZl
ZGIzND4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0ZyYW1ld29ya3MvQUUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQUUKMHg5NzRjMjAw
MCAtIDB4OTc1YjBmZWYgIGNvbS5hcHBsZS5QdWJTdWIgMS4wLjUgKDY1LjE5KSA8OGE4MTdjNGVi
M2ZhN2UzNTE3ZWIwY2M1ZDAyZTVhYmQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1B1YlN1
Yi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9QdWJTdWIKMHg5NzViOTAwMCAtIDB4OTc1ZGRmZWIgIGxp
YnNzbC4wLjkuNy5keWxpYiA/Pz8gKD8/PykgPDViMjlhZjc4MmJlNTg5NGJlOGIzMzZjOWM3M2Mx
OGI2PiAvdXNyL2xpYi9saWJzc2wuMC45LjcuZHlsaWIKMHg5NzVkZTAwMCAtIDB4OTc3MzBmZjMg
IGNvbS5hcHBsZS5hdWRpby50b29sYm94LkF1ZGlvVG9vbGJveCAxLjUuMyAoMS41LjMpIC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9B
dWRpb1Rvb2xib3gKMHg5NzczMTAwMCAtIDB4OTc5YWRmZTcgIGNvbS5hcHBsZS5Gb3VuZGF0aW9u
IDYuNS45ICg2NzcuMjYpIDxjNjhiM2NmZjc4NjQ5NTliZWNmYzdmZDFhMzg0ZjkyNT4gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3Vu
ZGF0aW9uCjB4OTc5YWUwMDAgLSAweDk3OWZjZmUzICBjb20uYXBwbGUuQXBwbGVWQUZyYW1ld29y
ayA0LjEuMTcgKDQuMS4xNykgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FwcGxl
VkEuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXBwbGVWQQoweDk3OWZkMDAwIC0gMHg5N2I2NGZmMyAg
bGliU3lzdGVtLkIuZHlsaWIgPz8/ICg/Pz8pIDxjOGY1MmUxNThiZjU0MGNjMDAwMTQ2Y2E4YTcw
NTk1OD4gL3Vzci9saWIvbGliU3lzdGVtLkIuZHlsaWIKMHg5N2I2NTAwMCAtIDB4OTdiODRmZmEg
IGxpYkpQRUcuZHlsaWIgPz8/ICg/Pz8pIDwzOGEyNDMwMDBkM2FiZWZlYjlmZjk3ZTQ2NTc1Mzhh
ND4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdlSU8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVz
b3VyY2VzL2xpYkpQRUcuZHlsaWIKMHg5N2I4NTAwMCAtIDB4OTdiOTFmZjkgIGNvbS5hcHBsZS5o
ZWxwZGF0YSAxLjAuMSAoMTQuMikgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0hl
bHBEYXRhLmZyYW1ld29yay9WZXJzaW9ucy9BL0hlbHBEYXRhCjB4OTdiOTIwMDAgLSAweDk3YmQy
ZmVmICBjb20uYXBwbGUuQ29yZU1lZGlhIDAuNDg0LjIgKDQ4NC4yKSA8Mzc0NjFmZjQ3Y2IyNWFk
NDM0YTg1NDRjOTcyNzFkMjg+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3Jl
TWVkaWEuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZU1lZGlhCjB4OTdjNzgwMDAgLSAweDk3Y2Y1
ZmViICBjb20uYXBwbGUuYXVkaW8uQ29yZUF1ZGlvIDMuMS4yICgzLjEuMikgPDc4MmEwOGM0NGJl
NDY5ODU5N2Y0YmJkNzljYWMyMWM2PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlQXVk
aW8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUF1ZGlvCjB4OTdjZjYwMDAgLSAweDk3ZGE4ZmZi
ICBsaWJjcnlwdG8uMC45LjcuZHlsaWIgPz8/ICg/Pz8pIDxkMDJmN2U1YjhhNjg4MTNiYjdhNzdm
NWVkYjM0ZmY5ZD4gL3Vzci9saWIvbGliY3J5cHRvLjAuOS43LmR5bGliCjB4OTdkYTkwMDAgLSAw
eDk3ZTkxZmYzICBjb20uYXBwbGUuQ29yZURhdGEgMTAwLjIgKDE4Ni4yKSA8NDRkZjMyNmZlYTAy
MzY3MThmNWVkNjQwODRlODIyNzA+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVEYXRh
LmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVEYXRhCjB4ZmZmZTgwMDAgLSAweGZmZmViZmZmICBs
aWJvYmpjLkEuZHlsaWIgPz8/ICg/Pz8pIC91c3IvbGliL2xpYm9iamMuQS5keWxpYgoweGZmZmYw
MDAwIC0gMHhmZmZmMTc4MCAgbGliU3lzdGVtLkIuZHlsaWIgPz8/ICg/Pz8pIC91c3IvbGliL2xp
YlN5c3RlbS5CLmR5bGliCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62507</attachid>
            <date>2010-07-24 12:35:59 -0700</date>
            <delta_ts>2010-07-24 16:38:34 -0700</delta_ts>
            <desc>cleans up splitText(Element)At(Start|End)IfNeed and fixes the bug</desc>
            <filename>attempt39989-smart-split-text-element</filename>
            <type>text/plain</type>
            <size>9243</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oCShyZXZpc2lvbiA2Mzk5MSkKKysr
IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC05
MSwxMCArOTEsMTEgQEAKICAgICB2b2lkIGFwcGx5SW5saW5lU3R5bGVUb1JhbmdlKENTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uKiwgY29uc3QgUG9zaXRpb24mIHN0YXJ0LCBjb25zdCBQb3NpdGlv
biYgZW5kKTsKICAgICB2b2lkIGFkZEJsb2NrU3R5bGUoY29uc3QgU3R5bGVDaGFuZ2UmLCBIVE1M
RWxlbWVudCopOwogICAgIHZvaWQgYWRkSW5saW5lU3R5bGVJZk5lZWRlZChDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbiosIE5vZGUqIHN0YXJ0LCBOb2RlKiBlbmQpOwotICAgIGJvb2wgc3BsaXRU
ZXh0QXRTdGFydElmTmVlZGVkKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24m
IGVuZCk7Ci0gICAgYm9vbCBzcGxpdFRleHRBdEVuZElmTmVlZGVkKGNvbnN0IFBvc2l0aW9uJiBz
dGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCk7Ci0gICAgYm9vbCBzcGxpdFRleHRFbGVtZW50QXRT
dGFydElmTmVlZGVkKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCk7
Ci0gICAgYm9vbCBzcGxpdFRleHRFbGVtZW50QXRFbmRJZk5lZWRlZChjb25zdCBQb3NpdGlvbiYg
c3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQpOworICAgIGJvb2wgaXNWYWxpZENhcmV0UG9zaXRp
b25JblRleHROb2RlKGNvbnN0IFBvc2l0aW9uJik7CisgICAgdm9pZCBzcGxpdFRleHRBdFN0YXJ0
KGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCk7CisgICAgdm9pZCBz
cGxpdFRleHRBdEVuZChjb25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQp
OworICAgIHZvaWQgc3BsaXRUZXh0RWxlbWVudEF0U3RhcnQoY29uc3QgUG9zaXRpb24mIHN0YXJ0
LCBjb25zdCBQb3NpdGlvbiYgZW5kKTsKKyAgICB2b2lkIHNwbGl0VGV4dEVsZW1lbnRBdEVuZChj
b25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQpOwogICAgIGJvb2wgbWVy
Z2VTdGFydFdpdGhQcmV2aW91c0lmSWRlbnRpY2FsKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29u
c3QgUG9zaXRpb24mIGVuZCk7CiAgICAgYm9vbCBtZXJnZUVuZFdpdGhOZXh0SWZJZGVudGljYWwo
Y29uc3QgUG9zaXRpb24mIHN0YXJ0LCBjb25zdCBQb3NpdGlvbiYgZW5kKTsKICAgICB2b2lkIGNs
ZWFudXBVbnN0eWxlZEFwcGxlU3R5bGVTcGFucyhOb2RlKiBkdW1teVNwYW5BbmNlc3Rvcik7Cklu
ZGV4OiBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAJKHJldmlzaW9uIDYzOTkxKQor
KysgV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjg0LDEzICs2ODQsMTMgQEAKICAgICB9CiAKICAgICAvLyBTcGxpdCB0aGUgc3RhcnQgdGV4
dCBub2RlcyBpZiBuZWVkZWQgdG8gYXBwbHkgc3R5bGUuCi0gICAgYm9vbCBzcGxpdFN0YXJ0ID0g
c3BsaXRUZXh0QXRTdGFydElmTmVlZGVkKHN0YXJ0LCBlbmQpOyAKLSAgICBpZiAoc3BsaXRTdGFy
dCkgeworICAgIGlmIChpc1ZhbGlkQ2FyZXRQb3NpdGlvbkluVGV4dE5vZGUoc3RhcnQpKSB7Cisg
ICAgICAgIHNwbGl0VGV4dEF0U3RhcnQoc3RhcnQsIGVuZCk7IAogICAgICAgICBzdGFydCA9IHN0
YXJ0UG9zaXRpb24oKTsKICAgICAgICAgZW5kID0gZW5kUG9zaXRpb24oKTsKICAgICB9Ci0gICAg
Ym9vbCBzcGxpdEVuZCA9IHNwbGl0VGV4dEF0RW5kSWZOZWVkZWQoc3RhcnQsIGVuZCk7Ci0gICAg
aWYgKHNwbGl0RW5kKSB7CisgICAgaWYgKGlzVmFsaWRDYXJldFBvc2l0aW9uSW5UZXh0Tm9kZShl
bmQpKSB7CisgICAgICAgIHNwbGl0VGV4dEF0RW5kKHN0YXJ0LCBlbmQpOwogICAgICAgICBzdGFy
dCA9IHN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgZW5kID0gZW5kUG9zaXRpb24oKTsKICAgICB9
CkBAIC05MDcsMTkgKzkwNywyMyBAQAogICAgIH0KIAogICAgIC8vIHNwbGl0IHRoZSBzdGFydCBu
b2RlIGFuZCBjb250YWluaW5nIGVsZW1lbnQgaWYgdGhlIHNlbGVjdGlvbiBzdGFydHMgaW5zaWRl
IG9mIGl0Ci0gICAgYm9vbCBzcGxpdFN0YXJ0ID0gc3BsaXRUZXh0RWxlbWVudEF0U3RhcnRJZk5l
ZWRlZChzdGFydCwgZW5kKTsgCi0gICAgaWYgKHNwbGl0U3RhcnQpIHsKKyAgICBib29sIHNwbGl0
U3RhcnQgPSBmYWxzZTsKKyAgICBpZiAoaXNWYWxpZENhcmV0UG9zaXRpb25JblRleHROb2RlKHN0
YXJ0KSkgeworICAgICAgICBzcGxpdFRleHRFbGVtZW50QXRTdGFydChzdGFydCwgZW5kKTsKICAg
ICAgICAgc3RhcnQgPSBzdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGVuZCA9IGVuZFBvc2l0aW9u
KCk7CiAgICAgICAgIHN0YXJ0RHVtbXlTcGFuQW5jZXN0b3IgPSBkdW1teVNwYW5BbmNlc3RvckZv
ck5vZGUoc3RhcnQubm9kZSgpKTsKKyAgICAgICAgc3BsaXRTdGFydCA9IHRydWU7CiAgICAgfQog
CiAgICAgLy8gc3BsaXQgdGhlIGVuZCBub2RlIGFuZCBjb250YWluaW5nIGVsZW1lbnQgaWYgdGhl
IHNlbGVjdGlvbiBlbmRzIGluc2lkZSBvZiBpdAotICAgIGJvb2wgc3BsaXRFbmQgPSBzcGxpdFRl
eHRFbGVtZW50QXRFbmRJZk5lZWRlZChzdGFydCwgZW5kKTsKLSAgICBpZiAoc3BsaXRFbmQpIHsK
KyAgICBib29sIHNwbGl0RW5kID0gZmFsc2U7CisgICAgaWYgKGlzVmFsaWRDYXJldFBvc2l0aW9u
SW5UZXh0Tm9kZShlbmQpKSB7CisgICAgICAgIHNwbGl0VGV4dEVsZW1lbnRBdEVuZChzdGFydCwg
ZW5kKTsKICAgICAgICAgc3RhcnQgPSBzdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGVuZCA9IGVu
ZFBvc2l0aW9uKCk7CiAgICAgICAgIGVuZER1bW15U3BhbkFuY2VzdG9yID0gZHVtbXlTcGFuQW5j
ZXN0b3JGb3JOb2RlKGVuZC5ub2RlKCkpOworICAgICAgICBzcGxpdEVuZCA9IHRydWU7CiAgICAg
fQogCiAgICAgUmVmUHRyPENTU1ZhbHVlPiB1bmljb2RlQmlkaSA9IHN0eWxlLT5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKENTU1Byb3BlcnR5VW5pY29kZUJpZGkpOwpAQCAtMTUyOSw1MiArMTUzMyw2MCBA
QAogICAgIHJldHVybiBpc0Z1bGx5QmVmb3JlU3RhcnQgfHwgaXNGdWxseUFmdGVyRW5kOwogfQog
Citib29sIEFwcGx5U3R5bGVDb21tYW5kOjppc1ZhbGlkQ2FyZXRQb3NpdGlvbkluVGV4dE5vZGUo
Y29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIE5vZGUqIG5vZGUgPSBwb3NpdGlvbi5h
bmNob3JOb2RlKCk7CisgICAgaWYgKCFub2RlLT5pc1RleHROb2RlKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpbnQgb2Zmc2V0SW5UZXh0ID0gcG9zaXRpb24ub2Zmc2V0SW5Db250YWlu
ZXJOb2RlKCk7CisgICAgcmV0dXJuIChvZmZzZXRJblRleHQgPiBjYXJldE1pbk9mZnNldChub2Rl
KSAmJiBvZmZzZXRJblRleHQgPCBjYXJldE1heE9mZnNldChub2RlKSk7Cit9CiAKLWJvb2wgQXBw
bHlTdHlsZUNvbW1hbmQ6OnNwbGl0VGV4dEF0U3RhcnRJZk5lZWRlZChjb25zdCBQb3NpdGlvbiAm
c3RhcnQsIGNvbnN0IFBvc2l0aW9uICZlbmQpCit2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxp
dFRleHRBdFN0YXJ0KGNvbnN0IFBvc2l0aW9uICZzdGFydCwgY29uc3QgUG9zaXRpb24gJmVuZCkK
IHsKLSAgICBpZiAoc3RhcnQubm9kZSgpLT5pc1RleHROb2RlKCkgJiYgc3RhcnQuZGVwcmVjYXRl
ZEVkaXRpbmdPZmZzZXQoKSA+IGNhcmV0TWluT2Zmc2V0KHN0YXJ0Lm5vZGUoKSkgJiYgc3RhcnQu
ZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA8IGNhcmV0TWF4T2Zmc2V0KHN0YXJ0Lm5vZGUoKSkp
IHsKLSAgICAgICAgaW50IGVuZE9mZnNldEFkanVzdG1lbnQgPSBzdGFydC5ub2RlKCkgPT0gZW5k
Lm5vZGUoKSA/IHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgOiAwOwotICAgICAgICBU
ZXh0ICp0ZXh0ID0gc3RhdGljX2Nhc3Q8VGV4dCAqPihzdGFydC5ub2RlKCkpOwotICAgICAgICBz
cGxpdFRleHROb2RlKHRleHQsIHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpOwotICAg
ICAgICB1cGRhdGVTdGFydEVuZChQb3NpdGlvbihzdGFydC5ub2RlKCksIDApLCBQb3NpdGlvbihl
bmQubm9kZSgpLCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSAtIGVuZE9mZnNldEFkanVz
dG1lbnQpKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsK
KyAgICBBU1NFUlQoc3RhcnQubm9kZSgpLT5pc1RleHROb2RlKCkpOworICAgIGludCBlbmRPZmZz
ZXRBZGp1c3RtZW50ID0gc3RhcnQubm9kZSgpID09IGVuZC5ub2RlKCkgPyBzdGFydC5kZXByZWNh
dGVkRWRpdGluZ09mZnNldCgpIDogMDsKKyAgICBUZXh0ICp0ZXh0ID0gc3RhdGljX2Nhc3Q8VGV4
dCAqPihzdGFydC5ub2RlKCkpOworICAgIHNwbGl0VGV4dE5vZGUodGV4dCwgc3RhcnQuZGVwcmVj
YXRlZEVkaXRpbmdPZmZzZXQoKSk7CisgICAgdXBkYXRlU3RhcnRFbmQoUG9zaXRpb24oc3RhcnQu
bm9kZSgpLCAwKSwgUG9zaXRpb24oZW5kLm5vZGUoKSwgZW5kLmRlcHJlY2F0ZWRFZGl0aW5nT2Zm
c2V0KCkgLSBlbmRPZmZzZXRBZGp1c3RtZW50KSk7CiB9CiAKLWJvb2wgQXBwbHlTdHlsZUNvbW1h
bmQ6OnNwbGl0VGV4dEF0RW5kSWZOZWVkZWQoY29uc3QgUG9zaXRpb24gJnN0YXJ0LCBjb25zdCBQ
b3NpdGlvbiAmZW5kKQordm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6c3BsaXRUZXh0QXRFbmQoY29u
c3QgUG9zaXRpb24gJnN0YXJ0LCBjb25zdCBQb3NpdGlvbiAmZW5kKQogewotICAgIGlmIChlbmQu
bm9kZSgpLT5pc1RleHROb2RlKCkgJiYgZW5kLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgPiBj
YXJldE1pbk9mZnNldChlbmQubm9kZSgpKSAmJiBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQo
KSA8IGNhcmV0TWF4T2Zmc2V0KGVuZC5ub2RlKCkpKSB7Ci0gICAgICAgIFRleHQgKnRleHQgPSBz
dGF0aWNfY2FzdDxUZXh0ICo+KGVuZC5ub2RlKCkpOwotICAgICAgICBzcGxpdFRleHROb2RlKHRl
eHQsIGVuZC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpKTsKLSAgICAgICAgCi0gICAgICAgIE5v
ZGUgKnByZXZOb2RlID0gdGV4dC0+cHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgICAgIEFTU0VSVChw
cmV2Tm9kZSk7Ci0gICAgICAgIE5vZGUgKnN0YXJ0Tm9kZSA9IHN0YXJ0Lm5vZGUoKSA9PSBlbmQu
bm9kZSgpID8gcHJldk5vZGUgOiBzdGFydC5ub2RlKCk7Ci0gICAgICAgIEFTU0VSVChzdGFydE5v
ZGUpOwotICAgICAgICB1cGRhdGVTdGFydEVuZChQb3NpdGlvbihzdGFydE5vZGUsIHN0YXJ0LmRl
cHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpLCBQb3NpdGlvbihwcmV2Tm9kZSwgY2FyZXRNYXhPZmZz
ZXQocHJldk5vZGUpKSk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgQVNTRVJUKGVuZC5ub2RlKCktPmlzVGV4dE5vZGUoKSk7CisgICAgVGV4dCAq
dGV4dCA9IHN0YXRpY19jYXN0PFRleHQgKj4oZW5kLm5vZGUoKSk7CisgICAgc3BsaXRUZXh0Tm9k
ZSh0ZXh0LCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CisgICAgCisgICAgTm9kZSAq
cHJldk5vZGUgPSB0ZXh0LT5wcmV2aW91c1NpYmxpbmcoKTsKKyAgICBBU1NFUlQocHJldk5vZGUp
OworICAgIE5vZGUgKnN0YXJ0Tm9kZSA9IHN0YXJ0Lm5vZGUoKSA9PSBlbmQubm9kZSgpID8gcHJl
dk5vZGUgOiBzdGFydC5ub2RlKCk7CisgICAgQVNTRVJUKHN0YXJ0Tm9kZSk7CisgICAgdXBkYXRl
U3RhcnRFbmQoUG9zaXRpb24oc3RhcnROb2RlLCBzdGFydC5kZXByZWNhdGVkRWRpdGluZ09mZnNl
dCgpKSwgUG9zaXRpb24ocHJldk5vZGUsIGNhcmV0TWF4T2Zmc2V0KHByZXZOb2RlKSkpOwogfQog
Ci1ib29sIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxpdFRleHRFbGVtZW50QXRTdGFydElmTmVlZGVk
KGNvbnN0IFBvc2l0aW9uICZzdGFydCwgY29uc3QgUG9zaXRpb24gJmVuZCkKK3ZvaWQgQXBwbHlT
dHlsZUNvbW1hbmQ6OnNwbGl0VGV4dEVsZW1lbnRBdFN0YXJ0KGNvbnN0IFBvc2l0aW9uICZzdGFy
dCwgY29uc3QgUG9zaXRpb24gJmVuZCkKIHsKLSAgICBpZiAoc3RhcnQubm9kZSgpLT5pc1RleHRO
b2RlKCkgJiYgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA+IGNhcmV0TWluT2Zmc2V0
KHN0YXJ0Lm5vZGUoKSkgJiYgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA8IGNhcmV0
TWF4T2Zmc2V0KHN0YXJ0Lm5vZGUoKSkpIHsKKyAgICBBU1NFUlQoc3RhcnQubm9kZSgpLT5pc1Rl
eHROb2RlKCkpOworICAgIFRleHQgKnRleHQgPSBzdGF0aWNfY2FzdDxUZXh0ICo+KHN0YXJ0Lm5v
ZGUoKSk7CisgICAgLy8gQmVjYXVzZSBzcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnQgc3Bs
aXRzIHRoZSBwYXJlbnQgbm9kZSBvZiB0ZXh0LCBpdHMgcGFyZW50IG11c3QgYmUgZWRpdGFibGUu
CisgICAgRWxlbWVudCogcGFyZW50ID0gdGV4dC0+cGFyZW50RWxlbWVudCgpOworICAgIGlmIChw
YXJlbnQgJiYgcGFyZW50LT5wYXJlbnRFbGVtZW50KCkgJiYgcGFyZW50LT5wYXJlbnRFbGVtZW50
KCktPmlzQ29udGVudEVkaXRhYmxlKCkpIHsKICAgICAgICAgaW50IGVuZE9mZnNldEFkanVzdG1l
bnQgPSBzdGFydC5ub2RlKCkgPT0gZW5kLm5vZGUoKSA/IHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5n
T2Zmc2V0KCkgOiAwOwotICAgICAgICBUZXh0ICp0ZXh0ID0gc3RhdGljX2Nhc3Q8VGV4dCAqPihz
dGFydC5ub2RlKCkpOwogICAgICAgICBzcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnQodGV4
dCwgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAKICAgICAgICAgdXBkYXRlU3Rh
cnRFbmQoUG9zaXRpb24oc3RhcnQubm9kZSgpLT5wYXJlbnROb2RlKCksIHN0YXJ0Lm5vZGUoKS0+
bm9kZUluZGV4KCkpLCBQb3NpdGlvbihlbmQubm9kZSgpLCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdP
ZmZzZXQoKSAtIGVuZE9mZnNldEFkanVzdG1lbnQpKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgc3BsaXRUZXh0QXRTdGFydChzdGFydCwgZW5kKTsKICAgICB9
Ci0gICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxpdFRl
eHRFbGVtZW50QXRFbmRJZk5lZWRlZChjb25zdCBQb3NpdGlvbiAmc3RhcnQsIGNvbnN0IFBvc2l0
aW9uICZlbmQpCit2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxpdFRleHRFbGVtZW50QXRFbmQo
Y29uc3QgUG9zaXRpb24gJnN0YXJ0LCBjb25zdCBQb3NpdGlvbiAmZW5kKQogewotICAgIGlmIChl
bmQubm9kZSgpLT5pc1RleHROb2RlKCkgJiYgZW5kLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkg
PiBjYXJldE1pbk9mZnNldChlbmQubm9kZSgpKSAmJiBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZz
ZXQoKSA8IGNhcmV0TWF4T2Zmc2V0KGVuZC5ub2RlKCkpKSB7Ci0gICAgICAgIFRleHQgKnRleHQg
PSBzdGF0aWNfY2FzdDxUZXh0ICo+KGVuZC5ub2RlKCkpOworICAgIEFTU0VSVChlbmQubm9kZSgp
LT5pc1RleHROb2RlKCkpOworICAgIFRleHQgKnRleHQgPSBzdGF0aWNfY2FzdDxUZXh0ICo+KGVu
ZC5ub2RlKCkpOworICAgIC8vIEJlY2F1c2Ugc3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50
IHNwbGl0cyB0aGUgcGFyZW50IG5vZGUgb2YgdGV4dCwgaXRzIHBhcmVudCBtdXN0IGJlIGVkaXRh
YmxlLgorICAgIEVsZW1lbnQqIHBhcmVudCA9IHRleHQtPnBhcmVudEVsZW1lbnQoKTsKKyAgICBp
ZiAocGFyZW50ICYmIHBhcmVudC0+cGFyZW50RWxlbWVudCgpICYmIHBhcmVudC0+cGFyZW50RWxl
bWVudCgpLT5pc0NvbnRlbnRFZGl0YWJsZSgpKSB7CiAgICAgICAgIHNwbGl0VGV4dE5vZGVDb250
YWluaW5nRWxlbWVudCh0ZXh0LCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAKICAg
ICAgICAgTm9kZSAqcHJldk5vZGUgPSB0ZXh0LT5wYXJlbnQoKS0+cHJldmlvdXNTaWJsaW5nKCkt
Pmxhc3RDaGlsZCgpOwpAQCAtMTU4Miw5ICsxNTk0LDkgQEAKICAgICAgICAgTm9kZSAqc3RhcnRO
b2RlID0gc3RhcnQubm9kZSgpID09IGVuZC5ub2RlKCkgPyBwcmV2Tm9kZSA6IHN0YXJ0Lm5vZGUo
KTsKICAgICAgICAgQVNTRVJUKHN0YXJ0Tm9kZSk7CiAgICAgICAgIHVwZGF0ZVN0YXJ0RW5kKFBv
c2l0aW9uKHN0YXJ0Tm9kZSwgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSksIFBvc2l0
aW9uKHByZXZOb2RlLT5wYXJlbnQoKSwgcHJldk5vZGUtPm5vZGVJbmRleCgpICsgMSkpOwotICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICBzcGxpdFRleHRBdEVuZChz
dGFydCwgZW5kKTsKICAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwogfQogCiBzdGF0aWMgYm9vbCBh
cmVJZGVudGljYWxFbGVtZW50cyhOb2RlICpmaXJzdCwgTm9kZSAqc2Vjb25kKQpJbmRleDogV2Vi
Q29yZS9lZGl0aW5nL1NwbGl0VGV4dE5vZGVDb250YWluaW5nRWxlbWVudENvbW1hbmQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9TcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1l
bnRDb21tYW5kLmNwcAkocmV2aXNpb24gNjM5OTEpCisrKyBXZWJDb3JlL2VkaXRpbmcvU3BsaXRU
ZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDcgKzQ4LDcgQEAKICAgICBzcGxpdFRleHROb2RlKG1fdGV4dC5nZXQoKSwgbV9vZmZzZXQpOwog
CiAgICAgRWxlbWVudCogcGFyZW50ID0gbV90ZXh0LT5wYXJlbnRFbGVtZW50KCk7Ci0gICAgaWYg
KCFwYXJlbnQpCisgICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+cGFyZW50RWxlbWVudCgpIHx8
ICFwYXJlbnQtPnBhcmVudEVsZW1lbnQoKS0+aXNDb250ZW50RWRpdGFibGUoKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJlciA9IHBhcmVudC0+cmVu
ZGVyZXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62511</attachid>
            <date>2010-07-24 16:38:34 -0700</date>
            <delta_ts>2010-07-26 11:18:16 -0700</delta_ts>
            <desc>complete patch since 42793 has been resolved</desc>
            <filename>attempt39989-smart-split-complete</filename>
            <type>text/plain</type>
            <size>20072</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oCShyZXZpc2lvbiA2NDAxMykKKysr
IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC05
MSwxMCArOTEsMTEgQEAKICAgICB2b2lkIGFwcGx5SW5saW5lU3R5bGVUb1JhbmdlKENTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uKiwgY29uc3QgUG9zaXRpb24mIHN0YXJ0LCBjb25zdCBQb3NpdGlv
biYgZW5kKTsKICAgICB2b2lkIGFkZEJsb2NrU3R5bGUoY29uc3QgU3R5bGVDaGFuZ2UmLCBIVE1M
RWxlbWVudCopOwogICAgIHZvaWQgYWRkSW5saW5lU3R5bGVJZk5lZWRlZChDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbiosIE5vZGUqIHN0YXJ0LCBOb2RlKiBlbmQpOwotICAgIGJvb2wgc3BsaXRU
ZXh0QXRTdGFydElmTmVlZGVkKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24m
IGVuZCk7Ci0gICAgYm9vbCBzcGxpdFRleHRBdEVuZElmTmVlZGVkKGNvbnN0IFBvc2l0aW9uJiBz
dGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCk7Ci0gICAgYm9vbCBzcGxpdFRleHRFbGVtZW50QXRT
dGFydElmTmVlZGVkKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCk7
Ci0gICAgYm9vbCBzcGxpdFRleHRFbGVtZW50QXRFbmRJZk5lZWRlZChjb25zdCBQb3NpdGlvbiYg
c3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQpOworICAgIGJvb2wgaXNWYWxpZENhcmV0UG9zaXRp
b25JblRleHROb2RlKGNvbnN0IFBvc2l0aW9uJik7CisgICAgdm9pZCBzcGxpdFRleHRBdFN0YXJ0
KGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCk7CisgICAgdm9pZCBz
cGxpdFRleHRBdEVuZChjb25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQp
OworICAgIHZvaWQgc3BsaXRUZXh0RWxlbWVudEF0U3RhcnQoY29uc3QgUG9zaXRpb24mIHN0YXJ0
LCBjb25zdCBQb3NpdGlvbiYgZW5kKTsKKyAgICB2b2lkIHNwbGl0VGV4dEVsZW1lbnRBdEVuZChj
b25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQpOwogICAgIGJvb2wgbWVy
Z2VTdGFydFdpdGhQcmV2aW91c0lmSWRlbnRpY2FsKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29u
c3QgUG9zaXRpb24mIGVuZCk7CiAgICAgYm9vbCBtZXJnZUVuZFdpdGhOZXh0SWZJZGVudGljYWwo
Y29uc3QgUG9zaXRpb24mIHN0YXJ0LCBjb25zdCBQb3NpdGlvbiYgZW5kKTsKICAgICB2b2lkIGNs
ZWFudXBVbnN0eWxlZEFwcGxlU3R5bGVTcGFucyhOb2RlKiBkdW1teVNwYW5BbmNlc3Rvcik7Cklu
ZGV4OiBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAJKHJldmlzaW9uIDY0MDEzKQor
KysgV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjg0LDEzICs2ODQsMTMgQEAKICAgICB9CiAKICAgICAvLyBTcGxpdCB0aGUgc3RhcnQgdGV4
dCBub2RlcyBpZiBuZWVkZWQgdG8gYXBwbHkgc3R5bGUuCi0gICAgYm9vbCBzcGxpdFN0YXJ0ID0g
c3BsaXRUZXh0QXRTdGFydElmTmVlZGVkKHN0YXJ0LCBlbmQpOyAKLSAgICBpZiAoc3BsaXRTdGFy
dCkgeworICAgIGlmIChpc1ZhbGlkQ2FyZXRQb3NpdGlvbkluVGV4dE5vZGUoc3RhcnQpKSB7Cisg
ICAgICAgIHNwbGl0VGV4dEF0U3RhcnQoc3RhcnQsIGVuZCk7IAogICAgICAgICBzdGFydCA9IHN0
YXJ0UG9zaXRpb24oKTsKICAgICAgICAgZW5kID0gZW5kUG9zaXRpb24oKTsKICAgICB9Ci0gICAg
Ym9vbCBzcGxpdEVuZCA9IHNwbGl0VGV4dEF0RW5kSWZOZWVkZWQoc3RhcnQsIGVuZCk7Ci0gICAg
aWYgKHNwbGl0RW5kKSB7CisgICAgaWYgKGlzVmFsaWRDYXJldFBvc2l0aW9uSW5UZXh0Tm9kZShl
bmQpKSB7CisgICAgICAgIHNwbGl0VGV4dEF0RW5kKHN0YXJ0LCBlbmQpOwogICAgICAgICBzdGFy
dCA9IHN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgZW5kID0gZW5kUG9zaXRpb24oKTsKICAgICB9
CkBAIC05MDcsMTkgKzkwNywyMyBAQAogICAgIH0KIAogICAgIC8vIHNwbGl0IHRoZSBzdGFydCBu
b2RlIGFuZCBjb250YWluaW5nIGVsZW1lbnQgaWYgdGhlIHNlbGVjdGlvbiBzdGFydHMgaW5zaWRl
IG9mIGl0Ci0gICAgYm9vbCBzcGxpdFN0YXJ0ID0gc3BsaXRUZXh0RWxlbWVudEF0U3RhcnRJZk5l
ZWRlZChzdGFydCwgZW5kKTsgCi0gICAgaWYgKHNwbGl0U3RhcnQpIHsKKyAgICBib29sIHNwbGl0
U3RhcnQgPSBmYWxzZTsKKyAgICBpZiAoaXNWYWxpZENhcmV0UG9zaXRpb25JblRleHROb2RlKHN0
YXJ0KSkgeworICAgICAgICBzcGxpdFRleHRFbGVtZW50QXRTdGFydChzdGFydCwgZW5kKTsKICAg
ICAgICAgc3RhcnQgPSBzdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGVuZCA9IGVuZFBvc2l0aW9u
KCk7CiAgICAgICAgIHN0YXJ0RHVtbXlTcGFuQW5jZXN0b3IgPSBkdW1teVNwYW5BbmNlc3RvckZv
ck5vZGUoc3RhcnQubm9kZSgpKTsKKyAgICAgICAgc3BsaXRTdGFydCA9IHRydWU7CiAgICAgfQog
CiAgICAgLy8gc3BsaXQgdGhlIGVuZCBub2RlIGFuZCBjb250YWluaW5nIGVsZW1lbnQgaWYgdGhl
IHNlbGVjdGlvbiBlbmRzIGluc2lkZSBvZiBpdAotICAgIGJvb2wgc3BsaXRFbmQgPSBzcGxpdFRl
eHRFbGVtZW50QXRFbmRJZk5lZWRlZChzdGFydCwgZW5kKTsKLSAgICBpZiAoc3BsaXRFbmQpIHsK
KyAgICBib29sIHNwbGl0RW5kID0gZmFsc2U7CisgICAgaWYgKGlzVmFsaWRDYXJldFBvc2l0aW9u
SW5UZXh0Tm9kZShlbmQpKSB7CisgICAgICAgIHNwbGl0VGV4dEVsZW1lbnRBdEVuZChzdGFydCwg
ZW5kKTsKICAgICAgICAgc3RhcnQgPSBzdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGVuZCA9IGVu
ZFBvc2l0aW9uKCk7CiAgICAgICAgIGVuZER1bW15U3BhbkFuY2VzdG9yID0gZHVtbXlTcGFuQW5j
ZXN0b3JGb3JOb2RlKGVuZC5ub2RlKCkpOworICAgICAgICBzcGxpdEVuZCA9IHRydWU7CiAgICAg
fQogCiAgICAgUmVmUHRyPENTU1ZhbHVlPiB1bmljb2RlQmlkaSA9IHN0eWxlLT5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKENTU1Byb3BlcnR5VW5pY29kZUJpZGkpOwpAQCAtMTUyOSw1MiArMTUzMyw2MCBA
QAogICAgIHJldHVybiBpc0Z1bGx5QmVmb3JlU3RhcnQgfHwgaXNGdWxseUFmdGVyRW5kOwogfQog
Citib29sIEFwcGx5U3R5bGVDb21tYW5kOjppc1ZhbGlkQ2FyZXRQb3NpdGlvbkluVGV4dE5vZGUo
Y29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIE5vZGUqIG5vZGUgPSBwb3NpdGlvbi5h
bmNob3JOb2RlKCk7CisgICAgaWYgKCFub2RlLT5pc1RleHROb2RlKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpbnQgb2Zmc2V0SW5UZXh0ID0gcG9zaXRpb24ub2Zmc2V0SW5Db250YWlu
ZXJOb2RlKCk7CisgICAgcmV0dXJuIChvZmZzZXRJblRleHQgPiBjYXJldE1pbk9mZnNldChub2Rl
KSAmJiBvZmZzZXRJblRleHQgPCBjYXJldE1heE9mZnNldChub2RlKSk7Cit9CiAKLWJvb2wgQXBw
bHlTdHlsZUNvbW1hbmQ6OnNwbGl0VGV4dEF0U3RhcnRJZk5lZWRlZChjb25zdCBQb3NpdGlvbiAm
c3RhcnQsIGNvbnN0IFBvc2l0aW9uICZlbmQpCit2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxp
dFRleHRBdFN0YXJ0KGNvbnN0IFBvc2l0aW9uICZzdGFydCwgY29uc3QgUG9zaXRpb24gJmVuZCkK
IHsKLSAgICBpZiAoc3RhcnQubm9kZSgpLT5pc1RleHROb2RlKCkgJiYgc3RhcnQuZGVwcmVjYXRl
ZEVkaXRpbmdPZmZzZXQoKSA+IGNhcmV0TWluT2Zmc2V0KHN0YXJ0Lm5vZGUoKSkgJiYgc3RhcnQu
ZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA8IGNhcmV0TWF4T2Zmc2V0KHN0YXJ0Lm5vZGUoKSkp
IHsKLSAgICAgICAgaW50IGVuZE9mZnNldEFkanVzdG1lbnQgPSBzdGFydC5ub2RlKCkgPT0gZW5k
Lm5vZGUoKSA/IHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgOiAwOwotICAgICAgICBU
ZXh0ICp0ZXh0ID0gc3RhdGljX2Nhc3Q8VGV4dCAqPihzdGFydC5ub2RlKCkpOwotICAgICAgICBz
cGxpdFRleHROb2RlKHRleHQsIHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpOwotICAg
ICAgICB1cGRhdGVTdGFydEVuZChQb3NpdGlvbihzdGFydC5ub2RlKCksIDApLCBQb3NpdGlvbihl
bmQubm9kZSgpLCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSAtIGVuZE9mZnNldEFkanVz
dG1lbnQpKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsK
KyAgICBBU1NFUlQoc3RhcnQubm9kZSgpLT5pc1RleHROb2RlKCkpOworICAgIGludCBlbmRPZmZz
ZXRBZGp1c3RtZW50ID0gc3RhcnQubm9kZSgpID09IGVuZC5ub2RlKCkgPyBzdGFydC5kZXByZWNh
dGVkRWRpdGluZ09mZnNldCgpIDogMDsKKyAgICBUZXh0ICp0ZXh0ID0gc3RhdGljX2Nhc3Q8VGV4
dCAqPihzdGFydC5ub2RlKCkpOworICAgIHNwbGl0VGV4dE5vZGUodGV4dCwgc3RhcnQuZGVwcmVj
YXRlZEVkaXRpbmdPZmZzZXQoKSk7CisgICAgdXBkYXRlU3RhcnRFbmQoUG9zaXRpb24oc3RhcnQu
bm9kZSgpLCAwKSwgUG9zaXRpb24oZW5kLm5vZGUoKSwgZW5kLmRlcHJlY2F0ZWRFZGl0aW5nT2Zm
c2V0KCkgLSBlbmRPZmZzZXRBZGp1c3RtZW50KSk7CiB9CiAKLWJvb2wgQXBwbHlTdHlsZUNvbW1h
bmQ6OnNwbGl0VGV4dEF0RW5kSWZOZWVkZWQoY29uc3QgUG9zaXRpb24gJnN0YXJ0LCBjb25zdCBQ
b3NpdGlvbiAmZW5kKQordm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6c3BsaXRUZXh0QXRFbmQoY29u
c3QgUG9zaXRpb24gJnN0YXJ0LCBjb25zdCBQb3NpdGlvbiAmZW5kKQogewotICAgIGlmIChlbmQu
bm9kZSgpLT5pc1RleHROb2RlKCkgJiYgZW5kLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgPiBj
YXJldE1pbk9mZnNldChlbmQubm9kZSgpKSAmJiBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQo
KSA8IGNhcmV0TWF4T2Zmc2V0KGVuZC5ub2RlKCkpKSB7Ci0gICAgICAgIFRleHQgKnRleHQgPSBz
dGF0aWNfY2FzdDxUZXh0ICo+KGVuZC5ub2RlKCkpOwotICAgICAgICBzcGxpdFRleHROb2RlKHRl
eHQsIGVuZC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpKTsKLSAgICAgICAgCi0gICAgICAgIE5v
ZGUgKnByZXZOb2RlID0gdGV4dC0+cHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgICAgIEFTU0VSVChw
cmV2Tm9kZSk7Ci0gICAgICAgIE5vZGUgKnN0YXJ0Tm9kZSA9IHN0YXJ0Lm5vZGUoKSA9PSBlbmQu
bm9kZSgpID8gcHJldk5vZGUgOiBzdGFydC5ub2RlKCk7Ci0gICAgICAgIEFTU0VSVChzdGFydE5v
ZGUpOwotICAgICAgICB1cGRhdGVTdGFydEVuZChQb3NpdGlvbihzdGFydE5vZGUsIHN0YXJ0LmRl
cHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpLCBQb3NpdGlvbihwcmV2Tm9kZSwgY2FyZXRNYXhPZmZz
ZXQocHJldk5vZGUpKSk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgQVNTRVJUKGVuZC5ub2RlKCktPmlzVGV4dE5vZGUoKSk7CisgICAgVGV4dCAq
dGV4dCA9IHN0YXRpY19jYXN0PFRleHQgKj4oZW5kLm5vZGUoKSk7CisgICAgc3BsaXRUZXh0Tm9k
ZSh0ZXh0LCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CisgICAgCisgICAgTm9kZSAq
cHJldk5vZGUgPSB0ZXh0LT5wcmV2aW91c1NpYmxpbmcoKTsKKyAgICBBU1NFUlQocHJldk5vZGUp
OworICAgIE5vZGUgKnN0YXJ0Tm9kZSA9IHN0YXJ0Lm5vZGUoKSA9PSBlbmQubm9kZSgpID8gcHJl
dk5vZGUgOiBzdGFydC5ub2RlKCk7CisgICAgQVNTRVJUKHN0YXJ0Tm9kZSk7CisgICAgdXBkYXRl
U3RhcnRFbmQoUG9zaXRpb24oc3RhcnROb2RlLCBzdGFydC5kZXByZWNhdGVkRWRpdGluZ09mZnNl
dCgpKSwgUG9zaXRpb24ocHJldk5vZGUsIGNhcmV0TWF4T2Zmc2V0KHByZXZOb2RlKSkpOwogfQog
Ci1ib29sIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxpdFRleHRFbGVtZW50QXRTdGFydElmTmVlZGVk
KGNvbnN0IFBvc2l0aW9uICZzdGFydCwgY29uc3QgUG9zaXRpb24gJmVuZCkKK3ZvaWQgQXBwbHlT
dHlsZUNvbW1hbmQ6OnNwbGl0VGV4dEVsZW1lbnRBdFN0YXJ0KGNvbnN0IFBvc2l0aW9uICZzdGFy
dCwgY29uc3QgUG9zaXRpb24gJmVuZCkKIHsKLSAgICBpZiAoc3RhcnQubm9kZSgpLT5pc1RleHRO
b2RlKCkgJiYgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA+IGNhcmV0TWluT2Zmc2V0
KHN0YXJ0Lm5vZGUoKSkgJiYgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA8IGNhcmV0
TWF4T2Zmc2V0KHN0YXJ0Lm5vZGUoKSkpIHsKKyAgICBBU1NFUlQoc3RhcnQubm9kZSgpLT5pc1Rl
eHROb2RlKCkpOworICAgIFRleHQgKnRleHQgPSBzdGF0aWNfY2FzdDxUZXh0ICo+KHN0YXJ0Lm5v
ZGUoKSk7CisgICAgLy8gQmVjYXVzZSBzcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnQgc3Bs
aXRzIHRoZSBwYXJlbnQgbm9kZSBvZiB0ZXh0LCBpdHMgcGFyZW50IG11c3QgYmUgZWRpdGFibGUu
CisgICAgRWxlbWVudCogcGFyZW50ID0gdGV4dC0+cGFyZW50RWxlbWVudCgpOworICAgIGlmIChw
YXJlbnQgJiYgcGFyZW50LT5wYXJlbnRFbGVtZW50KCkgJiYgcGFyZW50LT5wYXJlbnRFbGVtZW50
KCktPmlzQ29udGVudEVkaXRhYmxlKCkpIHsKICAgICAgICAgaW50IGVuZE9mZnNldEFkanVzdG1l
bnQgPSBzdGFydC5ub2RlKCkgPT0gZW5kLm5vZGUoKSA/IHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5n
T2Zmc2V0KCkgOiAwOwotICAgICAgICBUZXh0ICp0ZXh0ID0gc3RhdGljX2Nhc3Q8VGV4dCAqPihz
dGFydC5ub2RlKCkpOwogICAgICAgICBzcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnQodGV4
dCwgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAKICAgICAgICAgdXBkYXRlU3Rh
cnRFbmQoUG9zaXRpb24oc3RhcnQubm9kZSgpLT5wYXJlbnROb2RlKCksIHN0YXJ0Lm5vZGUoKS0+
bm9kZUluZGV4KCkpLCBQb3NpdGlvbihlbmQubm9kZSgpLCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdP
ZmZzZXQoKSAtIGVuZE9mZnNldEFkanVzdG1lbnQpKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgc3BsaXRUZXh0QXRTdGFydChzdGFydCwgZW5kKTsKICAgICB9
Ci0gICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxpdFRl
eHRFbGVtZW50QXRFbmRJZk5lZWRlZChjb25zdCBQb3NpdGlvbiAmc3RhcnQsIGNvbnN0IFBvc2l0
aW9uICZlbmQpCit2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxpdFRleHRFbGVtZW50QXRFbmQo
Y29uc3QgUG9zaXRpb24gJnN0YXJ0LCBjb25zdCBQb3NpdGlvbiAmZW5kKQogewotICAgIGlmIChl
bmQubm9kZSgpLT5pc1RleHROb2RlKCkgJiYgZW5kLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkg
PiBjYXJldE1pbk9mZnNldChlbmQubm9kZSgpKSAmJiBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZz
ZXQoKSA8IGNhcmV0TWF4T2Zmc2V0KGVuZC5ub2RlKCkpKSB7Ci0gICAgICAgIFRleHQgKnRleHQg
PSBzdGF0aWNfY2FzdDxUZXh0ICo+KGVuZC5ub2RlKCkpOworICAgIEFTU0VSVChlbmQubm9kZSgp
LT5pc1RleHROb2RlKCkpOworICAgIFRleHQgKnRleHQgPSBzdGF0aWNfY2FzdDxUZXh0ICo+KGVu
ZC5ub2RlKCkpOworICAgIC8vIEJlY2F1c2Ugc3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50
IHNwbGl0cyB0aGUgcGFyZW50IG5vZGUgb2YgdGV4dCwgaXRzIHBhcmVudCBtdXN0IGJlIGVkaXRh
YmxlLgorICAgIEVsZW1lbnQqIHBhcmVudCA9IHRleHQtPnBhcmVudEVsZW1lbnQoKTsKKyAgICBp
ZiAocGFyZW50ICYmIHBhcmVudC0+cGFyZW50RWxlbWVudCgpICYmIHBhcmVudC0+cGFyZW50RWxl
bWVudCgpLT5pc0NvbnRlbnRFZGl0YWJsZSgpKSB7CiAgICAgICAgIHNwbGl0VGV4dE5vZGVDb250
YWluaW5nRWxlbWVudCh0ZXh0LCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAKICAg
ICAgICAgTm9kZSAqcHJldk5vZGUgPSB0ZXh0LT5wYXJlbnQoKS0+cHJldmlvdXNTaWJsaW5nKCkt
Pmxhc3RDaGlsZCgpOwpAQCAtMTU4Miw5ICsxNTk0LDkgQEAKICAgICAgICAgTm9kZSAqc3RhcnRO
b2RlID0gc3RhcnQubm9kZSgpID09IGVuZC5ub2RlKCkgPyBwcmV2Tm9kZSA6IHN0YXJ0Lm5vZGUo
KTsKICAgICAgICAgQVNTRVJUKHN0YXJ0Tm9kZSk7CiAgICAgICAgIHVwZGF0ZVN0YXJ0RW5kKFBv
c2l0aW9uKHN0YXJ0Tm9kZSwgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSksIFBvc2l0
aW9uKHByZXZOb2RlLT5wYXJlbnQoKSwgcHJldk5vZGUtPm5vZGVJbmRleCgpICsgMSkpOwotICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICBzcGxpdFRleHRBdEVuZChz
dGFydCwgZW5kKTsKICAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwogfQogCiBzdGF0aWMgYm9vbCBh
cmVJZGVudGljYWxFbGVtZW50cyhOb2RlICpmaXJzdCwgTm9kZSAqc2Vjb25kKQpJbmRleDogV2Vi
Q29yZS9lZGl0aW5nL1NwbGl0VGV4dE5vZGVDb250YWluaW5nRWxlbWVudENvbW1hbmQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9TcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1l
bnRDb21tYW5kLmNwcAkocmV2aXNpb24gNjQwMTMpCisrKyBXZWJDb3JlL2VkaXRpbmcvU3BsaXRU
ZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDcgKzQ4LDcgQEAKICAgICBzcGxpdFRleHROb2RlKG1fdGV4dC5nZXQoKSwgbV9vZmZzZXQpOwog
CiAgICAgRWxlbWVudCogcGFyZW50ID0gbV90ZXh0LT5wYXJlbnRFbGVtZW50KCk7Ci0gICAgaWYg
KCFwYXJlbnQpCisgICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+cGFyZW50RWxlbWVudCgpIHx8
ICFwYXJlbnQtPnBhcmVudEVsZW1lbnQoKS0+aXNDb250ZW50RWRpdGFibGUoKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJlciA9IHBhcmVudC0+cmVu
ZGVyZXIoKTsKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvc3R5bGUtdGV4dC1ub2Rl
LXdpdGhvdXQtZWRpdGFibGUtcGFyZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9kZS13aXRob3V0LWVkaXRhYmxlLXBh
cmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0
eWxlL3N0eWxlLXRleHQtbm9kZS13aXRob3V0LWVkaXRhYmxlLXBhcmVudC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjg4IEBACisKK2JvbGQgZmlyc3Q6Cis8U1BBTiBjb250
ZW50RWRpdGFibGU9IiI+Cis8Qj4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgPHNl
bGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9CPgorPCN0ZXh0PndvcmxkIFdlYktpdDwvI3RleHQ+
Cis8L1NQQU4+CisKK2JvbGQgbWlkZGxlOgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0
ZXh0PmhlbGxvLCA8LyN0ZXh0PgorPEI+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+d29ybGQ8
c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L0I+Cis8I3RleHQ+IFdlYktpdDwvI3RleHQ+Cis8
L1NQQU4+CisKK2JvbGQgbGFzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzwjdGV4dD5o
ZWxsbywgd29ybGQ8LyN0ZXh0PgorPEI+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+IFdlYktp
dDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvQj4KKzwvU1BBTj4KKworYm9sZCBhbGw6Cis8
U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8Qj4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj5o
ZWxsbywgd29ybGQgV2ViS2l0PHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9CPgorPC9TUEFO
PgorCitpdGFsaWMgZmlyc3Q6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8ST4KKzwjdGV4
dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgPHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9J
PgorPCN0ZXh0PndvcmxkIFdlYktpdDwvI3RleHQ+Cis8L1NQQU4+CisKK2l0YWxpYyBtaWRkbGU6
Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIDwvI3RleHQ+Cis8ST4K
KzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj53b3JsZDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4K
KzwvST4KKzwjdGV4dD4gV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKworaXRhbGljIGxhc3Q6Cis8
U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIHdvcmxkPC8jdGV4dD4KKzxJ
PgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPiBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3Rl
eHQ+Cis8L0k+Cis8L1NQQU4+CisKK2l0YWxpYyBhbGw6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9
IiI+Cis8ST4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgd29ybGQgV2ViS2l0PHNl
bGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9JPgorPC9TUEFOPgorCit1bmRlcmxpbmUgZmlyc3Q6
Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8VT4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hv
cj5oZWxsbywgPHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9VPgorPCN0ZXh0PndvcmxkIFdl
YktpdDwvI3RleHQ+Cis8L1NQQU4+CisKK3VuZGVybGluZSBtaWRkbGU6Cis8U1BBTiBjb250ZW50
RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIDwvI3RleHQ+Cis8VT4KKzwjdGV4dD48c2VsZWN0
aW9uLWFuY2hvcj53b3JsZDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvVT4KKzwjdGV4dD4g
V2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKwordW5kZXJsaW5lIGxhc3Q6Cis8U1BBTiBjb250ZW50
RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIHdvcmxkPC8jdGV4dD4KKzxVPgorPCN0ZXh0Pjxz
ZWxlY3Rpb24tYW5jaG9yPiBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1U+Cis8
L1NQQU4+CisKK3VuZGVybGluZSBhbGw6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8VT4K
KzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgd29ybGQgV2ViS2l0PHNlbGVjdGlvbi1m
b2N1cz48LyN0ZXh0PgorPC9VPgorPC9TUEFOPgorCitzdHJpa2VUaHJvdWdoIGZpcnN0OgorPFNQ
QU4gY29udGVudEVkaXRhYmxlPSIiPgorPFM+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+aGVs
bG8sIDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvUz4KKzwjdGV4dD53b3JsZCBXZWJLaXQ8
LyN0ZXh0PgorPC9TUEFOPgorCitzdHJpa2VUaHJvdWdoIG1pZGRsZToKKzxTUEFOIGNvbnRlbnRF
ZGl0YWJsZT0iIj4KKzwjdGV4dD5oZWxsbywgPC8jdGV4dD4KKzxTPgorPCN0ZXh0PjxzZWxlY3Rp
b24tYW5jaG9yPndvcmxkPHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9TPgorPCN0ZXh0PiBX
ZWJLaXQ8LyN0ZXh0PgorPC9TUEFOPgorCitzdHJpa2VUaHJvdWdoIGxhc3Q6Cis8U1BBTiBjb250
ZW50RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIHdvcmxkPC8jdGV4dD4KKzxTPgorPCN0ZXh0
PjxzZWxlY3Rpb24tYW5jaG9yPiBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1M+
Cis8L1NQQU4+CisKK3N0cmlrZVRocm91Z2ggYWxsOgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIi
PgorPFM+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+aGVsbG8sIHdvcmxkIFdlYktpdDxzZWxl
Y3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvUz4KKzwvU1BBTj4KKworZm9yZUNvbG9yIGZpcnN0Ogor
PFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPEZPTlQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4i
IGNvbG9yPSIjMDAwMEZGIj4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgPHNlbGVj
dGlvbi1mb2N1cz48LyN0ZXh0PgorPC9GT05UPgorPCN0ZXh0PndvcmxkIFdlYktpdDwvI3RleHQ+
Cis8L1NQQU4+CisKK2ZvcmVDb2xvciBtaWRkbGU6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+
Cis8I3RleHQ+aGVsbG8sIDwvI3RleHQ+Cis8Rk9OVCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIg
Y29sb3I9IiMwMDAwRkYiPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPndvcmxkPHNlbGVjdGlv
bi1mb2N1cz48LyN0ZXh0PgorPC9GT05UPgorPCN0ZXh0PiBXZWJLaXQ8LyN0ZXh0PgorPC9TUEFO
PgorCitmb3JlQ29sb3IgbGFzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzwjdGV4dD5o
ZWxsbywgd29ybGQ8LyN0ZXh0PgorPEZPTlQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIGNvbG9y
PSIjMDAwMEZGIj4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj4gV2ViS2l0PHNlbGVjdGlvbi1m
b2N1cz48LyN0ZXh0PgorPC9GT05UPgorPC9TUEFOPgorCitmb3JlQ29sb3IgYWxsOgorPFNQQU4g
Y29udGVudEVkaXRhYmxlPSIiPgorPEZPTlQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIGNvbG9y
PSIjMDAwMEZGIj4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgd29ybGQgV2ViS2l0
PHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9GT05UPgorPC9TUEFOPgorCitoaWxpdGVDb2xv
ciBmaXJzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzxTUEFOIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiBibHVlOyIgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPgorPCN0ZXh0PjxzZWxl
Y3Rpb24tYW5jaG9yPmhlbGxvLCA8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1NQQU4+Cis8
I3RleHQ+d29ybGQgV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKworaGlsaXRlQ29sb3IgbWlkZGxl
OgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0ZXh0PmhlbGxvLCA8LyN0ZXh0PgorPFNQ
QU4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7IiBjbGFzcz0iQXBwbGUtc3R5bGUtc3Bh
biI+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+d29ybGQ8c2VsZWN0aW9uLWZvY3VzPjwvI3Rl
eHQ+Cis8L1NQQU4+Cis8I3RleHQ+IFdlYktpdDwvI3RleHQ+Cis8L1NQQU4+CisKK2hpbGl0ZUNv
bG9yIGxhc3Q6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIHdvcmxk
PC8jdGV4dD4KKzxTUEFOIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyIgY2xhc3M9IkFw
cGxlLXN0eWxlLXNwYW4iPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPiBXZWJLaXQ8c2VsZWN0
aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1NQQU4+Cis8L1NQQU4+CisKK2hpbGl0ZUNvbG9yIGFsbDoK
KzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzxTUEFOIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiBibHVlOyIgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5j
aG9yPmhlbGxvLCB3b3JsZCBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1NQQU4+
Cis8L1NQQU4+CisKK3N1YnNjcmlwdCBmaXJzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4K
KzxTVUI+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+aGVsbG8sIDxzZWxlY3Rpb24tZm9jdXM+
PC8jdGV4dD4KKzwvU1VCPgorPCN0ZXh0PndvcmxkIFdlYktpdDwvI3RleHQ+Cis8L1NQQU4+CisK
K3N1YnNjcmlwdCBtaWRkbGU6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVs
bG8sIDwvI3RleHQ+Cis8U1VCPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPndvcmxkPHNlbGVj
dGlvbi1mb2N1cz48LyN0ZXh0PgorPC9TVUI+Cis8I3RleHQ+IFdlYktpdDwvI3RleHQ+Cis8L1NQ
QU4+CisKK3N1YnNjcmlwdCBsYXN0OgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0ZXh0
PmhlbGxvLCB3b3JsZDwvI3RleHQ+Cis8U1VCPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPiBX
ZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1NVQj4KKzwvU1BBTj4KKworc3Vic2Ny
aXB0IGFsbDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzxTVUI+Cis8I3RleHQ+PHNlbGVj
dGlvbi1hbmNob3I+aGVsbG8sIHdvcmxkIFdlYktpdDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4K
KzwvU1VCPgorPC9TUEFOPgorCitzdXBlcnNjcmlwdCBmaXJzdDoKKzxTUEFOIGNvbnRlbnRFZGl0
YWJsZT0iIj4KKzxTVVA+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+aGVsbG8sIDxzZWxlY3Rp
b24tZm9jdXM+PC8jdGV4dD4KKzwvU1VQPgorPCN0ZXh0PndvcmxkIFdlYktpdDwvI3RleHQ+Cis8
L1NQQU4+CisKK3N1cGVyc2NyaXB0IG1pZGRsZToKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4K
KzwjdGV4dD5oZWxsbywgPC8jdGV4dD4KKzxTVVA+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+
d29ybGQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1NVUD4KKzwjdGV4dD4gV2ViS2l0PC8j
dGV4dD4KKzwvU1BBTj4KKworc3VwZXJzY3JpcHQgbGFzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJs
ZT0iIj4KKzwjdGV4dD5oZWxsbywgd29ybGQ8LyN0ZXh0PgorPFNVUD4KKzwjdGV4dD48c2VsZWN0
aW9uLWFuY2hvcj4gV2ViS2l0PHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9TVVA+Cis8L1NQ
QU4+CisKK3N1cGVyc2NyaXB0IGFsbDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzxTVVA+
Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+aGVsbG8sIHdvcmxkIFdlYktpdDxzZWxlY3Rpb24t
Zm9jdXM+PC8jdGV4dD4KKzwvU1VQPgorPC9TUEFOPgorCitjcmVhdGVMaW5rIGZpcnN0OgorPFNQ
QU4gY29udGVudEVkaXRhYmxlPSIiPgorPEEgaHJlZj0iaHR0cDovL3dlYmtpdC5vcmcvIj4KKzwj
dGV4dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgPHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0Pgor
PC9BPgorPCN0ZXh0PndvcmxkIFdlYktpdDwvI3RleHQ+Cis8L1NQQU4+CisKK2NyZWF0ZUxpbmsg
bWlkZGxlOgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0ZXh0PmhlbGxvLCA8LyN0ZXh0
PgorPEEgaHJlZj0iaHR0cDovL3dlYmtpdC5vcmcvIj4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hv
cj53b3JsZDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvQT4KKzwjdGV4dD4gV2ViS2l0PC8j
dGV4dD4KKzwvU1BBTj4KKworY3JlYXRlTGluayBsYXN0OgorPFNQQU4gY29udGVudEVkaXRhYmxl
PSIiPgorPCN0ZXh0PmhlbGxvLCB3b3JsZDwvI3RleHQ+Cis8QSBocmVmPSJodHRwOi8vd2Via2l0
Lm9yZy8iPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPiBXZWJLaXQ8c2VsZWN0aW9uLWZvY3Vz
PjwvI3RleHQ+Cis8L0E+Cis8L1NQQU4+CisKK2NyZWF0ZUxpbmsgYWxsOgorPFNQQU4gY29udGVu
dEVkaXRhYmxlPSIiPgorPEEgaHJlZj0iaHR0cDovL3dlYmtpdC5vcmcvIj4KKzwjdGV4dD48c2Vs
ZWN0aW9uLWFuY2hvcj5oZWxsbywgd29ybGQgV2ViS2l0PHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0
PgorPC9BPgorPC9TUEFOPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9yZW1vdmUt
dW5kZXJsaW5lLWZyb20tc3R5bGVzaGVldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9yZW1vdmUtdW5kZXJsaW5lLWZyb20tc3R5bGVzaGVldC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDY0MDEzKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zdHls
ZS9yZW1vdmUtdW5kZXJsaW5lLWZyb20tc3R5bGVzaGVldC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTY0LDkgKzY0LDggQEAKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVM
RUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA3IG9mICN0ZXh0
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBTUEFOID4gRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA2IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0g
c3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBE
RUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpy
YW5nZSBmcm9tIDAgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA2
IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxl
Y3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKLUVESVRJTkcgREVM
RUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3
RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRFbmRFZGl0aW5nOldlYlZpZXdEaWRFbmRFZGl0aW5nTm90aWZp
Y2F0aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9kZS13
aXRob3V0LWVkaXRhYmxlLXBhcmVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Vk
aXRpbmcvc3R5bGUvc3R5bGUtdGV4dC1ub2RlLXdpdGhvdXQtZWRpdGFibGUtcGFyZW50Lmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9k
ZS13aXRob3V0LWVkaXRhYmxlLXBhcmVudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYw
IEBACis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxib2R5PgorPGRpdiBpZD0idGVzdCI+PC9kaXY+Cis8c2NyaXB0PgorCitmdW5jdGlv
biBhcHBlbmROZXdTcGFuKHRpdGxlKQoreworICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGVzdCcpOworICAgIGlmIChkaXYuaW5uZXJIVE1MLmxlbmd0aCkKKyAgICAgICAg
ZGl2LmlubmVySFRNTCArPSAnPGJyPic7CisgICAgZGl2LmlubmVySFRNTCArPSB0aXRsZSArICcg
OiA8c3BhbiBjb250ZW50ZWRpdGFibGU+aGVsbG8sIHdvcmxkIFdlYktpdDwvc3Bhbj4nOworICAg
IHJldHVybiBkaXYubGFzdENoaWxkOworfQorCitmdW5jdGlvbiBzZXRTZWxlY3Rpb24odGV4dCwg
c3RhcnQsIGVuZCkKK3sKKyAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwor
ICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CisKKyAgICByYW5nZS5z
ZXRTdGFydCh0ZXh0LCBzdGFydCk7CisgICAgcmFuZ2Uuc2V0RW5kKHRleHQsIGVuZCk7CisgICAg
c2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOworICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5n
ZSk7Cit9CisKK2Z1bmN0aW9uIGR1bXBMYXN0U3BhbihkZXNjcmlwdGlvbikgeworICAgIE1hcmt1
cC5kdW1wKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0JykubGFzdENoaWxkLCBkZXNjcmlw
dGlvbikKK30KKworZnVuY3Rpb24gYXBwbHlJbmxpbmVTdHlsZVRvVGV4dE5vZGUoY29tbWFuZCwg
dmFsdWUpCit7CisgICAgc2V0U2VsZWN0aW9uKGFwcGVuZE5ld1NwYW4oY29tbWFuZCkuZmlyc3RD
aGlsZCwgMCwgNyk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoY29tbWFuZCwgZmFsc2UsIHZh
bHVlKTsKKyAgICBkdW1wTGFzdFNwYW4oY29tbWFuZCArICcgZmlyc3QnKTsKKworICAgIHNldFNl
bGVjdGlvbihhcHBlbmROZXdTcGFuKGNvbW1hbmQpLmZpcnN0Q2hpbGQsIDcsIDEyKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZChjb21tYW5kLCBmYWxzZSwgdmFsdWUpOworICAgIGR1bXBMYXN0
U3Bhbihjb21tYW5kICsgJyBtaWRkbGUnKTsKKworICAgIHNldFNlbGVjdGlvbihhcHBlbmROZXdT
cGFuKGNvbW1hbmQpLmZpcnN0Q2hpbGQsIDEyLCAxOSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoY29tbWFuZCwgZmFsc2UsIHZhbHVlKTsKKyAgICBkdW1wTGFzdFNwYW4oY29tbWFuZCArICcg
bGFzdCcpOworCisgICAgc2V0U2VsZWN0aW9uKGFwcGVuZE5ld1NwYW4oY29tbWFuZCkuZmlyc3RD
aGlsZCwgMCwgMTkpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKGNvbW1hbmQsIGZhbHNlLCB2
YWx1ZSk7CisgICAgZHVtcExhc3RTcGFuKGNvbW1hbmQgKyAnIGFsbCcpOworfQorCithcHBseUlu
bGluZVN0eWxlVG9UZXh0Tm9kZSgnYm9sZCcpOworYXBwbHlJbmxpbmVTdHlsZVRvVGV4dE5vZGUo
J2l0YWxpYycpOworYXBwbHlJbmxpbmVTdHlsZVRvVGV4dE5vZGUoJ3VuZGVybGluZScpOworYXBw
bHlJbmxpbmVTdHlsZVRvVGV4dE5vZGUoJ3N0cmlrZVRocm91Z2gnKTsKK2FwcGx5SW5saW5lU3R5
bGVUb1RleHROb2RlKCdmb3JlQ29sb3InLCAnYmx1ZScpOworYXBwbHlJbmxpbmVTdHlsZVRvVGV4
dE5vZGUoJ2hpbGl0ZUNvbG9yJywgJ2JsdWUnKTsKK2FwcGx5SW5saW5lU3R5bGVUb1RleHROb2Rl
KCdzdWJzY3JpcHQnKTsKK2FwcGx5SW5saW5lU3R5bGVUb1RleHROb2RlKCdzdXBlcnNjcmlwdCcp
OworYXBwbHlJbmxpbmVTdHlsZVRvVGV4dE5vZGUoJ2NyZWF0ZUxpbmsnLCAnaHR0cDovL3dlYmtp
dC5vcmcvJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcwkocmV2aXNpb24gNjQwMTMpCisrKyBMYXlvdXRUZXN0cy9yZXNv
dXJjZXMvZHVtcC1hcy1tYXJrdXAuanMJKHdvcmtpbmcgY29weSkKQEAgLTE2MSw3ICsxNjEsNyBA
QAogfQogCiAvLyBGSVhNRTogSXMgdGhlcmUgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMgdGhhbiBh
IGhhcmQgY29kZWQgbGlzdD8KLU1hcmt1cC5fRFVNUF9BU19NQVJLVVBfUFJPUEVSVElFUyA9IFsn
c3JjJywgJ3R5cGUnLCAnaHJlZicsICdzdHlsZScsICdjbGFzcycsICdpZCcsICdjb250ZW50RWRp
dGFibGUnXTsKK01hcmt1cC5fRFVNUF9BU19NQVJLVVBfUFJPUEVSVElFUyA9IFsnc3JjJywgJ3R5
cGUnLCAnaHJlZicsICdzdHlsZScsICdjbGFzcycsICdpZCcsICdjb2xvcicsICdiZ2NvbG9yJywg
J2NvbnRlbnRFZGl0YWJsZSddOwogCiBNYXJrdXAuX2dldEF0dHJpYnV0ZXMgPSBmdW5jdGlvbihu
b2RlKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62586</attachid>
            <date>2010-07-26 11:18:16 -0700</date>
            <delta_ts>2010-07-26 13:55:11 -0700</delta_ts>
            <desc>simple fix with large test</desc>
            <filename>fix39989</filename>
            <type>text/plain</type>
            <size>18524</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDA1MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMDctMjYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXBw
bHlpbmcgaW5saW5lIHN0eWxlIHRvIGEgdGV4dCBub2RlIHdob3NlIHBhcmVudCBpcyBhbiBpbmxp
bmUgZWRpdGFibGUgcm9vdCBjYXVzZXMgY3Jhc2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM5OTg5CisKKyAgICAgICAgVGhlIGNyYXNoIHdhcyBjYXVz
ZWQgYnkgc3BsaXRUZXh0RWxlbWVudEF0U3RhcnQgYW5kIHNwbGl0VGV4dEVsZW1lbnRBdEVuZCBh
c3N1bWluZyB0aGF0IHRoZSBwYXJlbnQKKyAgICAgICAgYW5kIHRoZSBncmFuZHBhcmVudCBvZiB0
aGUgc3BlY2lmaWVkIHRleHQgbm9kZSBpcyBlZGl0YWJsZS4KKworICAgICAgICBNb2RpZmllZCBz
cGxpdFRleHRFbGVtZW50QXRTdGFydCBhbmQgc3BsaXRUZXh0RWxlbWVudEF0RW5kIHNvIHRoYXQg
dGhleSBjYWxsIHNwbGl0VGV4dEF0U3RhcnQKKyAgICAgICAgYW5kIHNwbGl0VGV4dEF0RW5kIHJl
c3BlY3RpdmVseSB3aGVuIHRoZSBncmFuZHBhcmVudCBpcyBub3QgZWRpdGFibGUuCisKKyAgICAg
ICAgQWxzbyBtb2RpZmllZCBTcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnQgdG8gZXhpdCBl
YXJseSBpZiB0aGUgZ3JhbmRwYXJlbnQgb2YgbV90ZXh0IGlzIG5vdCBlZGl0YWJsZS4KKworICAg
ICAgICBUZXN0OiBlZGl0aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9kZS13aXRob3V0LWVkaXRhYmxl
LXBhcmVudC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGx5U3R5bGVDb21tYW5kOjpzcGxpdFRleHRFbGVtZW50QXRT
dGFydCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVN0eWxlQ29tbWFuZDo6c3BsaXRUZXh0RWxl
bWVudEF0RW5kKToKKyAgICAgICAgKiBlZGl0aW5nL1NwbGl0VGV4dE5vZGVDb250YWluaW5nRWxl
bWVudENvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BsaXRUZXh0Tm9kZUNvbnRhaW5p
bmdFbGVtZW50Q29tbWFuZDo6ZG9BcHBseSk6CisKIDIwMTAtMDctMjYgIFRvbnkgR2VudGlsY29y
ZSAgPHRvbnlnQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNo
ZXIuCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAJKHJldmlzaW9uIDY0
MDI5KQorKysgV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTU1NCwyMiArMTU1NCwzMiBAQCB2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpzcGxp
dFRleHRBdEVuZChjCiAKIHZvaWQgQXBwbHlTdHlsZUNvbW1hbmQ6OnNwbGl0VGV4dEVsZW1lbnRB
dFN0YXJ0KGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCkKIHsKLSAg
ICBpbnQgZW5kT2Zmc2V0QWRqdXN0bWVudCA9IHN0YXJ0Lm5vZGUoKSA9PSBlbmQubm9kZSgpID8g
c3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA6IDA7Ci0gICAgVGV4dCogdGV4dCA9IHN0
YXRpY19jYXN0PFRleHQqPihzdGFydC5ub2RlKCkpOwotICAgIHNwbGl0VGV4dE5vZGVDb250YWlu
aW5nRWxlbWVudCh0ZXh0LCBzdGFydC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpKTsKLSAgICB1
cGRhdGVTdGFydEVuZChQb3NpdGlvbihzdGFydC5ub2RlKCktPnBhcmVudE5vZGUoKSwgc3RhcnQu
bm9kZSgpLT5ub2RlSW5kZXgoKSksIFBvc2l0aW9uKGVuZC5ub2RlKCksIGVuZC5kZXByZWNhdGVk
RWRpdGluZ09mZnNldCgpIC0gZW5kT2Zmc2V0QWRqdXN0bWVudCkpOworICAgIE5vZGUqIHBhcmVu
dCA9IHN0YXJ0Lm5vZGUoKS0+cGFyZW50Tm9kZSgpOworICAgIGlmIChwYXJlbnQgJiYgcGFyZW50
LT5wYXJlbnRFbGVtZW50KCkgJiYgcGFyZW50LT5wYXJlbnRFbGVtZW50KCktPmlzQ29udGVudEVk
aXRhYmxlKCkpIHsKKyAgICAgICAgaW50IGVuZE9mZnNldEFkanVzdG1lbnQgPSBzdGFydC5ub2Rl
KCkgPT0gZW5kLm5vZGUoKSA/IHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgOiAwOwor
ICAgICAgICBUZXh0KiB0ZXh0ID0gc3RhdGljX2Nhc3Q8VGV4dCo+KHN0YXJ0Lm5vZGUoKSk7Cisg
ICAgICAgIHNwbGl0VGV4dE5vZGVDb250YWluaW5nRWxlbWVudCh0ZXh0LCBzdGFydC5kZXByZWNh
dGVkRWRpdGluZ09mZnNldCgpKTsKKyAgICAgICAgdXBkYXRlU3RhcnRFbmQoUG9zaXRpb24oc3Rh
cnQubm9kZSgpLT5wYXJlbnROb2RlKCksIHN0YXJ0Lm5vZGUoKS0+bm9kZUluZGV4KCkpLCBQb3Np
dGlvbihlbmQubm9kZSgpLCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSAtIGVuZE9mZnNl
dEFkanVzdG1lbnQpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzcGxpdFRleHRBdFN0YXJ0KHN0
YXJ0LCBlbmQpOworICAgIH0KIH0KIAogdm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6c3BsaXRUZXh0
RWxlbWVudEF0RW5kKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCkK
IHsKLSAgICBUZXh0KiB0ZXh0ID0gc3RhdGljX2Nhc3Q8VGV4dCo+KGVuZC5ub2RlKCkpOwotICAg
IHNwbGl0VGV4dE5vZGVDb250YWluaW5nRWxlbWVudCh0ZXh0LCBlbmQuZGVwcmVjYXRlZEVkaXRp
bmdPZmZzZXQoKSk7Ci0KLSAgICBOb2RlKiBwcmV2Tm9kZSA9IHRleHQtPnBhcmVudCgpLT5wcmV2
aW91c1NpYmxpbmcoKS0+bGFzdENoaWxkKCk7Ci0gICAgQVNTRVJUKHByZXZOb2RlKTsKLSAgICBO
b2RlKiBzdGFydE5vZGUgPSBzdGFydC5ub2RlKCkgPT0gZW5kLm5vZGUoKSA/IHByZXZOb2RlIDog
c3RhcnQubm9kZSgpOwotICAgIEFTU0VSVChzdGFydE5vZGUpOwotICAgIHVwZGF0ZVN0YXJ0RW5k
KFBvc2l0aW9uKHN0YXJ0Tm9kZSwgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSksIFBv
c2l0aW9uKHByZXZOb2RlLT5wYXJlbnQoKSwgcHJldk5vZGUtPm5vZGVJbmRleCgpICsgMSkpOwor
ICAgIE5vZGUqIHBhcmVudCA9IHN0YXJ0Lm5vZGUoKS0+cGFyZW50Tm9kZSgpOworICAgIGlmIChw
YXJlbnQgJiYgcGFyZW50LT5wYXJlbnRFbGVtZW50KCkgJiYgcGFyZW50LT5wYXJlbnRFbGVtZW50
KCktPmlzQ29udGVudEVkaXRhYmxlKCkpIHsKKyAgICAgICAgVGV4dCogdGV4dCA9IHN0YXRpY19j
YXN0PFRleHQqPihlbmQubm9kZSgpKTsKKyAgICAgICAgc3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdF
bGVtZW50KHRleHQsIGVuZC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpKTsKKworICAgICAgICBO
b2RlKiBwcmV2Tm9kZSA9IHRleHQtPnBhcmVudCgpLT5wcmV2aW91c1NpYmxpbmcoKS0+bGFzdENo
aWxkKCk7CisgICAgICAgIEFTU0VSVChwcmV2Tm9kZSk7CisgICAgICAgIE5vZGUqIHN0YXJ0Tm9k
ZSA9IHN0YXJ0Lm5vZGUoKSA9PSBlbmQubm9kZSgpID8gcHJldk5vZGUgOiBzdGFydC5ub2RlKCk7
CisgICAgICAgIEFTU0VSVChzdGFydE5vZGUpOworICAgICAgICB1cGRhdGVTdGFydEVuZChQb3Np
dGlvbihzdGFydE5vZGUsIHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpLCBQb3NpdGlv
bihwcmV2Tm9kZS0+cGFyZW50KCksIHByZXZOb2RlLT5ub2RlSW5kZXgoKSArIDEpKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBzcGxpdFRleHRBdEVuZChzdGFydCwgZW5kKTsKKyAgICB9CiB9CiAK
IGJvb2wgQXBwbHlTdHlsZUNvbW1hbmQ6OmlzVmFsaWRDYXJldFBvc2l0aW9uSW5UZXh0Tm9kZShj
b25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvU3BsaXRUZXh0
Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9l
ZGl0aW5nL1NwbGl0VGV4dE5vZGVDb250YWluaW5nRWxlbWVudENvbW1hbmQuY3BwCShyZXZpc2lv
biA2NDAyOSkKKysrIFdlYkNvcmUvZWRpdGluZy9TcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1l
bnRDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQCB2b2lkIFNwbGl0
VGV4dE5vZGVDb250YWluaW5nRWxlbWVudENvbW1hCiAgICAgc3BsaXRUZXh0Tm9kZShtX3RleHQu
Z2V0KCksIG1fb2Zmc2V0KTsKIAogICAgIEVsZW1lbnQqIHBhcmVudCA9IG1fdGV4dC0+cGFyZW50
RWxlbWVudCgpOwotICAgIGlmICghcGFyZW50KQorICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQt
PnBhcmVudEVsZW1lbnQoKSB8fCAhcGFyZW50LT5wYXJlbnRFbGVtZW50KCktPmlzQ29udGVudEVk
aXRhYmxlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFJlbmRlck9iamVjdCogcGFyZW50UmVu
ZGVyZXIgPSBwYXJlbnQtPnJlbmRlcmVyKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NDA1MikKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisy
MDEwLTA3LTI2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFwcGx5aW5nIGlubGluZSBzdHls
ZSB0byBhIHRleHQgbm9kZSB3aG9zZSBwYXJlbnQgaXMgYW4gaW5saW5lIGVkaXRhYmxlIHJvb3Qg
Y2F1c2VzIGNyYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zOTk4OQorCisgICAgICAgIEFkZGVkIGEgdGVzdCB0byBhcHBseSBpbmxpbmUgc3R5bGVz
IHRvIGEgdGV4dCBub2RlIHdoaWNoIGlzIGEgZWRpdGFibGUgcm9vdCdzIGNoaWxkLgorICAgICAg
ICBUaGUgdGVzdCBzaG91bGQgbm90IGNyYXNoLgorCisgICAgICAgIFR3byB0ZXN0cyByZXF1aXJl
IHJlYmFzZWxpbmUgZm9yIHRoZSBlZGl0aW5nIGRlbGVnYXRlcy4gSG93ZXZlciwgdGhlIGZpbmFs
IHNlbGVjdGlvbiBpcyBrZXB0IHNhbWUuCisKKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5k
L2hpbGl0ZWNvbG9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL3N0eWxlL3JlbW92
ZS11bmRlcmxpbmUtZnJvbS1zdHlsZXNoZWV0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0
aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9kZS13aXRob3V0LWVkaXRhYmxlLXBhcmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc3R5bGUvc3R5bGUtdGV4dC1ub2RlLXdp
dGhvdXQtZWRpdGFibGUtcGFyZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHJlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qczoKKwogMjAxMC0wNy0yNiAgTWFyY3VzIEJ1bGFjaCAgPGJ1bGFjaEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gIEFkZCBjaHJvbWl1bSBleHBlY3Rh
dGlvbnMgZm9yIGZhaWxpbmcgdGVzdHMuCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kL2hpbGl0ZWNvbG9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2hpbGl0ZWNvbG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NjQwMjkpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2hpbGl0ZWNvbG9yLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw4ICs0LDcgQEAgRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERP
TVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IFNQQU4gPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA2IG9mICN0ZXh0ID4gU1BBTiA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3du
c3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFu
Z2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDEwIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNiBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBz
dGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERF
TEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIEVE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9y
ZW1vdmUtdW5kZXJsaW5lLWZyb20tc3R5bGVzaGVldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9yZW1vdmUtdW5kZXJsaW5lLWZyb20tc3R5bGVz
aGVldC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY0MDI5KQorKysgTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zdHlsZS9yZW1vdmUtdW5kZXJsaW5lLWZyb20tc3R5bGVzaGVldC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTY0LDggKzY0LDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZTpXZWJWaQogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogd2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0
aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxs
KSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvIDYgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBh
ZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxT
RQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBm
cm9tIDcgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIFNQ
QU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20g
MCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDYgb2YgI3RleHQg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmlu
aXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0
aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VO
b3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9zdHlsZS9zdHlsZS10ZXh0LW5vZGUtd2l0aG91dC1lZGl0YWJsZS1wYXJlbnQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvc3R5bGUt
dGV4dC1ub2RlLXdpdGhvdXQtZWRpdGFibGUtcGFyZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvc3R5bGUtdGV4dC1ub2RlLXdpdGhvdXQt
ZWRpdGFibGUtcGFyZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyODkg
QEAKK1RoaXMgdGVzdHMgYXBwbHlpbmcgaW5saW5lIHN0eWxlIHRvIGEgdGV4dCBub2RlLCB3aGlj
aCBpcyBhIGNoaWxkIG9mIHRoZSBlZGl0YWJsZSByb290LiBTdHlsZSBzaG91bGQgYmUgYXBwbGll
ZCBwcm9wZXJseSBhbmQgdGhlIHRlc3Qgc2hvdWxkIG5vdCBjcmFzaC4gKFNlZSB0aGUgYnVnIDM5
OTg5KS4KKworYm9sZCBmaXJzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzxCPgorPCN0
ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPmhlbGxvLCA8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8
L0I+Cis8I3RleHQ+d29ybGQgV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKworYm9sZCBtaWRkbGU6
Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIDwvI3RleHQ+Cis8Qj4K
KzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj53b3JsZDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4K
KzwvQj4KKzwjdGV4dD4gV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKworYm9sZCBsYXN0OgorPFNQ
QU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0ZXh0PmhlbGxvLCB3b3JsZDwvI3RleHQ+Cis8Qj4K
KzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj4gV2ViS2l0PHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0
PgorPC9CPgorPC9TUEFOPgorCitib2xkIGFsbDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4K
KzxCPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPmhlbGxvLCB3b3JsZCBXZWJLaXQ8c2VsZWN0
aW9uLWZvY3VzPjwvI3RleHQ+Cis8L0I+Cis8L1NQQU4+CisKK2l0YWxpYyBmaXJzdDoKKzxTUEFO
IGNvbnRlbnRFZGl0YWJsZT0iIj4KKzxJPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPmhlbGxv
LCA8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L0k+Cis8I3RleHQ+d29ybGQgV2ViS2l0PC8j
dGV4dD4KKzwvU1BBTj4KKworaXRhbGljIG1pZGRsZToKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0i
Ij4KKzwjdGV4dD5oZWxsbywgPC8jdGV4dD4KKzxJPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9y
PndvcmxkPHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9JPgorPCN0ZXh0PiBXZWJLaXQ8LyN0
ZXh0PgorPC9TUEFOPgorCitpdGFsaWMgbGFzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4K
KzwjdGV4dD5oZWxsbywgd29ybGQ8LyN0ZXh0PgorPEk+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNo
b3I+IFdlYktpdDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvST4KKzwvU1BBTj4KKworaXRh
bGljIGFsbDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzxJPgorPCN0ZXh0PjxzZWxlY3Rp
b24tYW5jaG9yPmhlbGxvLCB3b3JsZCBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8
L0k+Cis8L1NQQU4+CisKK3VuZGVybGluZSBmaXJzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0i
Ij4KKzxVPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPmhlbGxvLCA8c2VsZWN0aW9uLWZvY3Vz
PjwvI3RleHQ+Cis8L1U+Cis8I3RleHQ+d29ybGQgV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKwor
dW5kZXJsaW5lIG1pZGRsZToKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzwjdGV4dD5oZWxs
bywgPC8jdGV4dD4KKzxVPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPndvcmxkPHNlbGVjdGlv
bi1mb2N1cz48LyN0ZXh0PgorPC9VPgorPCN0ZXh0PiBXZWJLaXQ8LyN0ZXh0PgorPC9TUEFOPgor
Cit1bmRlcmxpbmUgbGFzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzwjdGV4dD5oZWxs
bywgd29ybGQ8LyN0ZXh0PgorPFU+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+IFdlYktpdDxz
ZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvVT4KKzwvU1BBTj4KKwordW5kZXJsaW5lIGFsbDoK
KzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzxVPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9y
PmhlbGxvLCB3b3JsZCBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1U+Cis8L1NQ
QU4+CisKK3N0cmlrZVRocm91Z2ggZmlyc3Q6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8
Uz4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgPHNlbGVjdGlvbi1mb2N1cz48LyN0
ZXh0PgorPC9TPgorPCN0ZXh0PndvcmxkIFdlYktpdDwvI3RleHQ+Cis8L1NQQU4+CisKK3N0cmlr
ZVRocm91Z2ggbWlkZGxlOgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0ZXh0PmhlbGxv
LCA8LyN0ZXh0PgorPFM+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+d29ybGQ8c2VsZWN0aW9u
LWZvY3VzPjwvI3RleHQ+Cis8L1M+Cis8I3RleHQ+IFdlYktpdDwvI3RleHQ+Cis8L1NQQU4+CisK
K3N0cmlrZVRocm91Z2ggbGFzdDoKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzwjdGV4dD5o
ZWxsbywgd29ybGQ8LyN0ZXh0PgorPFM+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+IFdlYktp
dDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvUz4KKzwvU1BBTj4KKworc3RyaWtlVGhyb3Vn
aCBhbGw6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8Uz4KKzwjdGV4dD48c2VsZWN0aW9u
LWFuY2hvcj5oZWxsbywgd29ybGQgV2ViS2l0PHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9T
PgorPC9TUEFOPgorCitmb3JlQ29sb3IgZmlyc3Q6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+
Cis8Rk9OVCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgY29sb3I9IiMwMDAwRkYiPgorPCN0ZXh0
PjxzZWxlY3Rpb24tYW5jaG9yPmhlbGxvLCA8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L0ZP
TlQ+Cis8I3RleHQ+d29ybGQgV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKworZm9yZUNvbG9yIG1p
ZGRsZToKKzxTUEFOIGNvbnRlbnRFZGl0YWJsZT0iIj4KKzwjdGV4dD5oZWxsbywgPC8jdGV4dD4K
KzxGT05UIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBjb2xvcj0iIzAwMDBGRiI+Cis8I3RleHQ+
PHNlbGVjdGlvbi1hbmNob3I+d29ybGQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L0ZPTlQ+
Cis8I3RleHQ+IFdlYktpdDwvI3RleHQ+Cis8L1NQQU4+CisKK2ZvcmVDb2xvciBsYXN0OgorPFNQ
QU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0ZXh0PmhlbGxvLCB3b3JsZDwvI3RleHQ+Cis8Rk9O
VCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgY29sb3I9IiMwMDAwRkYiPgorPCN0ZXh0PjxzZWxl
Y3Rpb24tYW5jaG9yPiBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L0ZPTlQ+Cis8
L1NQQU4+CisKK2ZvcmVDb2xvciBhbGw6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8Rk9O
VCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgY29sb3I9IiMwMDAwRkYiPgorPCN0ZXh0PjxzZWxl
Y3Rpb24tYW5jaG9yPmhlbGxvLCB3b3JsZCBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+
Cis8L0ZPTlQ+Cis8L1NQQU4+CisKK2hpbGl0ZUNvbG9yIGZpcnN0OgorPFNQQU4gY29udGVudEVk
aXRhYmxlPSIiPgorPFNQQU4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7IiBjbGFzcz0i
QXBwbGUtc3R5bGUtc3BhbiI+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+aGVsbG8sIDxzZWxl
Y3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvU1BBTj4KKzwjdGV4dD53b3JsZCBXZWJLaXQ8LyN0ZXh0
PgorPC9TUEFOPgorCitoaWxpdGVDb2xvciBtaWRkbGU6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9
IiI+Cis8I3RleHQ+aGVsbG8sIDwvI3RleHQ+Cis8U1BBTiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv
cjogYmx1ZTsiIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj4KKzwjdGV4dD48c2VsZWN0aW9uLWFu
Y2hvcj53b3JsZDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvU1BBTj4KKzwjdGV4dD4gV2Vi
S2l0PC8jdGV4dD4KKzwvU1BBTj4KKworaGlsaXRlQ29sb3IgbGFzdDoKKzxTUEFOIGNvbnRlbnRF
ZGl0YWJsZT0iIj4KKzwjdGV4dD5oZWxsbywgd29ybGQ8LyN0ZXh0PgorPFNQQU4gc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6IGJsdWU7IiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+Cis8I3RleHQ+
PHNlbGVjdGlvbi1hbmNob3I+IFdlYktpdDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvU1BB
Tj4KKzwvU1BBTj4KKworaGlsaXRlQ29sb3IgYWxsOgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIi
PgorPFNQQU4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7IiBjbGFzcz0iQXBwbGUtc3R5
bGUtc3BhbiI+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+aGVsbG8sIHdvcmxkIFdlYktpdDxz
ZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvU1BBTj4KKzwvU1BBTj4KKworc3Vic2NyaXB0IGZp
cnN0OgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPFNVQj4KKzwjdGV4dD48c2VsZWN0aW9u
LWFuY2hvcj5oZWxsbywgPHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9TVUI+Cis8I3RleHQ+
d29ybGQgV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKworc3Vic2NyaXB0IG1pZGRsZToKKzxTUEFO
IGNvbnRlbnRFZGl0YWJsZT0iIj4KKzwjdGV4dD5oZWxsbywgPC8jdGV4dD4KKzxTVUI+Cis8I3Rl
eHQ+PHNlbGVjdGlvbi1hbmNob3I+d29ybGQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1NV
Qj4KKzwjdGV4dD4gV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKworc3Vic2NyaXB0IGxhc3Q6Cis8
U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIHdvcmxkPC8jdGV4dD4KKzxT
VUI+Cis8I3RleHQ+PHNlbGVjdGlvbi1hbmNob3I+IFdlYktpdDxzZWxlY3Rpb24tZm9jdXM+PC8j
dGV4dD4KKzwvU1VCPgorPC9TUEFOPgorCitzdWJzY3JpcHQgYWxsOgorPFNQQU4gY29udGVudEVk
aXRhYmxlPSIiPgorPFNVQj4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgd29ybGQg
V2ViS2l0PHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9TVUI+Cis8L1NQQU4+CisKK3N1cGVy
c2NyaXB0IGZpcnN0OgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPFNVUD4KKzwjdGV4dD48
c2VsZWN0aW9uLWFuY2hvcj5oZWxsbywgPHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9TVVA+
Cis8I3RleHQ+d29ybGQgV2ViS2l0PC8jdGV4dD4KKzwvU1BBTj4KKworc3VwZXJzY3JpcHQgbWlk
ZGxlOgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0ZXh0PmhlbGxvLCA8LyN0ZXh0Pgor
PFNVUD4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hvcj53b3JsZDxzZWxlY3Rpb24tZm9jdXM+PC8j
dGV4dD4KKzwvU1VQPgorPCN0ZXh0PiBXZWJLaXQ8LyN0ZXh0PgorPC9TUEFOPgorCitzdXBlcnNj
cmlwdCBsYXN0OgorPFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPCN0ZXh0PmhlbGxvLCB3b3Js
ZDwvI3RleHQ+Cis8U1VQPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPiBXZWJLaXQ8c2VsZWN0
aW9uLWZvY3VzPjwvI3RleHQ+Cis8L1NVUD4KKzwvU1BBTj4KKworc3VwZXJzY3JpcHQgYWxsOgor
PFNQQU4gY29udGVudEVkaXRhYmxlPSIiPgorPFNVUD4KKzwjdGV4dD48c2VsZWN0aW9uLWFuY2hv
cj5oZWxsbywgd29ybGQgV2ViS2l0PHNlbGVjdGlvbi1mb2N1cz48LyN0ZXh0PgorPC9TVVA+Cis8
L1NQQU4+CisKK2NyZWF0ZUxpbmsgZmlyc3Q6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8
QSBocmVmPSJodHRwOi8vd2Via2l0Lm9yZy8iPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPmhl
bGxvLCA8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L0E+Cis8I3RleHQ+d29ybGQgV2ViS2l0
PC8jdGV4dD4KKzwvU1BBTj4KKworY3JlYXRlTGluayBtaWRkbGU6Cis8U1BBTiBjb250ZW50RWRp
dGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIDwvI3RleHQ+Cis8QSBocmVmPSJodHRwOi8vd2Via2l0
Lm9yZy8iPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPndvcmxkPHNlbGVjdGlvbi1mb2N1cz48
LyN0ZXh0PgorPC9BPgorPCN0ZXh0PiBXZWJLaXQ8LyN0ZXh0PgorPC9TUEFOPgorCitjcmVhdGVM
aW5rIGxhc3Q6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8I3RleHQ+aGVsbG8sIHdvcmxk
PC8jdGV4dD4KKzxBIGhyZWY9Imh0dHA6Ly93ZWJraXQub3JnLyI+Cis8I3RleHQ+PHNlbGVjdGlv
bi1hbmNob3I+IFdlYktpdDxzZWxlY3Rpb24tZm9jdXM+PC8jdGV4dD4KKzwvQT4KKzwvU1BBTj4K
KworY3JlYXRlTGluayBhbGw6Cis8U1BBTiBjb250ZW50RWRpdGFibGU9IiI+Cis8QSBocmVmPSJo
dHRwOi8vd2Via2l0Lm9yZy8iPgorPCN0ZXh0PjxzZWxlY3Rpb24tYW5jaG9yPmhlbGxvLCB3b3Js
ZCBXZWJLaXQ8c2VsZWN0aW9uLWZvY3VzPjwvI3RleHQ+Cis8L0E+Cis8L1NQQU4+CkluZGV4OiBM
YXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9kZS13aXRob3V0LWVkaXRhYmxl
LXBhcmVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvc3R5
bGUtdGV4dC1ub2RlLXdpdGhvdXQtZWRpdGFibGUtcGFyZW50Lmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9kZS13aXRob3V0LWVkaXRh
YmxlLXBhcmVudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYxIEBACis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxib2R5Pgor
PGRpdiBpZD0idGVzdCI+PC9kaXY+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBhcHBlbmROZXdTcGFu
KHRpdGxlKQoreworICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcp
OworICAgIGlmIChkaXYuaW5uZXJIVE1MLmxlbmd0aCkKKyAgICAgICAgZGl2LmlubmVySFRNTCAr
PSAnPGJyPic7CisgICAgZGl2LmlubmVySFRNTCArPSB0aXRsZSArICcgOiA8c3BhbiBjb250ZW50
ZWRpdGFibGU+aGVsbG8sIHdvcmxkIFdlYktpdDwvc3Bhbj4nOworICAgIHJldHVybiBkaXYubGFz
dENoaWxkOworfQorCitmdW5jdGlvbiBzZXRTZWxlY3Rpb24odGV4dCwgc3RhcnQsIGVuZCkKK3sK
KyAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHZhciBzZWxlY3Rp
b24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CisKKyAgICByYW5nZS5zZXRTdGFydCh0ZXh0LCBz
dGFydCk7CisgICAgcmFuZ2Uuc2V0RW5kKHRleHQsIGVuZCk7CisgICAgc2VsZWN0aW9uLnJlbW92
ZUFsbFJhbmdlcygpOworICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7Cit9CisKK2Z1bmN0
aW9uIGR1bXBMYXN0U3BhbihkZXNjcmlwdGlvbikgeworICAgIE1hcmt1cC5kdW1wKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0JykubGFzdENoaWxkLCBkZXNjcmlwdGlvbikKK30KKworZnVu
Y3Rpb24gYXBwbHlJbmxpbmVTdHlsZVRvVGV4dE5vZGUoY29tbWFuZCwgdmFsdWUpCit7CisgICAg
c2V0U2VsZWN0aW9uKGFwcGVuZE5ld1NwYW4oY29tbWFuZCkuZmlyc3RDaGlsZCwgMCwgNyk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoY29tbWFuZCwgZmFsc2UsIHZhbHVlKTsKKyAgICBkdW1w
TGFzdFNwYW4oY29tbWFuZCArICcgZmlyc3QnKTsKKworICAgIHNldFNlbGVjdGlvbihhcHBlbmRO
ZXdTcGFuKGNvbW1hbmQpLmZpcnN0Q2hpbGQsIDcsIDEyKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZChjb21tYW5kLCBmYWxzZSwgdmFsdWUpOworICAgIGR1bXBMYXN0U3Bhbihjb21tYW5kICsg
JyBtaWRkbGUnKTsKKworICAgIHNldFNlbGVjdGlvbihhcHBlbmROZXdTcGFuKGNvbW1hbmQpLmZp
cnN0Q2hpbGQsIDEyLCAxOSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoY29tbWFuZCwgZmFs
c2UsIHZhbHVlKTsKKyAgICBkdW1wTGFzdFNwYW4oY29tbWFuZCArICcgbGFzdCcpOworCisgICAg
c2V0U2VsZWN0aW9uKGFwcGVuZE5ld1NwYW4oY29tbWFuZCkuZmlyc3RDaGlsZCwgMCwgMTkpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKGNvbW1hbmQsIGZhbHNlLCB2YWx1ZSk7CisgICAgZHVt
cExhc3RTcGFuKGNvbW1hbmQgKyAnIGFsbCcpOworfQorCitNYXJrdXAuZGVzY3JpcHRpb24oIlRo
aXMgdGVzdHMgYXBwbHlpbmcgaW5saW5lIHN0eWxlIHRvIGEgdGV4dCBub2RlLCB3aGljaCBpcyBh
IGNoaWxkIG9mIHRoZSBlZGl0YWJsZSByb290LiBTdHlsZSBzaG91bGQgYmUgYXBwbGllZCBwcm9w
ZXJseSBhbmQgdGhlIHRlc3Qgc2hvdWxkIG5vdCBjcmFzaC4gKFNlZSB0aGUgYnVnIDM5OTg5KS4i
KQorYXBwbHlJbmxpbmVTdHlsZVRvVGV4dE5vZGUoJ2JvbGQnKTsKK2FwcGx5SW5saW5lU3R5bGVU
b1RleHROb2RlKCdpdGFsaWMnKTsKK2FwcGx5SW5saW5lU3R5bGVUb1RleHROb2RlKCd1bmRlcmxp
bmUnKTsKK2FwcGx5SW5saW5lU3R5bGVUb1RleHROb2RlKCdzdHJpa2VUaHJvdWdoJyk7CithcHBs
eUlubGluZVN0eWxlVG9UZXh0Tm9kZSgnZm9yZUNvbG9yJywgJ2JsdWUnKTsKK2FwcGx5SW5saW5l
U3R5bGVUb1RleHROb2RlKCdoaWxpdGVDb2xvcicsICdibHVlJyk7CithcHBseUlubGluZVN0eWxl
VG9UZXh0Tm9kZSgnc3Vic2NyaXB0Jyk7CithcHBseUlubGluZVN0eWxlVG9UZXh0Tm9kZSgnc3Vw
ZXJzY3JpcHQnKTsKK2FwcGx5SW5saW5lU3R5bGVUb1RleHROb2RlKCdjcmVhdGVMaW5rJywgJ2h0
dHA6Ly93ZWJraXQub3JnLycpOworCis8L3NjcmlwdD4KKzwvYm9keT4KSW5kZXg6IExheW91dFRl
c3RzL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMJKHJldmlzaW9uIDY0MDI5KQorKysgTGF5b3V0
VGVzdHMvcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNjEs
NyArMTYxLDcgQEAgTWFya3VwLl9zcGFjZXMgPSBmdW5jdGlvbihtdWx0aXBsaWVyKQogfQogCiAv
LyBGSVhNRTogSXMgdGhlcmUgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMgdGhhbiBhIGhhcmQgY29k
ZWQgbGlzdD8KLU1hcmt1cC5fRFVNUF9BU19NQVJLVVBfUFJPUEVSVElFUyA9IFsnc3JjJywgJ3R5
cGUnLCAnaHJlZicsICdzdHlsZScsICdjbGFzcycsICdpZCcsICdjb250ZW50RWRpdGFibGUnXTsK
K01hcmt1cC5fRFVNUF9BU19NQVJLVVBfUFJPUEVSVElFUyA9IFsnc3JjJywgJ3R5cGUnLCAnaHJl
ZicsICdzdHlsZScsICdjbGFzcycsICdpZCcsICdjb2xvcicsICdiZ2NvbG9yJywgJ2NvbnRlbnRF
ZGl0YWJsZSddOwogCiBNYXJrdXAuX2dldEF0dHJpYnV0ZXMgPSBmdW5jdGlvbihub2RlKQogewo=
</data>
<flag name="review"
          id="50815"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>