<?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>56874</bug_id>
          
          <creation_ts>2011-03-22 15:41:23 -0700</creation_ts>
          <short_desc>Repeated copy and paste-in-place operation results in increasingly verbose HTML</short_desc>
          <delta_ts>2011-03-25 09:21:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>darin</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>371737</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-22 15:41:23 -0700</bug_when>
    <thetext>* SUMMARY
A repeated copy and paste-in-place operation on right-aligned bold &quot;hello&quot; results in increasingly verbose HTML

* STEPS TO REPRODUCE
Setup:
1. Open TextEdit
2. Type &quot;hello&quot;
3. CMD+A to select all
4. Right-align the text, bold it, and increase the font to be pretty large.
5. CMD+C to copy all selected text

5. Open http://www.mozilla.org/editor/midasdemo/
6. Paste.  (then check View HTML Source)
7. CMD+A then CMD+C to copy
8. Paste again in place (then check View HTML Source)

* RESULTS
Expect the pasted HTML to be the same
Instead, it is more verbose</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371808</commentid>
    <comment_count>1</comment_count>
      <attachid>86540</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-22 16:44:36 -0700</bug_when>
    <thetext>Created attachment 86540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371811</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-22 16:46:41 -0700</bug_when>
    <thetext>Attachment 86540 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/edit...&quot; exit_code: 1

Source/WebCore/editing/ReplaceSelectionCommand.cpp:782:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Source/WebCore/editing/ReplaceSelectionCommand.cpp:783:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Source/WebCore/editing/ReplaceSelectionCommand.cpp:784:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Source/WebCore/editing/ReplaceSelectionCommand.cpp:785:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Source/WebCore/editing/ReplaceSelectionCommand.cpp:786:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Source/WebCore/editing/ReplaceSelectionCommand.cpp:787:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Source/WebCore/editing/ReplaceSelectionCommand.cpp:788:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Source/WebCore/editing/ReplaceSelectionCommand.cpp:789:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Source/WebCore/editing/ReplaceSelectionCommand.cpp:790:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Total errors found: 9 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371823</commentid>
    <comment_count>3</comment_count>
      <attachid>86545</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-22 16:58:15 -0700</bug_when>
    <thetext>Created attachment 86545
Patch2

Fixed style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371901</commentid>
    <comment_count>4</comment_count>
      <attachid>86545</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-22 18:47:46 -0700</bug_when>
    <thetext>Comment on attachment 86545
Patch2

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

