<?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>29103</bug_id>
          
          <creation_ts>2009-09-09 12:13:30 -0700</creation_ts>
          <short_desc>typeAheadFind in select element is case-sensitive for Cyrillic and Greek</short_desc>
          <delta_ts>2009-10-25 13:16:09 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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="Jungshik Shin">jshin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>hbono</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>145891</commentid>
    <comment_count>0</comment_count>
      <attachid>39291</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-09-09 12:13:30 -0700</bug_when>
    <thetext>Created attachment 39291
a simple test case

Reported in the chromium bug tracker : http://crbug.com/21357#c3 and http://crbug.com/21389.

1. Load the attachment into Safari
2. With the focus on the drop-down menu, press &apos;p&apos; or &apos;P&apos; multiple times. Three items starting with &apos;P&apos; are selected in turn.
3. Switch your keyboard to Russian
4. Press &apos;g&apos; (to get Cyrillic &apos;п&apos;). 
5. The first item starting with capital &apos;п&apos; (i.e. &apos;П&apos;) has to be selected, but it&apos;s not selected.
6. Press &apos;G&apos; (to get Cyrillic capital letter &apos;П&apos;). Now the first item starting with &apos;П&apos; is selected.


typeAheadFind calls startsWith with the 2nd parameter set to false (case-insensitve), which in turn uses &apos;reverseFind&apos; (StringImpl). It appears to do the right thing (I didn&apos;t check the way equalsIgnoreCase and toLowerCaseASCII used in reverseFind/Find are implemented, yet. I&apos;ll), but Safari trunk build has this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145911</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-09 13:40:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/7209689&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146486</commentid>
    <comment_count>2</comment_count>
      <attachid>39415</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-09-11 01:26:28 -0700</bug_when>
    <thetext>Created attachment 39415
a quick fix