I’m going to say review+, but I think there is also room for improvement.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:794
&gt; +    if (node-&gt;hasTagName(spanTag) &amp;&amp; node-&gt;renderer() &amp;&amp; node-&gt;renderer()-&gt;isInline()) {

I don’t understand why for all those other tags we are assuming they are always inline, but for span we are checking if a renderer exists and is actually an inline. Pages can style those other types of tags to be non-inline too; there is nothing special about span in this respect.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:796
&gt; +        const HTMLElement* elem = static_cast&lt;const HTMLElement*&gt;(node);
&gt; +        return elem-&gt;hasAttribute(styleAttr);

I don’t think you need a local variable for this. If you did want to keep it, I’d suggest naming it element, not elem.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:947
&gt; +    // If we are not trying to match the destination style and we are not
&gt; +    // inside a list element we prefer a position that is outside inline
&gt; +    // elements that provide style. This way we can produce a less verbose
&gt; +    // markup.
&gt; +    if (!m_matchStyle &amp;&amp; !enclosingList(insertionPos.deprecatedNode())) {

Why is being in a list relevant? Comments need to focus on the question “why” so the comment should explain.

Why are you using the deprecatedNode function? Isn’t there a more modern way to write this, avoiding the functions with “deprecated” in their names?

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:956
&gt; +            if (parentNode-&gt;childNodes()-&gt;length() &gt; 1)

There are more efficient ways to check if something has more than one child. This will walk the entire list of child nodes to count them all just to check if it is &gt; 1. You could just check parent-&gt;firstChild()-&gt;nextSibling() to see if it is non-zero, with the appropriate null checks.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:957
&gt; +                splitElement(static_cast&lt;Element*&gt;(parentNode), parentNode-&gt;childNodes()-&gt;item(insertionPos.deprecatedEditingOffset()));

Is there a guarantee that the parent is not the document? I just want to make sure the cast is safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371970</commentid>
    <comment_count>5</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2011-03-22 22:42:03 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; 5. CMD+C to copy all selected text
&gt; 
&gt; 5. Open http://www.mozilla.org/editor/midasdemo/
&gt; 6. Paste.  (then check View HTML Source)
&gt; 7. CMD+A then CMD+C to copy
&gt; 8. Paste again in place (then check View HTML Source)

When you copy the styled content and paste it over itself, why doesn&apos;t WebKit remove the styled inline elements during the delete phase? Why are they still there at Paste time? That seems like the real bug.

In TextEdit, if I type:

hello
world

Select &quot;hello&quot;, bold it, delete it, move the selection elsewhere, move the selection back to the first line and start typing, the inserted text *is not* bold.

It *is* bold with WebKit.

If we don&apos;t leave those styled elements around in the document in the delete phase, then at Paste time, I think ReplaceSelectionCommand won&apos;t have a problem keeping the DOM clean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371986</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-23 00:18:01 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; If we don&apos;t leave those styled elements around in the document in the delete phase, then at Paste time, I think ReplaceSelectionCommand won&apos;t have a problem keeping the DOM clean.

Enrica considered this.

It helps in the delete everything case, but as soon as you leave even a single character behind it falls apart. A fix that prevents the increasing nesting even if you leave a little behind is even better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371990</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-23 00:19:55 -0700</bug_when>
    <thetext>Note also that if we delete the &lt;b&gt; element then typed text won’t be bold. So doing the “delete more” optimization means we’d have to delete differently when replacing than when just deleting alone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372013</commentid>
    <comment_count>8</comment_count>
      <attachid>86545</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-23 00:53:39 -0700</bug_when>
    <thetext>Comment on attachment 86545
Patch2

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

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:792
&gt; +    if (node-&gt;hasTagName(bTag)
&gt; +        || node-&gt;hasTagName(fontTag)
&gt; +        || node-&gt;hasTagName(iTag)
&gt; +        || node-&gt;hasTagName(sTag)
&gt; +        || node-&gt;hasTagName(strikeTag)
&gt; +        || node-&gt;hasTagName(strongTag)
&gt; +        || node-&gt;hasTagName(strikeTag)
&gt; +        || node-&gt;hasTagName(subTag)
&gt; +        || node-&gt;hasTagName(supTag)
&gt; +        || node-&gt;hasTagName(uTag))
&gt; +        return true;

This duplicates the tables in conflictsWithImplicitStyleOfElement and htmlAttributeEquivalents.  Ideally, we share code with those functions.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:946
&gt; +    // If we are not trying to match the destination style and we are not
&gt; +    // inside a list element we prefer a position that is outside inline
&gt; +    // elements that provide style. This way we can produce a less verbose
&gt; +    // markup.

I&apos;d really prefer to have a properly named function than having a comment here since this function is already one of the most complicated doApply functions.

&gt;&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:947
&gt;&gt; +    if (!m_matchStyle &amp;&amp; !enclosingList(insertionPos.deprecatedNode())) {
&gt; 
&gt; Why is being in a list relevant? Comments need to focus on the question “why” so the comment should explain.
&gt; 
&gt; Why are you using the deprecatedNode function? Isn’t there a more modern way to write this, avoiding the functions with “deprecated” in their names?

To add to Darin&apos;s comment, you should be calling containerNode() here since you shouldn&apos;t consider position before/after a list element as inside the list.

Also, given the condition, can&apos;t we just do this in the else clause around the line 949 where we call insertNodeAtAndUpdateNodesInserted?

&gt; LayoutTests/editing/pasteboard/paste-text-with-style.html:1
&gt; +&lt;html&gt; 

Missing DOCTYPE.

&gt; LayoutTests/editing/pasteboard/paste-text-with-style.html:19
&gt; +&lt;script src=../editing.js language=&quot;JavaScript&quot; type=&quot;text/JavaScript&quot; &gt;&lt;/script&gt;

I don&apos;t think we need to put language or type attributes.

&gt; LayoutTests/editing/pasteboard/paste-text-with-style.html:33
&gt; +function editingTest() {
&gt; +    var markupBefore = document.getElementById(&quot;test&quot;).innerHTML;
&gt; +    log(&quot;Markup before: &quot; + markupBefore);
&gt; +    selectAllCommand();
&gt; +    copyCommand();
&gt; +    pasteCommand();
&gt; +    var markupAfter = document.getElementById(&quot;test&quot;).innerHTML;
&gt; +    log(&quot;Markup after: &quot; + markupAfter);
&gt; +}

It seems to me that what you want to do is to use dump-as-markup.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372196</commentid>
    <comment_count>9</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-23 09:32:27 -0700</bug_when>
    <thetext>Thank you all for the review and feedback. I&apos;ll post another patch shortly to address your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372219</commentid>
    <comment_count>10</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2011-03-23 09:58:40 -0700</bug_when>
    <thetext>&gt; Note also that if we delete the &lt;b&gt; element then typed text won’t be bold.

No, I think it would be bold even without the &lt;b&gt; because DeleteSelectionCommand::saveTypingStyleState() would preserve the typing style.

&gt; So doing the “delete more” optimization means we’d have to delete differently when replacing than when just deleting alone.

I&apos;m saying that delete should delete more in both the replace case and the delete case. The pure delete case does not match TextEdit right now as I mentioned. But maybe that is intentional.

&gt; It helps in the delete everything case, but as soon as you leave even a single character behind it falls apart. A fix that prevents the increasing nesting even if you leave a little behind is even better.

True.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372236</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-23 10:15:59 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; So doing the “delete more” optimization means we’d have to delete differently when replacing than when just deleting alone.
&gt; 
&gt; I&apos;m saying that delete should delete more in both the replace case and the delete case. The pure delete case does not match TextEdit right now as I mentioned. But maybe that is intentional.

Can we check what IE/FF does?  Also we should check what Microsoft Word and WordPad do on Windows.  It might be one of those things where Mac/Windows behaviors differ.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372287</commentid>
    <comment_count>12</comment_count>
      <attachid>86650</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-23 11:32:49 -0700</bug_when>
    <thetext>Created attachment 86650
Patch3

I&apos;ve changed the code a bit and I like this implementation better. I believe I&apos;ve addressed most of the comments.
We could explore the direction of sanitizing the markup upon delete in the future.
There are many more improvements to make in the generated markup when copying and pasting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372317</commentid>
    <comment_count>13</comment_count>
      <attachid>86650</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-23 12:08:16 -0700</bug_when>
    <thetext>Comment on attachment 86650
Patch3

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

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:786
&gt; +    if (node-&gt;hasTagName(spanTag))
&gt; +        return static_cast&lt;const HTMLElement*&gt;(node)-&gt;hasAttribute(styleAttr);
&gt; +    return true;

The concept here is good but I think this logic is backwards. Tags like &lt;b&gt; add style even though they have no style attribute. But a custom tag like &lt;oog&gt; would behave the same as span. So it’s not span that’s the special case, it’s all the other elements that contribute style without a style attribute. We need a list of tags that add style even when they have no style attribute.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:945
&gt; +            if (parentNode-&gt;firstChild()-&gt;nextSibling())
&gt; +                splitElement(static_cast&lt;Element*&gt;(parentNode), parentNode-&gt;childNodes()-&gt;item(insertionPos.offsetInContainerNode()));

I don’t think this is right in the case that the anchor node is a text node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372377</commentid>
    <comment_count>14</comment_count>
      <attachid>86650</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-23 12:59:51 -0700</bug_when>
    <thetext>Comment on attachment 86650
Patch3

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

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:941
&gt; +            if (insertionPos.anchorNode()-&gt;isTextNode() &amp;&amp; insertionPos.offsetInContainerNode())
&gt; +                splitTextNodeContainingElement(static_cast&lt;Text*&gt;(insertionPos.anchorNode()), insertionPos.offsetInContainerNode());

I think this needs one more check, a check that anchorType() is PositionIsOffsetInAnchor.

&gt;&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:945

&gt; 
&gt; I don’t think this is right in the case that the anchor node is a text node.

Rather than parentNode-&gt;childNodes()-&gt;item(insertionPos.offsetInContainerNode()) I think we should pass in insertionPos.computeNodeAfterPosition() here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372653</commentid>
    <comment_count>15</comment_count>
      <attachid>86738</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-23 20:21:48 -0700</bug_when>
    <thetext>Created attachment 86738
Patch4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372892</commentid>
    <comment_count>16</comment_count>
      <attachid>86738</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-24 10:21:01 -0700</bug_when>
    <thetext>Comment on attachment 86738
Patch4

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

review- because of the bad HTMLElement cast

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:788
&gt; +    const AtomicString classAttributeValue = static_cast&lt;const HTMLElement*&gt;(node)-&gt;getAttribute(classAttr);

It’s not safe to cast node to HTMLElement* without first checking if it is an HTMLElement.

The type here should be const AtomicString&amp;, not const AtomicString, to avoid an extra bit of reference count churn.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:797
&gt; +    const NamedNodeMap* attributesMap = static_cast&lt;const HTMLElement*&gt;(node)-&gt;attributeMap();

This should just be attributeMap, not attributesMap.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:957
&gt; +            // If we are in the middle of a text node, we need to split it before we can
&gt; +            // move the insertion position.
&gt; +            if (insertionPos.anchorNode()-&gt;isTextNode() &amp;&amp; insertionPos.anchorType() == Position::PositionIsOffsetInAnchor &amp;&amp; insertionPos.offsetInContainerNode())
&gt; +                splitTextNodeContainingElement(static_cast&lt;Text*&gt;(insertionPos.anchorNode()), insertionPos.offsetInContainerNode());

Does this handle the case where the offset is at the end of a text node? I think besides checking the offset for 0 we might need to check if it’s the same as the length of the text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372897</commentid>
    <comment_count>17</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-24 10:25:24 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 86738 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=86738&amp;action=review
&gt; 
&gt; review- because of the bad HTMLElement cast
&gt; 
&gt; &gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:788
&gt; &gt; +    const AtomicString classAttributeValue = static_cast&lt;const HTMLElement*&gt;(node)-&gt;getAttribute(classAttr);
&gt; 
&gt; It’s not safe to cast node to HTMLElement* without first checking if it is an HTMLElement.
&gt;
I don&apos;t think this was ever possible since we are only calling this function on elements that are containers, but I&apos;ll add it anyway.
 
&gt; The type here should be const AtomicString&amp;, not const AtomicString, to avoid an extra bit of reference count churn.
&gt;
ok. 
&gt; &gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:797
&gt; &gt; +    const NamedNodeMap* attributesMap = static_cast&lt;const HTMLElement*&gt;(node)-&gt;attributeMap();
&gt; 
&gt; This should just be attributeMap, not attributesMap.
&gt; 
&gt; &gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:957
&gt; &gt; +            // If we are in the middle of a text node, we need to split it before we can
&gt; &gt; +            // move the insertion position.
&gt; &gt; +            if (insertionPos.anchorNode()-&gt;isTextNode() &amp;&amp; insertionPos.anchorType() == Position::PositionIsOffsetInAnchor &amp;&amp; insertionPos.offsetInContainerNode())
&gt; &gt; +                splitTextNodeContainingElement(static_cast&lt;Text*&gt;(insertionPos.anchorNode()), insertionPos.offsetInContainerNode());
&gt; 
&gt; Does this handle the case where the offset is at the end of a text node? I think besides checking the offset for 0 we might need to check if it’s the same as the length of the text.
I did test that and it works correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372906</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-24 10:30:43 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; It’s not safe to cast node to HTMLElement* without first checking if it is an HTMLElement.
&gt; &gt;
&gt; I don&apos;t think this was ever possible since we are only calling this function on elements that are containers, but I&apos;ll add it anyway.

Besides HTMLElement, a container can be a non-HTML element, which is an Element* and not an HTMLElement* or something like a Document* or DocumentFragment*.

I think in practice the Element case could really happen, although probably not the others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372908</commentid>
    <comment_count>19</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-24 10:31:37 -0700</bug_when>
    <thetext>&gt; &gt; Does this handle the case where the offset is at the end of a text node? I think besides checking the offset for 0 we might need to check if it’s the same as the length of the text.
&gt; I did test that and it works correctly.

Why does it work correctly? Because splitTextNodeContainingElement correctly does nothing? Should we remove the check for 0 then? Maybe splitTextNodeContainingElement correctly does nothing in that case too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372948</commentid>
    <comment_count>20</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-24 11:05:50 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; &gt; &gt; Does this handle the case where the offset is at the end of a text node? I think besides checking the offset for 0 we might need to check if it’s the same as the length of the text.
&gt; &gt; I did test that and it works correctly.
&gt; 
&gt; Why does it work correctly? Because splitTextNodeContainingElement correctly does nothing? Should we remove the check for 0 then? Maybe splitTextNodeContainingElement correctly does nothing in that case too.

No, the 0 case needs to be checked. I&apos;ll investigate more to make sure we don&apos;t need an additional check</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372967</commentid>
    <comment_count>21</comment_count>
      <attachid>86803</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-24 11:32:47 -0700</bug_when>
    <thetext>Created attachment 86803
Patch5

One more iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373004</commentid>
    <comment_count>22</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-24 12:48:46 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81887</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373276</commentid>
    <comment_count>23</comment_count>
      <attachid>86803</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-24 19:52:00 -0700</bug_when>
    <thetext>Comment on attachment 86803
Patch5

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

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:956
&gt; +    if (!m_matchStyle &amp;&amp; !enclosingList(insertionPos.anchorNode()) &amp;&amp; isStyleSpan(fragment.firstChild())) {
&gt; +        Node* parentNode = insertionPos.anchorNode()-&gt;parentNode();

I don&apos;t think this is right.  How does it make sense to use the anchor node here?  Why should we care about the list element before or after the insertion pos?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373538</commentid>
    <comment_count>24</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-03-25 09:04:00 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 86803 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=86803&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:956
&gt; &gt; +    if (!m_matchStyle &amp;&amp; !enclosingList(insertionPos.anchorNode()) &amp;&amp; isStyleSpan(fragment.firstChild())) {
&gt; &gt; +        Node* parentNode = insertionPos.anchorNode()-&gt;parentNode();
&gt; 
&gt; I don&apos;t think this is right.  How does it make sense to use the anchor node here?  Why should we care about the list element before or after the insertion pos?

I&apos;m not sure I understand what you mean here. I want to avoid list items, since the correct type of splitting is done in insertAsListItem below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373550</commentid>
    <comment_count>25</comment_count>
      <attachid>86803</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-25 09:21:16 -0700</bug_when>
    <thetext>Comment on attachment 86803
Patch5

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

&gt;&gt;&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:956
&gt;&gt;&gt; +        Node* parentNode = insertionPos.anchorNode()-&gt;parentNode();
&gt;&gt; 
&gt;&gt; I don&apos;t think this is right.  How does it make sense to use the anchor node here?  Why should we care about the list element before or after the insertion pos?
&gt; 
&gt; I&apos;m not sure I understand what you mean here. I want to avoid list items, since the correct type of splitting is done in insertAsListItem below.

Right, but you only care when insertPos is IN the list, right? (i.e. insertionPos is enclosed by some list)  Not when insertionPos is before or after a list (i.e. insertionPos is adjacent to some list).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86540</attachid>
            <date>2011-03-22 16:44:36 -0700</date>
            <delta_ts>2011-03-22 16:58:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>slimmarkup.txt</filename>
            <type>text/plain</type>
            <size>25301</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxNzIwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMjIgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZXBlYXRlZCBjb3B5IGFuZCBwYXN0ZS1pbi1wbGFjZSBvcGVy
YXRpb24gcmVzdWx0cyBpbiBpbmNyZWFzaW5nbHkgdmVyYm9zZSBIVE1MLgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODY5MDUwNj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU2ODc0CisgICAgICAgIAorICAgICAgICBXaGVuIHdlIGNhbGN1bGF0ZSB0
aGUgc3R5bGUgdG8gYXBwbHkgYXQgdGhlIGluc2VydGlvbiBwb2ludCB3ZSBjb21wYXJlIHRoZSBp
bml0aWFsCisgICAgICAgIHN0eWxlIGF0IHRoZSBpbnNlcnRpb24gcG9pbnQgYWdhaW5zdCB0aGUg
c3R5bGUgY2FsY3VsYXRlZCBhdCB0aGUgc3BhbiB3ZSB3cmFwIHRoZQorICAgICAgICBjb3BpZWQg
bWFya3VwIGZyYWdtZW50IHdpdGguIFdlIGNvdWxkIGVuZCB1cCB3aXRoIGEgc2VyaWVzIG9mIHVu
bmVjZXNzYXJ5IHNwYW5zCisgICAgICAgIHRvIHJlbW92ZSB0aGUgaW5pdGlhbCBzdHlsZSB0aGF0
IHNpbXBseSBncm93IG91ciBtYXJrdXAuCisgICAgICAgIFRoZSBjb25zaXN0cyBpbiBtb3Zpbmcg
dGhlIGluc2VydGlvbiBwb2ludCBvdXRzaWRlIGFueSBpbmxpbmUgZWxlbWVudCB0aGF0IGNvdWxk
CisgICAgICAgIGFmZmVjdCB0aGUgZnJhZ21lbnQgYmVpbmcgaW5zZXJ0ZWQgd2hlbiB3ZSBhcmUg
bm90IHBhc3RpbmcgYW5kIG1hdGNoaW5nIHRoZSBzdHlsZS4KKworICAgICAgICBUZXN0OiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwKKworICAgICAgICAqIGVk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNJ
bmxpbmVOb2RlV2l0aFN0eWxlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IEFkZGVkIGxvZ2ljIHRvIGNoYW5nZSB0aGUgaW5zZXJ0
aW9uCisgICAgICAgIHBvaW50IGFjY29yZGluZyB0byB0aGUgbmV3IHJ1bGVzLgorCiAyMDExLTAz
LTIyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9S
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHJldmlzaW9uIDgxNTkwKQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTEludGVyY2hhbmdlLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAi
Tm9kZUxpc3QuaCIKICNpbmNsdWRlICJTZWxlY3Rpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
U21hcnRSZXBsYWNlLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCkBAIC03NzYsNiArNzc3
LDI4IEBAIHN0YXRpYyBOb2RlKiBlbmNsb3NpbmdJbmxpbmUoTm9kZSogbm9kZSkKICAgICByZXR1
cm4gbm9kZTsKIH0KIAorc3RhdGljIGJvb2wgaXNJbmxpbmVOb2RlV2l0aFN0eWxlKGNvbnN0IE5v
ZGUqIG5vZGUpCit7CisgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoYlRhZykgfHwKKyAgICAgICAg
bm9kZS0+aGFzVGFnTmFtZShmb250VGFnKSB8fAorICAgICAgICBub2RlLT5oYXNUYWdOYW1lKGlU
YWcpIHx8CisgICAgICAgIG5vZGUtPmhhc1RhZ05hbWUoc1RhZykgfHwKKyAgICAgICAgbm9kZS0+
aGFzVGFnTmFtZShzdHJpa2VUYWcpIHx8CisgICAgICAgIG5vZGUtPmhhc1RhZ05hbWUoc3Ryb25n
VGFnKSB8fAorICAgICAgICBub2RlLT5oYXNUYWdOYW1lKHN0cmlrZVRhZykgfHwKKyAgICAgICAg
bm9kZS0+aGFzVGFnTmFtZShzdWJUYWcpIHx8CisgICAgICAgIG5vZGUtPmhhc1RhZ05hbWUoc3Vw
VGFnKSB8fAorICAgICAgICBub2RlLT5oYXNUYWdOYW1lKHVUYWcpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAKKyAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShzcGFuVGFnKSAmJiBub2RlLT5y
ZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzSW5saW5lKCkpIHsKKyAgICAgICAgY29u
c3QgSFRNTEVsZW1lbnQqIGVsZW0gPSBzdGF0aWNfY2FzdDxjb25zdCBIVE1MRWxlbWVudCo+KG5v
ZGUpOworICAgICAgICByZXR1cm4gZWxlbS0+aGFzQXR0cmlidXRlKHN0eWxlQXR0cik7CisgICAg
fQorICAgIAorICAgIHJldHVybiBmYWxzZTsKK30KKyAgICAKIHZvaWQgUmVwbGFjZVNlbGVjdGlv
bkNvbW1hbmQ6OmRvQXBwbHkoKQogewogICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uID0g
ZW5kaW5nU2VsZWN0aW9uKCk7CkBAIC05MTcsNiArOTQwLDI2IEBAIHZvaWQgUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgIC8vIG91dHNpZGUgb2YgcHJlY2VkaW5nIHRhZ3Mu
CiAgICAgaW5zZXJ0aW9uUG9zID0gcG9zaXRpb25Bdm9pZGluZ1ByZWNlZGluZ05vZGVzKGluc2Vy
dGlvblBvcyk7CiAKKyAgICAvLyBJZiB3ZSBhcmUgbm90IHRyeWluZyB0byBtYXRjaCB0aGUgZGVz
dGluYXRpb24gc3R5bGUgYW5kIHdlIGFyZSBub3QKKyAgICAvLyBpbnNpZGUgYSBsaXN0IGVsZW1l
bnQgd2UgcHJlZmVyIGEgcG9zaXRpb24gdGhhdCBpcyBvdXRzaWRlIGlubGluZQorICAgIC8vIGVs
ZW1lbnRzIHRoYXQgcHJvdmlkZSBzdHlsZS4gVGhpcyB3YXkgd2UgY2FuIHByb2R1Y2UgYSBsZXNz
IHZlcmJvc2UKKyAgICAvLyBtYXJrdXAuCisgICAgaWYgKCFtX21hdGNoU3R5bGUgJiYgIWVuY2xv
c2luZ0xpc3QoaW5zZXJ0aW9uUG9zLmRlcHJlY2F0ZWROb2RlKCkpKSB7CisgICAgICAgIE5vZGUq
IHBhcmVudE5vZGUgPSBpbnNlcnRpb25Qb3MuZGVwcmVjYXRlZE5vZGUoKS0+cGFyZW50Tm9kZSgp
OworICAgICAgICB3aGlsZSAocGFyZW50Tm9kZSAmJiBwYXJlbnROb2RlLT5yZW5kZXJlcigpICYm
IGlzSW5saW5lTm9kZVdpdGhTdHlsZShwYXJlbnROb2RlKSkgeworICAgICAgICAgICAgLy8gSWYg
d2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSB0ZXh0IG5vZGUsIHdlIG5lZWQgdG8gc3BsaXQgaXQg
YmVmb3JlIHdlIGNhbgorICAgICAgICAgICAgLy8gbW92ZSB0aGUgaW5zZXJ0aW9uIHBvc2l0aW9u
LgorICAgICAgICAgICAgaWYgKGluc2VydGlvblBvcy5kZXByZWNhdGVkTm9kZSgpLT5pc1RleHRO
b2RlKCkgJiYgaW5zZXJ0aW9uUG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpCisgICAgICAg
ICAgICAgICAgc3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50KHN0YXRpY19jYXN0PFRleHQq
PihpbnNlcnRpb25Qb3MuZGVwcmVjYXRlZE5vZGUoKSksIGluc2VydGlvblBvcy5kZXByZWNhdGVk
RWRpdGluZ09mZnNldCgpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gSWYgdGhlIHN0
eWxlIGVsZW1lbnQgaGFzIG1vcmUgdGhhbiBvbmUgY2hpbGQsIHdlIG5lZWQgdG8gc3BsaXQgaXQu
CisgICAgICAgICAgICBpZiAocGFyZW50Tm9kZS0+Y2hpbGROb2RlcygpLT5sZW5ndGgoKSA+IDEp
CisgICAgICAgICAgICAgICAgc3BsaXRFbGVtZW50KHN0YXRpY19jYXN0PEVsZW1lbnQqPihwYXJl
bnROb2RlKSwgcGFyZW50Tm9kZS0+Y2hpbGROb2RlcygpLT5pdGVtKGluc2VydGlvblBvcy5kZXBy
ZWNhdGVkRWRpdGluZ09mZnNldCgpKSk7CisgICAgICAgICAgICBpbnNlcnRpb25Qb3MgPSBwb3Np
dGlvbkluUGFyZW50QmVmb3JlTm9kZShwYXJlbnROb2RlKTsKKyAgICAgICAgICAgIHBhcmVudE5v
ZGUgPSBwYXJlbnROb2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAgIH0KKyAgICB9CisKICAgICAv
LyBGSVhNRTogV2hlbiBwYXN0aW5nIHJpY2ggY29udGVudCB3ZSdyZSBvZnRlbiBwcmV2ZW50ZWQg
ZnJvbSBoZWFkaW5nIGRvd24gdGhlIGZhc3QgcGF0aCBieSBzdHlsZSBzcGFucy4gIFRyeQogICAg
IC8vIGFnYWluIGhlcmUgaWYgdGhleSd2ZSBiZWVuIHJlbW92ZWQuCiAgICAgCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA4MTcyMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIxIEBACisyMDExLTAzLTIyICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVwZWF0ZWQgY29weSBhbmQgcGFzdGUtaW4tcGxhY2Ugb3BlcmF0aW9uIHJlc3VsdHMgaW4gaW5j
cmVhc2luZ2x5IHZlcmJvc2UgSFRNTC4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2OTA1MDY+
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Njg3NAor
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1zdHlsZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0
LXdpdGgtc3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgIFRoZSBmb2xsb3dpbmcgYXJlIG5ldyBy
ZXN1bHRzIGZvciBleGlzdGluZyB0ZXN0cyB0aGF0IG5vdyBwcm9kdWNlCisgICAgICAgIGEgZGlm
ZmVyZW50IG1hcmt1cC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJk
LzUwNjU2MDUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZGlzcGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAxMS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0
LWF0LXRhYnNwYW4tMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDItZXhwZWN0ZWQudHh0Ogor
CiAyMDExLTAzLTIyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEJldGggRGFraW4uCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS10ZXh0LXdpdGgtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE5IEBACitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRCZWdpbkVkaXRpbmdJbkRPTVJh
bmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA1IG9m
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQmVnaW5FZGl0aW5nOldlYlZpZXdEaWRCZWdpbkVkaXRpbmdOb3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0
ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZy
b20gMCBvZiAjdGV4dCA+IEkgPiBCID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
OSBvZiAjdGV4dCA+IEZPTlQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBh
ZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxT
RQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNl
cnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDAg
b2YgI3RleHQgPiBJID4gQiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2Yg
I3RleHQgPiBGT05UID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5B
Y3Rpb246V2ViVmlld0luc2VydEFjdGlvblBhc3RlZAorRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IEZPTlQgPiBESVYgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRk9OVCA+IERJViA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3Ry
ZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlv
bgorVGVzdHM6IAorRml4IGZvciB0aGlzIGJ1ZzogPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01Njg3ND4gUmVwZWF0ZWQgY29weSBhbmQgcGFzdGUtaW4tcGxhY2Ugb3Bl
cmF0aW9uIHJlc3VsdHMgaW4gaW5jcmVhc2luZ2x5IHZlcmJvc2UgSFRNTC4KK0V4cGVjdGVkIFJl
c3VsdHM6IAorVGhlIG1hcmt1cCBiZWZvcmUgYW5kIGFmdGVyIHNob3VsZCBiZSBpZGVudGljYWwu
CitoZWxsbyBib2xkIGFuZCBpdGFsaWMKK2hlbGxvIGl0YWxpYworaGVsbG8gcmVkCitNYXJrdXAg
YmVmb3JlOiA8Yj48aT5oZWxsbyBib2xkIGFuZCBpdGFsaWM8L2k+PC9iPjxkaXY+PGk+aGVsbG8g
aXRhbGljPC9pPjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPmhlbGxvIHJlZDwvZm9u
dD48L2Rpdj4KK01hcmt1cCBhZnRlcjogPGI+PGk+aGVsbG8gYm9sZCBhbmQgaXRhbGljPC9pPjwv
Yj48ZGl2PjxpPmhlbGxvIGl0YWxpYzwvaT48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij5oZWxsbyByZWQ8L2ZvbnQ+PC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1zdHlsZS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1z
dHlsZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcwIEBACis8aHRtbD4gCis8aGVhZD4K
KworPHN0eWxlPgorLmVkaXRpbmcgeyAKKyAgICBib3JkZXI6IDJweCBzb2xpZCByZWQ7IAorICAg
IGZvbnQtc2l6ZTogMjRweDsgCit9CisuZXhwbGFuYXRpb24geyAKKyAgICBib3JkZXI6IDJweCBz
b2xpZCBibHVlOyAKKyAgICBwYWRkaW5nOiAxMnB4OyAKKyAgICBmb250LXNpemU6IDI0cHg7IAor
ICAgIG1hcmdpbi1ib3R0b206IDI0cHg7Cit9Cisuc2NlbmFyaW8geyBtYXJnaW4tYm90dG9tOiAx
NnB4O30KKy5zY2VuYXJpbzpmaXJzdC1saW5lIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1i
b3R0b206IDE2cHg7fQorLmV4cGVjdGVkLXJlc3VsdHM6Zmlyc3QtbGluZSB7IGZvbnQtd2VpZ2h0
OiBib2xkIH0KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0uLi9lZGl0aW5nLmpzIGxhbmd1YWdlPSJK
YXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L0phdmFTY3JpcHQiID48L3NjcmlwdD4KKworPHNjcmlwdD4K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gZWRpdGluZ1Rlc3QoKSB7CisgICAgdmFyIG1h
cmt1cEJlZm9yZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MOwor
ICAgIGxvZygiTWFya3VwIGJlZm9yZTogIiArIG1hcmt1cEJlZm9yZSk7CisgICAgc2VsZWN0QWxs
Q29tbWFuZCgpOworICAgIGNvcHlDb21tYW5kKCk7CisgICAgcGFzdGVDb21tYW5kKCk7CisgICAg
dmFyIG1hcmt1cEFmdGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS5pbm5lckhU
TUw7CisgICAgbG9nKCJNYXJrdXAgYWZ0ZXI6ICIgKyBtYXJrdXBBZnRlcik7Cit9CisKK2Z1bmN0
aW9uIGxvZyhzdHIpIHsKKyAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIp
OworICAgIGxpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0cikpOworICAg
IHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBj
b25zb2xlLmFwcGVuZENoaWxkKGxpKTsKK30KKworPC9zY3JpcHQ+CisKKzx0aXRsZT5FZGl0aW5n
IFRlc3Q8L3RpdGxlPiAKKzwvaGVhZD4gCis8Ym9keT4KKzxkaXYgY2xhc3M9ImV4cGxhbmF0aW9u
Ij4KKzxkaXYgY2xhc3M9InNjZW5hcmlvIj4KK1Rlc3RzOiAKKzxicj4KK0ZpeCBmb3IgdGhpcyBi
dWc6IAorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2
ODc0Ij4mbHQ7aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2ODc0Jmd0
OzwvYT4gUmVwZWF0ZWQgY29weSBhbmQgcGFzdGUtaW4tcGxhY2Ugb3BlcmF0aW9uIHJlc3VsdHMg
aW4gaW5jcmVhc2luZ2x5IHZlcmJvc2UgSFRNTC4KKzwvZGl2PgorPGRpdiBjbGFzcz0iZXhwZWN0
ZWQtcmVzdWx0cyI+CitFeHBlY3RlZCBSZXN1bHRzOgorPGJyPgorVGhlIG1hcmt1cCBiZWZvcmUg
YW5kIGFmdGVyIHNob3VsZCBiZSBpZGVudGljYWwuCis8L2Rpdj4KKzwvZGl2PgorPGRpdiBjb250
ZW50ZWRpdGFibGUgaWQ9InRlc3QiIGNsYXNzPSJlZGl0aW5nIj4KKzxiPjxpPmhlbGxvIGJvbGQg
YW5kIGl0YWxpYzwvaT48L2I+PGRpdj48aT5oZWxsbyBpdGFsaWM8L0k+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+aGVsbG8gcmVkPC9mb250PjwvZGl2PgorPC9kaXY+Cis8dWwgaWQ9
ImNvbnNvbGUiPjwvdWw+CisKKzxzY3JpcHQ+CitydW5FZGl0aW5nVGVzdCgpOworPC9zY3JpcHQ+
CisKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL3Bhc3RlYm9hcmQvNTA2NTYwNS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MDY1NjA1LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gODE1OTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9w
YXN0ZWJvYXJkLzUwNjU2MDUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xOCwxNiAr
MTgsMTEgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDM2KSBzaXplIDc4NHgzNgogICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDE4CiAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZP
TlR9IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jMDAwMDAwXQot
ICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAxNDh4MTgg
W2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxNDh4MTgKLSAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTQ4OiAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuIgotICAgICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDE4KSBzaXplIDc4NHgxOCBbY29sb3I9I0ZGMDAwMF0KLSAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0j
MDAwMDAwXQotICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUg
MTQ4eDE4IFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDE0OHgxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMTQ4OiAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuIgorICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNDh4MTgKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDg6ICJUaGlzIHRleHQgc2hvdWxkIGJlIHJlZC4iCisg
ICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTgpIHNpemUgNzg0eDE4CisgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jRkYw
MDAwXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNDh4
MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDg6ICJUaGlzIHRl
eHQgc2hvdWxkIGJlIHJlZC4iCiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMzYpIHNpemUgNzg0eDAKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAs
MCkgc2l6ZSAweDAgW2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZP
TlR9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xvcj0jRkYwMDAwXQotY2FyZXQ6IHBvc2l0aW9uIDI0
IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCAxIHtESVZ9IG9m
IGNoaWxkIDAge0ZPTlR9IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMiB7RElWfSBvZiBib2R5
CitjYXJldDogcG9zaXRpb24gMjQgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0ZPTlR9
IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMiB7RElWfSBvZiBjaGlsZCAyIHtESVZ9IG9mIGJv
ZHkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGlz
cGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9kaXNwbGF5LWJsb2NrLW9uLXNwYW5z
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODE1OTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rpc3BsYXktYmxvY2stb24tc3BhbnMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdB
VEU6IHNob3VsZEluc2VydE5vZGU6I2RvY3VtZW50LWZyYWdtZW50IHJlcGxhY2luZ0RPTVJhbmdl
OnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgZ2l2ZW5BY3Rpb246V2ViVmlld0luc2VydEFjdGlvblBhc3RlZAogRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERP
TVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IEIgPiBTUEFO
ID4gQiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA0IG9mICN0ZXh0
ID4gQiA+IFNQQU4gPiBCID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFm
ZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNF
CitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0g
c3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTMzLDExICszMywxMCBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDEzN3gxOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMzc6
ICJUaGlzIGlzIGEgcGFyYWdyYXBoLiIKICAgICAgICAgUmVuZGVyQmxvY2sge1NQQU59IGF0ICgw
LDE4KSBzaXplIDc4NHgxOAotICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6
ZSAxODJ4MTgKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAz
MHgxOAotICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMzB4MTgK
LSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMHgxOAot
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJUaGlzIgorICAg
ICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAzMHgxOAorICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzB4MTgKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJUaGlzIgorICAgICAgICAgIFJlbmRlcklubGluZSB7
Qn0gYXQgKDAsMCkgc2l6ZSAxNTJ4MTgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMzAsMCkgc2l6ZSAxNTJ4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMwLDApIHdp
ZHRoIDE1MjogIiBpcyBhbm90aGVyIHBhcmFncmFwaC4iCi1jYXJldDogcG9zaXRpb24gNCBvZiBj
aGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMCB7U1BBTn0gb2YgY2hpbGQg
MCB7Qn0gb2YgY2hpbGQgMiB7U1BBTn0gb2YgY2hpbGQgNSB7RElWfSBvZiBib2R5CitjYXJldDog
cG9zaXRpb24gNCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMiB7
U1BBTn0gb2YgY2hpbGQgNSB7RElWfSBvZiBib2R5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDExLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXRleHQtMDExLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODE1OTApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDExLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgRURJVElORyBERUxFR0FURTogd2Vi
Vmlld0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpX
ZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNl
cnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDAg
b2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0ZWQKIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRE
T01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDUgb2YgI3RleHQgPiBCID4gRk9O
VCA+IFAgPiBCID4gRk9OVCA+IFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA1IG9mICN0
ZXh0ID4gQiA+IEZPTlQgPiBQID4gQiA+IEZPTlQgPiBQID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6
RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51
bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA1IG9mICN0ZXh0ID4gQiA+IEZPTlQgPiBQID4gUCA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBCID4gRk9OVCA+IFAgPiBQ
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZp
Y2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTI4LDIzICsyOCwxNSBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDU1eDIwCiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDU1OiAidGhlcmUiCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNzQpIHNpemUgNzg0
eDU4Ci0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDAK
LSAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDU4Ci0gICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIxCi0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZP
TlR9IGF0ICgwLDApIHNpemUgNTV4MjAKLSAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtCfSBh
dCAoMCwwKSBzaXplIDU1eDIwCi0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNTV4MjAKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDU1OiAiaGVsbG8iCi0gICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDM3KSBzaXpl
IDc4NHgyMQotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDU1
eDIwCi0gICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA1NXgyMAot
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU1eDIwCi0g
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1NTogInRoZXJlIgorICAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MjEKKyAgICAgICAgICBSZW5k
ZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgNTV4MjAKKyAgICAgICAgICAgIFJlbmRlcklu
bGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA1NXgyMAorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA1NXgyMAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDU1OiAiaGVsbG8iCisgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNykg
c2l6ZSA3ODR4MjEKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUg
NTV4MjAKKyAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA1NXgyMAor
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NXgyMAorICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU1OiAidGhlcmUiCiAgICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDc0KSBzaXplIDc4NHgwCi0gICAgICAgICAg
UmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVy
SW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9O
VH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAs
MCkgc2l6ZSAweDAKLWNhcmV0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGls
ZCAwIHtCfSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCAxIHtQfSBvZiBjaGlsZCAwIHtCfSBv
ZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCA0IHtQfSBvZiBib2R5CitjYXJldDogcG9zaXRpb24g
NSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMCB7Rk9OVH0gb2Yg
Y2hpbGQgMSB7UH0gb2YgY2hpbGQgNCB7UH0gb2YgYm9keQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LWF0LXRhYnNwYW4tMDAxLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDEtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA4MTU5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTQsMTEgKzQsMTEgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVE
SVRJTkcgREVMRUdBVEU6IHNob3VsZEluc2VydE5vZGU6I2RvY3VtZW50LWZyYWdtZW50IHJlcGxh
Y2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0ZWQKLUVESVRJ
TkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9m
ICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3Rl
eHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25z
dHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5n
ZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFO
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hv
dWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4g
U1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0
ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBT
UEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BB
TiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDIgb2Yg
I3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4
dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApAQCAtMjAs
MTMgKzIwLDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTU1eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxNCwxNCkgc2l6ZSAxMXgyOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0
LDE0KSB3aWR0aCAxMTogImEiCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDEzM3gyOAotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBz
aXplIDIzeDI4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjUsMTQpIHNp
emUgMjN4MjgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUsMTQpIHdpZHRoIDIzOiAi
YXgiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNSwxNCkgc2l6ZSAyM3gyOAor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI1LDE0KSB3aWR0aCAyMzogImF4IgorICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMTB4MjgKICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoNDgsMTQpIHNpemUgMTEweDI4CiAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0OCwxNCkgd2lkdGggMTEwOiAiXHh7OX1ceHs5fVx4ezl9IgogICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU4LDE0KSBzaXplIDExeDI4CiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTU4LDE0KSB3aWR0aCAxMTogInoiCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotY2FyZXQ6IHBvc2l0aW9uIDIgb2YgY2hpbGQgMCB7I3Rl
eHR9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNoaWxkIDEge1NQQU59IG9mIGNoaWxkIDEge1NQQU59
IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDIgb2YgY2hpbGQgMSB7
I3RleHR9IG9mIGNoaWxkIDEge1NQQU59IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LWF0
LXRhYnNwYW4tMDAyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA4MTU5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTYsMTEgKzYsMTEgQEAgRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVH
QVRFOiBzaG91bGRJbnNlcnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5n
ZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0ZWQKIEVE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2Vs
ZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4g
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQ
QU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25z
dHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5n
ZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFO
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hv
dWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4g
U1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0
ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBT
UEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BB
TiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDIgb2Yg
I3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4
dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApAQCAtMjUs
MTMgKzI1LDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzN3gyOAogICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgyNSwxNCkgc2l6ZSAzN3gyOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjUsMTQpIHdpZHRoIDM3OiAiXHh7OX0iCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDk2eDI4Ci0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMjN4MjgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2
MiwxNCkgc2l6ZSAyM3gyOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MiwxNCkgd2lk
dGggMjM6ICJheCIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYyLDE0KSBzaXpl
IDIzeDI4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjIsMTQpIHdpZHRoIDIzOiAiYXgiCisg
ICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDczeDI4CiAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDg1LDE0KSBzaXplIDczeDI4CiAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg4NSwxNCkgd2lkdGggNzM6ICJceHs5fVx4ezl9IgogICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU4LDE0KSBzaXplIDExeDI4CiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTU4LDE0KSB3aWR0aCAxMTogInoiCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotY2FyZXQ6IHBvc2l0aW9uIDIgb2YgY2hpbGQgMCB7I3Rl
eHR9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNoaWxkIDIge1NQQU59IG9mIGNoaWxkIDEge1NQQU59
IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDIgb2YgY2hpbGQgMiB7
I3RleHR9IG9mIGNoaWxkIDEge1NQQU59IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86545</attachid>
            <date>2011-03-22 16:58:15 -0700</date>
            <delta_ts>2011-03-23 11:32:49 -0700</delta_ts>
            <desc>Patch2</desc>
            <filename>slimmarkup.txt</filename>
            <type>text/plain</type>
            <size>25301</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxNzIwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMjIgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZXBlYXRlZCBjb3B5IGFuZCBwYXN0ZS1pbi1wbGFjZSBvcGVy
YXRpb24gcmVzdWx0cyBpbiBpbmNyZWFzaW5nbHkgdmVyYm9zZSBIVE1MLgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODY5MDUwNj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU2ODc0CisgICAgICAgIAorICAgICAgICBXaGVuIHdlIGNhbGN1bGF0ZSB0
aGUgc3R5bGUgdG8gYXBwbHkgYXQgdGhlIGluc2VydGlvbiBwb2ludCB3ZSBjb21wYXJlIHRoZSBp
bml0aWFsCisgICAgICAgIHN0eWxlIGF0IHRoZSBpbnNlcnRpb24gcG9pbnQgYWdhaW5zdCB0aGUg
c3R5bGUgY2FsY3VsYXRlZCBhdCB0aGUgc3BhbiB3ZSB3cmFwIHRoZQorICAgICAgICBjb3BpZWQg
bWFya3VwIGZyYWdtZW50IHdpdGguIFdlIGNvdWxkIGVuZCB1cCB3aXRoIGEgc2VyaWVzIG9mIHVu
bmVjZXNzYXJ5IHNwYW5zCisgICAgICAgIHRvIHJlbW92ZSB0aGUgaW5pdGlhbCBzdHlsZSB0aGF0
IHNpbXBseSBncm93IG91ciBtYXJrdXAuCisgICAgICAgIFRoZSBjb25zaXN0cyBpbiBtb3Zpbmcg
dGhlIGluc2VydGlvbiBwb2ludCBvdXRzaWRlIGFueSBpbmxpbmUgZWxlbWVudCB0aGF0IGNvdWxk
CisgICAgICAgIGFmZmVjdCB0aGUgZnJhZ21lbnQgYmVpbmcgaW5zZXJ0ZWQgd2hlbiB3ZSBhcmUg
bm90IHBhc3RpbmcgYW5kIG1hdGNoaW5nIHRoZSBzdHlsZS4KKworICAgICAgICBUZXN0OiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwKKworICAgICAgICAqIGVk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNJ
bmxpbmVOb2RlV2l0aFN0eWxlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IEFkZGVkIGxvZ2ljIHRvIGNoYW5nZSB0aGUgaW5zZXJ0
aW9uCisgICAgICAgIHBvaW50IGFjY29yZGluZyB0byB0aGUgbmV3IHJ1bGVzLgorCiAyMDExLTAz
LTIyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9S
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHJldmlzaW9uIDgxNTkwKQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTEludGVyY2hhbmdlLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAi
Tm9kZUxpc3QuaCIKICNpbmNsdWRlICJTZWxlY3Rpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
U21hcnRSZXBsYWNlLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCkBAIC03NzYsNiArNzc3
LDI4IEBAIHN0YXRpYyBOb2RlKiBlbmNsb3NpbmdJbmxpbmUoTm9kZSogbm9kZSkKICAgICByZXR1
cm4gbm9kZTsKIH0KIAorc3RhdGljIGJvb2wgaXNJbmxpbmVOb2RlV2l0aFN0eWxlKGNvbnN0IE5v
ZGUqIG5vZGUpCit7CisgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoYlRhZykKKyAgICAgICAgfHwg
bm9kZS0+aGFzVGFnTmFtZShmb250VGFnKQorICAgICAgICB8fCBub2RlLT5oYXNUYWdOYW1lKGlU
YWcpCisgICAgICAgIHx8IG5vZGUtPmhhc1RhZ05hbWUoc1RhZykKKyAgICAgICAgfHwgbm9kZS0+
aGFzVGFnTmFtZShzdHJpa2VUYWcpCisgICAgICAgIHx8IG5vZGUtPmhhc1RhZ05hbWUoc3Ryb25n
VGFnKQorICAgICAgICB8fCBub2RlLT5oYXNUYWdOYW1lKHN0cmlrZVRhZykKKyAgICAgICAgfHwg
bm9kZS0+aGFzVGFnTmFtZShzdWJUYWcpCisgICAgICAgIHx8IG5vZGUtPmhhc1RhZ05hbWUoc3Vw
VGFnKQorICAgICAgICB8fCBub2RlLT5oYXNUYWdOYW1lKHVUYWcpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAKKyAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShzcGFuVGFnKSAmJiBub2RlLT5y
ZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzSW5saW5lKCkpIHsKKyAgICAgICAgY29u
c3QgSFRNTEVsZW1lbnQqIGVsZW0gPSBzdGF0aWNfY2FzdDxjb25zdCBIVE1MRWxlbWVudCo+KG5v
ZGUpOworICAgICAgICByZXR1cm4gZWxlbS0+aGFzQXR0cmlidXRlKHN0eWxlQXR0cik7CisgICAg
fQorICAgIAorICAgIHJldHVybiBmYWxzZTsKK30KKyAgICAKIHZvaWQgUmVwbGFjZVNlbGVjdGlv
bkNvbW1hbmQ6OmRvQXBwbHkoKQogewogICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uID0g
ZW5kaW5nU2VsZWN0aW9uKCk7CkBAIC05MTcsNiArOTQwLDI2IEBAIHZvaWQgUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgIC8vIG91dHNpZGUgb2YgcHJlY2VkaW5nIHRhZ3Mu
CiAgICAgaW5zZXJ0aW9uUG9zID0gcG9zaXRpb25Bdm9pZGluZ1ByZWNlZGluZ05vZGVzKGluc2Vy
dGlvblBvcyk7CiAKKyAgICAvLyBJZiB3ZSBhcmUgbm90IHRyeWluZyB0byBtYXRjaCB0aGUgZGVz
dGluYXRpb24gc3R5bGUgYW5kIHdlIGFyZSBub3QKKyAgICAvLyBpbnNpZGUgYSBsaXN0IGVsZW1l
bnQgd2UgcHJlZmVyIGEgcG9zaXRpb24gdGhhdCBpcyBvdXRzaWRlIGlubGluZQorICAgIC8vIGVs
ZW1lbnRzIHRoYXQgcHJvdmlkZSBzdHlsZS4gVGhpcyB3YXkgd2UgY2FuIHByb2R1Y2UgYSBsZXNz
IHZlcmJvc2UKKyAgICAvLyBtYXJrdXAuCisgICAgaWYgKCFtX21hdGNoU3R5bGUgJiYgIWVuY2xv
c2luZ0xpc3QoaW5zZXJ0aW9uUG9zLmRlcHJlY2F0ZWROb2RlKCkpKSB7CisgICAgICAgIE5vZGUq
IHBhcmVudE5vZGUgPSBpbnNlcnRpb25Qb3MuZGVwcmVjYXRlZE5vZGUoKS0+cGFyZW50Tm9kZSgp
OworICAgICAgICB3aGlsZSAocGFyZW50Tm9kZSAmJiBwYXJlbnROb2RlLT5yZW5kZXJlcigpICYm
IGlzSW5saW5lTm9kZVdpdGhTdHlsZShwYXJlbnROb2RlKSkgeworICAgICAgICAgICAgLy8gSWYg
d2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSB0ZXh0IG5vZGUsIHdlIG5lZWQgdG8gc3BsaXQgaXQg
YmVmb3JlIHdlIGNhbgorICAgICAgICAgICAgLy8gbW92ZSB0aGUgaW5zZXJ0aW9uIHBvc2l0aW9u
LgorICAgICAgICAgICAgaWYgKGluc2VydGlvblBvcy5kZXByZWNhdGVkTm9kZSgpLT5pc1RleHRO
b2RlKCkgJiYgaW5zZXJ0aW9uUG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpCisgICAgICAg
ICAgICAgICAgc3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50KHN0YXRpY19jYXN0PFRleHQq
PihpbnNlcnRpb25Qb3MuZGVwcmVjYXRlZE5vZGUoKSksIGluc2VydGlvblBvcy5kZXByZWNhdGVk
RWRpdGluZ09mZnNldCgpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gSWYgdGhlIHN0
eWxlIGVsZW1lbnQgaGFzIG1vcmUgdGhhbiBvbmUgY2hpbGQsIHdlIG5lZWQgdG8gc3BsaXQgaXQu
CisgICAgICAgICAgICBpZiAocGFyZW50Tm9kZS0+Y2hpbGROb2RlcygpLT5sZW5ndGgoKSA+IDEp
CisgICAgICAgICAgICAgICAgc3BsaXRFbGVtZW50KHN0YXRpY19jYXN0PEVsZW1lbnQqPihwYXJl
bnROb2RlKSwgcGFyZW50Tm9kZS0+Y2hpbGROb2RlcygpLT5pdGVtKGluc2VydGlvblBvcy5kZXBy
ZWNhdGVkRWRpdGluZ09mZnNldCgpKSk7CisgICAgICAgICAgICBpbnNlcnRpb25Qb3MgPSBwb3Np
dGlvbkluUGFyZW50QmVmb3JlTm9kZShwYXJlbnROb2RlKTsKKyAgICAgICAgICAgIHBhcmVudE5v
ZGUgPSBwYXJlbnROb2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAgIH0KKyAgICB9CisKICAgICAv
LyBGSVhNRTogV2hlbiBwYXN0aW5nIHJpY2ggY29udGVudCB3ZSdyZSBvZnRlbiBwcmV2ZW50ZWQg
ZnJvbSBoZWFkaW5nIGRvd24gdGhlIGZhc3QgcGF0aCBieSBzdHlsZSBzcGFucy4gIFRyeQogICAg
IC8vIGFnYWluIGhlcmUgaWYgdGhleSd2ZSBiZWVuIHJlbW92ZWQuCiAgICAgCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA4MTcyMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIxIEBACisyMDExLTAzLTIyICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVwZWF0ZWQgY29weSBhbmQgcGFzdGUtaW4tcGxhY2Ugb3BlcmF0aW9uIHJlc3VsdHMgaW4gaW5j
cmVhc2luZ2x5IHZlcmJvc2UgSFRNTC4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2OTA1MDY+
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Njg3NAor
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1zdHlsZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0
LXdpdGgtc3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgIFRoZSBmb2xsb3dpbmcgYXJlIG5ldyBy
ZXN1bHRzIGZvciBleGlzdGluZyB0ZXN0cyB0aGF0IG5vdyBwcm9kdWNlCisgICAgICAgIGEgZGlm
ZmVyZW50IG1hcmt1cC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJk
LzUwNjU2MDUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZGlzcGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAxMS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0
LWF0LXRhYnNwYW4tMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDItZXhwZWN0ZWQudHh0Ogor
CiAyMDExLTAzLTIyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEJldGggRGFraW4uCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS10ZXh0LXdpdGgtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE5IEBACitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRCZWdpbkVkaXRpbmdJbkRPTVJh
bmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA1IG9m
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQmVnaW5FZGl0aW5nOldlYlZpZXdEaWRCZWdpbkVkaXRpbmdOb3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0
ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZy
b20gMCBvZiAjdGV4dCA+IEkgPiBCID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
OSBvZiAjdGV4dCA+IEZPTlQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBh
ZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxT
RQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNl
cnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDAg
b2YgI3RleHQgPiBJID4gQiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2Yg
I3RleHQgPiBGT05UID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5B
Y3Rpb246V2ViVmlld0luc2VydEFjdGlvblBhc3RlZAorRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IEZPTlQgPiBESVYgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRk9OVCA+IERJViA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3Ry
ZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlv
bgorVGVzdHM6IAorRml4IGZvciB0aGlzIGJ1ZzogPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01Njg3ND4gUmVwZWF0ZWQgY29weSBhbmQgcGFzdGUtaW4tcGxhY2Ugb3Bl
cmF0aW9uIHJlc3VsdHMgaW4gaW5jcmVhc2luZ2x5IHZlcmJvc2UgSFRNTC4KK0V4cGVjdGVkIFJl
c3VsdHM6IAorVGhlIG1hcmt1cCBiZWZvcmUgYW5kIGFmdGVyIHNob3VsZCBiZSBpZGVudGljYWwu
CitoZWxsbyBib2xkIGFuZCBpdGFsaWMKK2hlbGxvIGl0YWxpYworaGVsbG8gcmVkCitNYXJrdXAg
YmVmb3JlOiA8Yj48aT5oZWxsbyBib2xkIGFuZCBpdGFsaWM8L2k+PC9iPjxkaXY+PGk+aGVsbG8g
aXRhbGljPC9pPjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPmhlbGxvIHJlZDwvZm9u
dD48L2Rpdj4KK01hcmt1cCBhZnRlcjogPGI+PGk+aGVsbG8gYm9sZCBhbmQgaXRhbGljPC9pPjwv
Yj48ZGl2PjxpPmhlbGxvIGl0YWxpYzwvaT48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij5oZWxsbyByZWQ8L2ZvbnQ+PC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1zdHlsZS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1z
dHlsZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcwIEBACis8aHRtbD4gCis8aGVhZD4K
KworPHN0eWxlPgorLmVkaXRpbmcgeyAKKyAgICBib3JkZXI6IDJweCBzb2xpZCByZWQ7IAorICAg
IGZvbnQtc2l6ZTogMjRweDsgCit9CisuZXhwbGFuYXRpb24geyAKKyAgICBib3JkZXI6IDJweCBz
b2xpZCBibHVlOyAKKyAgICBwYWRkaW5nOiAxMnB4OyAKKyAgICBmb250LXNpemU6IDI0cHg7IAor
ICAgIG1hcmdpbi1ib3R0b206IDI0cHg7Cit9Cisuc2NlbmFyaW8geyBtYXJnaW4tYm90dG9tOiAx
NnB4O30KKy5zY2VuYXJpbzpmaXJzdC1saW5lIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1i
b3R0b206IDE2cHg7fQorLmV4cGVjdGVkLXJlc3VsdHM6Zmlyc3QtbGluZSB7IGZvbnQtd2VpZ2h0
OiBib2xkIH0KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0uLi9lZGl0aW5nLmpzIGxhbmd1YWdlPSJK
YXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L0phdmFTY3JpcHQiID48L3NjcmlwdD4KKworPHNjcmlwdD4K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gZWRpdGluZ1Rlc3QoKSB7CisgICAgdmFyIG1h
cmt1cEJlZm9yZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MOwor
ICAgIGxvZygiTWFya3VwIGJlZm9yZTogIiArIG1hcmt1cEJlZm9yZSk7CisgICAgc2VsZWN0QWxs
Q29tbWFuZCgpOworICAgIGNvcHlDb21tYW5kKCk7CisgICAgcGFzdGVDb21tYW5kKCk7CisgICAg
dmFyIG1hcmt1cEFmdGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS5pbm5lckhU
TUw7CisgICAgbG9nKCJNYXJrdXAgYWZ0ZXI6ICIgKyBtYXJrdXBBZnRlcik7Cit9CisKK2Z1bmN0
aW9uIGxvZyhzdHIpIHsKKyAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIp
OworICAgIGxpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0cikpOworICAg
IHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBj
b25zb2xlLmFwcGVuZENoaWxkKGxpKTsKK30KKworPC9zY3JpcHQ+CisKKzx0aXRsZT5FZGl0aW5n
IFRlc3Q8L3RpdGxlPiAKKzwvaGVhZD4gCis8Ym9keT4KKzxkaXYgY2xhc3M9ImV4cGxhbmF0aW9u
Ij4KKzxkaXYgY2xhc3M9InNjZW5hcmlvIj4KK1Rlc3RzOiAKKzxicj4KK0ZpeCBmb3IgdGhpcyBi
dWc6IAorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2
ODc0Ij4mbHQ7aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2ODc0Jmd0
OzwvYT4gUmVwZWF0ZWQgY29weSBhbmQgcGFzdGUtaW4tcGxhY2Ugb3BlcmF0aW9uIHJlc3VsdHMg
aW4gaW5jcmVhc2luZ2x5IHZlcmJvc2UgSFRNTC4KKzwvZGl2PgorPGRpdiBjbGFzcz0iZXhwZWN0
ZWQtcmVzdWx0cyI+CitFeHBlY3RlZCBSZXN1bHRzOgorPGJyPgorVGhlIG1hcmt1cCBiZWZvcmUg
YW5kIGFmdGVyIHNob3VsZCBiZSBpZGVudGljYWwuCis8L2Rpdj4KKzwvZGl2PgorPGRpdiBjb250
ZW50ZWRpdGFibGUgaWQ9InRlc3QiIGNsYXNzPSJlZGl0aW5nIj4KKzxiPjxpPmhlbGxvIGJvbGQg
YW5kIGl0YWxpYzwvaT48L2I+PGRpdj48aT5oZWxsbyBpdGFsaWM8L0k+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+aGVsbG8gcmVkPC9mb250PjwvZGl2PgorPC9kaXY+Cis8dWwgaWQ9
ImNvbnNvbGUiPjwvdWw+CisKKzxzY3JpcHQ+CitydW5FZGl0aW5nVGVzdCgpOworPC9zY3JpcHQ+
CisKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL3Bhc3RlYm9hcmQvNTA2NTYwNS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MDY1NjA1LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gODE1OTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9w
YXN0ZWJvYXJkLzUwNjU2MDUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xOCwxNiAr
MTgsMTEgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDM2KSBzaXplIDc4NHgzNgogICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDE4CiAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZP
TlR9IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jMDAwMDAwXQot
ICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAxNDh4MTgg
W2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxNDh4MTgKLSAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTQ4OiAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuIgotICAgICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDE4KSBzaXplIDc4NHgxOCBbY29sb3I9I0ZGMDAwMF0KLSAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0j
MDAwMDAwXQotICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUg
MTQ4eDE4IFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDE0OHgxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMTQ4OiAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuIgorICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNDh4MTgKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDg6ICJUaGlzIHRleHQgc2hvdWxkIGJlIHJlZC4iCisg
ICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTgpIHNpemUgNzg0eDE4CisgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jRkYw
MDAwXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNDh4
MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDg6ICJUaGlzIHRl
eHQgc2hvdWxkIGJlIHJlZC4iCiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMzYpIHNpemUgNzg0eDAKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAs
MCkgc2l6ZSAweDAgW2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZP
TlR9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xvcj0jRkYwMDAwXQotY2FyZXQ6IHBvc2l0aW9uIDI0
IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCAxIHtESVZ9IG9m
IGNoaWxkIDAge0ZPTlR9IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMiB7RElWfSBvZiBib2R5
CitjYXJldDogcG9zaXRpb24gMjQgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0ZPTlR9
IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMiB7RElWfSBvZiBjaGlsZCAyIHtESVZ9IG9mIGJv
ZHkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGlz
cGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9kaXNwbGF5LWJsb2NrLW9uLXNwYW5z
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODE1OTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rpc3BsYXktYmxvY2stb24tc3BhbnMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdB
VEU6IHNob3VsZEluc2VydE5vZGU6I2RvY3VtZW50LWZyYWdtZW50IHJlcGxhY2luZ0RPTVJhbmdl
OnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgZ2l2ZW5BY3Rpb246V2ViVmlld0luc2VydEFjdGlvblBhc3RlZAogRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERP
TVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IEIgPiBTUEFO
ID4gQiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA0IG9mICN0ZXh0
ID4gQiA+IFNQQU4gPiBCID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFm
ZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNF
CitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0g
c3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTMzLDExICszMywxMCBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDEzN3gxOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMzc6
ICJUaGlzIGlzIGEgcGFyYWdyYXBoLiIKICAgICAgICAgUmVuZGVyQmxvY2sge1NQQU59IGF0ICgw
LDE4KSBzaXplIDc4NHgxOAotICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6
ZSAxODJ4MTgKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAz
MHgxOAotICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMzB4MTgK
LSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMHgxOAot
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJUaGlzIgorICAg
ICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAzMHgxOAorICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzB4MTgKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJUaGlzIgorICAgICAgICAgIFJlbmRlcklubGluZSB7
Qn0gYXQgKDAsMCkgc2l6ZSAxNTJ4MTgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMzAsMCkgc2l6ZSAxNTJ4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMwLDApIHdp
ZHRoIDE1MjogIiBpcyBhbm90aGVyIHBhcmFncmFwaC4iCi1jYXJldDogcG9zaXRpb24gNCBvZiBj
aGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMCB7U1BBTn0gb2YgY2hpbGQg
MCB7Qn0gb2YgY2hpbGQgMiB7U1BBTn0gb2YgY2hpbGQgNSB7RElWfSBvZiBib2R5CitjYXJldDog
cG9zaXRpb24gNCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMiB7
U1BBTn0gb2YgY2hpbGQgNSB7RElWfSBvZiBib2R5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDExLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXRleHQtMDExLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODE1OTApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDExLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgRURJVElORyBERUxFR0FURTogd2Vi
Vmlld0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpX
ZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNl
cnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDAg
b2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0ZWQKIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRE
T01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDUgb2YgI3RleHQgPiBCID4gRk9O
VCA+IFAgPiBCID4gRk9OVCA+IFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA1IG9mICN0
ZXh0ID4gQiA+IEZPTlQgPiBQID4gQiA+IEZPTlQgPiBQID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6
RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51
bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA1IG9mICN0ZXh0ID4gQiA+IEZPTlQgPiBQID4gUCA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBCID4gRk9OVCA+IFAgPiBQ
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZp
Y2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTI4LDIzICsyOCwxNSBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDU1eDIwCiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDU1OiAidGhlcmUiCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNzQpIHNpemUgNzg0
eDU4Ci0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDAK
LSAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDU4Ci0gICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIxCi0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZP
TlR9IGF0ICgwLDApIHNpemUgNTV4MjAKLSAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtCfSBh
dCAoMCwwKSBzaXplIDU1eDIwCi0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNTV4MjAKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDU1OiAiaGVsbG8iCi0gICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDM3KSBzaXpl
IDc4NHgyMQotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDU1
eDIwCi0gICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA1NXgyMAot
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU1eDIwCi0g
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1NTogInRoZXJlIgorICAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MjEKKyAgICAgICAgICBSZW5k
ZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgNTV4MjAKKyAgICAgICAgICAgIFJlbmRlcklu
bGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA1NXgyMAorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA1NXgyMAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDU1OiAiaGVsbG8iCisgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNykg
c2l6ZSA3ODR4MjEKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUg
NTV4MjAKKyAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA1NXgyMAor
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NXgyMAorICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU1OiAidGhlcmUiCiAgICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDc0KSBzaXplIDc4NHgwCi0gICAgICAgICAg
UmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVy
SW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9O
VH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAs
MCkgc2l6ZSAweDAKLWNhcmV0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGls
ZCAwIHtCfSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCAxIHtQfSBvZiBjaGlsZCAwIHtCfSBv
ZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCA0IHtQfSBvZiBib2R5CitjYXJldDogcG9zaXRpb24g
NSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMCB7Rk9OVH0gb2Yg
Y2hpbGQgMSB7UH0gb2YgY2hpbGQgNCB7UH0gb2YgYm9keQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LWF0LXRhYnNwYW4tMDAxLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDEtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA4MTU5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTQsMTEgKzQsMTEgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVE
SVRJTkcgREVMRUdBVEU6IHNob3VsZEluc2VydE5vZGU6I2RvY3VtZW50LWZyYWdtZW50IHJlcGxh
Y2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0ZWQKLUVESVRJ
TkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9m
ICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3Rl
eHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25z
dHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5n
ZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFO
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hv
dWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4g
U1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0
ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBT
UEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BB
TiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDIgb2Yg
I3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4
dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApAQCAtMjAs
MTMgKzIwLDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTU1eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxNCwxNCkgc2l6ZSAxMXgyOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0
LDE0KSB3aWR0aCAxMTogImEiCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDEzM3gyOAotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBz
aXplIDIzeDI4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjUsMTQpIHNp
emUgMjN4MjgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUsMTQpIHdpZHRoIDIzOiAi
YXgiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNSwxNCkgc2l6ZSAyM3gyOAor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI1LDE0KSB3aWR0aCAyMzogImF4IgorICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMTB4MjgKICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoNDgsMTQpIHNpemUgMTEweDI4CiAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0OCwxNCkgd2lkdGggMTEwOiAiXHh7OX1ceHs5fVx4ezl9IgogICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU4LDE0KSBzaXplIDExeDI4CiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTU4LDE0KSB3aWR0aCAxMTogInoiCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotY2FyZXQ6IHBvc2l0aW9uIDIgb2YgY2hpbGQgMCB7I3Rl
eHR9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNoaWxkIDEge1NQQU59IG9mIGNoaWxkIDEge1NQQU59
IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDIgb2YgY2hpbGQgMSB7
I3RleHR9IG9mIGNoaWxkIDEge1NQQU59IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LWF0
LXRhYnNwYW4tMDAyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA4MTU5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTYsMTEgKzYsMTEgQEAgRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVH
QVRFOiBzaG91bGRJbnNlcnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5n
ZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0ZWQKIEVE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2Vs
ZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4g
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQ
QU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25z
dHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5n
ZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFO
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hv
dWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4g
U1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0
ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBT
UEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BB
TiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDIgb2Yg
I3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4
dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApAQCAtMjUs
MTMgKzI1LDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzN3gyOAogICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgyNSwxNCkgc2l6ZSAzN3gyOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjUsMTQpIHdpZHRoIDM3OiAiXHh7OX0iCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDk2eDI4Ci0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMjN4MjgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2
MiwxNCkgc2l6ZSAyM3gyOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MiwxNCkgd2lk
dGggMjM6ICJheCIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYyLDE0KSBzaXpl
IDIzeDI4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjIsMTQpIHdpZHRoIDIzOiAiYXgiCisg
ICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDczeDI4CiAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDg1LDE0KSBzaXplIDczeDI4CiAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg4NSwxNCkgd2lkdGggNzM6ICJceHs5fVx4ezl9IgogICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU4LDE0KSBzaXplIDExeDI4CiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTU4LDE0KSB3aWR0aCAxMTogInoiCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotY2FyZXQ6IHBvc2l0aW9uIDIgb2YgY2hpbGQgMCB7I3Rl
eHR9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNoaWxkIDIge1NQQU59IG9mIGNoaWxkIDEge1NQQU59
IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDIgb2YgY2hpbGQgMiB7
I3RleHR9IG9mIGNoaWxkIDEge1NQQU59IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQo=
</data>
<flag name="review"
          id="78837"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86650</attachid>
            <date>2011-03-23 11:32:49 -0700</date>
            <delta_ts>2011-03-23 20:21:48 -0700</delta_ts>
            <desc>Patch3</desc>
            <filename>slimmarkup.txt</filename>
            <type>text/plain</type>
            <size>24629</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxNzg5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMjIgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZXBlYXRlZCBjb3B5IGFuZCBwYXN0ZS1pbi1wbGFjZSBvcGVy
YXRpb24gcmVzdWx0cyBpbiBpbmNyZWFzaW5nbHkgdmVyYm9zZSBIVE1MLgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODY5MDUwNj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU2ODc0CisgICAgICAgIAorICAgICAgICBXaGVuIHdlIGNhbGN1bGF0ZSB0
aGUgc3R5bGUgdG8gYXBwbHkgYXQgdGhlIGluc2VydGlvbiBwb2ludCB3ZSBjb21wYXJlIHRoZSBp
bml0aWFsCisgICAgICAgIHN0eWxlIGF0IHRoZSBpbnNlcnRpb24gcG9pbnQgYWdhaW5zdCB0aGUg
c3R5bGUgY2FsY3VsYXRlZCBhdCB0aGUgc3BhbiB3ZSB3cmFwIHRoZQorICAgICAgICBjb3BpZWQg
bWFya3VwIGZyYWdtZW50IHdpdGguIFdlIGNvdWxkIGVuZCB1cCB3aXRoIGEgc2VyaWVzIG9mIHVu
bmVjZXNzYXJ5IHNwYW5zCisgICAgICAgIHRvIHJlbW92ZSB0aGUgaW5pdGlhbCBzdHlsZSB0aGF0
IHNpbXBseSBncm93IG91ciBtYXJrdXAuCisgICAgICAgIFRoZSBjb25zaXN0cyBpbiBtb3Zpbmcg
dGhlIGluc2VydGlvbiBwb2ludCBvdXRzaWRlIGFueSBpbmxpbmUgZWxlbWVudCB0aGF0IGNvdWxk
CisgICAgICAgIGFmZmVjdCB0aGUgZnJhZ21lbnQgYmVpbmcgaW5zZXJ0ZWQgd2hlbiB3ZSBhcmUg
bm90IHBhc3RpbmcgYW5kIG1hdGNoaW5nIHRoZSBzdHlsZS4KKworICAgICAgICBUZXN0OiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwKKworICAgICAgICAqIGVk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNJ
bmxpbmVOb2RlV2l0aFN0eWxlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IEFkZGVkIGxvZ2ljIHRvIGNoYW5nZSB0aGUgaW5zZXJ0
aW9uCisgICAgICAgIHBvaW50IGFjY29yZGluZyB0byB0aGUgbmV3IHJ1bGVzLgorCiAyMDExLTAz
LTIzICBUeWxlciBDbG9zZSAgPHRqY2xvc2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEplcmVteSBPcmxvdy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCShyZXZpc2lvbiA4MTcyMykKKysrIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxJbnRlcmNoYW5nZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1
ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU2VsZWN0aW9uQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIlNtYXJ0UmVwbGFjZS5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgpAQCAtNzc2LDYg
Kzc3NywxNSBAQCBzdGF0aWMgTm9kZSogZW5jbG9zaW5nSW5saW5lKE5vZGUqIG5vZGUpCiAgICAg
cmV0dXJuIG5vZGU7CiB9CiAKK3N0YXRpYyBib29sIGlzSW5saW5lTm9kZVdpdGhTdHlsZShjb25z
dCBOb2RlKiBub2RlKQoreworICAgIGlmICghbm9kZS0+cmVuZGVyZXIoKSB8fCAhbm9kZS0+cmVu
ZGVyZXIoKS0+aXNJbmxpbmUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChub2Rl
LT5oYXNUYWdOYW1lKHNwYW5UYWcpKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3Qg
SFRNTEVsZW1lbnQqPihub2RlKS0+aGFzQXR0cmlidXRlKHN0eWxlQXR0cik7CisgICAgcmV0dXJu
IHRydWU7Cit9CisgICAgCiB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KCkK
IHsKICAgICBWaXNpYmxlU2VsZWN0aW9uIHNlbGVjdGlvbiA9IGVuZGluZ1NlbGVjdGlvbigpOwpA
QCAtOTE3LDYgKzkyNywyNyBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KCkKICAgICAvLyBvdXRzaWRlIG9mIHByZWNlZGluZyB0YWdzLgogICAgIGluc2VydGlvblBvcyA9
IHBvc2l0aW9uQXZvaWRpbmdQcmVjZWRpbmdOb2RlcyhpbnNlcnRpb25Qb3MpOwogCisgICAgLy8g
SWYgd2UgYXJlIG5vdCB0cnlpbmcgdG8gbWF0Y2ggdGhlIGRlc3RpbmF0aW9uIHN0eWxlIHdlIHBy
ZWZlciBhIHBvc2l0aW9uCisgICAgLy8gdGhhdCBpcyBvdXRzaWRlIGlubGluZSBlbGVtZW50cyB0
aGF0IHByb3ZpZGUgc3R5bGUuCisgICAgLy8gVGhpcyB3YXkgd2UgY2FuIHByb2R1Y2UgYSBsZXNz
IHZlcmJvc2UgbWFya3VwLgorICAgIC8vIFdlIGNhbiBza2lwIHRoaXMgb3B0aW1pemF0aW9uIGZv
ciBwb3NpdGlvbnMgaW5zaWRlIGxpc3QgaXRlbXMKKyAgICAvLyBzaW5jZSBpbnNlcnRBc0xpc3RJ
dGVtcyBhbHJlYWR5IGRvZXMgdGhlIHJpZ2h0IHRoaW5nLgorICAgIGlmICghbV9tYXRjaFN0eWxl
ICYmICFlbmNsb3NpbmdMaXN0KGluc2VydGlvblBvcy5hbmNob3JOb2RlKCkpKSB7CisgICAgICAg
IE5vZGUqIHBhcmVudE5vZGUgPSBpbnNlcnRpb25Qb3MuYW5jaG9yTm9kZSgpLT5wYXJlbnROb2Rl
KCk7CisgICAgICAgIHdoaWxlIChwYXJlbnROb2RlICYmIHBhcmVudE5vZGUtPnJlbmRlcmVyKCkg
JiYgaXNJbmxpbmVOb2RlV2l0aFN0eWxlKHBhcmVudE5vZGUpKSB7CisgICAgICAgICAgICAvLyBJ
ZiB3ZSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIHRleHQgbm9kZSwgd2UgbmVlZCB0byBzcGxpdCBp
dCBiZWZvcmUgd2UgY2FuCisgICAgICAgICAgICAvLyBtb3ZlIHRoZSBpbnNlcnRpb24gcG9zaXRp
b24uCisgICAgICAgICAgICBpZiAoaW5zZXJ0aW9uUG9zLmFuY2hvck5vZGUoKS0+aXNUZXh0Tm9k
ZSgpICYmIGluc2VydGlvblBvcy5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSkKKyAgICAgICAgICAg
ICAgICBzcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnQoc3RhdGljX2Nhc3Q8VGV4dCo+KGlu
c2VydGlvblBvcy5hbmNob3JOb2RlKCkpLCBpbnNlcnRpb25Qb3Mub2Zmc2V0SW5Db250YWluZXJO
b2RlKCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBJZiB0aGUgc3R5bGUgZWxlbWVu
dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGlsZCwgd2UgbmVlZCB0byBzcGxpdCBpdC4KKyAgICAgICAg
ICAgIGlmIChwYXJlbnROb2RlLT5maXJzdENoaWxkKCktPm5leHRTaWJsaW5nKCkpCisgICAgICAg
ICAgICAgICAgc3BsaXRFbGVtZW50KHN0YXRpY19jYXN0PEVsZW1lbnQqPihwYXJlbnROb2RlKSwg
cGFyZW50Tm9kZS0+Y2hpbGROb2RlcygpLT5pdGVtKGluc2VydGlvblBvcy5vZmZzZXRJbkNvbnRh
aW5lck5vZGUoKSkpOworICAgICAgICAgICAgaW5zZXJ0aW9uUG9zID0gcG9zaXRpb25JblBhcmVu
dEJlZm9yZU5vZGUocGFyZW50Tm9kZSk7CisgICAgICAgICAgICBwYXJlbnROb2RlID0gcGFyZW50
Tm9kZS0+cGFyZW50Tm9kZSgpOworICAgICAgICB9CisgICAgfQorCiAgICAgLy8gRklYTUU6IFdo
ZW4gcGFzdGluZyByaWNoIGNvbnRlbnQgd2UncmUgb2Z0ZW4gcHJldmVudGVkIGZyb20gaGVhZGlu
ZyBkb3duIHRoZSBmYXN0IHBhdGggYnkgc3R5bGUgc3BhbnMuICBUcnkKICAgICAvLyBhZ2FpbiBo
ZXJlIGlmIHRoZXkndmUgYmVlbiByZW1vdmVkLgogICAgIApJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODE3
ODkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MSBAQAorMjAxMS0wMy0yMiAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGVhdGVkIGNv
cHkgYW5kIHBhc3RlLWluLXBsYWNlIG9wZXJhdGlvbiByZXN1bHRzIGluIGluY3JlYXNpbmdseSB2
ZXJib3NlIEhUTUwuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjkwNTA2PgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY4NzQKKworICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LXdpdGgtc3R5bGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxl
Lmh0bWw6IEFkZGVkLgorICAgICAgICBUaGUgZm9sbG93aW5nIGFyZSBuZXcgcmVzdWx0cyBmb3Ig
ZXhpc3RpbmcgdGVzdHMgdGhhdCBub3cgcHJvZHVjZQorICAgICAgICBhIGRpZmZlcmVudCBtYXJr
dXAuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MDY1NjA1LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rp
c3BsYXktYmxvY2stb24tc3BhbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMTEtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFu
LTAwMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS10ZXh0LWF0LXRhYnNwYW4tMDAyLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wMy0y
MyAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS10ZXh0LXdpdGgtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQy
IEBACitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRCZWdpbkVkaXRpbmdJbkRPTVJhbmdlOnJhbmdl
IGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA1IG9mIERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQmVnaW5F
ZGl0aW5nOldlYlZpZXdEaWRCZWdpbkVkaXRpbmdOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5v
dGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5n
ZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAj
dGV4dCA+IEkgPiBCID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gOSBvZiAjdGV4
dCA+IEZPTlQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpO
U1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNlcnROb2RlOiNk
b2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQg
PiBJID4gQiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBG
T05UID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5BY3Rpb246V2Vi
Vmlld0luc2VydEFjdGlvblBhc3RlZAorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5H
IERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdl
OnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IEZPTlQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRk9OVCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxs
U2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkRW5kRWRpdGlu
ZzpXZWJWaWV3RGlkRW5kRWRpdGluZ05vdGlmaWNhdGlvbgorCitNYXJrdXAgYmVmb3JlOgorfCAi
CisiCit8IDxiPgorfCAgIDxpPgorfCAgICAgIjwjc2VsZWN0aW9uLWNhcmV0PmhlbGxvIGJvbGQg
YW5kIGl0YWxpYyIKK3wgPGRpdj4KK3wgICA8aT4KK3wgICAgICJoZWxsbyBpdGFsaWMiCit8IDxk
aXY+Cit8ICAgPGZvbnQ+Cit8ICAgICBjb2xvcj0iI2ZmMDAwMCIKK3wgICAgICJoZWxsbyByZWQi
Cit8ICIKKyIKKworTWFya3VwIGFmdGVyOgorfCA8Yj4KK3wgICA8aT4KK3wgICAgICJoZWxsbyBi
b2xkIGFuZCBpdGFsaWMiCit8IDxkaXY+Cit8ICAgPGk+Cit8ICAgICAiaGVsbG8gaXRhbGljIgor
fCA8ZGl2PgorfCAgIDxmb250PgorfCAgICAgY29sb3I9IiNmZjAwMDAiCit8ICAgICAiaGVsbG8g
cmVkPCNzZWxlY3Rpb24tY2FyZXQ+IgorfCAiCisiCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1zdHlsZS5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQt
d2l0aC1zdHlsZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYxIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPiAKKzxoZWFkPgorCis8c3R5bGU+CisuZWRpdGluZyB7IAorICAgIGJvcmRl
cjogMnB4IHNvbGlkIHJlZDsgCisgICAgZm9udC1zaXplOiAyNHB4OyAKK30KKy5leHBsYW5hdGlv
biB7IAorICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsdWU7IAorICAgIHBhZGRpbmc6IDEycHg7IAor
ICAgIGZvbnQtc2l6ZTogMjRweDsgCisgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKK30KKy5zY2Vu
YXJpbyB7IG1hcmdpbi1ib3R0b206IDE2cHg7fQorLnNjZW5hcmlvOmZpcnN0LWxpbmUgeyBmb250
LXdlaWdodDogYm9sZDsgbWFyZ2luLWJvdHRvbTogMTZweDt9CisuZXhwZWN0ZWQtcmVzdWx0czpm
aXJzdC1saW5lIHsgZm9udC13ZWlnaHQ6IGJvbGQgfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPS4u
L2VkaXRpbmcuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwor
ZnVuY3Rpb24gZWRpdGluZ1Rlc3QoKSB7CisgICAgTWFya3VwLmR1bXAoJ3Rlc3QnLCAnTWFya3Vw
IGJlZm9yZScpOworICAgIHNlbGVjdEFsbENvbW1hbmQoKTsKKyAgICBjb3B5Q29tbWFuZCgpOwor
ICAgIHBhc3RlQ29tbWFuZCgpOworICAgIE1hcmt1cC5kdW1wKCd0ZXN0JywgJ01hcmt1cCBhZnRl
cicpOworfQorPC9zY3JpcHQ+CisKKzx0aXRsZT5FZGl0aW5nIFRlc3Q8L3RpdGxlPiAKKzwvaGVh
ZD4gCis8Ym9keT4KKzxkaXYgY2xhc3M9ImV4cGxhbmF0aW9uIj4KKzxkaXYgY2xhc3M9InNjZW5h
cmlvIj4KK1Rlc3RzOiAKKzxicj4KK0ZpeCBmb3IgdGhpcyBidWc6IAorPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2ODc0Ij4mbHQ7aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2ODc0Jmd0OzwvYT4gUmVwZWF0ZWQgY29weSBh
bmQgcGFzdGUtaW4tcGxhY2Ugb3BlcmF0aW9uIHJlc3VsdHMgaW4gaW5jcmVhc2luZ2x5IHZlcmJv
c2UgSFRNTC4KKzwvZGl2PgorPGRpdiBjbGFzcz0iZXhwZWN0ZWQtcmVzdWx0cyI+CitFeHBlY3Rl
ZCBSZXN1bHRzOgorPGJyPgorVGhlIG1hcmt1cCBiZWZvcmUgYW5kIGFmdGVyIHNob3VsZCBiZSBp
ZGVudGljYWwuCis8L2Rpdj4KKzwvZGl2PgorPGRpdiBjb250ZW50ZWRpdGFibGUgaWQ9InRlc3Qi
IGNsYXNzPSJlZGl0aW5nIj4KKzxiPjxpPmhlbGxvIGJvbGQgYW5kIGl0YWxpYzwvaT48L2I+PGRp
dj48aT5oZWxsbyBpdGFsaWM8L0k+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+aGVs
bG8gcmVkPC9mb250PjwvZGl2PgorPC9kaXY+CisKKzxzY3JpcHQ+CitydW5FZGl0aW5nVGVzdCgp
OworPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTA2NTYwNS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MDY1NjA1
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODE3MjMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZWRpdGluZy9wYXN0ZWJvYXJkLzUwNjU2MDUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xOCwxNiArMTgsMTEgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDM2KSBzaXplIDc4NHgzNgogICAgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDE4CiAgICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jRkYwMDAwXQotICAg
ICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xv
cj0jMDAwMDAwXQotICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkg
c2l6ZSAxNDh4MTggW2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNDh4MTgKLSAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMTQ4OiAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuIgotICAgICAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE4KSBzaXplIDc4NHgxOCBbY29sb3I9
I0ZGMDAwMF0KLSAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0
eDE4IFtjb2xvcj0jMDAwMDAwXQotICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0
ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE0OHgxOAotICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMTQ4OiAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuIgorICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNDh4MTgKKyAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDg6ICJUaGlzIHRleHQgc2hvdWxk
IGJlIHJlZC4iCisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTgpIHNpemUgNzg0
eDE4CisgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMTQ4eDE4
IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAxNDh4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAx
NDg6ICJUaGlzIHRleHQgc2hvdWxkIGJlIHJlZC4iCiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMzYpIHNpemUgNzg0eDAKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7
Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAgW2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xvcj0jRkYwMDAwXQotY2FyZXQ6
IHBvc2l0aW9uIDI0IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGls
ZCAxIHtESVZ9IG9mIGNoaWxkIDAge0ZPTlR9IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMiB7
RElWfSBvZiBib2R5CitjYXJldDogcG9zaXRpb24gMjQgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNo
aWxkIDAge0ZPTlR9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMiB7RElWfSBvZiBjaGlsZCAy
IHtESVZ9IG9mIGJvZHkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZGlzcGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9kaXNwbGF5LWJs
b2NrLW9uLXNwYW5zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODE3MjMpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rpc3BsYXktYmxvY2stb24tc3BhbnMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCBFRElUSU5HIERFTEVH
QVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVE
SVRJTkcgREVMRUdBVEU6IHNob3VsZEluc2VydE5vZGU6I2RvY3VtZW50LWZyYWdtZW50IHJlcGxh
Y2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5BY3Rpb246V2ViVmlld0luc2VydEFjdGlvblBhc3Rl
ZAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFu
Z2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4
dCA+IEIgPiBTUEFOID4gQiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byA0IG9mICN0ZXh0ID4gQiA+IFNQQU4gPiBCID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2Vs
ZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0
eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90
aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTMzLDExICszMywxMCBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDEzN3gxOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxMzc6ICJUaGlzIGlzIGEgcGFyYWdyYXBoLiIKICAgICAgICAgUmVuZGVyQmxvY2sg
e1NQQU59IGF0ICgwLDE4KSBzaXplIDc4NHgxOAotICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0g
YXQgKDAsMCkgc2l6ZSAxODJ4MTgKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQg
KDAsMCkgc2l6ZSAzMHgxOAotICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDAp
IHNpemUgMzB4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAzMHgxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6
ICJUaGlzIgorICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAzMHgxOAor
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzB4MTgKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJUaGlzIgorICAgICAgICAgIFJl
bmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAxNTJ4MTgKICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMzAsMCkgc2l6ZSAxNTJ4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDMwLDApIHdpZHRoIDE1MjogIiBpcyBhbm90aGVyIHBhcmFncmFwaC4iCi1jYXJldDogcG9z
aXRpb24gNCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMCB7U1BB
Tn0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMiB7U1BBTn0gb2YgY2hpbGQgNSB7RElWfSBvZiBi
b2R5CitjYXJldDogcG9zaXRpb24gNCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0g
b2YgY2hpbGQgMiB7U1BBTn0gb2YgY2hpbGQgNSB7RElWfSBvZiBib2R5CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDExLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDExLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODE3MjMpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQt
MDExLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRF
OiBzaG91bGRJbnNlcnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5nZTpy
YW5nZSBmcm9tIDAgb2YgUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgUCA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0
ZWQKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDUgb2YgI3Rl
eHQgPiBCID4gRk9OVCA+IFAgPiBCID4gRk9OVCA+IFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0byA1IG9mICN0ZXh0ID4gQiA+IEZPTlQgPiBQID4gQiA+IEZPTlQgPiBQID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3Rp
bGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVk
RE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA1IG9mICN0ZXh0ID4gQiA+IEZP
TlQgPiBQID4gUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBCID4g
Rk9OVCA+IFAgPiBQID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rp
b25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5v
dGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlk
Q2hhbmdlTm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTI4LDIz
ICsyOCwxNSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU1eDIwCiAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDU1OiAidGhlcmUiCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
NzQpIHNpemUgNzg0eDU4Ci0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDAp
IHNpemUgNzg0eDAKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDU4Ci0gICAgICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIxCi0gICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgNTV4MjAKLSAgICAgICAgICAgICAgUmVuZGVy
SW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDU1eDIwCi0gICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTV4MjAKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDU1OiAiaGVsbG8iCi0gICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDM3KSBzaXplIDc4NHgyMQotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAo
MCwwKSBzaXplIDU1eDIwCi0gICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkg
c2l6ZSA1NXgyMAotICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDU1eDIwCi0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1NTog
InRoZXJlIgorICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MjEKKyAg
ICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgNTV4MjAKKyAgICAgICAg
ICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA1NXgyMAorICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NXgyMAorICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDU1OiAiaGVsbG8iCisgICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwzNykgc2l6ZSA3ODR4MjEKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0
ICgwLDApIHNpemUgNTV4MjAKKyAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkg
c2l6ZSA1NXgyMAorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA1NXgyMAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU1OiAidGhl
cmUiCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDc0KSBzaXplIDc4NHgw
Ci0gICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRl
cklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlcklubGlu
ZSB7Qn0gYXQgKDAsMCkgc2l6ZSAweDAKLWNhcmV0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0
ZXh0fSBvZiBjaGlsZCAwIHtCfSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCAxIHtQfSBvZiBj
aGlsZCAwIHtCfSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCA0IHtQfSBvZiBib2R5CitjYXJl
dDogcG9zaXRpb24gNSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQg
MCB7Rk9OVH0gb2YgY2hpbGQgMSB7UH0gb2YgY2hpbGQgNCB7UH0gb2YgYm9keQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LWF0LXRh
YnNwYW4tMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDEtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA4MTcyMykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTQsMTEgKzQsMTEgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZEluc2VydE5vZGU6I2RvY3VtZW50LWZy
YWdtZW50IHJlcGxhY2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25Q
YXN0ZWQKLUVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFu
Z2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBT
UEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BB
TiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2Yg
I3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4
dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBE
RUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3Rl
eHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAyIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+
IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BB
TiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6
TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJ
TkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9m
ICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3Rl
eHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDIgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMiBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZp
bml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMApAQCAtMjAsMTMgKzIwLDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTU1eDI4CiAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNCwxNCkgc2l6ZSAxMXgyOAogICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDE0LDE0KSB3aWR0aCAxMTogImEiCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDEzM3gyOAotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDIzeDI4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMjUsMTQpIHNpemUgMjN4MjgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUsMTQp
IHdpZHRoIDIzOiAiYXgiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNSwxNCkg
c2l6ZSAyM3gyOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI1LDE0KSB3aWR0aCAyMzogImF4
IgorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMTB4MjgKICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDgsMTQpIHNpemUgMTEweDI4CiAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg0OCwxNCkgd2lkdGggMTEwOiAiXHh7OX1ceHs5fVx4ezl9
IgogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU4LDE0KSBzaXplIDExeDI4CiAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTU4LDE0KSB3aWR0aCAxMTogInoiCiAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotY2FyZXQ6IHBvc2l0aW9uIDIgb2Yg
Y2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNoaWxkIDEge1NQQU59IG9mIGNo
aWxkIDEge1NQQU59IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDIg
b2YgY2hpbGQgMSB7I3RleHR9IG9mIGNoaWxkIDEge1NQQU59IG9mIGNoaWxkIDEge0RJVn0gb2Yg
Ym9keQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS10ZXh0LWF0LXRhYnNwYW4tMDAyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFi
c3Bhbi0wMDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4MTcyMykKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMi1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYsMTEgKzYsMTEgQEAgRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBF
RElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNlcnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBs
YWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rp
b25QYXN0ZWQKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hv
dWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4g
U1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0
ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBT
UEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BB
TiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2Yg
I3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4
dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBE
RUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3Rl
eHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAyIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+
IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BB
TiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6
TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJ
TkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9m
ICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3Rl
eHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDIgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMiBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZp
bml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMApAQCAtMjUsMTMgKzI1LDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzN3gyOAogICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNSwxNCkgc2l6ZSAzN3gyOAogICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjUsMTQpIHdpZHRoIDM3OiAiXHh7OX0iCi0gICAgICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDk2eDI4Ci0gICAgICAgICAgICBSZW5kZXJJbmxp
bmUge1NQQU59IGF0ICgwLDApIHNpemUgMjN4MjgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg2MiwxNCkgc2l6ZSAyM3gyOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg2MiwxNCkgd2lkdGggMjM6ICJheCIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDYyLDE0KSBzaXplIDIzeDI4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjIsMTQpIHdpZHRo
IDIzOiAiYXgiCisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDcz
eDI4CiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDg1LDE0KSBzaXplIDczeDI4
CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4NSwxNCkgd2lkdGggNzM6ICJceHs5fVx4ezl9
IgogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU4LDE0KSBzaXplIDExeDI4CiAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTU4LDE0KSB3aWR0aCAxMTogInoiCiAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotY2FyZXQ6IHBvc2l0aW9uIDIgb2Yg
Y2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNoaWxkIDIge1NQQU59IG9mIGNo
aWxkIDEge1NQQU59IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDIg
b2YgY2hpbGQgMiB7I3RleHR9IG9mIGNoaWxkIDEge1NQQU59IG9mIGNoaWxkIDEge0RJVn0gb2Yg
Ym9keQo=
</data>
<flag name="review"
          id="78957"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86738</attachid>
            <date>2011-03-23 20:21:48 -0700</date>
            <delta_ts>2011-03-24 11:32:47 -0700</delta_ts>
            <desc>Patch4</desc>
            <filename>slimmarkup.txt</filename>
            <type>text/plain</type>
            <size>24652</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxODQ4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMjIgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZXBlYXRlZCBjb3B5IGFuZCBwYXN0ZS1pbi1wbGFjZSBvcGVy
YXRpb24gcmVzdWx0cyBpbiBpbmNyZWFzaW5nbHkgdmVyYm9zZSBIVE1MLgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODY5MDUwNj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU2ODc0CisgICAgICAgIAorICAgICAgICBXaGVuIHdlIGNhbGN1bGF0ZSB0
aGUgc3R5bGUgdG8gYXBwbHkgYXQgdGhlIGluc2VydGlvbiBwb2ludCB3ZSBjb21wYXJlIHRoZSBp
bml0aWFsCisgICAgICAgIHN0eWxlIGF0IHRoZSBpbnNlcnRpb24gcG9pbnQgYWdhaW5zdCB0aGUg
c3R5bGUgY2FsY3VsYXRlZCBhdCB0aGUgc3BhbiB3ZSB3cmFwIHRoZQorICAgICAgICBjb3BpZWQg
bWFya3VwIGZyYWdtZW50IHdpdGguIFdlIGNvdWxkIGVuZCB1cCB3aXRoIGEgc2VyaWVzIG9mIHVu
bmVjZXNzYXJ5IHNwYW5zCisgICAgICAgIHRvIHJlbW92ZSB0aGUgaW5pdGlhbCBzdHlsZSB0aGF0
IHNpbXBseSBncm93IG91ciBtYXJrdXAuCisgICAgICAgIFRoZSBjb25zaXN0cyBpbiBtb3Zpbmcg
dGhlIGluc2VydGlvbiBwb2ludCBvdXRzaWRlIGFueSBpbmxpbmUgZWxlbWVudCB0aGF0IGNvdWxk
CisgICAgICAgIGFmZmVjdCB0aGUgZnJhZ21lbnQgYmVpbmcgaW5zZXJ0ZWQgd2hlbiB3ZSBhcmUg
bm90IHBhc3RpbmcgYW5kIG1hdGNoaW5nIHRoZSBzdHlsZS4KKworICAgICAgICBUZXN0OiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwKKworICAgICAgICAqIGVk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNJ
bmxpbmVOb2RlV2l0aFN0eWxlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IEFkZGVkIGxvZ2ljIHRvIGNoYW5nZSB0aGUgaW5zZXJ0
aW9uCisgICAgICAgIHBvaW50IGFjY29yZGluZyB0byB0aGUgbmV3IHJ1bGVzLgorCiAyMDExLTAz
LTIzICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhdmlkIExldmluLgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9S
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHJldmlzaW9uIDgxNzIzKQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTEludGVyY2hhbmdlLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAi
Tm9kZUxpc3QuaCIKICNpbmNsdWRlICJTZWxlY3Rpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
U21hcnRSZXBsYWNlLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCkBAIC03NzYsNiArNzc3
LDMwIEBAIHN0YXRpYyBOb2RlKiBlbmNsb3NpbmdJbmxpbmUoTm9kZSogbm9kZSkKICAgICByZXR1
cm4gbm9kZTsKIH0KIAorc3RhdGljIGJvb2wgaXNJbmxpbmVOb2RlV2l0aFN0eWxlKGNvbnN0IE5v
ZGUqIG5vZGUpCit7CisgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBza2lwIG92ZXIgYW55IGJsb2Nr
IGVsZW1lbnRzLgorICAgIGlmICghbm9kZS0+cmVuZGVyZXIoKSB8fCAhbm9kZS0+cmVuZGVyZXIo
KS0+aXNJbmxpbmUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2UgY2FuIHNr
aXAgb3ZlciBlbGVtZW50cyB3aG9zZSBjbGFzcyBhdHRyaWJ1dGUgaXMKKyAgICAvLyBvbmUgb2Yg
b3VyIGludGVybmFsIGNsYXNzZXMuCisgICAgY29uc3QgQXRvbWljU3RyaW5nIGNsYXNzQXR0cmli
dXRlVmFsdWUgPSBzdGF0aWNfY2FzdDxjb25zdCBIVE1MRWxlbWVudCo+KG5vZGUpLT5nZXRBdHRy
aWJ1dGUoY2xhc3NBdHRyKTsKKyAgICBpZiAoY2xhc3NBdHRyaWJ1dGVWYWx1ZSA9PSBBcHBsZVN0
eWxlU3BhbkNsYXNzCisgICAgICAgIHx8IGNsYXNzQXR0cmlidXRlVmFsdWUgPT0gQXBwbGVUYWJT
cGFuQ2xhc3MKKyAgICAgICAgfHwgY2xhc3NBdHRyaWJ1dGVWYWx1ZSA9PSBBcHBsZUNvbnZlcnRl
ZFNwYWNlCisgICAgICAgIHx8IGNsYXNzQXR0cmlidXRlVmFsdWUgPT0gQXBwbGVQYXN0ZUFzUXVv
dGF0aW9uKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIFdlIGNhbiBza2lwIGlubGlu
ZSBlbGVtZW50cyB0aGF0IGRvbid0IGhhdmUgYXR0cmlidXRlcyBvciB3aG9zZSBvbmx5CisgICAg
Ly8gYXR0cmlidXRlIGlzIHRoZSBzdHlsZSBhdHRyaWJ1dGUuCisgICAgY29uc3QgTmFtZWROb2Rl
TWFwKiBhdHRyaWJ1dGVzTWFwID0gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTEVsZW1lbnQqPihub2Rl
KS0+YXR0cmlidXRlTWFwKCk7CisgICAgaWYgKCFhdHRyaWJ1dGVzTWFwIHx8IGF0dHJpYnV0ZXNN
YXAtPmlzRW1wdHkoKSB8fCAoYXR0cmlidXRlc01hcC0+bGVuZ3RoKCkgPT0gMSAmJiBzdGF0aWNf
Y2FzdDxjb25zdCBIVE1MRWxlbWVudCo+KG5vZGUpLT5oYXNBdHRyaWJ1dGUoc3R5bGVBdHRyKSkp
CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorICAgIAogdm9p
ZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiB7CiAgICAgVmlzaWJsZVNlbGVj
dGlvbiBzZWxlY3Rpb24gPSBlbmRpbmdTZWxlY3Rpb24oKTsKQEAgLTkxNyw2ICs5NDIsMjkgQEAg
dm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgLy8gb3V0c2lkZSBv
ZiBwcmVjZWRpbmcgdGFncy4KICAgICBpbnNlcnRpb25Qb3MgPSBwb3NpdGlvbkF2b2lkaW5nUHJl
Y2VkaW5nTm9kZXMoaW5zZXJ0aW9uUG9zKTsKIAorICAgIC8vIElmIHdlIGFyZSBub3QgdHJ5aW5n
IHRvIG1hdGNoIHRoZSBkZXN0aW5hdGlvbiBzdHlsZSB3ZSBwcmVmZXIgYSBwb3NpdGlvbgorICAg
IC8vIHRoYXQgaXMgb3V0c2lkZSBpbmxpbmUgZWxlbWVudHMgdGhhdCBwcm92aWRlIHN0eWxlLgor
ICAgIC8vIFRoaXMgd2F5IHdlIGNhbiBwcm9kdWNlIGEgbGVzcyB2ZXJib3NlIG1hcmt1cC4KKyAg
ICAvLyBXZSBjYW4gc2tpcCB0aGlzIG9wdGltaXphdGlvbiBmb3IgZnJhZ21lbnRzIG5vdCB3cmFw
cGVkIGluIG9uZSBvZgorICAgIC8vIG91ciBzdHlsZSBzcGFucyBhbmQgZm9yIHBvc2l0aW9ucyBp
bnNpZGUgbGlzdCBpdGVtcworICAgIC8vIHNpbmNlIGluc2VydEFzTGlzdEl0ZW1zIGFscmVhZHkg
ZG9lcyB0aGUgcmlnaHQgdGhpbmcuCisgICAgaWYgKCFtX21hdGNoU3R5bGUgJiYgIWVuY2xvc2lu
Z0xpc3QoaW5zZXJ0aW9uUG9zLmFuY2hvck5vZGUoKSkgJiYgaXNTdHlsZVNwYW4oZnJhZ21lbnQu
Zmlyc3RDaGlsZCgpKSkgeworICAgICAgICBOb2RlKiBwYXJlbnROb2RlID0gaW5zZXJ0aW9uUG9z
LmFuY2hvck5vZGUoKS0+cGFyZW50Tm9kZSgpOworICAgICAgICB3aGlsZSAocGFyZW50Tm9kZSAm
JiBwYXJlbnROb2RlLT5yZW5kZXJlcigpICYmIGlzSW5saW5lTm9kZVdpdGhTdHlsZShwYXJlbnRO
b2RlKSkgeworICAgICAgICAgICAgLy8gSWYgd2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSB0ZXh0
IG5vZGUsIHdlIG5lZWQgdG8gc3BsaXQgaXQgYmVmb3JlIHdlIGNhbgorICAgICAgICAgICAgLy8g
bW92ZSB0aGUgaW5zZXJ0aW9uIHBvc2l0aW9uLgorICAgICAgICAgICAgaWYgKGluc2VydGlvblBv
cy5hbmNob3JOb2RlKCktPmlzVGV4dE5vZGUoKSAmJiBpbnNlcnRpb25Qb3MuYW5jaG9yVHlwZSgp
ID09IFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3IgJiYgaW5zZXJ0aW9uUG9zLm9m
ZnNldEluQ29udGFpbmVyTm9kZSgpKQorICAgICAgICAgICAgICAgIHNwbGl0VGV4dE5vZGVDb250
YWluaW5nRWxlbWVudChzdGF0aWNfY2FzdDxUZXh0Kj4oaW5zZXJ0aW9uUG9zLmFuY2hvck5vZGUo
KSksIGluc2VydGlvblBvcy5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSk7CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIC8vIElmIHRoZSBzdHlsZSBlbGVtZW50IGhhcyBtb3JlIHRoYW4gb25lIGNo
aWxkLCB3ZSBuZWVkIHRvIHNwbGl0IGl0LgorICAgICAgICAgICAgaWYgKHBhcmVudE5vZGUtPmZp
cnN0Q2hpbGQoKS0+bmV4dFNpYmxpbmcoKSkKKyAgICAgICAgICAgICAgICBzcGxpdEVsZW1lbnQo
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KHBhcmVudE5vZGUpLCBpbnNlcnRpb25Qb3MuY29tcHV0ZU5v
ZGVBZnRlclBvc2l0aW9uKCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpbnNlcnRpb25Q
b3MgPSBwb3NpdGlvbkluUGFyZW50QmVmb3JlTm9kZShwYXJlbnROb2RlKTsKKyAgICAgICAgICAg
IHBhcmVudE5vZGUgPSBwYXJlbnROb2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAgIH0KKyAgICB9
CisKICAgICAvLyBGSVhNRTogV2hlbiBwYXN0aW5nIHJpY2ggY29udGVudCB3ZSdyZSBvZnRlbiBw
cmV2ZW50ZWQgZnJvbSBoZWFkaW5nIGRvd24gdGhlIGZhc3QgcGF0aCBieSBzdHlsZSBzcGFucy4g
IFRyeQogICAgIC8vIGFnYWluIGhlcmUgaWYgdGhleSd2ZSBiZWVuIHJlbW92ZWQuCiAgICAgCklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA4MTg0OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDExLTAzLTIyICBFbnJpY2EgQ2FzdWNjaSAgPGVu
cmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVwZWF0ZWQgY29weSBhbmQgcGFzdGUtaW4tcGxhY2Ugb3BlcmF0aW9uIHJlc3Vs
dHMgaW4gaW5jcmVhc2luZ2x5IHZlcmJvc2UgSFRNTC4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzg2OTA1MDY+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01Njg3NAorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1z
dHlsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS10ZXh0LXdpdGgtc3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgIFRoZSBmb2xsb3dpbmcg
YXJlIG5ldyByZXN1bHRzIGZvciBleGlzdGluZyB0ZXN0cyB0aGF0IG5vdyBwcm9kdWNlCisgICAg
ICAgIGEgZGlmZmVyZW50IG1hcmt1cC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9w
YXN0ZWJvYXJkLzUwNjU2MDUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvZGlzcGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAxMS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS10ZXh0LWF0LXRhYnNwYW4tMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDItZXhwZWN0
ZWQudHh0OgorCiAyMDExLTAzLTIzICBNaWtlIExhd3RoZXIgIDxtaWtlbGF3dGhlckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KSW5kZXg6IExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LXdpdGgtc3R5bGUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0
LXdpdGgtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZEJlZ2luRWRp
dGluZ0luRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvIDUgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQKK0VESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRCZWdpbkVkaXRpbmc6V2ViVmlld0RpZEJlZ2luRWRpdGluZ05vdGlmaWNh
dGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRD
aGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFu
Z2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gSSA+IEIgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRk9OVCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2Vs
ZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
OldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZEluc2VydE5vZGU6I2RvY3VtZW50LWZyYWdtZW50IHJlcGxhY2luZ0RPTVJhbmdlOnJh
bmdlIGZyb20gMCBvZiAjdGV4dCA+IEkgPiBCID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG8gOSBvZiAjdGV4dCA+IEZPTlQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCBnaXZlbkFjdGlvbjpXZWJWaWV3SW5zZXJ0QWN0aW9uUGFzdGVkCitFRElUSU5HIERFTEVH
QVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25O
b3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFu
Z2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA5IG9mICN0ZXh0ID4gRk9OVCA+IERJViA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBGT05UID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZp
bml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdl
Tm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
OldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRFbmRFZGl0aW5nOldlYlZpZXdEaWRFbmRFZGl0aW5nTm90aWZpY2F0aW9uCisK
K01hcmt1cCBiZWZvcmU6Cit8ICIKKyIKK3wgPGI+Cit8ICAgPGk+Cit8ICAgICAiPCNzZWxlY3Rp
b24tY2FyZXQ+aGVsbG8gYm9sZCBhbmQgaXRhbGljIgorfCA8ZGl2PgorfCAgIDxpPgorfCAgICAg
ImhlbGxvIGl0YWxpYyIKK3wgPGRpdj4KK3wgICA8Zm9udD4KK3wgICAgIGNvbG9yPSIjZmYwMDAw
IgorfCAgICAgImhlbGxvIHJlZCIKK3wgIgorIgorCitNYXJrdXAgYWZ0ZXI6Cit8IDxiPgorfCAg
IDxpPgorfCAgICAgImhlbGxvIGJvbGQgYW5kIGl0YWxpYyIKK3wgPGRpdj4KK3wgICA8aT4KK3wg
ICAgICJoZWxsbyBpdGFsaWMiCit8IDxkaXY+Cit8ICAgPGZvbnQ+Cit8ICAgICBjb2xvcj0iI2Zm
MDAwMCIKK3wgICAgICJoZWxsbyByZWQ8I3NlbGVjdGlvbi1jYXJldD4iCit8ICIKKyIKSW5kZXg6
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LXdpdGgtc3R5bGUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4
dC13aXRoLXN0eWxlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+IAorPGhlYWQ+CisKKzxzdHlsZT4KKy5l
ZGl0aW5nIHsgCisgICAgYm9yZGVyOiAycHggc29saWQgcmVkOyAKKyAgICBmb250LXNpemU6IDI0
cHg7IAorfQorLmV4cGxhbmF0aW9uIHsgCisgICAgYm9yZGVyOiAycHggc29saWQgYmx1ZTsgCisg
ICAgcGFkZGluZzogMTJweDsgCisgICAgZm9udC1zaXplOiAyNHB4OyAKKyAgICBtYXJnaW4tYm90
dG9tOiAyNHB4OworfQorLnNjZW5hcmlvIHsgbWFyZ2luLWJvdHRvbTogMTZweDt9Cisuc2NlbmFy
aW86Zmlyc3QtbGluZSB7IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4tYm90dG9tOiAxNnB4O30K
Ky5leHBlY3RlZC1yZXN1bHRzOmZpcnN0LWxpbmUgeyBmb250LXdlaWdodDogYm9sZCB9Cis8L3N0
eWxlPgorPHNjcmlwdCBzcmM9Li4vZWRpdGluZy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBlZGl0aW5nVGVzdCgpIHsKKyAgICBNYXJrdXAu
ZHVtcCgndGVzdCcsICdNYXJrdXAgYmVmb3JlJyk7CisgICAgc2VsZWN0QWxsQ29tbWFuZCgpOwor
ICAgIGNvcHlDb21tYW5kKCk7CisgICAgcGFzdGVDb21tYW5kKCk7CisgICAgTWFya3VwLmR1bXAo
J3Rlc3QnLCAnTWFya3VwIGFmdGVyJyk7Cit9Cis8L3NjcmlwdD4KKworPHRpdGxlPkVkaXRpbmcg
VGVzdDwvdGl0bGU+IAorPC9oZWFkPiAKKzxib2R5PgorPGRpdiBjbGFzcz0iZXhwbGFuYXRpb24i
PgorPGRpdiBjbGFzcz0ic2NlbmFyaW8iPgorVGVzdHM6IAorPGJyPgorRml4IGZvciB0aGlzIGJ1
ZzogCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY4
NzQiPiZsdDtodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY4NzQmZ3Q7
PC9hPiBSZXBlYXRlZCBjb3B5IGFuZCBwYXN0ZS1pbi1wbGFjZSBvcGVyYXRpb24gcmVzdWx0cyBp
biBpbmNyZWFzaW5nbHkgdmVyYm9zZSBIVE1MLgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJleHBlY3Rl
ZC1yZXN1bHRzIj4KK0V4cGVjdGVkIFJlc3VsdHM6Cis8YnI+CitUaGUgbWFya3VwIGJlZm9yZSBh
bmQgYWZ0ZXIgc2hvdWxkIGJlIGlkZW50aWNhbC4KKzwvZGl2PgorPC9kaXY+Cis8ZGl2IGNvbnRl
bnRlZGl0YWJsZSBpZD0idGVzdCIgY2xhc3M9ImVkaXRpbmciPgorPGI+PGk+aGVsbG8gYm9sZCBh
bmQgaXRhbGljPC9pPjwvYj48ZGl2PjxpPmhlbGxvIGl0YWxpYzwvST48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj5oZWxsbyByZWQ8L2ZvbnQ+PC9kaXY+Cis8L2Rpdj4KKworPHNjcmlw
dD4KK3J1bkVkaXRpbmdUZXN0KCk7Cis8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MDY1NjA1LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9wYXN0ZWJvYXJkLzUwNjU2MDUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4MTcyMykKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTA2NTYwNS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE4LDE2ICsxOCwxMSBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzYpIHNpemUgNzg0
eDM2CiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4
MTgKICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAxNDh4MTgg
W2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSAxNDh4MTggW2NvbG9yPSMwMDAwMDBdCi0gICAgICAgICAgICAgICAgUmVuZGVySW5s
aW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDE0OHgxOCBbY29sb3I9I0ZGMDAwMF0KLSAgICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE0OHgxOAotICAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDg6ICJUaGlzIHRleHQgc2hv
dWxkIGJlIHJlZC4iCi0gICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTgp
IHNpemUgNzg0eDE4IFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDAwMDBdCi0gICAgICAgICAgICAgIFJl
bmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAxNDh4MTggW2NvbG9yPSNGRjAwMDBdCi0g
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTQ4eDE4Ci0g
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDg6ICJUaGlzIHRleHQg
c2hvdWxkIGJlIHJlZC4iCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDE0OHgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE0
ODogIlRoaXMgdGV4dCBzaG91bGQgYmUgcmVkLiIKKyAgICAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwxOCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0g
YXQgKDAsMCkgc2l6ZSAxNDh4MTggW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE0OHgxOAorICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDE0ODogIlRoaXMgdGV4dCBzaG91bGQgYmUgcmVkLiIKICAgICAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNikgc2l6ZSA3ODR4MAotICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDB4MCBbY29sb3I9I0ZGMDAw
MF0KLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAgW2Nv
bG9yPSNGRjAwMDBdCi1jYXJldDogcG9zaXRpb24gMjQgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNo
aWxkIDAge0ZPTlR9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMCB7Rk9OVH0gb2YgY2hpbGQg
MiB7RElWfSBvZiBjaGlsZCAyIHtESVZ9IG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAyNCBvZiBj
aGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Rk9OVH0gb2YgY2hpbGQgMSB7RElWfSBvZiBjaGls
ZCAyIHtESVZ9IG9mIGNoaWxkIDIge0RJVn0gb2YgYm9keQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9kaXNwbGF5LWJsb2NrLW9uLXNwYW5zLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9w
YXN0ZWJvYXJkL2Rpc3BsYXktYmxvY2stb24tc3BhbnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4
MTcyMykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGlz
cGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyAr
NSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogc2hvdWxkSW5zZXJ0Tm9kZTojZG9j
dW1lbnQtZnJhZ21lbnQgcmVwbGFjaW5nRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4g
QiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA0IG9mICN0ZXh0ID4g
QiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBnaXZlbkFjdGlvbjpXZWJW
aWV3SW5zZXJ0QWN0aW9uUGFzdGVkCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KLUVESVRJTkcg
REVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6
cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4gQiA+IFNQQU4gPiBCID4gU1BBTiA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDQgb2YgI3RleHQgPiBCID4gU1BBTiA+IEIgPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0
eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3Vs
ZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA0IG9m
ICN0ZXh0ID4gQiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA0IG9m
ICN0ZXh0ID4gQiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0
eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJ
VElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
OldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MApAQCAtMzMsMTEgKzMzLDEwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTM3eDE4CiAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEzNzogIlRoaXMgaXMgYSBwYXJhZ3JhcGguIgog
ICAgICAgICBSZW5kZXJCbG9jayB7U1BBTn0gYXQgKDAsMTgpIHNpemUgNzg0eDE4Ci0gICAgICAg
ICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDE4MngxOAotICAgICAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDMweDE4Ci0gICAgICAgICAgICAgIFJlbmRl
cklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAzMHgxOAotICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMweDE4Ci0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAzMDogIlRoaXMiCisgICAgICAgICAgUmVuZGVySW5saW5lIHtCfSBh
dCAoMCwwKSBzaXplIDMweDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAzMHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMDog
IlRoaXMiCisgICAgICAgICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDE1MngxOAog
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMCwwKSBzaXplIDE1MngxOAogICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzAsMCkgd2lkdGggMTUyOiAiIGlzIGFub3RoZXIgcGFy
YWdyYXBoLiIKLWNhcmV0OiBwb3NpdGlvbiA0IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAw
IHtCfSBvZiBjaGlsZCAwIHtTUEFOfSBvZiBjaGlsZCAwIHtCfSBvZiBjaGlsZCAyIHtTUEFOfSBv
ZiBjaGlsZCA1IHtESVZ9IG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiA0IG9mIGNoaWxkIDAgeyN0
ZXh0fSBvZiBjaGlsZCAwIHtCfSBvZiBjaGlsZCAyIHtTUEFOfSBvZiBjaGlsZCA1IHtESVZ9IG9m
IGJvZHkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtdGV4dC0wMTEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMTEtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA4MTcyMykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtdGV4dC0wMTEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05
LDcgKzksNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRp
b24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZEluc2VydE5vZGU6I2RvY3VtZW50LWZyYWdtZW50
IHJlcGxhY2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBQID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG8gMCBvZiBQID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5BY3Rpb246V2Vi
Vmlld0luc2VydEFjdGlvblBhc3RlZAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCi1FRElUSU5H
IERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdl
OnJhbmdlIGZyb20gNSBvZiAjdGV4dCA+IEIgPiBGT05UID4gUCA+IEIgPiBGT05UID4gUCA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBCID4gRk9OVCA+IFAgPiBCID4g
Rk9OVCA+IFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFm
ZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTog
c2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBmcm9t
IDUgb2YgI3RleHQgPiBCID4gRk9OVCA+IFAgPiBGT05UID4gUCA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvIDUgb2YgI3RleHQgPiBCID4gRk9OVCA+IFAgPiBGT05UID4gUCA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0
aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVM
RUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCkBAIC0zMCw3ICszMCw2IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDc0KSBzaXplIDc4NHg1
OAogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgwCiAg
ICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAg
ICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHg1OAogICAgICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMQogICAgICAgICAgICAgUmVuZGVySW5saW5lIHtGT05U
fSBhdCAoMCwwKSBzaXplIDU1eDIwCkBAIC00NCw3ICs0Myw1IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTU6
ICJ0aGVyZSIKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNzQpIHNpemUg
Nzg0eDAKICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAg
UmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVy
SW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDB4MAotY2FyZXQ6IHBvc2l0aW9uIDUgb2YgY2hpbGQg
MCB7I3RleHR9IG9mIGNoaWxkIDAge0J9IG9mIGNoaWxkIDAge0ZPTlR9IG9mIGNoaWxkIDEge1B9
IG9mIGNoaWxkIDAge0J9IG9mIGNoaWxkIDAge0ZPTlR9IG9mIGNoaWxkIDQge1B9IG9mIGJvZHkK
K2NhcmV0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtCfSBvZiBj
aGlsZCAwIHtGT05UfSBvZiBjaGlsZCAxIHtQfSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCA0
IHtQfSBvZiBib2R5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4
dC1hdC10YWJzcGFuLTAwMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDgxNzIzKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LWF0LXRhYnNw
YW4tMDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCwxMSArNCwxMSBAQCBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmlj
YXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogc2hvdWxk
SW5zZXJ0Tm9kZTojZG9jdW1lbnQtZnJhZ21lbnQgcmVwbGFjaW5nRE9NUmFuZ2U6cmFuZ2UgZnJv
bSAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEg
b2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5BY3Rp
b246V2ViVmlld0luc2VydEFjdGlvblBhc3RlZAotRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQ
QU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2Yg
I3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpG
QUxTRQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RP
TVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0
aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4g
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBv
ZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGls
bFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRE
T01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFt
IHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCkBAIC0yMCwxMyArMjAsMTIgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkg
c2l6ZSAxNTV4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE0LDE0KSBzaXpl
IDExeDI4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTQpIHdpZHRoIDExOiAiYSIKLSAg
ICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTMzeDI4Ci0gICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjN4MjgKLSAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNSwxNCkgc2l6ZSAyM3gyOAotICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgyNSwxNCkgd2lkdGggMjM6ICJheCIKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDI1LDE0KSBzaXplIDIzeDI4CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjUsMTQpIHdpZHRoIDIzOiAiYXgiCisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBh
dCAoMCwwKSBzaXplIDExMHgyOAogICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0
OCwxNCkgc2l6ZSAxMTB4MjgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ4LDE0KSB3aWR0
aCAxMTA6ICJceHs5fVx4ezl9XHh7OX0iCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxNTgsMTQpIHNpemUgMTF4MjgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTgsMTQpIHdp
ZHRoIDExOiAieiIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
Ci1jYXJldDogcG9zaXRpb24gMiBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7U1BBTn0g
b2YgY2hpbGQgMSB7U1BBTn0gb2YgY2hpbGQgMSB7U1BBTn0gb2YgY2hpbGQgMSB7RElWfSBvZiBi
b2R5CitjYXJldDogcG9zaXRpb24gMiBvZiBjaGlsZCAxIHsjdGV4dH0gb2YgY2hpbGQgMSB7U1BB
Tn0gb2YgY2hpbGQgMSB7RElWfSBvZiBib2R5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDgx
NzIzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS10ZXh0LWF0LXRhYnNwYW4tMDAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiwx
MSArNiwxMSBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZEluc2VydE5vZGU6
I2RvY3VtZW50LWZyYWdtZW50IHJlcGxhY2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4
dCA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAj
dGV4dCA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5B
Y3Rpb246V2ViVmlld0luc2VydEFjdGlvblBhc3RlZAogRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
Ci1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZy
b20gMSBvZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQ
QU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2Yg
I3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpG
QUxTRQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RP
TVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0
aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4g
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBv
ZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGls
bFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRE
T01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFt
IHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCkBAIC0yNSwxMyArMjUsMTIgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDM3eDI4CiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI1LDE0KSBz
aXplIDM3eDI4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNSwxNCkgd2lkdGggMzc6ICJc
eHs5fSIKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgOTZ4MjgK
LSAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyM3gyOAotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYyLDE0KSBzaXplIDIzeDI4Ci0gICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDYyLDE0KSB3aWR0aCAyMzogImF4IgorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjIsMTQpIHNpemUgMjN4MjgKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg2MiwxNCkgd2lkdGggMjM6ICJheCIKKyAgICAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgNzN4MjgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoODUsMTQpIHNpemUgNzN4MjgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg1LDE0
KSB3aWR0aCA3MzogIlx4ezl9XHh7OX0iCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxNTgsMTQpIHNpemUgMTF4MjgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTgsMTQpIHdp
ZHRoIDExOiAieiIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
Ci1jYXJldDogcG9zaXRpb24gMiBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7U1BBTn0g
b2YgY2hpbGQgMiB7U1BBTn0gb2YgY2hpbGQgMSB7U1BBTn0gb2YgY2hpbGQgMSB7RElWfSBvZiBi
b2R5CitjYXJldDogcG9zaXRpb24gMiBvZiBjaGlsZCAyIHsjdGV4dH0gb2YgY2hpbGQgMSB7U1BB
Tn0gb2YgY2hpbGQgMSB7RElWfSBvZiBib2R5Cg==
</data>
<flag name="review"
          id="79058"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86803</attachid>
            <date>2011-03-24 11:32:47 -0700</date>
            <delta_ts>2011-03-25 09:21:16 -0700</delta_ts>
            <desc>Patch5</desc>
            <filename>slimmarkup.txt</filename>
            <type>text/plain</type>
            <size>24774</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxODc5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMjQgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZXBlYXRlZCBjb3B5IGFuZCBwYXN0ZS1pbi1wbGFjZSBvcGVy
YXRpb24gcmVzdWx0cyBpbiBpbmNyZWFzaW5nbHkgdmVyYm9zZSBIVE1MLgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODY5MDUwNj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU2ODc0CisgICAgICAgIAorICAgICAgICBXaGVuIHdlIGNhbGN1bGF0ZSB0
aGUgc3R5bGUgdG8gYXBwbHkgYXQgdGhlIGluc2VydGlvbiBwb2ludCB3ZSBjb21wYXJlIHRoZSBp
bml0aWFsCisgICAgICAgIHN0eWxlIGF0IHRoZSBpbnNlcnRpb24gcG9pbnQgYWdhaW5zdCB0aGUg
c3R5bGUgY2FsY3VsYXRlZCBhdCB0aGUgc3BhbiB3ZSB3cmFwIHRoZQorICAgICAgICBjb3BpZWQg
bWFya3VwIGZyYWdtZW50IHdpdGguIFdlIGNvdWxkIGVuZCB1cCB3aXRoIGEgc2VyaWVzIG9mIHVu
bmVjZXNzYXJ5IHNwYW5zCisgICAgICAgIHRvIHJlbW92ZSB0aGUgaW5pdGlhbCBzdHlsZSB0aGF0
IHNpbXBseSBncm93IG91ciBtYXJrdXAuCisgICAgICAgIFRoZSBjb25zaXN0cyBpbiBtb3Zpbmcg
dGhlIGluc2VydGlvbiBwb2ludCBvdXRzaWRlIGFueSBpbmxpbmUgZWxlbWVudCB0aGF0IGNvdWxk
CisgICAgICAgIGFmZmVjdCB0aGUgZnJhZ21lbnQgYmVpbmcgaW5zZXJ0ZWQgd2hlbiB3ZSBhcmUg
bm90IHBhc3RpbmcgYW5kIG1hdGNoaW5nIHRoZSBzdHlsZS4KKworICAgICAgICBUZXN0OiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLmh0bWwKKworICAgICAgICAqIGVk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNJ
bmxpbmVOb2RlV2l0aFN0eWxlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IEFkZGVkIGxvZ2ljIHRvIGNoYW5nZSB0aGUgaW5zZXJ0
aW9uCisgICAgICAgIHBvaW50IGFjY29yZGluZyB0byB0aGUgbmV3IHJ1bGVzLgorCiAyMDExLTAz
LTI0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAkocmV2aXNpb24gODE4NjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MSW50ZXJjaGFuZ2UuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
KyNpbmNsdWRlICJOb2RlTGlzdC5oIgogI2luY2x1ZGUgIlNlbGVjdGlvbkNvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJTbWFydFJlcGxhY2UuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKQEAg
LTc3Niw2ICs3NzcsMzQgQEAgc3RhdGljIE5vZGUqIGVuY2xvc2luZ0lubGluZShOb2RlKiBub2Rl
KQogICAgIHJldHVybiBub2RlOwogfQogCitzdGF0aWMgYm9vbCBpc0lubGluZU5vZGVXaXRoU3R5
bGUoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICAvLyBXZSBkb24ndCB3YW50IHRvIHNraXAgb3Zl
ciBhbnkgYmxvY2sgZWxlbWVudHMuCisgICAgaWYgKCFub2RlLT5yZW5kZXJlcigpIHx8ICFub2Rl
LT5yZW5kZXJlcigpLT5pc0lubGluZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBp
ZiAoIW5vZGUtPmlzSFRNTEVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAor
ICAgIC8vIFdlIGNhbiBza2lwIG92ZXIgZWxlbWVudHMgd2hvc2UgY2xhc3MgYXR0cmlidXRlIGlz
CisgICAgLy8gb25lIG9mIG91ciBpbnRlcm5hbCBjbGFzc2VzLgorICAgIGNvbnN0IEhUTUxFbGVt
ZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTEVsZW1lbnQqPihub2RlKTsKKyAg
ICBBdG9taWNTdHJpbmcgY2xhc3NBdHRyaWJ1dGVWYWx1ZSA9IGVsZW1lbnQtPmdldEF0dHJpYnV0
ZShjbGFzc0F0dHIpOworICAgIGlmIChjbGFzc0F0dHJpYnV0ZVZhbHVlID09IEFwcGxlU3R5bGVT
cGFuQ2xhc3MKKyAgICAgICAgfHwgY2xhc3NBdHRyaWJ1dGVWYWx1ZSA9PSBBcHBsZVRhYlNwYW5D
bGFzcworICAgICAgICB8fCBjbGFzc0F0dHJpYnV0ZVZhbHVlID09IEFwcGxlQ29udmVydGVkU3Bh
Y2UKKyAgICAgICAgfHwgY2xhc3NBdHRyaWJ1dGVWYWx1ZSA9PSBBcHBsZVBhc3RlQXNRdW90YXRp
b24pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gV2UgY2FuIHNraXAgaW5saW5lIGVs
ZW1lbnRzIHRoYXQgZG9uJ3QgaGF2ZSBhdHRyaWJ1dGVzIG9yIHdob3NlIG9ubHkKKyAgICAvLyBh
dHRyaWJ1dGUgaXMgdGhlIHN0eWxlIGF0dHJpYnV0ZS4KKyAgICBjb25zdCBOYW1lZE5vZGVNYXAq
IGF0dHJpYnV0ZU1hcCA9IGVsZW1lbnQtPmF0dHJpYnV0ZU1hcCgpOworICAgIGlmICghYXR0cmli
dXRlTWFwIHx8IGF0dHJpYnV0ZU1hcC0+aXNFbXB0eSgpIHx8IChhdHRyaWJ1dGVNYXAtPmxlbmd0
aCgpID09IDEgJiYgZWxlbWVudC0+aGFzQXR0cmlidXRlKHN0eWxlQXR0cikpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKyAgICAKIHZvaWQgUmVwbGFjZVNl
bGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogewogICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0
aW9uID0gZW5kaW5nU2VsZWN0aW9uKCk7CkBAIC05MTcsNiArOTQ2LDI5IEBAIHZvaWQgUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgIC8vIG91dHNpZGUgb2YgcHJlY2VkaW5n
IHRhZ3MuCiAgICAgaW5zZXJ0aW9uUG9zID0gcG9zaXRpb25Bdm9pZGluZ1ByZWNlZGluZ05vZGVz
KGluc2VydGlvblBvcyk7CiAKKyAgICAvLyBJZiB3ZSBhcmUgbm90IHRyeWluZyB0byBtYXRjaCB0
aGUgZGVzdGluYXRpb24gc3R5bGUgd2UgcHJlZmVyIGEgcG9zaXRpb24KKyAgICAvLyB0aGF0IGlz
IG91dHNpZGUgaW5saW5lIGVsZW1lbnRzIHRoYXQgcHJvdmlkZSBzdHlsZS4KKyAgICAvLyBUaGlz
IHdheSB3ZSBjYW4gcHJvZHVjZSBhIGxlc3MgdmVyYm9zZSBtYXJrdXAuCisgICAgLy8gV2UgY2Fu
IHNraXAgdGhpcyBvcHRpbWl6YXRpb24gZm9yIGZyYWdtZW50cyBub3Qgd3JhcHBlZCBpbiBvbmUg
b2YKKyAgICAvLyBvdXIgc3R5bGUgc3BhbnMgYW5kIGZvciBwb3NpdGlvbnMgaW5zaWRlIGxpc3Qg
aXRlbXMKKyAgICAvLyBzaW5jZSBpbnNlcnRBc0xpc3RJdGVtcyBhbHJlYWR5IGRvZXMgdGhlIHJp
Z2h0IHRoaW5nLgorICAgIGlmICghbV9tYXRjaFN0eWxlICYmICFlbmNsb3NpbmdMaXN0KGluc2Vy
dGlvblBvcy5hbmNob3JOb2RlKCkpICYmIGlzU3R5bGVTcGFuKGZyYWdtZW50LmZpcnN0Q2hpbGQo
KSkpIHsKKyAgICAgICAgTm9kZSogcGFyZW50Tm9kZSA9IGluc2VydGlvblBvcy5hbmNob3JOb2Rl
KCktPnBhcmVudE5vZGUoKTsKKyAgICAgICAgd2hpbGUgKHBhcmVudE5vZGUgJiYgcGFyZW50Tm9k
ZS0+cmVuZGVyZXIoKSAmJiBpc0lubGluZU5vZGVXaXRoU3R5bGUocGFyZW50Tm9kZSkpIHsKKyAg
ICAgICAgICAgIC8vIElmIHdlIGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgdGV4dCBub2RlLCB3ZSBu
ZWVkIHRvIHNwbGl0IGl0IGJlZm9yZSB3ZSBjYW4KKyAgICAgICAgICAgIC8vIG1vdmUgdGhlIGlu
c2VydGlvbiBwb3NpdGlvbi4KKyAgICAgICAgICAgIGlmIChpbnNlcnRpb25Qb3MuYW5jaG9yTm9k
ZSgpLT5pc1RleHROb2RlKCkgJiYgaW5zZXJ0aW9uUG9zLmFuY2hvclR5cGUoKSA9PSBQb3NpdGlv
bjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yICYmIGluc2VydGlvblBvcy5vZmZzZXRJbkNvbnRh
aW5lck5vZGUoKSAmJiAhaW5zZXJ0aW9uUG9zLmF0TGFzdEVkaXRpbmdQb3NpdGlvbkZvck5vZGUo
KSkKKyAgICAgICAgICAgICAgICBzcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnQoc3RhdGlj
X2Nhc3Q8VGV4dCo+KGluc2VydGlvblBvcy5hbmNob3JOb2RlKCkpLCBpbnNlcnRpb25Qb3Mub2Zm
c2V0SW5Db250YWluZXJOb2RlKCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBJZiB0
aGUgc3R5bGUgZWxlbWVudCBoYXMgbW9yZSB0aGFuIG9uZSBjaGlsZCwgd2UgbmVlZCB0byBzcGxp
dCBpdC4KKyAgICAgICAgICAgIGlmIChwYXJlbnROb2RlLT5maXJzdENoaWxkKCktPm5leHRTaWJs
aW5nKCkpCisgICAgICAgICAgICAgICAgc3BsaXRFbGVtZW50KHN0YXRpY19jYXN0PEVsZW1lbnQq
PihwYXJlbnROb2RlKSwgaW5zZXJ0aW9uUG9zLmNvbXB1dGVOb2RlQWZ0ZXJQb3NpdGlvbigpKTsK
KyAgICAgICAgICAgIAorICAgICAgICAgICAgaW5zZXJ0aW9uUG9zID0gcG9zaXRpb25JblBhcmVu
dEJlZm9yZU5vZGUocGFyZW50Tm9kZSk7CisgICAgICAgICAgICBwYXJlbnROb2RlID0gcGFyZW50
Tm9kZS0+cGFyZW50Tm9kZSgpOworICAgICAgICB9CisgICAgfQorCiAgICAgLy8gRklYTUU6IFdo
ZW4gcGFzdGluZyByaWNoIGNvbnRlbnQgd2UncmUgb2Z0ZW4gcHJldmVudGVkIGZyb20gaGVhZGlu
ZyBkb3duIHRoZSBmYXN0IHBhdGggYnkgc3R5bGUgc3BhbnMuICBUcnkKICAgICAvLyBhZ2FpbiBo
ZXJlIGlmIHRoZXkndmUgYmVlbiByZW1vdmVkLgogICAgIApJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODE4
NzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MSBAQAorMjAxMS0wMy0yNCAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGVhdGVkIGNv
cHkgYW5kIHBhc3RlLWluLXBsYWNlIG9wZXJhdGlvbiByZXN1bHRzIGluIGluY3JlYXNpbmdseSB2
ZXJib3NlIEhUTUwuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjkwNTA2PgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY4NzQKKworICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LXdpdGgtc3R5bGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxl
Lmh0bWw6IEFkZGVkLgorICAgICAgICBUaGUgZm9sbG93aW5nIGFyZSBuZXcgcmVzdWx0cyBmb3Ig
ZXhpc3RpbmcgdGVzdHMgdGhhdCBub3cgcHJvZHVjZQorICAgICAgICBhIGRpZmZlcmVudCBtYXJr
dXAuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MDY1NjA1LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rp
c3BsYXktYmxvY2stb24tc3BhbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMTEtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFu
LTAwMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS10ZXh0LWF0LXRhYnNwYW4tMDAyLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wMy0y
NCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUgZmxh
a3kgdGVzdHMgdG8gdGhlIG1hYy13azIgYW5kIHdpbi13azIgU2tpcHBlZCBmaWxlcwpJbmRleDog
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1zdHlsZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXRleHQtd2l0aC1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC13aXRoLXN0eWxlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MiBAQAorRURJVElORyBERUxFR0FURTogc2hvdWxk
QmVnaW5FZGl0aW5nSW5ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gNSBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudAorRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZEJlZ2luRWRpdGluZzpXZWJWaWV3RGlkQmVnaW5FZGl0aW5n
Tm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
OldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBJID4gQiA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBGT05UID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0g
c3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBE
RUxFR0FURTogc2hvdWxkSW5zZXJ0Tm9kZTojZG9jdW1lbnQtZnJhZ21lbnQgcmVwbGFjaW5nRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gSSA+IEIgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRk9OVCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0ZWQKK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0
ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDkgb2YgI3RleHQgPiBGT05U
ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gOSBvZiAjdGV4dCA+IEZP
TlQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZEVuZEVkaXRpbmc6V2ViVmlld0RpZEVuZEVkaXRpbmdOb3RpZmlj
YXRpb24KKworTWFya3VwIGJlZm9yZToKK3wgIgorIgorfCA8Yj4KK3wgICA8aT4KK3wgICAgICI8
I3NlbGVjdGlvbi1jYXJldD5oZWxsbyBib2xkIGFuZCBpdGFsaWMiCit8IDxkaXY+Cit8ICAgPGk+
Cit8ICAgICAiaGVsbG8gaXRhbGljIgorfCA8ZGl2PgorfCAgIDxmb250PgorfCAgICAgY29sb3I9
IiNmZjAwMDAiCit8ICAgICAiaGVsbG8gcmVkIgorfCAiCisiCisKK01hcmt1cCBhZnRlcjoKK3wg
PGI+Cit8ICAgPGk+Cit8ICAgICAiaGVsbG8gYm9sZCBhbmQgaXRhbGljIgorfCA8ZGl2PgorfCAg
IDxpPgorfCAgICAgImhlbGxvIGl0YWxpYyIKK3wgPGRpdj4KK3wgICA8Zm9udD4KK3wgICAgIGNv
bG9yPSIjZmYwMDAwIgorfCAgICAgImhlbGxvIHJlZDwjc2VsZWN0aW9uLWNhcmV0PiIKK3wgIgor
IgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtd2l0aC1z
dHlsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS10ZXh0LXdpdGgtc3R5bGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LXdpdGgtc3R5bGUuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4gCis8aGVhZD4KKworPHN0
eWxlPgorLmVkaXRpbmcgeyAKKyAgICBib3JkZXI6IDJweCBzb2xpZCByZWQ7IAorICAgIGZvbnQt
c2l6ZTogMjRweDsgCit9CisuZXhwbGFuYXRpb24geyAKKyAgICBib3JkZXI6IDJweCBzb2xpZCBi
bHVlOyAKKyAgICBwYWRkaW5nOiAxMnB4OyAKKyAgICBmb250LXNpemU6IDI0cHg7IAorICAgIG1h
cmdpbi1ib3R0b206IDI0cHg7Cit9Cisuc2NlbmFyaW8geyBtYXJnaW4tYm90dG9tOiAxNnB4O30K
Ky5zY2VuYXJpbzpmaXJzdC1saW5lIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1ib3R0b206
IDE2cHg7fQorLmV4cGVjdGVkLXJlc3VsdHM6Zmlyc3QtbGluZSB7IGZvbnQtd2VpZ2h0OiBib2xk
IH0KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0uLi9lZGl0aW5nLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+CisKKzxz
Y3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9uIGVkaXRpbmdUZXN0KCkgeworICAg
IE1hcmt1cC5kdW1wKCd0ZXN0JywgJ01hcmt1cCBiZWZvcmUnKTsKKyAgICBzZWxlY3RBbGxDb21t
YW5kKCk7CisgICAgY29weUNvbW1hbmQoKTsKKyAgICBwYXN0ZUNvbW1hbmQoKTsKKyAgICBNYXJr
dXAuZHVtcCgndGVzdCcsICdNYXJrdXAgYWZ0ZXInKTsKK30KKzwvc2NyaXB0PgorCis8dGl0bGU+
RWRpdGluZyBUZXN0PC90aXRsZT4gCis8L2hlYWQ+IAorPGJvZHk+Cis8ZGl2IGNsYXNzPSJleHBs
YW5hdGlvbiI+Cis8ZGl2IGNsYXNzPSJzY2VuYXJpbyI+CitUZXN0czogCis8YnI+CitGaXggZm9y
IHRoaXMgYnVnOiAKKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01Njg3NCI+Jmx0O2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
Njg3NCZndDs8L2E+IFJlcGVhdGVkIGNvcHkgYW5kIHBhc3RlLWluLXBsYWNlIG9wZXJhdGlvbiBy
ZXN1bHRzIGluIGluY3JlYXNpbmdseSB2ZXJib3NlIEhUTUwuCis8L2Rpdj4KKzxkaXYgY2xhc3M9
ImV4cGVjdGVkLXJlc3VsdHMiPgorRXhwZWN0ZWQgUmVzdWx0czoKKzxicj4KK1RoZSBtYXJrdXAg
YmVmb3JlIGFuZCBhZnRlciBzaG91bGQgYmUgaWRlbnRpY2FsLgorPC9kaXY+Cis8L2Rpdj4KKzxk
aXYgY29udGVudGVkaXRhYmxlIGlkPSJ0ZXN0IiBjbGFzcz0iZWRpdGluZyI+Cis8Yj48aT5oZWxs
byBib2xkIGFuZCBpdGFsaWM8L2k+PC9iPjxkaXY+PGk+aGVsbG8gaXRhbGljPC9JPjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPmhlbGxvIHJlZDwvZm9udD48L2Rpdj4KKzwvZGl2Pgor
Cis8c2NyaXB0PgorcnVuRWRpdGluZ1Rlc3QoKTsKKzwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkLzUw
NjU2MDUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTA2NTYwNS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDgxODY3
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MDY1NjA1
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTgsMTYgKzE4LDExIEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzNikg
c2l6ZSA3ODR4MzYKICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBz
aXplIDc4NHgxOAogICAgICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXpl
IDE0OHgxOCBbY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDE0OHgxOCBbY29sb3I9IzAwMDAwMF0KLSAgICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMTQ4eDE4IFtjb2xvcj0jRkYwMDAwXQot
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTQ4eDE4
Ci0gICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE0ODogIlRoaXMg
dGV4dCBzaG91bGQgYmUgcmVkLiIKLSAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCwxOCkgc2l6ZSA3ODR4MTggW2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAwMDAwMF0KLSAgICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXplIDE0OHgxOCBbY29sb3I9I0ZG
MDAwMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
NDh4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE0ODogIlRo
aXMgdGV4dCBzaG91bGQgYmUgcmVkLiIKKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMTQ4eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTQ4OiAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuIgorICAgICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDE4KSBzaXplIDc4NHgxOAorICAgICAgICAgICAgUmVuZGVySW5saW5l
IHtGT05UfSBhdCAoMCwwKSBzaXplIDE0OHgxOCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTQ4eDE4CisgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTQ4OiAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQu
IgogICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM2KSBzaXplIDc4NHgw
Ci0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xv
cj0jRkYwMDAwXQotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCwwKSBzaXpl
IDB4MCBbY29sb3I9I0ZGMDAwMF0KLWNhcmV0OiBwb3NpdGlvbiAyNCBvZiBjaGlsZCAwIHsjdGV4
dH0gb2YgY2hpbGQgMCB7Rk9OVH0gb2YgY2hpbGQgMSB7RElWfSBvZiBjaGlsZCAwIHtGT05UfSBv
ZiBjaGlsZCAyIHtESVZ9IG9mIGNoaWxkIDIge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9u
IDI0IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtGT05UfSBvZiBjaGlsZCAxIHtESVZ9
IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMiB7RElWfSBvZiBib2R5CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rpc3BsYXktYmxvY2stb24tc3Bh
bnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvZGlzcGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDgxODY3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVi
b2FyZC9kaXNwbGF5LWJsb2NrLW9uLXNwYW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNSw3ICs1LDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdAog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNlcnRO
b2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDAgb2Yg
I3RleHQgPiBCID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDQgb2Yg
I3RleHQgPiBCID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGdpdmVuQWN0
aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25QYXN0ZWQKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgot
RURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDQgb2YgI3RleHQgPiBCID4gU1BBTiA+IEIgPiBTUEFOID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IEIgPiBTUEFOID4gQiA+
IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FU
RTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBm
cm9tIDQgb2YgI3RleHQgPiBCID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDQgb2YgI3RleHQgPiBCID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZB
TFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCkBAIC0zMywxMSArMzMsMTAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMzd4MTgKICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTM3OiAiVGhpcyBpcyBhIHBhcmFn
cmFwaC4iCiAgICAgICAgIFJlbmRlckJsb2NrIHtTUEFOfSBhdCAoMCwxOCkgc2l6ZSA3ODR4MTgK
LSAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMTgyeDE4Ci0gICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzB4MTgKLSAgICAgICAgICAg
ICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDMweDE4Ci0gICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzB4MTgKLSAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMwOiAiVGhpcyIKKyAgICAgICAgICBSZW5kZXJJbmxp
bmUge0J9IGF0ICgwLDApIHNpemUgMzB4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDMweDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDMwOiAiVGhpcyIKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUg
MTUyeDE4CiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwLDApIHNpemUgMTUy
eDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwwKSB3aWR0aCAxNTI6ICIgaXMgYW5v
dGhlciBwYXJhZ3JhcGguIgotY2FyZXQ6IHBvc2l0aW9uIDQgb2YgY2hpbGQgMCB7I3RleHR9IG9m
IGNoaWxkIDAge0J9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNoaWxkIDAge0J9IG9mIGNoaWxkIDIg
e1NQQU59IG9mIGNoaWxkIDUge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDQgb2YgY2hp
bGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0J9IG9mIGNoaWxkIDIge1NQQU59IG9mIGNoaWxkIDUg
e0RJVn0gb2YgYm9keQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS10ZXh0LTAxMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAxMS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDgxODY3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAxMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTksNyArOSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5v
dGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogc2hvdWxkSW5zZXJ0Tm9kZTojZG9jdW1lbnQt
ZnJhZ21lbnQgcmVwbGFjaW5nRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIFAgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byAwIG9mIFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBnaXZlbkFj
dGlvbjpXZWJWaWV3SW5zZXJ0QWN0aW9uUGFzdGVkCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24K
LUVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRv
RE9NUmFuZ2U6cmFuZ2UgZnJvbSA1IG9mICN0ZXh0ID4gQiA+IEZPTlQgPiBQID4gQiA+IEZPTlQg
PiBQID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNSBvZiAjdGV4dCA+IEIgPiBGT05UID4g
UCA+IEIgPiBGT05UID4gUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2Vs
ZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERF
TEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJh
bmdlIGZyb20gNSBvZiAjdGV4dCA+IEIgPiBGT05UID4gUCA+IEZPTlQgPiBQID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG8gNSBvZiAjdGV4dCA+IEIgPiBGT05UID4gUCA+IEZPTlQgPiBQID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25z
dHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRD
aGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJ
VElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0
aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTMwLDcgKzMwLDYgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNzQpIHNp
emUgNzg0eDU4CiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUg
Nzg0eDAKICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDU4CiAgICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIxCiAgICAgICAgICAgICBSZW5kZXJJbmxp
bmUge0ZPTlR9IGF0ICgwLDApIHNpemUgNTV4MjAKQEAgLTQ0LDcgKzQzLDUgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA1NTogInRoZXJlIgogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw3
NCkgc2l6ZSA3ODR4MAogICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAweDAKICAg
ICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAg
ICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgwCi1jYXJldDogcG9zaXRpb24gNSBv
ZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMCB7Rk9OVH0gb2YgY2hp
bGQgMSB7UH0gb2YgY2hpbGQgMCB7Qn0gb2YgY2hpbGQgMCB7Rk9OVH0gb2YgY2hpbGQgNCB7UH0g
b2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDUgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAg
e0J9IG9mIGNoaWxkIDAge0ZPTlR9IG9mIGNoaWxkIDEge1B9IG9mIGNoaWxkIDAge0ZPTlR9IG9m
IGNoaWxkIDQge1B9IG9mIGJvZHkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS10ZXh0LWF0LXRhYnNwYW4tMDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODE4NjcpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQt
YXQtdGFic3Bhbi0wMDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDExICs0LDEx
IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcgREVM
RUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRF
OiBzaG91bGRJbnNlcnROb2RlOiNkb2N1bWVudC1mcmFnbWVudCByZXBsYWNpbmdET01SYW5nZTpy
YW5nZSBmcm9tIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBn
aXZlbkFjdGlvbjpXZWJWaWV3SW5zZXJ0QWN0aW9uUGFzdGVkCi1FRElUSU5HIERFTEVHQVRFOiBz
aG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4g
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0
ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2Vs
ZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3Rp
bGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KLUVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVj
dGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IFNQQU4gPiBTUEFO
ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAyIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3Ry
ZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VT
ZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAyIG9mICN0ZXh0ID4gU1BBTiA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZp
Y2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTIwLDEzICsyMCwxMiBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBh
dCAoMCwwKSBzaXplIDE1NXgyOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQs
MTQpIHNpemUgMTF4MjgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNCwxNCkgd2lkdGggMTE6
ICJhIgotICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMzN4MjgK
LSAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyM3gyOAotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI1LDE0KSBzaXplIDIzeDI4Ci0gICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI1LDE0KSB3aWR0aCAyMzogImF4IgorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjUsMTQpIHNpemUgMjN4MjgKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyNSwxNCkgd2lkdGggMjM6ICJheCIKKyAgICAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMTEweDI4CiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDQ4LDE0KSBzaXplIDExMHgyOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDgs
MTQpIHdpZHRoIDExMDogIlx4ezl9XHh7OX1ceHs5fSIKICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE1OCwxNCkgc2l6ZSAxMXgyOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE1
OCwxNCkgd2lkdGggMTE6ICJ6IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKLWNhcmV0OiBwb3NpdGlvbiAyIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAw
IHtTUEFOfSBvZiBjaGlsZCAxIHtTUEFOfSBvZiBjaGlsZCAxIHtTUEFOfSBvZiBjaGlsZCAxIHtE
SVZ9IG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAyIG9mIGNoaWxkIDEgeyN0ZXh0fSBvZiBjaGls
ZCAxIHtTUEFOfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGJvZHkKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC1hdC10YWJzcGFuLTAwMi1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LWF0LXRhYnNwYW4tMDAyLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gODE4NjcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXRleHQtYXQtdGFic3Bhbi0wMDItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC02LDExICs2LDExIEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogc2hvdWxkSW5z
ZXJ0Tm9kZTojZG9jdW1lbnQtZnJhZ21lbnQgcmVwbGFjaW5nRE9NUmFuZ2U6cmFuZ2UgZnJvbSAx
IG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCBnaXZlbkFjdGlvbjpXZWJWaWV3SW5zZXJ0QWN0aW9uUGFzdGVkCiBFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KLUVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6
cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0
ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMSBvZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2Vs
ZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3Rp
bGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KLUVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVj
dGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IFNQQU4gPiBTUEFO
ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAyIG9mICN0ZXh0ID4gU1BBTiA+IFNQQU4gPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IFNQQU4gPiBTUEFOID4gU1BBTiA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3Ry
ZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VT
ZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAyIG9mICN0ZXh0ID4gU1BBTiA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZp
Y2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTI1LDEzICsyNSwxMiBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59
IGF0ICgwLDApIHNpemUgMzd4MjgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MjUsMTQpIHNpemUgMzd4MjgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI1LDE0KSB3aWR0
aCAzNzogIlx4ezl9IgotICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6
ZSA5NngyOAotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDIz
eDI4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjIsMTQpIHNpemUgMjN4
MjgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjIsMTQpIHdpZHRoIDIzOiAiYXgiCisg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MiwxNCkgc2l6ZSAyM3gyOAorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDYyLDE0KSB3aWR0aCAyMzogImF4IgorICAgICAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3M3gyOAogICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg4NSwxNCkgc2l6ZSA3M3gyOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoODUsMTQpIHdpZHRoIDczOiAiXHh7OX1ceHs5fSIKICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE1OCwxNCkgc2l6ZSAxMXgyOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE1
OCwxNCkgd2lkdGggMTE6ICJ6IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKLWNhcmV0OiBwb3NpdGlvbiAyIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAw
IHtTUEFOfSBvZiBjaGlsZCAyIHtTUEFOfSBvZiBjaGlsZCAxIHtTUEFOfSBvZiBjaGlsZCAxIHtE
SVZ9IG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAyIG9mIGNoaWxkIDIgeyN0ZXh0fSBvZiBjaGls
ZCAxIHtTUEFOfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGJvZHkK
</data>
<flag name="review"
          id="79151"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>