This change just replaces WTF::toASCIILower() calls in StringImpl::reverseFind() with WTF::Unicode::toLower() for non-ASCII characters.
I&apos;m not sure why StringImpl::reverseFind() uses WTF::toASCIILower(), though. (Performance issue?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146634</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-11 10:41:23 -0700</bug_when>
    <thetext>It&apos;s not good to change reverseFind without also changing find.

Some callers may want the ASCII-only case folding, so we need to look at all the callers before changing the behavior of the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147537</commentid>
    <comment_count>4</comment_count>
      <attachid>39415</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-09-16 08:38:56 -0700</bug_when>
    <thetext>Comment on attachment 39415
a quick fix

This seems like an awfully broad fix for such a specific symptom. Are there other bugs caused by reverseFind using toASCIILower? If the new way is better/more correct, wouldn&apos;t we want find to work the same way? What performance impact does this have?

r- so we can figure out the above issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147752</commentid>
    <comment_count>5</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-09-17 00:30:33 -0700</bug_when>
    <thetext>Thank you for your comments.
We should have had a discussion about how to fix this issue before sending a review request. Sorry for sending such a confusing review request.

(In reply to comment #4)
&gt; (From update of attachment 39415 [details])
&gt; This seems like an awfully broad fix for such a specific symptom.

In my honest opinion, I&apos;m also wondering if it is a good option to change WTF::toASCIILower() with WTF::Unicode::toLower() in StringImpl::reverseFind() 
even though it is pretty simple.

&gt; Are there other bugs caused by reverseFind using toASCIILower?

As far as I have tested, SelectElement::typeAheadFind() is the only possible place which calls StringImpl::reverseFind() with non-ASCII string (via WebCore::String::startsWith()).
That is, it may be an overkill to replace WTF::toASCIILower() with WTF::Unicode::toLower() just for SelectElement::typeAheadFind().

&gt; If the new way is better/more correct, wouldn&apos;t we want find to work the same way?

WTF::Unicode::toLower() calls an ICU function u_tolower(). So, it works not only ASCII characters but also non-ASCII characters, such as Latin, Greek, Cyrillic, etc. But, as I noted above, SelectElement::typeAheadFind() is the only possible place that needs this feature.

&gt; What performance impact does this have?

Even though I haven&apos;t measured any data. I&apos;m sure this change decreases the performance of parsers more or less, because StringImpl::startsWith() is called from many parsers, such as CSS parsers, HTML parsers, etc.

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147794</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-09-17 07:42:05 -0700</bug_when>
    <thetext>(In reply to comment #5)
It sounds like it would be better to find a more targeted fix for this bug, given your comments. Thanks for the detailed responses!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154256</commentid>
    <comment_count>7</comment_count>
      <attachid>41084</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-10-12 21:59:38 -0700</bug_when>
    <thetext>Created attachment 41084
a quick fix for SelectElement::typeAheadFind()

Thank you for your comments and sorry for my slow updates.
I updated my change to add String::lower() calls in SelectElement::typeAheadFind() to fix this bug.
Would it be possible to review the updated change?

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154428</commentid>
    <comment_count>8</comment_count>
      <attachid>41084</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-13 14:14:08 -0700</bug_when>
    <thetext>Comment on attachment 41084
a quick fix for SelectElement::typeAheadFind()

Thanks for keeping at it!

&gt; +    WebCore::String prefix_lower(prefix.lower());

There&apos;s no need for an explicit WebCore prefix here -- this code is already inside the WebCore namespace. We don&apos;t use underscores in variable names in WebKit code.

&gt; +        // String::startsWith() doesn&apos;t convert non-ASCII characters to lowercase since converting a non-ASCII
&gt; +        // string to lowercase is slow.

I think I steered you wrong here. It&apos;s strange that String::startsWith is not the same as other functions in StringImpl in this respect and arguable it *is* a bug in startsWith.

On the other hand, it seems safer to work around String::startsWith by calling lower() here than to change String::startsWith, so I think we can live with this as a fix to this bug. We can always revisit later if we fix startsWith. And this fix avoids the need for you to stdy all the call sites of startsWith.

Unfortunately, the comment makes it sound like this String::startsWith behavior is intentional and a good thing, and I do not think that is true. Really we&apos;re working around a bug in String::startsWith here, and someone should fix that bug later. Or alternatively we should change the design of the other String member functions. For many we need ASCII-only versions, not full-Unicode versions.

&gt; +        // So, we convert each option string (which may contain non-ASCII characters) to lowercase before calling
&gt; +        // String::startsWith().
&gt;          String text = optionElement-&gt;textIndentedToRespectGroupLabel();
&gt; -        if (stripLeadingWhiteSpace(text).startsWith(prefix, false)) {
&gt; +        if (stripLeadingWhiteSpace(text).lower().startsWith(prefix_lower)) {

The correct function to use in both cases above is actually String::foldCase(), not String::lower().

review- because of the style mistakes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156439</commentid>
    <comment_count>9</comment_count>
      <attachid>41558</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-10-21 02:16:51 -0700</bug_when>
    <thetext>Created attachment 41558
The second quick fix for SelectElement::typeAheadFind()

Thank you for your review and comments.

&gt; &gt; +    WebCore::String prefix_lower(prefix.lower());
&gt;
&gt; There&apos;s no need for an explicit WebCore prefix here -- this code is already
&gt; inside the WebCore namespace. We don&apos;t use underscores in variable names in
&gt; WebKit code.

Thank you for noticing this. I have removed the &quot;String&quot; scope.

&gt; &gt; +        // String::startsWith() doesn&apos;t convert non-ASCII characters to lowercase since converting a non-ASCII
&gt; &gt; +        // string to lowercase is slow.
&gt;
&gt; I think I steered you wrong here. It&apos;s strange that String::startsWith is not
&gt; the same as other functions in StringImpl in this respect and arguable it *is*
&gt; a bug in startsWith.
&gt;
&gt; On the other hand, it seems safer to work around String::startsWith by calling
&gt; lower() here than to change String::startsWith, so I think we can live with
&gt; this as a fix to this bug. We can always revisit later if we fix startsWith.
&gt; And this fix avoids the need for you to stdy all the call sites of startsWith.
&gt;
&gt; Unfortunately, the comment makes it sound like this String::startsWith behavior
&gt; is intentional and a good thing, and I do not think that is true. Really we&apos;re
&gt; working around a bug in String::startsWith here, and someone should fix that
&gt; bug later. Or alternatively we should change the design of the other String
&gt; member functions. For many we need ASCII-only versions, not full-Unicode
&gt; versions.

Thank you for noticing this.
I totally misunderstood the comment #4.
I have updated this comment to &quot;to be removed when startWith() supports non-ascii characters&quot;.

&gt; &gt; +        // So, we convert each option string (which may contain non-ASCII characters) to lowercase before calling
&gt; &gt; +        // String::startsWith().
&gt; &gt;          String text = optionElement-&gt;textIndentedToRespectGroupLabel();
&gt; &gt; -        if (stripLeadingWhiteSpace(text).startsWith(prefix, false)) {
&gt; &gt; +        if (stripLeadingWhiteSpace(text).lower().startsWith(prefix_lower)) {
&gt;
&gt; The correct function to use in both cases above is actually String::foldCase(),
&gt; not String::lower().

Thank you. I forgot String::foldCase() and agree it is better than String::lower().
I changed String::lower() with String::foldCase().

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156694</commentid>
    <comment_count>10</comment_count>
      <attachid>41558</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-21 16:16:29 -0700</bug_when>
    <thetext>Comment on attachment 41558
The second quick fix for SelectElement::typeAheadFind()

&gt; +    // Retrive the folding equivalent of this prefix string before finding a matching element.

Spelling error or typo here: &quot;Retrieve&quot;.

I would call it the &quot;case-folded equivalent&quot;

&gt; +    // This is a workaround that String::startWith() cannot fold non-ASCII characters, so
&gt; +    // this workaround is to be removed when the above problem is fixed.

My comment wording would be more like this:

    // Compute a case-folded copy of the prefix string before beginning the search for
    // a matching element. This code uses foldCase to work around the fact that
    // String::startWith does not fold non-ASCII characters. This code can be changed
    // to use startWith once that is fixed.

&gt; +    String prefixFoldCase(prefix.foldCase());

I would call this prefixWithCaseFolded.

&gt; +        // Fold the option string and check its prefix is equal to the folded prefix.

&quot;check its prefix&quot; -&gt; &quot;check if its prefix&quot;

review+ since these are only comments on the comments -- you could land it with your existing comments or fix them as I suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156849</commentid>
    <comment_count>11</comment_count>
      <attachid>41652</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-10-22 04:06:22 -0700</bug_when>
    <thetext>Created attachment 41652
The third quick fix for SelectElement::typeAheadFind()

Thank you for your quick review and comments.
I have updated my change to apply your comments. (Thank you for correcting my funny English.)
Unfortunately, I&apos;m not a WebKit committer and cannot land changes by myself. So, would it be possible to land this change on my behalf?

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157609</commentid>
    <comment_count>12</comment_count>
      <attachid>41652</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-25 13:16:04 -0700</bug_when>
    <thetext>Comment on attachment 41652
The third quick fix for SelectElement::typeAheadFind()

Clearing flags on attachment: 41652

Committed r50046: &lt;http://trac.webkit.org/changeset/50046&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157610</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-25 13:16:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39291</attachid>
            <date>2009-09-09 12:13:30 -0700</date>
            <delta_ts>2009-09-09 12:13:30 -0700</delta_ts>
            <desc>a simple test case</desc>
            <filename>21357_cp1251.html</filename>
            <type>text/html</type>
            <size>562</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgoKPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUxIiAvPiAKCjx0aXRsZT5DeXJpbGxpcyBCVUcg
aW4ganVtcGluZyBpbiBkcm9wLWRvd24gLyBjb21ibyAvIHNlbGVjdC10YWc8L3RpdGxlPgo8L2hl
YWQ+Cgo8Ym9keT4KCmNwLTEyNTE6IEFEU0YgLyDA0cTUCjxiciAvPgprZXlib2FyZCBsYW5ndWFn
ZSB0ZXN0OjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJhc2RmIiAvPgo8YnIgLz4KCjxzZWxlY3Qg
bmFtZT0iYm9hcmQiID4gCiAKPG9wdGlvbiB2YWx1ZT0iMSIgPlBhbnRlcmE8L29wdGlvbj4gCjxv
cHRpb24gdmFsdWU9IjIiID5Qcm9ncmFtbWVyczwvb3B0aW9uPiAKPG9wdGlvbiB2YWx1ZT0iMyIg
PlBvcnNjaGU8L29wdGlvbj4gCjxvcHRpb24gdmFsdWU9IjQiID7P4O3y5fDgPC9vcHRpb24+IAo8
b3B0aW9uIHZhbHVlPSI1IiA+z/Du4/Dg7Ojx8ug8L29wdGlvbj4gCjxvcHRpb24gdmFsdWU9IjYi
ID7P7vD45Twvb3B0aW9uPiAKCjwvc2VsZWN0PgoKPC9ib2R5PjwvaHRtbD4KCgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39415</attachid>
            <date>2009-09-11 01:26:28 -0700</date>
            <delta_ts>2009-10-12 21:59:38 -0700</delta_ts>
            <desc>a quick fix</desc>
            <filename>issue29103-patch1.txt</filename>
            <type>text/plain</type>
            <size>16376</size>
            <attacher name="Hironori Bono">hbono</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODI4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDktMTEgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXNlIFdURjo6VW5pY29kZTo6dG9Mb3dlcigpIGluc3RlYWQgb2YgV1RGOjp0b0FTQ0lJTG93ZXIo
KSBpbiBTdHJpbmdJbXBsOjpyZXZlcnNlRmluZCgpLgorICAgICAgICBUaGlzIGlzIGEgcXVpY2sg
Zml4IGZvciBCdWcgMjkxMDMuCisgICAgICAgIEl0IHNlZW1zIFN0cmluZ0ltcGw6OnJldmVyc2VG
aW5kKCkgY2FsbHMgV1RGOjp0b0FTQ0lJTG93ZXIoKSBmb3IgZmluZGluZyBjYXNlLWluc2Vuc2l0
aXZlCisgICAgICAgIG1hdGNoZXMsIHdoaWNoIGRvZXNuJ3Qgd29yayBmb3Igbm9uLUFTQ0lJIGNo
YXJhY3RlcnMuCisgICAgICAgIFRoaXMgY2hhbmdlIGp1c3QgcmVwbGFjZXMgdGhlIHRvQVNDSUlM
b3dlcigpIGNhbGxzIGluIHRoZSBmdW5jdGlvbiB3aXRoIFdURjo6VW5pY29kZTo6dG9Mb3dlcigp
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTEw
MworICAgICAgICAKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQt
Y3lyaWxsaWMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVh
ZC1ncmVlay5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3RyaW5nSW1wbDo6cmV2ZXJzZUZpbmQpOgorCiAyMDA5LTA5LTEw
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
U2FtIFdlaW5pZy4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHAJKHJldmlz
aW9uIDQ4Mjc5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OTksOCArNjk5LDggQEAgaW50IFN0cmluZ0ltcGw6OnJldmVyc2VGaW5k
KFN0cmluZ0ltcGwqIAogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yIChpID0g
MDsgaSA8IGxzdHI7IGkrKykgewotICAgICAgICAgICAgaHRoaXMgKz0gdG9BU0NJSUxvd2VyKHV0
aGlzW2luZGV4ICsgaV0pOwotICAgICAgICAgICAgaHN0ciArPSB0b0FTQ0lJTG93ZXIodXN0cltp
XSk7CisgICAgICAgICAgICBodGhpcyArPSBXVEY6OlVuaWNvZGU6OnRvTG93ZXIodXRoaXNbaW5k
ZXggKyBpXSk7CisgICAgICAgICAgICBoc3RyICs9IFdURjo6VW5pY29kZTo6dG9Mb3dlcih1c3Ry
W2ldKTsKICAgICAgICAgfQogICAgICAgICBpID0gaW5kZXg7CiAgICAgICAgIHdoaWxlICgxKSB7
CkBAIC03MDksOCArNzA5LDggQEAgaW50IFN0cmluZ0ltcGw6OnJldmVyc2VGaW5kKFN0cmluZ0lt
cGwqIAogICAgICAgICAgICAgaWYgKGkgPT0gMCkKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7
CiAgICAgICAgICAgICBpLS07Ci0gICAgICAgICAgICBodGhpcyAtPSB0b0FTQ0lJTG93ZXIodXRo
aXNbaSArIGxzdHJdKTsKLSAgICAgICAgICAgIGh0aGlzICs9IHRvQVNDSUlMb3dlcih1dGhpc1tp
XSk7CisgICAgICAgICAgICBodGhpcyAtPSBXVEY6OlVuaWNvZGU6OnRvTG93ZXIodXRoaXNbaSAr
IGxzdHJdKTsKKyAgICAgICAgICAgIGh0aGlzICs9IFdURjo6VW5pY29kZTo6dG9Mb3dlcih1dGhp
c1tpXSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0ODI4NSkK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDA5LTA5LTExICBIaXJvbm9yaSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBXVEY6OlVuaWNv
ZGU6OnRvTG93ZXIoKSBpbnN0ZWFkIG9mIFdURjo6dG9BU0NJSUxvd2VyKCkgaW4gU3RyaW5nSW1w
bDo6cmV2ZXJzZUZpbmQoKS4KKyAgICAgICAgVGhpcyBpcyBhIHF1aWNrIGZpeCBmb3IgQnVnIDI5
MTAzLgorICAgICAgICBJdCBzZWVtcyBTdHJpbmdJbXBsOjpyZXZlcnNlRmluZCgpIGNhbGxzIFdU
Rjo6dG9BU0NJSUxvd2VyKCkgZm9yIGZpbmRpbmcgY2FzZS1pbnNlbnNpdGl2ZQorICAgICAgICBt
YXRjaGVzLCB3aGljaCBkb2Vzbid0IHdvcmsgZm9yIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLgorICAg
ICAgICBUaGlzIGNoYW5nZSBqdXN0IHJlcGxhY2VzIHRoZSB0b0FTQ0lJTG93ZXIoKSBjYWxscyBp
biB0aGUgZnVuY3Rpb24gd2l0aCBXVEY6OlVuaWNvZGU6OnRvTG93ZXIoKS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkxMDMKKyAgICAgICAgCisg
ICAgICAgICogZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1jeXJpbGxpYy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtY3lyaWxs
aWMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1n
cmVlay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGlzdGJveC10
eXBlYWhlYWQtZ3JlZWsuaHRtbDogQWRkZWQuCisKIDIwMDktMDktMTAgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1jeXJpbGxpYy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXR5
cGVhaGVhZC1jeXJpbGxpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5cmlsbGljLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzNSBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIGEgZHJvcC1kb3du
IG1lbnUgY2FuIHJlZmluZSB0aGUgc2VsZWN0aW9uIHdoZW4gd2Ugc2VuZCBrZXlkb3duIGV2ZW50
cyBjb25zaXN0aW5nIG9mIEN5cmlsbGljIGNoYXJhY3RlcnMuCisKKworU1VDQ0VFREVECitTVUND
RUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VF
REVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURF
RAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQK
K1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitT
VUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VD
Q0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtY3lyaWxsaWMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5
cmlsbGljLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Ri
b3gtdHlwZWFoZWFkLWN5cmlsbGljLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzEgQEAK
KzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8cD5UaGlzIHRlc3QgdmVyaWZpZXMgYSBkcm9wLWRvd24gbWVudSBjYW4gcmVmaW5lIHRoZSBz
ZWxlY3Rpb24gd2hlbiB3ZSBzZW5kIGtleWRvd24gZXZlbnRzIGNvbnNpc3Rpbmcgb2YgQ3lyaWxs
aWMgY2hhcmFjdGVycy48L3A+CisgICAgPHNlbGVjdCBpZD0idGVzdCI+CisgICAgICAgIDxvcHRp
b24gdmFsdWU9Ii0xIj5zaG91bGQgbm90IHNlZSBtZTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
IHZhbHVlPSIwIj4mI3gwNDEwOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxIj4m
I3gwNDEwOyYjeDA0MTE7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjIiPiYjeDA0
MTA7JiN4MDQxMTsmI3gwNDEyOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIzIj4m
I3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
IHZhbHVlPSI0Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7PC9vcHRp
b24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjUiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYj
eDA0MTM7JiN4MDQxNDsmI3gwNDE1Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSI2
Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2
Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSI3Ij4mI3gwNDEwOyYjeDA0MTE7JiN4
MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7PC9vcHRpb24+Cisg
ICAgICAgIDxvcHRpb24gdmFsdWU9IjgiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7
JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4Ozwvb3B0aW9uPgorICAgICAg
ICA8b3B0aW9uIHZhbHVlPSI5Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0
MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5Ozwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uIHZhbHVlPSIxMCI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsm
I3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOzwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMSI+JiN4MDQxMDsmI3gwNDExOyYjeDA0
MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQx
OTsmI3gwNDFBOyYjeDA0MUI7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjEyIj4m
I3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYj
eDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOzwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMyI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQx
MzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFB
OyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVl
PSIxNCI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4
MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gw
NDFEOyYjeDA0MUU7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjE1Ij4mI3gwNDEw
OyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7
JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsm
I3gwNDFGOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxNiI+JiN4MDQxMDsmI3gw
NDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0
MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQx
RjsmI3gwNDIwOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxNyI+JiN4MDQxMDsm
I3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYj
eDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4
MDQxRjsmI3gwNDIwOyYjeDA0MjE7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjE4
Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2
OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7
JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOzwvb3B0aW9uPgorICAgICAg
ICA8b3B0aW9uIHZhbHVlPSIxOSI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gw
NDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0
MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQy
MjsmI3gwNDIzOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyMCI+JiN4MDQxMDsm
I3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYj
eDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4
MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7PC9vcHRpb24+Cisg
ICAgICAgIDxvcHRpb24gdmFsdWU9IjIxIj4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEz
OyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7
JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsm
I3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
IHZhbHVlPSIyMiI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0
MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQx
QzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIz
OyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVl
PSIyMyI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4
MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gw
NDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0
MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFs
dWU9IjI0Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsm
I3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYj
eDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4
MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzsmI3gwNDI4Ozwvb3B0aW9uPgorICAgICAgICA8
b3B0aW9uIHZhbHVlPSIyNSI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0
OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7
JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsm
I3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7JiN4MDQyODsmI3gwNDI5Ozwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyNiI+JiN4MDQxMDsmI3gwNDExOyYjeDA0
MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQx
OTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIw
OyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7
JiN4MDQyODsmI3gwNDI5OyYjeDA0MkE7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9
IjI3Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gw
NDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0
MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQy
NDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzsmI3gwNDI4OyYjeDA0Mjk7JiN4MDQyQTsmI3gwNDJC
Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyOCI+JiN4MDQxMDsmI3gwNDExOyYj
eDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4
MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gw
NDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0
Mjc7JiN4MDQyODsmI3gwNDI5OyYjeDA0MkE7JiN4MDQyQjsmI3gwNDJDOzwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uIHZhbHVlPSIyOSI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsm
I3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYj
eDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4
MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7JiN4MDQyODsmI3gw
NDI5OyYjeDA0MkE7JiN4MDQyQjsmI3gwNDJDOyYjeDA0MkQ7PC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24gdmFsdWU9IjMwIj4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7
JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsm
I3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYj
eDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzsmI3gwNDI4OyYjeDA0Mjk7JiN4
MDQyQTsmI3gwNDJCOyYjeDA0MkM7JiN4MDQyRDsmI3gwNDJFOzwvb3B0aW9uPgorICAgICAgICA8
b3B0aW9uIHZhbHVlPSIzMSI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0
OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7
JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsm
I3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7JiN4MDQyODsmI3gwNDI5OyYj
eDA0MkE7JiN4MDQyQjsmI3gwNDJDOyYjeDA0MkQ7JiN4MDQyRTsmI3gwNDJGOzwvb3B0aW9uPgor
ICAgIDwvc2VsZWN0PgorICAgIDx1bCBpZD0iY29uc29sZSI+PC91bD4KKzwvYm9keT4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiBsb2coc3RyKSB7CisgICAgdmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibGkiKTsKKyAgICBsaS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShz
dHIpKTsKKyAgICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
Iik7CisgICAgY29uc29sZS5hcHBlbmRDaGlsZChsaSk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKworLy8gU2V0IHRoZSBpbnB1dCBmb2N1cyB0byB0aGUgPHNlbGVjdD4gZWxlbWVudC4K
K3ZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKK25vZGUuZm9jdXMo
KTsKKwordmFyIGJhc2UgPSAweDA0MzA7Citmb3IgKHZhciBpID0gYmFzZTsgaSA8PSAweDA0NEY7
IGkrKykgeworICAgIC8vIFNlbmQgYSBrZXkgZXZlbnQgY29uc2lzdGluZyBvZiBhIEN5cmlsbGlj
IHNtYWxsIGNoYXJhY3Rlci4KKyAgICBldmVudFNlbmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hh
ckNvZGUoaSkpOworCisgICAgLy8gQ29tcGFyZSB0aGUgdmFsdWUgb2YgdGhpcyA8c2VsZWN0PiBl
bGVtZW50IHdpdGggdGhlIGV4cGVjdGVkIHJlc3VsdC4KKyAgICBpZiAobm9kZS52YWx1ZSA9PSBp
IC0gYmFzZSkKKyAgICAgICAgbG9nKCdTVUNDRUVERUQnKTsKKyAgICBlbHNlCisgICAgICAgIGxv
ZygnRkFJTEVEOiBleHBlY3RlZD0iJyArIGkgKyAnIiwgYWN0dWFsPSInICsgbm9kZS52YWx1ZSAr
ICciLicpOworfQorPC9zY3JpcHQ+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xpc3Rib3gtdHlwZWFoZWFkLWdyZWVrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWdyZWVrLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhl
YWQtZ3JlZWstZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgYSBkcm9wLWRvd24gbWVudSBjYW4gcmVmaW5lIHRoZSBzZWxlY3Rpb24g
d2hlbiB3ZSBzZW5kIGtleWRvd24gZXZlbnRzIGNvbnNpc3Rpbmcgb2YgR3JlZWsgc21hbGwgY2hh
cmFjdGVycy4KKworCitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQK
K1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitT
VUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VD
Q0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NF
RURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWdyZWVrLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1ncmVlay5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVh
aGVhZC1ncmVlay5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY2IEBACis8aHRtbD4KKzxo
ZWFkPgorICAgIDx0aXRsZT48L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+VGhpcyB0
ZXN0IHZlcmlmaWVzIGEgZHJvcC1kb3duIG1lbnUgY2FuIHJlZmluZSB0aGUgc2VsZWN0aW9uIHdo
ZW4gd2Ugc2VuZCBrZXlkb3duIGV2ZW50cyBjb25zaXN0aW5nIG9mIEdyZWVrIHNtYWxsIGNoYXJh
Y3RlcnMuPC9wPgorICAgIDxzZWxlY3QgaWQ9InRlc3QiPgorICAgICAgICA8b3B0aW9uIHZhbHVl
PSItMSI+c2hvdWxkIG5vdCBzZWUgbWU8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0i
MCI+JiN4MDM5MTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMSI+JiN4MDM5MTsm
I3gwMzkyOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyIj4mI3gwMzkxOyYjeDAz
OTI7JiN4MDM5Mzs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMyI+JiN4MDM5MTsm
I3gwMzkyOyYjeDAzOTM7JiN4MDM5NDs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0i
NCI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1Ozwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uIHZhbHVlPSI1Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYj
eDAzOTU7JiN4MDM5Njs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNiI+JiN4MDM5
MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5Nzs8L29wdGlv
bj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNyI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4
MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4Ozwvb3B0aW9uPgorICAgICAgICA8
b3B0aW9uIHZhbHVlPSI4Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7
JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5OTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
biB2YWx1ZT0iOSI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAz
OTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTs8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbiB2YWx1ZT0iMTAiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsm
I3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5Qjs8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTEiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAz
OTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5
QjsmI3gwMzlDOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMiI+JiN4MDM5MTsm
I3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYj
eDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDs8L29wdGlvbj4KKyAgICAgICAg
PG9wdGlvbiB2YWx1ZT0iMTMiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5
NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlD
OyYjeDAzOUQ7JiN4MDM5RTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTQiPiYj
eDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4
MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gw
MzlGOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxNSI+JiN4MDM5MTsmI3gwMzky
OyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7
JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7JiN4MDNBMDs8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTYiPiYjeDAzOTE7JiN4MDM5MjsmI3gw
MzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAz
OUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNB
MTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTgiPiYjeDAzOTE7JiN4MDM5Mjsm
I3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYj
eDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4
MDNBMTsmI3gwM0EzOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxOSI+JiN4MDM5
MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4
OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7
JiN4MDNBMDsmI3gwM0ExOyYjeDAzQTM7JiN4MDNBNDs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
biB2YWx1ZT0iMjAiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gw
Mzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAz
OUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNBMTsmI3gwM0EzOyYjeDAzQTQ7JiN4MDNB
NTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjEiPiYjeDAzOTE7JiN4MDM5Mjsm
I3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYj
eDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4
MDNBMTsmI3gwM0EzOyYjeDAzQTQ7JiN4MDNBNTsmI3gwM0E2Ozwvb3B0aW9uPgorICAgICAgICA8
b3B0aW9uIHZhbHVlPSIyMiI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1
OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7
JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7JiN4MDNBMDsmI3gwM0ExOyYjeDAzQTM7JiN4MDNBNDsm
I3gwM0E1OyYjeDAzQTY7JiN4MDNBNzs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0i
MjMiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAz
OTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5
RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNBMTsmI3gwM0EzOyYjeDAzQTQ7JiN4MDNBNTsmI3gwM0E2
OyYjeDAzQTc7JiN4MDNBODs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjQiPiYj
eDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4
MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gw
MzlGOyYjeDAzQTA7JiN4MDNBMTsmI3gwM0EzOyYjeDAzQTQ7JiN4MDNBNTsmI3gwM0E2OyYjeDAz
QTc7JiN4MDNBODsmI3gwM0E5Ozwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorICAgIDx1bCBpZD0i
Y29uc29sZSI+PC91bD4KKzwvYm9keT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2coc3RyKSB7Cisg
ICAgdmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKTsKKyAgICBsaS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIpKTsKKyAgICB2YXIgY29uc29sZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisgICAgY29uc29sZS5hcHBlbmRDaGls
ZChsaSk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworLy8gU2V0IHRoZSBpbnB1dCBm
b2N1cyB0byB0aGUgPHNlbGVjdD4gZWxlbWVudC4KK3ZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRlc3QiKTsKK25vZGUuZm9jdXMoKTsKKwordmFyIGJhc2UgPSAweDAzQjE7Citm
b3IgKHZhciBpID0gYmFzZTsgaSA8PSAweDAzQzk7IGkrKykgeworICAgIC8vIFdlIGRvbid0IGhh
dmUgdG8gc2VuZCBVKzAzQzIgKEdyZWVrIFNtYWxsIExldHRlciBGaW5hbCBTaWdtYSkuCisgICAg
aWYgKGkgIT0gMHgwM0MyKSB7CisgICAgICAgIC8vIFNlbmQgYSBrZXkgZXZlbnQgY29uc2lzdGlu
ZyBvZiBhIEdyZWVrIHNtYWxsIGNoYXJhY3Rlci4KKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93
bihTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKTsKKworICAgICAgICAvLyBDb21wYXJlIHRoZSB2YWx1
ZSBvZiB0aGlzIDxzZWxlY3Q+IGVsZW1lbnQgd2l0aCB0aGUgZXhwZWN0ZWQgcmVzdWx0LgorICAg
ICAgICBpZiAobm9kZS52YWx1ZSA9PSBpIC0gYmFzZSkKKyAgICAgICAgICAgIGxvZygnU1VDQ0VF
REVEJyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZygnRkFJTEVEOiBleHBlY3RlZD0i
JyArIGkgKyAnIiwgYWN0dWFsPSInICsgbm9kZS52YWx1ZSArICciLicpOworICAgIH0KK30KKzwv
c2NyaXB0PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="20512"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41084</attachid>
            <date>2009-10-12 21:59:38 -0700</date>
            <delta_ts>2009-10-21 02:16:51 -0700</delta_ts>
            <desc>a quick fix for SelectElement::typeAheadFind()</desc>
            <filename>issue29103-patch2.txt</filename>
            <type>text/plain</type>
            <size>16900</size>
            <attacher name="Hironori Bono">hbono</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTQ4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMTAtMTIgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QSBxdWljayBmaXggZm9yIEJ1ZyAyOTEwMy4KKyAgICAgICAgU2luY2UgU3RyaW5nSW1wbDo6c3Rh
cnRzV2l0aCgpIGRvZXNuJ3QgY29udmVydCBub24tQVNDSUkgY2hhcmFjdGVycyB0byBsb3dlcmNh
c2UsIHRoaXMgY2hhbmdlCisgICAgICAgIGNvbnZlcnRzIHRoZSBwcmVmaXggc3RyaW5nIGFuZCB0
aGUgb3B0aW9uIHN0cmluZyB0byBsb3dlcmNhc2UgYmVmb3JlIGNhbGxpbmcgU3RyaW5nSW1wbDo6
c3RhcnRzV2l0aCgpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjkxMDMKKworICAgICAgICBUZXN0czogZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVh
ZC1jeXJpbGxpYy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFo
ZWFkLWdyZWVrLmh0bWwKKworICAgICAgICAqIGRvbS9TZWxlY3RFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6OnR5cGVBaGVhZEZpbmQpOiBhZGQgU3RyaW5nOjp0
b2xvd2VyKCkgY2FsbHMgYmVmb3JlIGZpbmRpbmcgYSBtYXRjaGluZworICAgICAgICBlbGVtZW50
IGluIFNlbGVjdEVsZW1lbnQ6OnR5cGVBaGVhZEZpbmQoKS4KKwogMjAwOS0xMC0xMiAgRnVtaXRv
c2hpIFVrYWkgIDx1a2FpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0g
V2VpbmlnLgpJbmRleDogV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDQ5NDg4KQorKysgV2Vi
Q29yZS9kb20vU2VsZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3NCwxMyArODc0
LDIxIEBAIHZvaWQgU2VsZWN0RWxlbWVudDo6dHlwZUFoZWFkRmluZChTZWxlY3QKICAgICBpbnQg
aW5kZXggPSAob3B0aW9uVG9MaXN0SW5kZXgoZGF0YSwgZWxlbWVudCwgc2VsZWN0ZWQgPj0gMCA/
IHNlbGVjdGVkIDogMCkgKyBzZWFyY2hTdGFydE9mZnNldCkgJSBpdGVtQ291bnQ7CiAgICAgQVNT
RVJUKGluZGV4ID49IDApOwogCisgICAgLy8gQ29udmVydCB0aGUgcHJlZml4IHN0cmluZyB0byBs
b3dlcmNhc2UgYmVmb3JlIGZpbmRpbmcgYSBtYXRjaGluZyBlbGVtZW50IHNpbmNlIHRoaXMgcHJl
Zml4IHN0cmluZyBtYXkKKyAgICAvLyBpbmNsdWRlIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGFuZCBj
b252ZXJ0aW5nIGEgbm9uLUFTQ0lJIHN0cmluZyB0byBsb3dlcmNhc2UgaXMgbm90IHNvIGZhc3Qu
CisgICAgV2ViQ29yZTo6U3RyaW5nIHByZWZpeF9sb3dlcihwcmVmaXgubG93ZXIoKSk7CiAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBpdGVtQ291bnQ7ICsraSwgaW5kZXggPSAoaW5kZXggKyAxKSAl
IGl0ZW1Db3VudCkgewogICAgICAgICBPcHRpb25FbGVtZW50KiBvcHRpb25FbGVtZW50ID0gdG9P
cHRpb25FbGVtZW50KGl0ZW1zW2luZGV4XSk7CiAgICAgICAgIGlmICghb3B0aW9uRWxlbWVudCB8
fCBpdGVtc1tpbmRleF0tPmRpc2FibGVkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAorICAg
ICAgICAvLyBDb252ZXJ0IHRoZSBvcHRpb24gc3RyaW5nIHRvIGxvd2VyY2FzZSBhbmQgY2hlY2sg
aXRzIHByZWZpeCBpcyBlcXVhbCB0byB0aGUgbG93ZXJjYXNlIHByZWZpeC4KKyAgICAgICAgLy8g
U3RyaW5nOjpzdGFydHNXaXRoKCkgZG9lc24ndCBjb252ZXJ0IG5vbi1BU0NJSSBjaGFyYWN0ZXJz
IHRvIGxvd2VyY2FzZSBzaW5jZSBjb252ZXJ0aW5nIGEgbm9uLUFTQ0lJCisgICAgICAgIC8vIHN0
cmluZyB0byBsb3dlcmNhc2UgaXMgc2xvdy4KKyAgICAgICAgLy8gU28sIHdlIGNvbnZlcnQgZWFj
aCBvcHRpb24gc3RyaW5nICh3aGljaCBtYXkgY29udGFpbiBub24tQVNDSUkgY2hhcmFjdGVycykg
dG8gbG93ZXJjYXNlIGJlZm9yZSBjYWxsaW5nCisgICAgICAgIC8vIFN0cmluZzo6c3RhcnRzV2l0
aCgpLgogICAgICAgICBTdHJpbmcgdGV4dCA9IG9wdGlvbkVsZW1lbnQtPnRleHRJbmRlbnRlZFRv
UmVzcGVjdEdyb3VwTGFiZWwoKTsKLSAgICAgICAgaWYgKHN0cmlwTGVhZGluZ1doaXRlU3BhY2Uo
dGV4dCkuc3RhcnRzV2l0aChwcmVmaXgsIGZhbHNlKSkgeworICAgICAgICBpZiAoc3RyaXBMZWFk
aW5nV2hpdGVTcGFjZSh0ZXh0KS5sb3dlcigpLnN0YXJ0c1dpdGgocHJlZml4X2xvd2VyKSkgewog
ICAgICAgICAgICAgc2V0U2VsZWN0ZWRJbmRleChkYXRhLCBlbGVtZW50LCBsaXN0VG9PcHRpb25J
bmRleChkYXRhLCBlbGVtZW50LCBpbmRleCkpOwogICAgICAgICAgICAgaWYgKCFkYXRhLnVzZXNN
ZW51TGlzdCgpKQogICAgICAgICAgICAgICAgIGxpc3RCb3hPbkNoYW5nZShkYXRhLCBlbGVtZW50
KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ5NDg5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMTAtMTIgIEhpcm9ub3JpIEJvbm8g
IDxoYm9ub0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQSBxdWljayBmaXggZm9yIEJ1ZyAyOTEwMy4KKyAgICAgICAgU2luY2Ug
U3RyaW5nSW1wbDo6c3RhcnRzV2l0aCgpIGRvZXNuJ3QgY29udmVydCBub24tQVNDSUkgY2hhcmFj
dGVycyB0byBsb3dlcmNhc2UsIHRoaXMgY2hhbmdlCisgICAgICAgIGNvbnZlcnRzIHRoZSBwcmVm
aXggc3RyaW5nIGFuZCB0aGUgb3B0aW9uIHN0cmluZyB0byBsb3dlcmNhc2UgYmVmb3JlIGNhbGxp
bmcgU3RyaW5nSW1wbDo6c3RhcnRzV2l0aCgpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkxMDMKKworICAgICAgICAqIGZhc3QvZm9ybXMvbGlzdGJv
eC10eXBlYWhlYWQtY3lyaWxsaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5cmlsbGljLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtZ3JlZWstZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWdyZWVrLmh0bWw6IEFkZGVk
LgorCiAyMDA5LTEwLTEyICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQuICBGaXggNCBsYXlvdXQgdGVzdCBmYWlsdXJlcyBieSB3ZWJraXQg
cjQ5NDg4CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5
cmlsbGljLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2xpc3Rib3gtdHlwZWFoZWFkLWN5cmlsbGljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtY3lyaWxsaWMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM1IEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
YSBkcm9wLWRvd24gbWVudSBjYW4gcmVmaW5lIHRoZSBzZWxlY3Rpb24gd2hlbiB3ZSBzZW5kIGtl
eWRvd24gZXZlbnRzIGNvbnNpc3Rpbmcgb2YgQ3lyaWxsaWMgY2hhcmFjdGVycy4KKworCitTVUND
RUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VF
REVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURF
RAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQK
K1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitT
VUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VD
Q0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NF
RURFRApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1jeXJp
bGxpYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10
eXBlYWhlYWQtY3lyaWxsaWMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGlzdGJveC10eXBlYWhlYWQtY3lyaWxsaWMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw3MSBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxwPlRoaXMgdGVzdCB2ZXJpZmllcyBhIGRyb3AtZG93biBtZW51IGNhbiBy
ZWZpbmUgdGhlIHNlbGVjdGlvbiB3aGVuIHdlIHNlbmQga2V5ZG93biBldmVudHMgY29uc2lzdGlu
ZyBvZiBDeXJpbGxpYyBjaGFyYWN0ZXJzLjwvcD4KKyAgICA8c2VsZWN0IGlkPSJ0ZXN0Ij4KKyAg
ICAgICAgPG9wdGlvbiB2YWx1ZT0iLTEiPnNob3VsZCBub3Qgc2VlIG1lPC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24gdmFsdWU9IjAiPiYjeDA0MTA7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24g
dmFsdWU9IjEiPiYjeDA0MTA7JiN4MDQxMTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iMiI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24g
dmFsdWU9IjMiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7PC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24gdmFsdWU9IjQiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4
MDQxNDs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNSI+JiN4MDQxMDsmI3gwNDEx
OyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7PC9vcHRpb24+CisgICAgICAgIDxvcHRp
b24gdmFsdWU9IjYiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gw
NDE1OyYjeDA0MTY7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjciPiYjeDA0MTA7
JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzs8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iOCI+JiN4MDQxMDsmI3gwNDExOyYjeDA0
MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7PC9vcHRp
b24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjkiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYj
eDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7PC9v
cHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjEwIj4mI3gwNDEwOyYjeDA0MTE7JiN4MDQx
MjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5
OyYjeDA0MUE7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjExIj4mI3gwNDEwOyYj
eDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4
MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2
YWx1ZT0iMTIiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1
OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7
PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjEzIj4mI3gwNDEwOyYjeDA0MTE7JiN4
MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gw
NDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7PC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24gdmFsdWU9IjE0Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7
JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsm
I3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0i
MTUiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0
MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQx
RDsmI3gwNDFFOyYjeDA0MUY7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjE2Ij4m
I3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYj
eDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4
MDQxRTsmI3gwNDFGOyYjeDA0MjA7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjE3
Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2
OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7
JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
biB2YWx1ZT0iMTgiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gw
NDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0
MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7PC9vcHRp
b24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjE5Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsm
I3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYj
eDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4
MDQyMTsmI3gwNDIyOyYjeDA0MjM7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjIw
Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2
OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7
JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDs8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjEiPiYjeDA0MTA7JiN4MDQxMTsmI3gw
NDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0
MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQy
MDsmI3gwNDIxOyYjeDA0MjI7JiN4MDQyMzsmI3gwNDI0OyYjeDA0MjU7PC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24gdmFsdWU9IjIyIj4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYj
eDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4
MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gw
NDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7PC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24gdmFsdWU9IjIzIj4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7
JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsm
I3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYj
eDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzs8L29wdGlvbj4KKyAgICAgICAg
PG9wdGlvbiB2YWx1ZT0iMjQiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQx
NDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFC
OyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7
JiN4MDQyMzsmI3gwNDI0OyYjeDA0MjU7JiN4MDQyNjsmI3gwNDI3OyYjeDA0Mjg7PC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjI1Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gw
NDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0
MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQy
MTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzsmI3gwNDI4
OyYjeDA0Mjk7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjI2Ij4mI3gwNDEwOyYj
eDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4
MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gw
NDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0
MjY7JiN4MDQyNzsmI3gwNDI4OyYjeDA0Mjk7JiN4MDQyQTs8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbiB2YWx1ZT0iMjciPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsm
I3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYj
eDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7JiN4
MDQyMzsmI3gwNDI0OyYjeDA0MjU7JiN4MDQyNjsmI3gwNDI3OyYjeDA0Mjg7JiN4MDQyOTsmI3gw
NDJBOyYjeDA0MkI7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjI4Ij4mI3gwNDEw
OyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7
JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsm
I3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYj
eDA0MjY7JiN4MDQyNzsmI3gwNDI4OyYjeDA0Mjk7JiN4MDQyQTsmI3gwNDJCOyYjeDA0MkM7PC9v
cHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjI5Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQx
MjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5
OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7
JiN4MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzsm
I3gwNDI4OyYjeDA0Mjk7JiN4MDQyQTsmI3gwNDJCOyYjeDA0MkM7JiN4MDQyRDs8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMzAiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0
MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQx
QTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIx
OyYjeDA0MjI7JiN4MDQyMzsmI3gwNDI0OyYjeDA0MjU7JiN4MDQyNjsmI3gwNDI3OyYjeDA0Mjg7
JiN4MDQyOTsmI3gwNDJBOyYjeDA0MkI7JiN4MDQyQzsmI3gwNDJEOyYjeDA0MkU7PC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjMxIj4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gw
NDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0
MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQy
MTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzsmI3gwNDI4
OyYjeDA0Mjk7JiN4MDQyQTsmI3gwNDJCOyYjeDA0MkM7JiN4MDQyRDsmI3gwNDJFOyYjeDA0MkY7
PC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisgICAgPHVsIGlkPSJjb25zb2xlIj48L3VsPgorPC9i
b2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGxvZyhzdHIpIHsKKyAgICB2YXIgbGkgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAgIGxpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKHN0cikpOworICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnNvbGUiKTsKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGxpKTsKK30KKworaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCisvLyBTZXQgdGhlIGlucHV0IGZvY3VzIHRvIHRoZSA8c2VsZWN0
PiBlbGVtZW50LgordmFyIG5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOwor
bm9kZS5mb2N1cygpOworCit2YXIgYmFzZSA9IDB4MDQzMDsKK2ZvciAodmFyIGkgPSBiYXNlOyBp
IDw9IDB4MDQ0RjsgaSsrKSB7CisgICAgLy8gU2VuZCBhIGtleSBldmVudCBjb25zaXN0aW5nIG9m
IGEgQ3lyaWxsaWMgc21hbGwgY2hhcmFjdGVyLgorICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3Ry
aW5nLmZyb21DaGFyQ29kZShpKSk7CisKKyAgICAvLyBDb21wYXJlIHRoZSB2YWx1ZSBvZiB0aGlz
IDxzZWxlY3Q+IGVsZW1lbnQgd2l0aCB0aGUgZXhwZWN0ZWQgcmVzdWx0LgorICAgIGlmIChub2Rl
LnZhbHVlID09IGkgLSBiYXNlKQorICAgICAgICBsb2coJ1NVQ0NFRURFRCcpOworICAgIGVsc2UK
KyAgICAgICAgbG9nKCdGQUlMRUQ6IGV4cGVjdGVkPSInICsgaSArICciLCBhY3R1YWw9IicgKyBu
b2RlLnZhbHVlICsgJyIuJyk7Cit9Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtZ3JlZWstZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtZ3JlZWst
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0
Ym94LXR5cGVhaGVhZC1ncmVlay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MjcgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyBhIGRyb3AtZG93biBtZW51IGNhbiByZWZpbmUgdGhl
IHNlbGVjdGlvbiB3aGVuIHdlIHNlbmQga2V5ZG93biBldmVudHMgY29uc2lzdGluZyBvZiBHcmVl
ayBzbWFsbCBjaGFyYWN0ZXJzLgorCisKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQK
K1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitT
VUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VD
Q0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NF
RURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVE
RUQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtZ3JlZWsu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFo
ZWFkLWdyZWVrLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xp
c3Rib3gtdHlwZWFoZWFkLWdyZWVrLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjYgQEAK
KzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8cD5UaGlzIHRlc3QgdmVyaWZpZXMgYSBkcm9wLWRvd24gbWVudSBjYW4gcmVmaW5lIHRoZSBz
ZWxlY3Rpb24gd2hlbiB3ZSBzZW5kIGtleWRvd24gZXZlbnRzIGNvbnNpc3Rpbmcgb2YgR3JlZWsg
c21hbGwgY2hhcmFjdGVycy48L3A+CisgICAgPHNlbGVjdCBpZD0idGVzdCI+CisgICAgICAgIDxv
cHRpb24gdmFsdWU9Ii0xIj5zaG91bGQgbm90IHNlZSBtZTwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSIwIj4mI3gwMzkxOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIx
Ij4mI3gwMzkxOyYjeDAzOTI7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjIiPiYj
eDAzOTE7JiN4MDM5MjsmI3gwMzkzOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIz
Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0Ozwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSI0Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7PC9v
cHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjUiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkz
OyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVl
PSI2Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gw
Mzk3Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSI3Ij4mI3gwMzkxOyYjeDAzOTI7
JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7PC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjgiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAz
OTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5Ozwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uIHZhbHVlPSI5Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYj
eDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOzwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMCI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5
NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlC
Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMSI+JiN4MDM5MTsmI3gwMzkyOyYj
eDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4
MDM5QTsmI3gwMzlCOyYjeDAzOUM7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjEy
Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3
OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5QzsmI3gwMzlEOzwvb3B0aW9u
PgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMyI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4
MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gw
MzlCOyYjeDAzOUM7JiN4MDM5RDsmI3gwMzlFOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZh
bHVlPSIxNCI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7
JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsm
I3gwMzlFOyYjeDAzOUY7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjE1Ij4mI3gw
MzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAz
OTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7JiN4MDM5
RjsmI3gwM0EwOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxNiI+JiN4MDM5MTsm
I3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYj
eDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7JiN4
MDNBMDsmI3gwM0ExOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxOCI+JiN4MDM5
MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4
OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7
JiN4MDNBMDsmI3gwM0ExOyYjeDAzQTM7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9
IjE5Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gw
Mzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAz
OUU7JiN4MDM5RjsmI3gwM0EwOyYjeDAzQTE7JiN4MDNBMzsmI3gwM0E0Ozwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uIHZhbHVlPSIyMCI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsm
I3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYj
eDAzOUM7JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7JiN4MDNBMDsmI3gwM0ExOyYjeDAzQTM7JiN4
MDNBNDsmI3gwM0E1Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyMSI+JiN4MDM5
MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4
OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7
JiN4MDNBMDsmI3gwM0ExOyYjeDAzQTM7JiN4MDNBNDsmI3gwM0E1OyYjeDAzQTY7PC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjIyIj4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gw
Mzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAz
OUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7JiN4MDM5RjsmI3gwM0EwOyYjeDAzQTE7JiN4MDNB
MzsmI3gwM0E0OyYjeDAzQTU7JiN4MDNBNjsmI3gwM0E3Ozwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSIyMyI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYj
eDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4
MDM5RDsmI3gwMzlFOyYjeDAzOUY7JiN4MDNBMDsmI3gwM0ExOyYjeDAzQTM7JiN4MDNBNDsmI3gw
M0E1OyYjeDAzQTY7JiN4MDNBNzsmI3gwM0E4Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZh
bHVlPSIyNCI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7
JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsm
I3gwMzlFOyYjeDAzOUY7JiN4MDNBMDsmI3gwM0ExOyYjeDAzQTM7JiN4MDNBNDsmI3gwM0E1OyYj
eDAzQTY7JiN4MDNBNzsmI3gwM0E4OyYjeDAzQTk7PC9vcHRpb24+CisgICAgPC9zZWxlY3Q+Cisg
ICAgPHVsIGlkPSJjb25zb2xlIj48L3VsPgorPC9ib2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGxv
ZyhzdHIpIHsKKyAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAg
IGxpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0cikpOworICAgIHZhciBj
b25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBjb25zb2xl
LmFwcGVuZENoaWxkKGxpKTsKK30KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisvLyBTZXQg
dGhlIGlucHV0IGZvY3VzIHRvIHRoZSA8c2VsZWN0PiBlbGVtZW50LgordmFyIG5vZGUgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworbm9kZS5mb2N1cygpOworCit2YXIgYmFzZSA9
IDB4MDNCMTsKK2ZvciAodmFyIGkgPSBiYXNlOyBpIDw9IDB4MDNDOTsgaSsrKSB7CisgICAgLy8g
V2UgZG9uJ3QgaGF2ZSB0byBzZW5kIFUrMDNDMiAoR3JlZWsgU21hbGwgTGV0dGVyIEZpbmFsIFNp
Z21hKS4KKyAgICBpZiAoaSAhPSAweDAzQzIpIHsKKyAgICAgICAgLy8gU2VuZCBhIGtleSBldmVu
dCBjb25zaXN0aW5nIG9mIGEgR3JlZWsgc21hbGwgY2hhcmFjdGVyLgorICAgICAgICBldmVudFNl
bmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkpOworCisgICAgICAgIC8vIENvbXBh
cmUgdGhlIHZhbHVlIG9mIHRoaXMgPHNlbGVjdD4gZWxlbWVudCB3aXRoIHRoZSBleHBlY3RlZCBy
ZXN1bHQuCisgICAgICAgIGlmIChub2RlLnZhbHVlID09IGkgLSBiYXNlKQorICAgICAgICAgICAg
bG9nKCdTVUNDRUVERUQnKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nKCdGQUlMRUQ6
IGV4cGVjdGVkPSInICsgaSArICciLCBhY3R1YWw9IicgKyBub2RlLnZhbHVlICsgJyIuJyk7Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="22404"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41558</attachid>
            <date>2009-10-21 02:16:51 -0700</date>
            <delta_ts>2009-10-22 04:06:22 -0700</delta_ts>
            <desc>The second quick fix for SelectElement::typeAheadFind()</desc>
            <filename>issue29103-patch4.txt</filename>
            <type>text/plain</type>
            <size>16422</size>
            <attacher name="Hironori Bono">hbono</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTg5OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMTAtMjAgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QSBxdWljayBmaXggZm9yIEJ1ZyAyOTEwMy4KKyAgICAgICAgU2luY2UgU3RyaW5nOjpzdGFydHNX
aXRoKCkgY2Fubm90IGZvbGQgbm9uLUFTQ0lJIGNoYXJhY3RlcnMsIHRoaXMgY2hhbmdlIGZvbGRz
IHRoZSBwcmVmaXggc3RyaW5nCisgICAgICAgIGFuZCB0aGUgb3B0aW9uIHN0cmluZyBiZWZvcmUg
Y2FsbGluZyBTdHJpbmc6OnN0YXJ0c1dpdGgoKS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MTAzCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMv
bGlzdGJveC10eXBlYWhlYWQtY3lyaWxsaWMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jt
cy9saXN0Ym94LXR5cGVhaGVhZC1ncmVlay5odG1sCisKKyAgICAgICAgKiBkb20vU2VsZWN0RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50Ojp0eXBlQWhlYWRGaW5k
KToKKwogMjAwOS0xMC0yMCAgRXJpYyBaLiBBeWVycyAgPHp1bmRlbEBnb29nbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KSW5kZXg6IFdlYkNvcmUvZG9tL1Nl
bGVjdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiA0OTg5NikKKysrIFdlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04NzQsMTMgKzg3NCwxOCBAQCB2b2lkIFNlbGVjdEVsZW1lbnQ6OnR5
cGVBaGVhZEZpbmQoU2VsZWN0CiAgICAgaW50IGluZGV4ID0gKG9wdGlvblRvTGlzdEluZGV4KGRh
dGEsIGVsZW1lbnQsIHNlbGVjdGVkID49IDAgPyBzZWxlY3RlZCA6IDApICsgc2VhcmNoU3RhcnRP
ZmZzZXQpICUgaXRlbUNvdW50OwogICAgIEFTU0VSVChpbmRleCA+PSAwKTsKIAorICAgIC8vIFJl
dHJpdmUgdGhlIGZvbGRpbmcgZXF1aXZhbGVudCBvZiB0aGlzIHByZWZpeCBzdHJpbmcgYmVmb3Jl
IGZpbmRpbmcgYSBtYXRjaGluZyBlbGVtZW50LgorICAgIC8vIFRoaXMgaXMgYSB3b3JrYXJvdW5k
IHRoYXQgU3RyaW5nOjpzdGFydFdpdGgoKSBjYW5ub3QgZm9sZCBub24tQVNDSUkgY2hhcmFjdGVy
cywgc28KKyAgICAvLyB0aGlzIHdvcmthcm91bmQgaXMgdG8gYmUgcmVtb3ZlZCB3aGVuIHRoZSBh
Ym92ZSBwcm9ibGVtIGlzIGZpeGVkLgorICAgIFN0cmluZyBwcmVmaXhGb2xkQ2FzZShwcmVmaXgu
Zm9sZENhc2UoKSk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpdGVtQ291bnQ7ICsraSwgaW5k
ZXggPSAoaW5kZXggKyAxKSAlIGl0ZW1Db3VudCkgewogICAgICAgICBPcHRpb25FbGVtZW50KiBv
cHRpb25FbGVtZW50ID0gdG9PcHRpb25FbGVtZW50KGl0ZW1zW2luZGV4XSk7CiAgICAgICAgIGlm
ICghb3B0aW9uRWxlbWVudCB8fCBpdGVtc1tpbmRleF0tPmRpc2FibGVkKCkpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAorICAgICAgICAvLyBGb2xkIHRoZSBvcHRpb24gc3RyaW5nIGFuZCBjaGVj
ayBpdHMgcHJlZml4IGlzIGVxdWFsIHRvIHRoZSBmb2xkZWQgcHJlZml4LgogICAgICAgICBTdHJp
bmcgdGV4dCA9IG9wdGlvbkVsZW1lbnQtPnRleHRJbmRlbnRlZFRvUmVzcGVjdEdyb3VwTGFiZWwo
KTsKLSAgICAgICAgaWYgKHN0cmlwTGVhZGluZ1doaXRlU3BhY2UodGV4dCkuc3RhcnRzV2l0aChw
cmVmaXgsIGZhbHNlKSkgeworICAgICAgICBpZiAoc3RyaXBMZWFkaW5nV2hpdGVTcGFjZSh0ZXh0
KS5mb2xkQ2FzZSgpLnN0YXJ0c1dpdGgocHJlZml4Rm9sZENhc2UpKSB7CiAgICAgICAgICAgICBz
ZXRTZWxlY3RlZEluZGV4KGRhdGEsIGVsZW1lbnQsIGxpc3RUb09wdGlvbkluZGV4KGRhdGEsIGVs
ZW1lbnQsIGluZGV4KSk7CiAgICAgICAgICAgICBpZiAoIWRhdGEudXNlc01lbnVMaXN0KCkpCiAg
ICAgICAgICAgICAgICAgbGlzdEJveE9uQ2hhbmdlKGRhdGEsIGVsZW1lbnQpOwpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gNDk4OTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMC0yMCAgSGlyb25vcmkgQm9ubyAgPGhib25vQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBIHF1aWNrIGZpeCBmb3IgQnVnIDI5MTAzLgorICAgICAgICBTaW5jZSBTdHJpbmc6OnN0YXJ0
c1dpdGgoKSBjYW5ub3QgZm9sZCBub24tQVNDSUkgY2hhcmFjdGVycywgdGhpcyBjaGFuZ2UgZm9s
ZHMgdGhlIHByZWZpeCBzdHJpbmcKKyAgICAgICAgYW5kIHRoZSBvcHRpb24gc3RyaW5nIGJlZm9y
ZSBjYWxsaW5nIFN0cmluZzo6c3RhcnRzV2l0aCgpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkxMDMKKworICAgICAgICAqIGZhc3QvZm9ybXMvbGlz
dGJveC10eXBlYWhlYWQtY3lyaWxsaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5cmlsbGljLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtZ3JlZWstZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWdyZWVrLmh0bWw6IEFk
ZGVkLgorCiAyMDA5LTEwLTIwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtY3lyaWxsaWMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtY3ly
aWxsaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9saXN0Ym94LXR5cGVhaGVhZC1jeXJpbGxpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzUgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyBhIGRyb3AtZG93biBtZW51IGNhbiBy
ZWZpbmUgdGhlIHNlbGVjdGlvbiB3aGVuIHdlIHNlbmQga2V5ZG93biBldmVudHMgY29uc2lzdGlu
ZyBvZiBDeXJpbGxpYyBjaGFyYWN0ZXJzLgorCisKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUND
RUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VF
REVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURF
RAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQK
K1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitT
VUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VD
Q0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5cmlsbGljLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1jeXJpbGxpYy5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVh
ZC1jeXJpbGxpYy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcxIEBACis8aHRtbD4KKzxo
ZWFkPgorICAgIDx0aXRsZT48L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+VGhpcyB0
ZXN0IHZlcmlmaWVzIGEgZHJvcC1kb3duIG1lbnUgY2FuIHJlZmluZSB0aGUgc2VsZWN0aW9uIHdo
ZW4gd2Ugc2VuZCBrZXlkb3duIGV2ZW50cyBjb25zaXN0aW5nIG9mIEN5cmlsbGljIGNoYXJhY3Rl
cnMuPC9wPgorICAgIDxzZWxlY3QgaWQ9InRlc3QiPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIt
MSI+c2hvdWxkIG5vdCBzZWUgbWU8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMCI+
JiN4MDQxMDs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMSI+JiN4MDQxMDsmI3gw
NDExOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyIj4mI3gwNDEwOyYjeDA0MTE7
JiN4MDQxMjs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMyI+JiN4MDQxMDsmI3gw
NDExOyYjeDA0MTI7JiN4MDQxMzs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNCI+
JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0Ozwvb3B0aW9uPgorICAgICAg
ICA8b3B0aW9uIHZhbHVlPSI1Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0
MTQ7JiN4MDQxNTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNiI+JiN4MDQxMDsm
I3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjs8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNyI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQx
MzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3Ozwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSI4Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4
MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2
YWx1ZT0iOSI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7
JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
biB2YWx1ZT0iMTAiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gw
NDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTs8L29wdGlvbj4KKyAg
ICAgICAgPG9wdGlvbiB2YWx1ZT0iMTEiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7
JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsm
I3gwNDFCOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMiI+JiN4MDQxMDsmI3gw
NDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0
MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzs8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbiB2YWx1ZT0iMTMiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsm
I3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYj
eDA0MUM7JiN4MDQxRDs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTQiPiYjeDA0
MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQx
NzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFF
Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxNSI+JiN4MDQxMDsmI3gwNDExOyYj
eDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4
MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjs8L29w
dGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTYiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEy
OyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7
JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDs8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTciPiYjeDA0MTA7JiN4MDQxMTsmI3gw
NDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0
MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQy
MDsmI3gwNDIxOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxOCI+JiN4MDQxMDsm
I3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYj
eDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4
MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2
YWx1ZT0iMTkiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1
OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7
JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7JiN4MDQyMzs8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjAiPiYjeDA0MTA7JiN4MDQxMTsmI3gw
NDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0
MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQy
MDsmI3gwNDIxOyYjeDA0MjI7JiN4MDQyMzsmI3gwNDI0Ozwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSIyMSI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYj
eDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4
MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gw
NDIzOyYjeDA0MjQ7JiN4MDQyNTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjIi
PiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7
JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsm
I3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7JiN4MDQyMzsmI3gwNDI0OyYj
eDA0MjU7JiN4MDQyNjs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjMiPiYjeDA0
MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQx
NzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFF
OyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7JiN4MDQyMzsmI3gwNDI0OyYjeDA0MjU7
JiN4MDQyNjsmI3gwNDI3Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyNCI+JiN4
MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gw
NDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0
MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQy
NTsmI3gwNDI2OyYjeDA0Mjc7JiN4MDQyODs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iMjUiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYj
eDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4
MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7JiN4MDQyMzsmI3gw
NDI0OyYjeDA0MjU7JiN4MDQyNjsmI3gwNDI3OyYjeDA0Mjg7JiN4MDQyOTs8L29wdGlvbj4KKyAg
ICAgICAgPG9wdGlvbiB2YWx1ZT0iMjYiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7
JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsm
I3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYj
eDA0MjI7JiN4MDQyMzsmI3gwNDI0OyYjeDA0MjU7JiN4MDQyNjsmI3gwNDI3OyYjeDA0Mjg7JiN4
MDQyOTsmI3gwNDJBOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyNyI+JiN4MDQx
MDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3
OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7
JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsm
I3gwNDI2OyYjeDA0Mjc7JiN4MDQyODsmI3gwNDI5OyYjeDA0MkE7JiN4MDQyQjs8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjgiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0
MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQx
QTsmI3gwNDFCOyYjeDA0MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIx
OyYjeDA0MjI7JiN4MDQyMzsmI3gwNDI0OyYjeDA0MjU7JiN4MDQyNjsmI3gwNDI3OyYjeDA0Mjg7
JiN4MDQyOTsmI3gwNDJBOyYjeDA0MkI7JiN4MDQyQzs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
biB2YWx1ZT0iMjkiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gw
NDE1OyYjeDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0
MUM7JiN4MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7JiN4MDQy
MzsmI3gwNDI0OyYjeDA0MjU7JiN4MDQyNjsmI3gwNDI3OyYjeDA0Mjg7JiN4MDQyOTsmI3gwNDJB
OyYjeDA0MkI7JiN4MDQyQzsmI3gwNDJEOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVl
PSIzMCI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4
MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gw
NDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0
MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7JiN4MDQyODsmI3gwNDI5OyYjeDA0MkE7JiN4MDQy
QjsmI3gwNDJDOyYjeDA0MkQ7JiN4MDQyRTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iMzEiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYj
eDA0MTY7JiN4MDQxNzsmI3gwNDE4OyYjeDA0MTk7JiN4MDQxQTsmI3gwNDFCOyYjeDA0MUM7JiN4
MDQxRDsmI3gwNDFFOyYjeDA0MUY7JiN4MDQyMDsmI3gwNDIxOyYjeDA0MjI7JiN4MDQyMzsmI3gw
NDI0OyYjeDA0MjU7JiN4MDQyNjsmI3gwNDI3OyYjeDA0Mjg7JiN4MDQyOTsmI3gwNDJBOyYjeDA0
MkI7JiN4MDQyQzsmI3gwNDJEOyYjeDA0MkU7JiN4MDQyRjs8L29wdGlvbj4KKyAgICA8L3NlbGVj
dD4KKyAgICA8dWwgaWQ9ImNvbnNvbGUiPjwvdWw+Cis8L2JvZHk+Cis8c2NyaXB0PgorZnVuY3Rp
b24gbG9nKHN0cikgeworICAgIHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7
CisgICAgbGkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAg
dmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICAgIGNv
bnNvbGUuYXBwZW5kQ2hpbGQobGkpOworfQorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKy8v
IFNldCB0aGUgaW5wdXQgZm9jdXMgdG8gdGhlIDxzZWxlY3Q+IGVsZW1lbnQuCit2YXIgbm9kZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Citub2RlLmZvY3VzKCk7CisKK3ZhciBi
YXNlID0gMHgwNDMwOworZm9yICh2YXIgaSA9IGJhc2U7IGkgPD0gMHgwNDRGOyBpKyspIHsKKyAg
ICAvLyBTZW5kIGEga2V5IGV2ZW50IGNvbnNpc3Rpbmcgb2YgYSBDeXJpbGxpYyBzbWFsbCBjaGFy
YWN0ZXIuCisgICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKTsK
KworICAgIC8vIENvbXBhcmUgdGhlIHZhbHVlIG9mIHRoaXMgPHNlbGVjdD4gZWxlbWVudCB3aXRo
IHRoZSBleHBlY3RlZCByZXN1bHQuCisgICAgaWYgKG5vZGUudmFsdWUgPT0gaSAtIGJhc2UpCisg
ICAgICAgIGxvZygnU1VDQ0VFREVEJyk7CisgICAgZWxzZQorICAgICAgICBsb2coJ0ZBSUxFRDog
ZXhwZWN0ZWQ9IicgKyBpICsgJyIsIGFjdHVhbD0iJyArIG5vZGUudmFsdWUgKyAnIi4nKTsKK30K
Kzwvc2NyaXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94
LXR5cGVhaGVhZC1ncmVlay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1ncmVlay1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWdyZWVrLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIGEgZHJvcC1kb3duIG1lbnUgY2FuIHJlZmluZSB0aGUgc2VsZWN0aW9uIHdoZW4gd2Ugc2Vu
ZCBrZXlkb3duIGV2ZW50cyBjb25zaXN0aW5nIG9mIEdyZWVrIHNtYWxsIGNoYXJhY3RlcnMuCisK
KworU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQK
K1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitT
VUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VD
Q0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NF
RURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1ncmVlay5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtZ3JlZWsuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtZ3JlZWsu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NiBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8
dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPlRoaXMgdGVzdCB2ZXJpZmll
cyBhIGRyb3AtZG93biBtZW51IGNhbiByZWZpbmUgdGhlIHNlbGVjdGlvbiB3aGVuIHdlIHNlbmQg
a2V5ZG93biBldmVudHMgY29uc2lzdGluZyBvZiBHcmVlayBzbWFsbCBjaGFyYWN0ZXJzLjwvcD4K
KyAgICA8c2VsZWN0IGlkPSJ0ZXN0Ij4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iLTEiPnNob3Vs
ZCBub3Qgc2VlIG1lPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjAiPiYjeDAzOTE7
PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiPiYjeDAzOTE7JiN4MDM5Mjs8L29w
dGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMiI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7
PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjMiPiYjeDAzOTE7JiN4MDM5MjsmI3gw
MzkzOyYjeDAzOTQ7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjQiPiYjeDAzOTE7
JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
biB2YWx1ZT0iNSI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAz
OTY7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjYiPiYjeDAzOTE7JiN4MDM5Mjsm
I3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7PC9vcHRpb24+CisgICAgICAg
IDxvcHRpb24gdmFsdWU9IjciPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5
NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iOCI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4
MDM5NzsmI3gwMzk4OyYjeDAzOTk7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9Ijki
PiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7
JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9
IjEwIj4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gw
Mzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7PC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24gdmFsdWU9IjExIj4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7
JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5Qzs8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTIiPiYjeDAzOTE7JiN4MDM5MjsmI3gw
MzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAz
OUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFs
dWU9IjEzIj4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5Njsm
I3gwMzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5QzsmI3gwMzlEOyYj
eDAzOUU7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjE0Ij4mI3gwMzkxOyYjeDAz
OTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5
OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7JiN4MDM5Rjs8L29wdGlv
bj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTUiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYj
eDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4
MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7PC9vcHRpb24+Cisg
ICAgICAgIDxvcHRpb24gdmFsdWU9IjE2Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0
OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7
JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7JiN4MDM5RjsmI3gwM0EwOyYjeDAzQTE7PC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjE4Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gw
Mzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAz
OUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7JiN4MDM5RjsmI3gwM0EwOyYjeDAzQTE7JiN4MDNB
Mzs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTkiPiYjeDAzOTE7JiN4MDM5Mjsm
I3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYj
eDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4
MDNBMTsmI3gwM0EzOyYjeDAzQTQ7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjIw
Ij4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3
OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7
JiN4MDM5RjsmI3gwM0EwOyYjeDAzQTE7JiN4MDNBMzsmI3gwM0E0OyYjeDAzQTU7PC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjIxIj4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5MzsmI3gw
Mzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5OTsmI3gwMzlBOyYjeDAz
OUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7JiN4MDM5RjsmI3gwM0EwOyYjeDAzQTE7JiN4MDNB
MzsmI3gwM0E0OyYjeDAzQTU7JiN4MDNBNjs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iMjIiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYj
eDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4
MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNBMTsmI3gwM0EzOyYjeDAzQTQ7JiN4MDNBNTsmI3gw
M0E2OyYjeDAzQTc7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjIzIj4mI3gwMzkx
OyYjeDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7
JiN4MDM5OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7JiN4MDM5Rjsm
I3gwM0EwOyYjeDAzQTE7JiN4MDNBMzsmI3gwM0E0OyYjeDAzQTU7JiN4MDNBNjsmI3gwM0E3OyYj
eDAzQTg7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjI0Ij4mI3gwMzkxOyYjeDAz
OTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5
OTsmI3gwMzlBOyYjeDAzOUI7JiN4MDM5QzsmI3gwMzlEOyYjeDAzOUU7JiN4MDM5RjsmI3gwM0Ew
OyYjeDAzQTE7JiN4MDNBMzsmI3gwM0E0OyYjeDAzQTU7JiN4MDNBNjsmI3gwM0E3OyYjeDAzQTg7
JiN4MDNBOTs8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKyAgICA8dWwgaWQ9ImNvbnNvbGUiPjwv
dWw+Cis8L2JvZHk+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKHN0cikgeworICAgIHZhciBsaSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgbGkuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29uc29sZSIpOworICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQobGkpOworfQor
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKy8vIFNldCB0aGUgaW5wdXQgZm9jdXMgdG8gdGhl
IDxzZWxlY3Q+IGVsZW1lbnQuCit2YXIgbm9kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXN0Iik7Citub2RlLmZvY3VzKCk7CisKK3ZhciBiYXNlID0gMHgwM0IxOworZm9yICh2YXIgaSA9
IGJhc2U7IGkgPD0gMHgwM0M5OyBpKyspIHsKKyAgICAvLyBXZSBkb24ndCBoYXZlIHRvIHNlbmQg
VSswM0MyIChHcmVlayBTbWFsbCBMZXR0ZXIgRmluYWwgU2lnbWEpLgorICAgIGlmIChpICE9IDB4
MDNDMikgeworICAgICAgICAvLyBTZW5kIGEga2V5IGV2ZW50IGNvbnNpc3Rpbmcgb2YgYSBHcmVl
ayBzbWFsbCBjaGFyYWN0ZXIuCisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3RyaW5nLmZy
b21DaGFyQ29kZShpKSk7CisKKyAgICAgICAgLy8gQ29tcGFyZSB0aGUgdmFsdWUgb2YgdGhpcyA8
c2VsZWN0PiBlbGVtZW50IHdpdGggdGhlIGV4cGVjdGVkIHJlc3VsdC4KKyAgICAgICAgaWYgKG5v
ZGUudmFsdWUgPT0gaSAtIGJhc2UpCisgICAgICAgICAgICBsb2coJ1NVQ0NFRURFRCcpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBsb2coJ0ZBSUxFRDogZXhwZWN0ZWQ9IicgKyBpICsgJyIs
IGFjdHVhbD0iJyArIG5vZGUudmFsdWUgKyAnIi4nKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwv
aHRtbD4K
</data>
<flag name="review"
          id="22975"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41652</attachid>
            <date>2009-10-22 04:06:22 -0700</date>
            <delta_ts>2009-10-25 13:16:04 -0700</delta_ts>
            <desc>The third quick fix for SelectElement::typeAheadFind()</desc>
            <filename>issue29103-patch5.txt</filename>
            <type>text/plain</type>
            <size>16514</size>
            <attacher name="Hironori Bono">hbono</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTkzMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMTAtMjIgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QSBxdWljayBmaXggZm9yIEJ1ZyAyOTEwMy4KKyAgICAgICAgU2luY2UgU3RyaW5nOjpzdGFydHNX
aXRoKCkgY2Fubm90IGZvbGQgbm9uLUFTQ0lJIGNoYXJhY3RlcnMsIHRoaXMgY2hhbmdlIGZvbGRz
IHRoZSBwcmVmaXggc3RyaW5nCisgICAgICAgIGFuZCB0aGUgb3B0aW9uIHN0cmluZyBiZWZvcmUg
Y2FsbGluZyBTdHJpbmc6OnN0YXJ0c1dpdGgoKS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MTAzCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMv
bGlzdGJveC10eXBlYWhlYWQtY3lyaWxsaWMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jt
cy9saXN0Ym94LXR5cGVhaGVhZC1ncmVlay5odG1sCisKKyAgICAgICAgKiBkb20vU2VsZWN0RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50Ojp0eXBlQWhlYWRGaW5k
KToKKwogMjAwOS0xMC0yMSAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgog
CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjcwMzIwPiBTY3JlZW5zaG90cyBvZiBvZmYtc2Ny
ZWVuIHBsdWctaW5zIGFyZSBibGFuawpJbmRleDogV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5jcHAJKHJldmlzaW9u
IDQ5OTMzKQorKysgV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTg3NCwxMyArODc0LDE5IEBAIHZvaWQgU2VsZWN0RWxlbWVudDo6dHlwZUFoZWFkRmluZChT
ZWxlY3QKICAgICBpbnQgaW5kZXggPSAob3B0aW9uVG9MaXN0SW5kZXgoZGF0YSwgZWxlbWVudCwg
c2VsZWN0ZWQgPj0gMCA/IHNlbGVjdGVkIDogMCkgKyBzZWFyY2hTdGFydE9mZnNldCkgJSBpdGVt
Q291bnQ7CiAgICAgQVNTRVJUKGluZGV4ID49IDApOwogCisgICAgLy8gQ29tcHV0ZSBhIGNhc2Ut
Zm9sZGVkIGNvcHkgb2YgdGhlIHByZWZpeCBzdHJpbmcgYmVmb3JlIGJlZ2lubmluZyB0aGUgc2Vh
cmNoIGZvcgorICAgIC8vIGEgbWF0Y2hpbmcgZWxlbWVudC4gVGhpcyBjb2RlIHVzZXMgZm9sZENh
c2UgdG8gd29yayBhcm91bmQgdGhlIGZhY3QgdGhhdAorICAgIC8vIFN0cmluZzo6c3RhcnRXaXRo
IGRvZXMgbm90IGZvbGQgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuIFRoaXMgY29kZSBjYW4gYmUgY2hh
bmdlZAorICAgIC8vIHRvIHVzZSBzdGFydFdpdGggb25jZSB0aGF0IGlzIGZpeGVkLgorICAgIFN0
cmluZyBwcmVmaXhXaXRoQ2FzZUZvbGRlZChwcmVmaXguZm9sZENhc2UoKSk7CiAgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCBpdGVtQ291bnQ7ICsraSwgaW5kZXggPSAoaW5kZXggKyAxKSAlIGl0ZW1D
b3VudCkgewogICAgICAgICBPcHRpb25FbGVtZW50KiBvcHRpb25FbGVtZW50ID0gdG9PcHRpb25F
bGVtZW50KGl0ZW1zW2luZGV4XSk7CiAgICAgICAgIGlmICghb3B0aW9uRWxlbWVudCB8fCBpdGVt
c1tpbmRleF0tPmRpc2FibGVkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAorICAgICAgICAv
LyBGb2xkIHRoZSBvcHRpb24gc3RyaW5nIGFuZCBjaGVjayBpZiBpdHMgcHJlZml4IGlzIGVxdWFs
IHRvIHRoZSBmb2xkZWQgcHJlZml4LgogICAgICAgICBTdHJpbmcgdGV4dCA9IG9wdGlvbkVsZW1l
bnQtPnRleHRJbmRlbnRlZFRvUmVzcGVjdEdyb3VwTGFiZWwoKTsKLSAgICAgICAgaWYgKHN0cmlw
TGVhZGluZ1doaXRlU3BhY2UodGV4dCkuc3RhcnRzV2l0aChwcmVmaXgsIGZhbHNlKSkgeworICAg
ICAgICBpZiAoc3RyaXBMZWFkaW5nV2hpdGVTcGFjZSh0ZXh0KS5mb2xkQ2FzZSgpLnN0YXJ0c1dp
dGgocHJlZml4V2l0aENhc2VGb2xkZWQpKSB7CiAgICAgICAgICAgICBzZXRTZWxlY3RlZEluZGV4
KGRhdGEsIGVsZW1lbnQsIGxpc3RUb09wdGlvbkluZGV4KGRhdGEsIGVsZW1lbnQsIGluZGV4KSk7
CiAgICAgICAgICAgICBpZiAoIWRhdGEudXNlc01lbnVMaXN0KCkpCiAgICAgICAgICAgICAgICAg
bGlzdEJveE9uQ2hhbmdlKGRhdGEsIGVsZW1lbnQpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNDk5MzMp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBA
QAorMjAwOS0xMC0yMiAgSGlyb25vcmkgQm9ubyAgPGhib25vQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIHF1aWNrIGZpeCBm
b3IgQnVnIDI5MTAzLgorICAgICAgICBTaW5jZSBTdHJpbmc6OnN0YXJ0c1dpdGgoKSBjYW5ub3Qg
Zm9sZCBub24tQVNDSUkgY2hhcmFjdGVycywgdGhpcyBjaGFuZ2UgZm9sZHMgdGhlIHByZWZpeCBz
dHJpbmcKKyAgICAgICAgYW5kIHRoZSBvcHRpb24gc3RyaW5nIGJlZm9yZSBjYWxsaW5nIFN0cmlu
Zzo6c3RhcnRzV2l0aCgpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjkxMDMKKworICAgICAgICAqIGZhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQt
Y3lyaWxsaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xpc3Ri
b3gtdHlwZWFoZWFkLWN5cmlsbGljLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bGlzdGJveC10eXBlYWhlYWQtZ3JlZWstZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWdyZWVrLmh0bWw6IEFkZGVkLgorCiAyMDA5LTEw
LTIxICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94
LXR5cGVhaGVhZC1jeXJpbGxpYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1jeXJpbGxpYy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5
cmlsbGljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNSBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIGEgZHJvcC1kb3duIG1lbnUgY2FuIHJlZmluZSB0aGUgc2VsZWN0aW9uIHdo
ZW4gd2Ugc2VuZCBrZXlkb3duIGV2ZW50cyBjb25zaXN0aW5nIG9mIEN5cmlsbGljIGNoYXJhY3Rl
cnMuCisKKworU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUND
RUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VF
REVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURF
RAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQK
K1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitT
VUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VD
Q0VFREVECitTVUNDRUVERUQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC10
eXBlYWhlYWQtY3lyaWxsaWMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5cmlsbGljLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWN5cmlsbGljLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNzEgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPjwvdGl0
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5UaGlzIHRlc3QgdmVyaWZpZXMgYSBkcm9wLWRv
d24gbWVudSBjYW4gcmVmaW5lIHRoZSBzZWxlY3Rpb24gd2hlbiB3ZSBzZW5kIGtleWRvd24gZXZl
bnRzIGNvbnNpc3Rpbmcgb2YgQ3lyaWxsaWMgY2hhcmFjdGVycy48L3A+CisgICAgPHNlbGVjdCBp
ZD0idGVzdCI+CisgICAgICAgIDxvcHRpb24gdmFsdWU9Ii0xIj5zaG91bGQgbm90IHNlZSBtZTwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIwIj4mI3gwNDEwOzwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uIHZhbHVlPSIxIj4mI3gwNDEwOyYjeDA0MTE7PC9vcHRpb24+CisgICAgICAg
IDxvcHRpb24gdmFsdWU9IjIiPiYjeDA0MTA7JiN4MDQxMTsmI3gwNDEyOzwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uIHZhbHVlPSIzIj4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOzwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSI0Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQx
MjsmI3gwNDEzOyYjeDA0MTQ7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjUiPiYj
eDA0MTA7JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1Ozwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uIHZhbHVlPSI2Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEz
OyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVl
PSI3Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gw
NDE2OyYjeDA0MTc7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjgiPiYjeDA0MTA7
JiN4MDQxMTsmI3gwNDEyOyYjeDA0MTM7JiN4MDQxNDsmI3gwNDE1OyYjeDA0MTY7JiN4MDQxNzsm
I3gwNDE4Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSI5Ij4mI3gwNDEwOyYjeDA0
MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQx
ODsmI3gwNDE5Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMCI+JiN4MDQxMDsm
I3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYj
eDA0MTg7JiN4MDQxOTsmI3gwNDFBOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIx
MSI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQx
NjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7PC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24gdmFsdWU9IjEyIj4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYj
eDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4
MDQxQjsmI3gwNDFDOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMyI+JiN4MDQx
MDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3
OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOzwvb3B0aW9u
PgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxNCI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4
MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gw
NDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7PC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24gdmFsdWU9IjE1Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7
JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsm
I3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
IHZhbHVlPSIxNiI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0
MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQx
QzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOzwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSIxNyI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYj
eDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4
MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7PC9vcHRpb24+Cisg
ICAgICAgIDxvcHRpb24gdmFsdWU9IjE4Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEz
OyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7
JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsm
I3gwNDIyOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIxOSI+JiN4MDQxMDsmI3gw
NDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0
MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQx
RjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOzwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSIyMCI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYj
eDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4
MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gw
NDIzOyYjeDA0MjQ7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjIxIj4mI3gwNDEw
OyYjeDA0MTE7JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7
JiN4MDQxODsmI3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsm
I3gwNDFGOyYjeDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1Ozwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyMiI+JiN4MDQxMDsmI3gwNDExOyYjeDA0
MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQx
OTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIw
OyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2Ozwvb3B0aW9u
PgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyMyI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4
MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gw
NDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0
MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7PC9vcHRp
b24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjI0Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsm
I3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYj
eDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4
MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzsmI3gw
NDI4Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyNSI+JiN4MDQxMDsmI3gwNDEx
OyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7
JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsm
I3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2OyYj
eDA0Mjc7JiN4MDQyODsmI3gwNDI5Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIy
NiI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQx
NjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFE
OyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7
JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7JiN4MDQyODsmI3gwNDI5OyYjeDA0MkE7PC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjI3Ij4mI3gwNDEwOyYjeDA0MTE7JiN4MDQxMjsmI3gw
NDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsmI3gwNDE5OyYjeDA0
MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYjeDA0MjA7JiN4MDQy
MTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4MDQyNzsmI3gwNDI4
OyYjeDA0Mjk7JiN4MDQyQTsmI3gwNDJCOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVl
PSIyOCI+JiN4MDQxMDsmI3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4
MDQxNjsmI3gwNDE3OyYjeDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gw
NDFEOyYjeDA0MUU7JiN4MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0
MjQ7JiN4MDQyNTsmI3gwNDI2OyYjeDA0Mjc7JiN4MDQyODsmI3gwNDI5OyYjeDA0MkE7JiN4MDQy
QjsmI3gwNDJDOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyOSI+JiN4MDQxMDsm
I3gwNDExOyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYj
eDA0MTg7JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4
MDQxRjsmI3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gw
NDI2OyYjeDA0Mjc7JiN4MDQyODsmI3gwNDI5OyYjeDA0MkE7JiN4MDQyQjsmI3gwNDJDOyYjeDA0
MkQ7PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9IjMwIj4mI3gwNDEwOyYjeDA0MTE7
JiN4MDQxMjsmI3gwNDEzOyYjeDA0MTQ7JiN4MDQxNTsmI3gwNDE2OyYjeDA0MTc7JiN4MDQxODsm
I3gwNDE5OyYjeDA0MUE7JiN4MDQxQjsmI3gwNDFDOyYjeDA0MUQ7JiN4MDQxRTsmI3gwNDFGOyYj
eDA0MjA7JiN4MDQyMTsmI3gwNDIyOyYjeDA0MjM7JiN4MDQyNDsmI3gwNDI1OyYjeDA0MjY7JiN4
MDQyNzsmI3gwNDI4OyYjeDA0Mjk7JiN4MDQyQTsmI3gwNDJCOyYjeDA0MkM7JiN4MDQyRDsmI3gw
NDJFOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIzMSI+JiN4MDQxMDsmI3gwNDEx
OyYjeDA0MTI7JiN4MDQxMzsmI3gwNDE0OyYjeDA0MTU7JiN4MDQxNjsmI3gwNDE3OyYjeDA0MTg7
JiN4MDQxOTsmI3gwNDFBOyYjeDA0MUI7JiN4MDQxQzsmI3gwNDFEOyYjeDA0MUU7JiN4MDQxRjsm
I3gwNDIwOyYjeDA0MjE7JiN4MDQyMjsmI3gwNDIzOyYjeDA0MjQ7JiN4MDQyNTsmI3gwNDI2OyYj
eDA0Mjc7JiN4MDQyODsmI3gwNDI5OyYjeDA0MkE7JiN4MDQyQjsmI3gwNDJDOyYjeDA0MkQ7JiN4
MDQyRTsmI3gwNDJGOzwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorICAgIDx1bCBpZD0iY29uc29s
ZSI+PC91bD4KKzwvYm9keT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2coc3RyKSB7CisgICAgdmFy
IGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKTsKKyAgICBsaS5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIpKTsKKyAgICB2YXIgY29uc29sZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisgICAgY29uc29sZS5hcHBlbmRDaGlsZChsaSk7
Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworLy8gU2V0IHRoZSBpbnB1dCBmb2N1cyB0
byB0aGUgPHNlbGVjdD4gZWxlbWVudC4KK3ZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRlc3QiKTsKK25vZGUuZm9jdXMoKTsKKwordmFyIGJhc2UgPSAweDA0MzA7Citmb3IgKHZh
ciBpID0gYmFzZTsgaSA8PSAweDA0NEY7IGkrKykgeworICAgIC8vIFNlbmQgYSBrZXkgZXZlbnQg
Y29uc2lzdGluZyBvZiBhIEN5cmlsbGljIHNtYWxsIGNoYXJhY3Rlci4KKyAgICBldmVudFNlbmRl
ci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkpOworCisgICAgLy8gQ29tcGFyZSB0aGUg
dmFsdWUgb2YgdGhpcyA8c2VsZWN0PiBlbGVtZW50IHdpdGggdGhlIGV4cGVjdGVkIHJlc3VsdC4K
KyAgICBpZiAobm9kZS52YWx1ZSA9PSBpIC0gYmFzZSkKKyAgICAgICAgbG9nKCdTVUNDRUVERUQn
KTsKKyAgICBlbHNlCisgICAgICAgIGxvZygnRkFJTEVEOiBleHBlY3RlZD0iJyArIGkgKyAnIiwg
YWN0dWFsPSInICsgbm9kZS52YWx1ZSArICciLicpOworfQorPC9zY3JpcHQ+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlwZWFoZWFkLWdyZWVrLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlw
ZWFoZWFkLWdyZWVrLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtZ3JlZWstZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDI3IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgYSBkcm9wLWRvd24gbWVudSBj
YW4gcmVmaW5lIHRoZSBzZWxlY3Rpb24gd2hlbiB3ZSBzZW5kIGtleWRvd24gZXZlbnRzIGNvbnNp
c3Rpbmcgb2YgR3JlZWsgc21hbGwgY2hhcmFjdGVycy4KKworCitTVUNDRUVERUQKK1NVQ0NFRURF
RAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQK
K1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitT
VUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VD
Q0VFREVECitTVUNDRUVERUQKK1NVQ0NFRURFRAorU1VDQ0VFREVECitTVUNDRUVERUQKK1NVQ0NF
RURFRAorU1VDQ0VFREVECkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtdHlw
ZWFoZWFkLWdyZWVrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9s
aXN0Ym94LXR5cGVhaGVhZC1ncmVlay5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9saXN0Ym94LXR5cGVhaGVhZC1ncmVlay5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDY2IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT48L3RpdGxlPgorPC9oZWFk
PgorPGJvZHk+CisgICAgPHA+VGhpcyB0ZXN0IHZlcmlmaWVzIGEgZHJvcC1kb3duIG1lbnUgY2Fu
IHJlZmluZSB0aGUgc2VsZWN0aW9uIHdoZW4gd2Ugc2VuZCBrZXlkb3duIGV2ZW50cyBjb25zaXN0
aW5nIG9mIEdyZWVrIHNtYWxsIGNoYXJhY3RlcnMuPC9wPgorICAgIDxzZWxlY3QgaWQ9InRlc3Qi
PgorICAgICAgICA8b3B0aW9uIHZhbHVlPSItMSI+c2hvdWxkIG5vdCBzZWUgbWU8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMCI+JiN4MDM5MTs8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbiB2YWx1ZT0iMSI+JiN4MDM5MTsmI3gwMzkyOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
IHZhbHVlPSIyIj4mI3gwMzkxOyYjeDAzOTI7JiN4MDM5Mzs8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbiB2YWx1ZT0iMyI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDs8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNCI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5
NDsmI3gwMzk1Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSI1Ij4mI3gwMzkxOyYj
eDAzOTI7JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5Njs8L29wdGlvbj4KKyAgICAgICAg
PG9wdGlvbiB2YWx1ZT0iNiI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1
OyYjeDAzOTY7JiN4MDM5Nzs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNyI+JiN4
MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gw
Mzk4Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSI4Ij4mI3gwMzkxOyYjeDAzOTI7
JiN4MDM5MzsmI3gwMzk0OyYjeDAzOTU7JiN4MDM5NjsmI3gwMzk3OyYjeDAzOTg7JiN4MDM5OTs8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iOSI+JiN4MDM5MTsmI3gwMzkyOyYjeDAz
OTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5
QTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTAiPiYjeDAzOTE7JiN4MDM5Mjsm
I3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYj
eDAzOUE7JiN4MDM5Qjs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTEiPiYjeDAz
OTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5
ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOzwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSIxMiI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYj
eDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4
MDM5RDs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTMiPiYjeDAzOTE7JiN4MDM5
MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5
OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTs8L29wdGlvbj4KKyAgICAg
ICAgPG9wdGlvbiB2YWx1ZT0iMTQiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4
MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gw
MzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZh
bHVlPSIxNSI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7
JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsm
I3gwMzlFOyYjeDAzOUY7JiN4MDNBMDs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0i
MTYiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAz
OTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5
RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNBMTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iMTgiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYj
eDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4
MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNBMTsmI3gwM0EzOzwvb3B0aW9uPgorICAgICAgICA8
b3B0aW9uIHZhbHVlPSIxOSI+JiN4MDM5MTsmI3gwMzkyOyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1
OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7
JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7JiN4MDNBMDsmI3gwM0ExOyYjeDAzQTM7JiN4MDNBNDs8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjAiPiYjeDAzOTE7JiN4MDM5MjsmI3gw
MzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAz
OUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNB
MTsmI3gwM0EzOyYjeDAzQTQ7JiN4MDNBNTs8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iMjEiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4MDM5NTsmI3gwMzk2OyYj
eDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gwMzlDOyYjeDAzOUQ7JiN4
MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNBMTsmI3gwM0EzOyYjeDAzQTQ7JiN4MDNBNTsmI3gw
M0E2Ozwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVlPSIyMiI+JiN4MDM5MTsmI3gwMzky
OyYjeDAzOTM7JiN4MDM5NDsmI3gwMzk1OyYjeDAzOTY7JiN4MDM5NzsmI3gwMzk4OyYjeDAzOTk7
JiN4MDM5QTsmI3gwMzlCOyYjeDAzOUM7JiN4MDM5RDsmI3gwMzlFOyYjeDAzOUY7JiN4MDNBMDsm
I3gwM0ExOyYjeDAzQTM7JiN4MDNBNDsmI3gwM0E1OyYjeDAzQTY7JiN4MDNBNzs8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMjMiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAz
OTQ7JiN4MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5
QjsmI3gwMzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNBMTsmI3gwM0Ez
OyYjeDAzQTQ7JiN4MDNBNTsmI3gwM0E2OyYjeDAzQTc7JiN4MDNBODs8L29wdGlvbj4KKyAgICAg
ICAgPG9wdGlvbiB2YWx1ZT0iMjQiPiYjeDAzOTE7JiN4MDM5MjsmI3gwMzkzOyYjeDAzOTQ7JiN4
MDM5NTsmI3gwMzk2OyYjeDAzOTc7JiN4MDM5ODsmI3gwMzk5OyYjeDAzOUE7JiN4MDM5QjsmI3gw
MzlDOyYjeDAzOUQ7JiN4MDM5RTsmI3gwMzlGOyYjeDAzQTA7JiN4MDNBMTsmI3gwM0EzOyYjeDAz
QTQ7JiN4MDNBNTsmI3gwM0E2OyYjeDAzQTc7JiN4MDNBODsmI3gwM0E5Ozwvb3B0aW9uPgorICAg
IDwvc2VsZWN0PgorICAgIDx1bCBpZD0iY29uc29sZSI+PC91bD4KKzwvYm9keT4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBsb2coc3RyKSB7CisgICAgdmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgibGkiKTsKKyAgICBsaS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIp
KTsKKyAgICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7
CisgICAgY29uc29sZS5hcHBlbmRDaGlsZChsaSk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKworLy8gU2V0IHRoZSBpbnB1dCBmb2N1cyB0byB0aGUgPHNlbGVjdD4gZWxlbWVudC4KK3Zh
ciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKK25vZGUuZm9jdXMoKTsK
KwordmFyIGJhc2UgPSAweDAzQjE7Citmb3IgKHZhciBpID0gYmFzZTsgaSA8PSAweDAzQzk7IGkr
KykgeworICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gc2VuZCBVKzAzQzIgKEdyZWVrIFNtYWxsIExl
dHRlciBGaW5hbCBTaWdtYSkuCisgICAgaWYgKGkgIT0gMHgwM0MyKSB7CisgICAgICAgIC8vIFNl
bmQgYSBrZXkgZXZlbnQgY29uc2lzdGluZyBvZiBhIEdyZWVrIHNtYWxsIGNoYXJhY3Rlci4KKyAg
ICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKTsKKworICAg
ICAgICAvLyBDb21wYXJlIHRoZSB2YWx1ZSBvZiB0aGlzIDxzZWxlY3Q+IGVsZW1lbnQgd2l0aCB0
aGUgZXhwZWN0ZWQgcmVzdWx0LgorICAgICAgICBpZiAobm9kZS52YWx1ZSA9PSBpIC0gYmFzZSkK
KyAgICAgICAgICAgIGxvZygnU1VDQ0VFREVEJyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGxvZygnRkFJTEVEOiBleHBlY3RlZD0iJyArIGkgKyAnIiwgYWN0dWFsPSInICsgbm9kZS52YWx1
ZSArICciLicpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>