<?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>5572</bug_id>
          
          <creation_ts>2005-10-31 10:44:15 -0800</creation_ts>
          <short_desc>Implement textContent property</short_desc>
          <delta_ts>2019-02-06 09:03:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>3249</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23382</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-10-31 10:44:15 -0800</bug_when>
    <thetext>In DOM3, nodes have a textContent property. This should be implemented in order to pass more of the 
DOM3 test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23383</commentid>
    <comment_count>1</comment_count>
      <attachid>4542</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-10-31 10:45:11 -0800</bug_when>
    <thetext>Created attachment 4542
Implement textContent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23385</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-31 11:00:06 -0800</bug_when>
    <thetext>Looks great!  I think i&apos;d like a secondary approval from hyatt, darin or mjs though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23413</commentid>
    <comment_count>3</comment_count>
      <attachid>4542</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-31 18:28:28 -0800</bug_when>
    <thetext>Comment on attachment 4542
Implement textContent

The check of value-&gt;isNull() in TextContent makes me think two things:

1) I&apos;d like a helper routine that creates a DOMString that handles the
JavaScript null case in this way. I&apos;m sure there are other functions like this
one elsewhere in the DOM.

2) What about undefined? Should undefined set the text contents to &quot;undefined&quot;?
If not, then it should be isUndefinedOrNull() rather than isNull().

I think the code in NodeImpl::textContent and setTextContent cries out for
either a switch statement or a virtual function.

The code here is not the same as in setInnerText, but it should be. If they
shared code, then we would have the empty text check in both places
(setInnerText currently lacks it).

The check of text.isNull() should be a check of text.isEmpty() I believe
(unless I&apos;m missing something).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23420</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-11-01 00:42:06 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 4542 [edit])
&gt; The check of value-&gt;isNull() in TextContent makes me think two things:
&gt; 
&gt; 1) I&apos;d like a helper routine that creates a DOMString that handles the
&gt; JavaScript null case in this way. I&apos;m sure there are other functions like this
&gt; one elsewhere in the DOM.

I can&apos;t find any other functions like this so I think I&apos;ll just let it be.

&gt; 
&gt; 2) What about undefined? Should undefined set the text contents to &quot;undefined&quot;?
&gt; If not, then it should be isUndefinedOrNull() rather than isNull().
&gt;
I think it makes more sense to set the text to &quot;undefined&quot;. This is what Mozilla does.

&gt; I think the code in NodeImpl::textContent and setTextContent cries out for
&gt; either a switch statement or a virtual function.
&gt;
Yeah, I&apos;ve changed it to do that.
 
&gt; The code here is not the same as in setInnerText, but it should be. If they
&gt; shared code, then we would have the empty text check in both places
&gt; (setInnerText currently lacks it).
&gt;
They should not be the same. setInnerText should ideally do parsing (converting \n to &lt;br&gt; for 
example) but setTextContent shouldn&apos;t do that so I&apos;d rather have them separate functions.
 
&gt; The check of text.isNull() should be a check of text.isEmpty() I believe
&gt; (unless I&apos;m missing something).
&gt; 
Yeah, that&apos;s correct. I&apos;ve changed it.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23421</commentid>
    <comment_count>5</comment_count>
      <attachid>4547</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-11-01 00:42:41 -0800</bug_when>
    <thetext>Created attachment 4547
Address comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23435</commentid>
    <comment_count>6</comment_count>
      <attachid>4547</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-11-01 08:37:40 -0800</bug_when>
    <thetext>Comment on attachment 4547
Address comments

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502973</commentid>
    <comment_count>7</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:28 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4542</attachid>
            <date>2005-10-31 10:45:11 -0800</date>
            <delta_ts>2005-11-01 00:42:41 -0800</delta_ts>
            <desc>Implement textContent</desc>
            <filename>text-content.diff</filename>
            <type>text/plain</type>
            <size>19014</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjYzCmRpZmYg
LXAgLXUgLXIxLjYzIExheW91dFRlc3RzL0NoYW5nZUxvZwotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCTI3IE9jdCAyMDA1IDIzOjE5OjE5IC0wMDAwCTEuNjMKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkzMSBPY3QgMjAwNSAxODo0MDoxMCAtMDAwMApAQCAtMSwzICsxLDIzIEBACisyMDA1LTEw
LTMxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBtYWMuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVnZXR0ZXh0Y29udGVudDA2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwOC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA5LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRj
b250ZW50MTAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS9u
b2RlZ2V0dGV4dGNvbnRlbnQxMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZG9tL3hodG1sL2xl
dmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBk
b20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxNC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29u
dGVudDAzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZXNldHRleHRjb250ZW50MTItZXhwZWN0ZWQudHh0OgorICAgICAgICBUaGVzZSBub3cgcGFzcy4K
KyAgICAgICAgCisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29u
dGVudDE3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGhpcyBzdGlsbCBmYWlscywgYnV0IG5vdyBi
ZWNhdXNlIGVudGl0eSByZWZlcmVuY2VzIGFyZSB1bnN1cHBvcnRlZC4KKwogMjAwNS0xMC0yNyAg
RGF2aWQgSGFycmlzb24gIDxoYXJyaXNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgSnVzdGluIEdhcmNpYSBhbmQgRGF2ZSBIeWF0dC4KSW5kZXg6IExheW91dFRlc3RzL2RvbS94
aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwNi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29y
ZS9ub2RlZ2V0dGV4dGNvbnRlbnQwNi1leHBlY3RlZC50eHQsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMQpkaWZmIC1wIC11IC1yMS4xIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9u
b2RlZ2V0dGV4dGNvbnRlbnQwNi1leHBlY3RlZC50eHQKLS0tIExheW91dFRlc3RzL2RvbS94aHRt
bC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwNi1leHBlY3RlZC50eHQJMjYgU2VwIDIw
MDUgMjM6Mzg6MjMgLTAwMDAJMS4xCisrKyBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2Nv
cmUvbm9kZWdldHRleHRjb250ZW50MDYtZXhwZWN0ZWQudHh0CTMxIE9jdCAyMDA1IDE4OjQwOjE1
IC0wMDAwCkBAIC0xLDMgKzEsMiBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1U
ZXN0LVN1aXRlL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA2Ci1TdGF0dXMJZmFpbHVy
ZQotTWVzc2FnZQlub2RlZ2V0dGV4dGNvbnRlbnQwNjogYXNzZXJ0RXF1YWxzIGZhaWxlZCwgYWN0
dWFsIG51bGwsIGV4cGVjdGVkIHJ0bC4KK1N0YXR1cwlTdWNjZXNzCkluZGV4OiBMYXlvdXRUZXN0
cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0LHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjEKZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvbm9kZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0Ci0tLSBMYXlvdXRUZXN0cy9k
b20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0CTI2
IFNlcCAyMDA1IDIzOjM4OjIzIC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xl
dmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA3LWV4cGVjdGVkLnR4dAkzMSBPY3QgMjAwNSAx
ODo0MDoxNSAtMDAwMApAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAw
MS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwNwotU3RhdHVz
CWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWdldHRleHRjb250ZW50MDc6IGFzc2VydEVxdWFscyBmYWls
ZWQsIGFjdHVhbCBudWxsLCBleHBlY3RlZCBlbi1VUy4KK1N0YXR1cwlTdWNjZXNzCkluZGV4OiBM
YXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDgtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20v
eGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDgtZXhwZWN0ZWQudHh0LHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20veGh0
bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDgtZXhwZWN0ZWQudHh0Ci0tLSBMYXlv
dXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDgtZXhwZWN0
ZWQudHh0CTI2IFNlcCAyMDA1IDIzOjM4OjIzIC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9t
L3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA4LWV4cGVjdGVkLnR4dAkzMSBP
Y3QgMjAwNSAxODo0MDoxNSAtMDAwMApAQCAtMSw0ICsxLDMgQEAKIFRlc3QJaHR0cDovL3d3dy53
My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQw
OAotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWdldHRleHRjb250ZW50MDg6IGFzc2VydEVx
dWFscyBmYWlsZWQsIGFjdHVhbCBudWxsLCBleHBlY3RlZCAuCitTdGF0dXMJU3VjY2VzcwogCklu
ZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50
MDktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0
cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDktZXhwZWN0ZWQudHh0
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9k
b20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDktZXhwZWN0ZWQudHh0Ci0t
LSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDkt
ZXhwZWN0ZWQudHh0CTI2IFNlcCAyMDA1IDIzOjM4OjI0IC0wMDAwCTEuMQorKysgTGF5b3V0VGVz
dHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA5LWV4cGVjdGVkLnR4
dAkzMSBPY3QgMjAwNSAxODo0MDoxNSAtMDAwMApAQCAtMSw0ICsxLDMgQEAKIFRlc3QJaHR0cDov
L3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNv
bnRlbnQwOQotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWdldHRleHRjb250ZW50MDk6IGFz
c2VydEVxdWFscyBmYWlsZWQsIGFjdHVhbCBudWxsLCBleHBlY3RlZCBSZXBsYWNlbWVudCBUZXh0
LgorU3RhdHVzCVN1Y2Nlc3MKIApJbmRleDogTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9j
b3JlL25vZGVnZXR0ZXh0Y29udGVudDEwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3ZzL3Jvb3QvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0
Y29udGVudDEwLWV4cGVjdGVkLnR4dCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLXAg
LXUgLXIxLjEgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29u
dGVudDEwLWV4cGVjdGVkLnR4dAotLS0gTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVnZXR0ZXh0Y29udGVudDEwLWV4cGVjdGVkLnR4dAkyNiBTZXAgMjAwNSAyMzozODoyNCAt
MDAwMAkxLjEKKysrIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4
dGNvbnRlbnQxMC1leHBlY3RlZC50eHQJMzEgT2N0IDIwMDUgMTg6NDA6MTUgLTAwMDAKQEAgLTEs
MyArMSwyIEBACiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2
ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTAKLVN0YXR1cwlmYWlsdXJlCi1NZXNzYWdlCW5v
ZGVnZXR0ZXh0Y29udGVudDEwOiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwgbnVsbCwgZXhw
ZWN0ZWQgRU1QMDAwMS4KK1N0YXR1cwlTdWNjZXNzCkluZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0
bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTEtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUv
bm9kZWdldHRleHRjb250ZW50MTEtZXhwZWN0ZWQudHh0LHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjEKZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWdldHRleHRjb250ZW50MTEtZXhwZWN0ZWQudHh0Ci0tLSBMYXlvdXRUZXN0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTEtZXhwZWN0ZWQudHh0CTI2IFNlcCAyMDA1
IDIzOjM4OjI0IC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVnZXR0ZXh0Y29udGVudDExLWV4cGVjdGVkLnR4dAkzMSBPY3QgMjAwNSAxODo0MDoxNSAt
MDAwMApAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVz
dC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxMQotU3RhdHVzCWZhaWx1cmUK
LU1lc3NhZ2UJbm9kZWdldHRleHRjb250ZW50MTE6IGFzc2VydEVxdWFscyBmYWlsZWQsIGFjdHVh
bCBudWxsLCBleHBlY3RlZCBUaGlzIGlzIGFuIGFkamFjZW50IENEQVRBU2VjdGlvbiB3aXRoIGEg
cmVmZXJlbmNlIHRvIGEgdGFiICZ0YWI7LgorU3RhdHVzCVN1Y2Nlc3MKSW5kZXg6IExheW91dFRl
c3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxMi1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0xheW91dFRlc3RzL2RvbS94aHRtbC9s
ZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxMi1leHBlY3RlZC50eHQsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMQpkaWZmIC1wIC11IC1yMS4xIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZl
bDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxMi1leHBlY3RlZC50eHQKLS0tIExheW91dFRlc3Rz
L2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxMi1leHBlY3RlZC50eHQJ
MjYgU2VwIDIwMDUgMjM6Mzg6MjUgLTAwMDAJMS4xCisrKyBMYXlvdXRUZXN0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTItZXhwZWN0ZWQudHh0CTMxIE9jdCAyMDA1
IDE4OjQwOjE1IC0wMDAwCkBAIC0xLDQgKzEsMyBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8y
MDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEyCi1TdGF0
dXMJZmFpbHVyZQotTWVzc2FnZQlub2RlZ2V0dGV4dGNvbnRlbnQxMjogYXNzZXJ0RXF1YWxzIGZh
aWxlZCwgYWN0dWFsIG51bGwsIGV4cGVjdGVkIENvbW1lbnQuCitTdGF0dXMJU3VjY2VzcwogCklu
ZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50
MTMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0
cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTMtZXhwZWN0ZWQudHh0
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9k
b20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTMtZXhwZWN0ZWQudHh0Ci0t
LSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTMt
ZXhwZWN0ZWQudHh0CTI2IFNlcCAyMDA1IDIzOjM4OjI1IC0wMDAwCTEuMQorKysgTGF5b3V0VGVz
dHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEzLWV4cGVjdGVkLnR4
dAkzMSBPY3QgMjAwNSAxODo0MDoxNSAtMDAwMApAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDov
L3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNv
bnRlbnQxMwotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWdldHRleHRjb250ZW50MTM6IGFz
c2VydEVxdWFscyBmYWlsZWQsIGFjdHVhbCBudWxsLCBleHBlY3RlZCBNYXJ0aGEgUmF5bm9sZHMg
VGhpcyBpcyBhIENEQVRBU2VjdGlvbiB3aXRoIEVudGl0eVJlZmVyZW5jZSBudW1iZXIgMiAmZW50
MjsgVGhpcyBpcyBhbiBhZGphY2VudCBDREFUQVNlY3Rpb24gd2l0aCBhIHJlZmVyZW5jZSB0byBh
IHRhYiAmdGFiOy4KK1N0YXR1cwlTdWNjZXNzCkluZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWdldHRleHRjb250ZW50MTQtZXhwZWN0ZWQudHh0LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEK
ZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdl
dHRleHRjb250ZW50MTQtZXhwZWN0ZWQudHh0Ci0tLSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTQtZXhwZWN0ZWQudHh0CTI2IFNlcCAyMDA1IDIz
OjM4OjI1IC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25v
ZGVnZXR0ZXh0Y29udGVudDE0LWV4cGVjdGVkLnR4dAkzMSBPY3QgMjAwNSAxODo0MDoxNSAtMDAw
MApAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1T
dWl0ZS9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxNAotU3RhdHVzCWZhaWx1cmUKLU1l
c3NhZ2UJbm9kZWdldHRleHRjb250ZW50MTM6IGFzc2VydEVxdWFscyBmYWlsZWQsIGFjdHVhbCBu
dWxsLCBleHBlY3RlZCBFTVAwMDAzIFJvZ2VyIEpvbmVzIERlcGFydG1lbnQgTWFuYWdlciAxMDAs
MDAwIEVsZW1lbnQgZGF0YSBQTyBCb3ggMjcgSXJ2aW5nLCB0ZXhhcyA5ODU1MyAuCitTdGF0dXMJ
U3VjY2VzcwpJbmRleDogTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0
ZXh0Y29udGVudDE3LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
TGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDE3LWV4
cGVjdGVkLnR4dCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLXAgLXUgLXIxLjEgTGF5
b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDE3LWV4cGVj
dGVkLnR4dAotLS0gTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0
Y29udGVudDE3LWV4cGVjdGVkLnR4dAkyNiBTZXAgMjAwNSAyMzozODoyNiAtMDAwMAkxLjEKKysr
IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxNy1l
eHBlY3RlZC50eHQJMzEgT2N0IDIwMDUgMTg6NDA6MTUgLTAwMDAKQEAgLTEsNCArMSw0IEBACiBU
ZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUvbm9k
ZWdldHRleHRjb250ZW50MTcKIFN0YXR1cwlmYWlsdXJlCi1NZXNzYWdlCW5vZGVnZXR0ZXh0Y29u
dGVudDE3OiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwgbnVsbCwgZXhwZWN0ZWQgzrIuCitN
ZXNzYWdlCW5vZGVnZXR0ZXh0Y29udGVudDE3OiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwg
LCBleHBlY3RlZCDOsi4KIApJbmRleDogTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVzZXR0ZXh0Y29udGVudDAzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3ZzL3Jvb3QvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29u
dGVudDAzLWV4cGVjdGVkLnR4dCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLXAgLXUg
LXIxLjEgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVu
dDAzLWV4cGVjdGVkLnR4dAotLS0gTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25v
ZGVzZXR0ZXh0Y29udGVudDAzLWV4cGVjdGVkLnR4dAkyNiBTZXAgMjAwNSAyMzozOToxNyAtMDAw
MAkxLjEKKysrIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2Rlc2V0dGV4dGNv
bnRlbnQwMy1leHBlY3RlZC50eHQJMzEgT2N0IDIwMDUgMTg6NDA6MTUgLTAwMDAKQEAgLTEsMyAr
MSwyIEBACiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwz
L2NvcmUvbm9kZXNldHRleHRjb250ZW50MDMKLVN0YXR1cwlmYWlsdXJlCi1NZXNzYWdlCW5vZGVz
ZXR0ZXh0Y29udGVudDAzOiBhc3NlcnROdWxsIGZhaWxlZCwgYWN0dWFsIHRleHRDb250ZW50CitT
dGF0dXMJU3VjY2VzcwpJbmRleDogTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25v
ZGVzZXR0ZXh0Y29udGVudDEyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L3Jvb3QvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVu
dDEyLWV4cGVjdGVkLnR4dCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLXAgLXUgLXIx
LjEgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVudDEy
LWV4cGVjdGVkLnR4dAotLS0gTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVz
ZXR0ZXh0Y29udGVudDEyLWV4cGVjdGVkLnR4dAkyNiBTZXAgMjAwNSAyMzozOToxOSAtMDAwMAkx
LjEKKysrIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2Rlc2V0dGV4dGNvbnRl
bnQxMi1leHBlY3RlZC50eHQJMzEgT2N0IDIwMDUgMTg6NDA6MTUgLTAwMDAKQEAgLTEsNCArMSwz
IEBACiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2Nv
cmUvbm9kZXNldHRleHRjb250ZW50MTIKLVN0YXR1cwlmYWlsdXJlCi1NZXNzYWdlCW5vZGVzZXR0
ZXh0Y29udGVudDEyOiBhc3NlcnRUcnVlIGZhaWxlZAorU3RhdHVzCVN1Y2Nlc3MKIApJbmRleDog
V2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUv
Q2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMxNQpkaWZmIC1wIC11IC1yMS4zMTUg
V2ViQ29yZS9DaGFuZ2VMb2cKLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCTMwIE9jdCAyMDA1IDA1OjI2
OjIyIC0wMDAwCTEuMzE1CisrKyBXZWJDb3JlL0NoYW5nZUxvZwkzMSBPY3QgMjAwNSAxODo0Mjo0
NCAtMDAwMApAQCAtMSwzICsxLDI1IEBACisyMDA1LTEwLTMxICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBtYWMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICoga2h0bWwvZWNtYS9ranNfZG9tLmNwcDoKKyAgICAgICAgKEtKUzo6RE9NTm9k
ZTo6Z2V0VmFsdWVQcm9wZXJ0eSk6CisgICAgICAgIChLSlM6OkRPTU5vZGU6OnB1dFZhbHVlUHJv
cGVydHkpOgorICAgICAgICAqIGtodG1sL2VjbWEva2pzX2RvbS5oOgorICAgICAgICAoS0pTOjpE
T01Ob2RlOjopOgorICAgICAgICBBZGQgc2V0dGVyIGFuZCBzZXR0ZXIgZm9yIHRleHRDb250ZW50
LgorICAgICAgICAKKyAgICAgICAgKiBraHRtbC94bWwvZG9tX25vZGVpbXBsLmNwcDoKKyAgICAg
ICAgKERPTTo6Tm9kZUltcGw6OnRleHRDb250ZW50KToKKyAgICAgICAgKERPTTo6Tm9kZUltcGw6
OnNldFRleHRDb250ZW50KToKKyAgICAgICAgKiBraHRtbC94bWwvZG9tX25vZGVpbXBsLmg6Cisg
ICAgICAgIEltcGxlbWVudCB0ZXh0Q29udGVudCBhbmQgc2V0VGV4dENvbnRlbnQuCisgICAgICAg
IAorICAgICAgICAqIGt3cS9ET00ubW06CisgICAgICAgICgtW0RPTU5vZGUgdGV4dENvbnRlbnRd
KToKKyAgICAgICAgKC1bRE9NTm9kZSBzZXRUZXh0Q29udGVudDpdKToKKyAgICAgICAgQWRkIE9i
amVjdGl2ZSBDIHdyYXBwZXJzCisKIDIwMDUtMTAtMjkgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBw
bGUuY29tPgogICAgICAgICBGaXggdGhlIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gY2F1c2VkIGJ5
IGRvaW5nIHRvbyBtdWNoIGNvcHlpbmcgb2YgYmFja2dyb3VuZC9ib3JkZXIgdmFsdWVzLiAgVGhp
cyBwYXRjaCBhdHRlbXB0cyB0byByZWN0aWZ5IHRoaW5ncyBieSBkb2luZyB0aGUgZm9sbG93aW5n
OgogCkluZGV4OiBXZWJDb3JlL2todG1sL2VjbWEva2pzX2RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvZWNtYS9ranNfZG9tLmNwcCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xMDQKZGlmZiAtcCAtdSAtcjEuMTA0IFdlYkNvcmUva2h0bWwvZWNtYS9r
anNfZG9tLmNwcAotLS0gV2ViQ29yZS9raHRtbC9lY21hL2tqc19kb20uY3BwCTI2IE9jdCAyMDA1
IDIwOjQ0OjEwIC0wMDAwCTEuMTA0CisrKyBXZWJDb3JlL2todG1sL2VjbWEva2pzX2RvbS5jcHAJ
MzEgT2N0IDIwMDUgMTg6NDI6NDQgLTAwMDAKQEAgLTE5Myw3ICsxOTMsNyBAQCBib29sIERPTU5v
ZGU6OnRvQm9vbGVhbihFeGVjU3RhdGUgKikgY29uCiB9CiAKIC8qIFNvdXJjZSBmb3IgRE9NTm9k
ZVRhYmxlLiBVc2UgIm1ha2UgaGFzaHRhYmxlcyIgdG8gcmVnZW5lcmF0ZS4KLUBiZWdpbiBET01O
b2RlVGFibGUgNjgKK0BiZWdpbiBET01Ob2RlVGFibGUgNjkKICAgbm9kZU5hbWUJRE9NTm9kZTo6
Tm9kZU5hbWUJRG9udERlbGV0ZXxSZWFkT25seQogICBub2RlVmFsdWUJRE9NTm9kZTo6Tm9kZVZh
bHVlCURvbnREZWxldGUKICAgbm9kZVR5cGUJRE9NTm9kZTo6Tm9kZVR5cGUJRG9udERlbGV0ZXxS
ZWFkT25seQpAQCAtMjEwLDYgKzIxMCw4IEBAIGJvb2wgRE9NTm9kZTo6dG9Cb29sZWFuKEV4ZWNT
dGF0ZSAqKSBjb24KICAgcHJlZml4CURPTU5vZGU6OlByZWZpeAkJRG9udERlbGV0ZQogICBsb2Nh
bE5hbWUJRE9NTm9kZTo6TG9jYWxOYW1lCURvbnREZWxldGV8UmVhZE9ubHkKICAgb3duZXJEb2N1
bWVudAlET01Ob2RlOjpPd25lckRvY3VtZW50CURvbnREZWxldGV8UmVhZE9ubHkKKyMgRE9NMwor
ICB0ZXh0Q29udGVudCAgIERPTU5vZGU6OlRleHRDb250ZW50ICAgIERvbnREZWxldGUKICMKICAg
b25hYm9ydAlET01Ob2RlOjpPbkFib3J0CQlEb250RGVsZXRlCiAgIG9uYmx1cglET01Ob2RlOjpP
bkJsdXIJCQlEb250RGVsZXRlCkBAIC0zMDUsNiArMzA3LDggQEAgVmFsdWVJbXAgKkRPTU5vZGU6
OmdldFZhbHVlUHJvcGVydHkoRXhlYwogICAgIHJldHVybiBnZXRTdHJpbmdPck51bGwobm9kZS5s
b2NhbE5hbWUoKSk7CiAgIGNhc2UgT3duZXJEb2N1bWVudDoKICAgICByZXR1cm4gZ2V0RE9NTm9k
ZShleGVjLG5vZGUub3duZXJEb2N1bWVudCgpKTsKKyAgY2FzZSBUZXh0Q29udGVudDoKKyAgICBy
ZXR1cm4gZ2V0U3RyaW5nT3JOdWxsKG5vZGUudGV4dENvbnRlbnQoKSk7CiAgIGNhc2UgT25BYm9y
dDoKICAgICByZXR1cm4gZ2V0TGlzdGVuZXIoYWJvcnRFdmVudCk7CiAgIGNhc2UgT25CbHVyOgpA
QCAtNDU2LDYgKzQ2MCwxMiBAQCB2b2lkIERPTU5vZGU6OnB1dFZhbHVlUHJvcGVydHkoRXhlY1N0
YXRlCiAgIGNhc2UgUHJlZml4OgogICAgIG5vZGUuc2V0UHJlZml4KHZhbHVlLT50b1N0cmluZyhl
eGVjKS5kb21TdHJpbmcoKS5pbXBsKCksIGV4Y2VwdGlvbik7CiAgICAgYnJlYWs7CisgIGNhc2Ug
VGV4dENvbnRlbnQ6CisgICAgaWYgKHZhbHVlLT5pc051bGwoKSkKKyAgICAgIG5vZGUuc2V0VGV4
dENvbnRlbnQoRE9NU3RyaW5nKCksIGV4Y2VwdGlvbik7CisgICAgZWxzZQorICAgICAgbm9kZS5z
ZXRUZXh0Q29udGVudCh2YWx1ZS0+dG9TdHJpbmcoZXhlYykuZG9tU3RyaW5nKCksIGV4Y2VwdGlv
bik7CisgICAgYnJlYWs7CiAgIGNhc2UgT25BYm9ydDoKICAgICBzZXRMaXN0ZW5lcihleGVjLGFi
b3J0RXZlbnQsdmFsdWUpOwogICAgIGJyZWFrOwpJbmRleDogV2ViQ29yZS9raHRtbC9lY21hL2tq
c19kb20uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9lY21h
L2tqc19kb20uaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NQpkaWZmIC1wIC11IC1yMS41NSBX
ZWJDb3JlL2todG1sL2VjbWEva2pzX2RvbS5oCi0tLSBXZWJDb3JlL2todG1sL2VjbWEva2pzX2Rv
bS5oCTI2IE9jdCAyMDA1IDIwOjQ0OjExIC0wMDAwCTEuNTUKKysrIFdlYkNvcmUva2h0bWwvZWNt
YS9ranNfZG9tLmgJMzEgT2N0IDIwMDUgMTg6NDI6NDUgLTAwMDAKQEAgLTY5LDcgKzY5LDcgQEAg
bmFtZXNwYWNlIEtKUyB7CiAgICAgICAgICAgIEF0dHJpYnV0ZXMsIE5hbWVzcGFjZVVSSSwgUHJl
Zml4LCBMb2NhbE5hbWUsIE93bmVyRG9jdW1lbnQsIEluc2VydEJlZm9yZSwKICAgICAgICAgICAg
UmVwbGFjZUNoaWxkLCBSZW1vdmVDaGlsZCwgQXBwZW5kQ2hpbGQsIEhhc0F0dHJpYnV0ZXMsIEhh
c0NoaWxkTm9kZXMsCiAgICAgICAgICAgIENsb25lTm9kZSwgTm9ybWFsaXplLCBJc1N1cHBvcnRl
ZCwgQWRkRXZlbnRMaXN0ZW5lciwgUmVtb3ZlRXZlbnRMaXN0ZW5lciwKLSAgICAgICAgICAgRGlz
cGF0Y2hFdmVudCwgQ29udGFpbnMsIElzU2FtZU5vZGUsIElzRXF1YWxOb2RlLAorICAgICAgICAg
ICBEaXNwYXRjaEV2ZW50LCBDb250YWlucywgSXNTYW1lTm9kZSwgSXNFcXVhbE5vZGUsIFRleHRD
b250ZW50LAogICAgICAgICAgICBPbkFib3J0LCBPbkJsdXIsIE9uQ2hhbmdlLCBPbkNsaWNrLCBP
bkNvbnRleHRNZW51LCBPbkRibENsaWNrLCBPbkRyYWdEcm9wLCBPbkVycm9yLAogICAgICAgICAg
ICBPbkRyYWdFbnRlciwgT25EcmFnT3ZlciwgT25EcmFnTGVhdmUsIE9uRHJvcCwgT25EcmFnU3Rh
cnQsIE9uRHJhZywgT25EcmFnRW5kLAogICAgICAgICAgICBPbkJlZm9yZUN1dCwgT25DdXQsIE9u
QmVmb3JlQ29weSwgT25Db3B5LCBPbkJlZm9yZVBhc3RlLCBPblBhc3RlLCBPblNlbGVjdFN0YXJ0
LApJbmRleDogV2ViQ29yZS9raHRtbC94bWwvZG9tX25vZGVpbXBsLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC94bWwvZG9tX25vZGVpbXBsLmNwcCx2CnJl
dHJpZXZpbmcgcmV2aXNpb24gMS4yMDYKZGlmZiAtcCAtdSAtcjEuMjA2IFdlYkNvcmUva2h0bWwv
eG1sL2RvbV9ub2RlaW1wbC5jcHAKLS0tIFdlYkNvcmUva2h0bWwveG1sL2RvbV9ub2RlaW1wbC5j
cHAJMjggT2N0IDIwMDUgMDE6NTE6MDAgLTAwMDAJMS4yMDYKKysrIFdlYkNvcmUva2h0bWwveG1s
L2RvbV9ub2RlaW1wbC5jcHAJMzEgT2N0IDIwMDUgMTg6NDI6NDUgLTAwMDAKQEAgLTE3MjEsNiAr
MTcyMSw1OSBAQCBib29sIE5vZGVJbXBsOjppc0VxdWFsTm9kZShOb2RlSW1wbCAqb3RoCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKK0RPTVN0cmluZyBOb2RlSW1wbDo6dGV4dENvbnRlbnQoKSBjb25z
dAoreworICAgIGlmIChub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX05PREUgfHwgbm9kZVR5
cGUoKSA9PSBOb2RlOjpET0NVTUVOVF9UWVBFX05PREUgfHwKKyAgICAgICAgbm9kZVR5cGUoKSA9
PSBOb2RlOjpOT1RBVElPTl9OT0RFKQorICAgICAgICByZXR1cm4gRE9NU3RyaW5nKCk7CisKKyAg
ICBpZiAobm9kZVR5cGUoKSA9PSBOb2RlOjpURVhUX05PREUgfHwgbm9kZVR5cGUoKSA9PSBOb2Rl
OjpDREFUQV9TRUNUSU9OX05PREUgfHwKKyAgICAgICAgbm9kZVR5cGUoKSA9PSBOb2RlOjpDT01N
RU5UX05PREUgfHwgbm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05P
REUpCisgICAgICAgIHJldHVybiBub2RlVmFsdWUoKTsKKyAgICAgICAgCisgICAgaWYgKG5vZGVU
eXBlKCkgPT0gTm9kZTo6RUxFTUVOVF9OT0RFIHx8IG5vZGVUeXBlKCkgPT0gTm9kZTo6QVRUUklC
VVRFX05PREUgfHwKKyAgICAgICAgbm9kZVR5cGUoKSA9PSBOb2RlOjpFTlRJVFlfTk9ERSB8fCBu
b2RlVHlwZSgpID09IE5vZGU6OkVOVElUWV9SRUZFUkVOQ0VfTk9ERSB8fAorICAgICAgICBub2Rl
VHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpIHsKKyAgICAgICAgRE9NU3Ry
aW5nIHMgPSAiIjsKKyAgICAgICAgCisgICAgICAgIGZvciAoTm9kZUltcGwgKmNoaWxkID0gZmly
c3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgeworICAgICAg
ICAgICAgaWYgKGNoaWxkLT5ub2RlVHlwZSgpID09IE5vZGU6OkNPTU1FTlRfTk9ERSB8fCAKKyAg
ICAgICAgICAgICAgICBjaGlsZC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RS
VUNUSU9OX05PREUpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIHMgKz0gY2hpbGQtPnRleHRDb250ZW50KCk7CisgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIHJldHVybiBzOworICAgIH0KKyAgICByZXR1cm4gRE9NU3RyaW5nKCk7Cit9CisK
K3ZvaWQgTm9kZUltcGw6OnNldFRleHRDb250ZW50KGNvbnN0IERPTVN0cmluZyAmdGV4dCwgaW50
ICZleGNlcHRpb24pCit7CisgICAgaWYgKG5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfTk9E
RSB8fCBub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX1RZUEVfTk9ERSB8fAorICAgICAgICBu
b2RlVHlwZSgpID09IE5vZGU6Ok5PVEFUSU9OX05PREUpCisgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICBpZiAobm9kZVR5cGUoKSA9PSBOb2RlOjpURVhUX05PREUgfHwgbm9kZVR5cGUoKSA9PSBO
b2RlOjpDREFUQV9TRUNUSU9OX05PREUgfHwKKyAgICAgICAgbm9kZVR5cGUoKSA9PSBOb2RlOjpD
T01NRU5UX05PREUgfHwgbm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9O
X05PREUpIHsKKyAgICAgICAgc2V0Tm9kZVZhbHVlKHRleHQsIGV4Y2VwdGlvbik7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAobm9kZVR5cGUoKSA9PSBOb2RlOjpFTEVNRU5UX05P
REUgfHwgbm9kZVR5cGUoKSA9PSBOb2RlOjpBVFRSSUJVVEVfTk9ERSB8fCAKKyAgICAgICAgbm9k
ZVR5cGUoKSA9PSBOb2RlOjpFTlRJVFlfTk9ERSB8fCBub2RlVHlwZSgpID09IE5vZGU6OkVOVElU
WV9SRUZFUkVOQ0VfTk9ERSB8fAorICAgICAgICBub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5U
X0ZSQUdNRU5UX05PREUpIHsKKyAgICAgICAgQ29udGFpbmVyTm9kZUltcGwgKmNvbnRhaW5lciA9
IHN0YXRpY19jYXN0PENvbnRhaW5lck5vZGVJbXBsICo+KHRoaXMpOworICAgICAgICAKKyAgICAg
ICAgY29udGFpbmVyLT5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICAKKyAgICAgICAgaWYgKCF0
ZXh0LmlzTnVsbCgpKQorICAgICAgICAgICAgYXBwZW5kQ2hpbGQoZ2V0RG9jdW1lbnQoKS0+Y3Jl
YXRlVGV4dE5vZGUodGV4dCksIGV4Y2VwdGlvbik7CisgICAgICAgIHJldHVybjsKKyAgICB9Cit9
CisKICNpZm5kZWYgTkRFQlVHCiAKIHN0YXRpYyB2b2lkIGFwcGVuZEF0dHJpYnV0ZURlc2MoY29u
c3QgTm9kZUltcGwgKm5vZGUsIFFTdHJpbmcgJnN0cmluZywgY29uc3QgUXVhbGlmaWVkTmFtZSYg
bmFtZSwgUVN0cmluZyBhdHRyRGVzYykKSW5kZXg6IFdlYkNvcmUva2h0bWwveG1sL2RvbV9ub2Rl
aW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3htbC9k
b21fbm9kZWltcGwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMTEKZGlmZiAtcCAtdSAtcjEu
MTExIFdlYkNvcmUva2h0bWwveG1sL2RvbV9ub2RlaW1wbC5oCi0tLSBXZWJDb3JlL2todG1sL3ht
bC9kb21fbm9kZWltcGwuaAkyNyBPY3QgMjAwNSAyMzoxNTowNCAtMDAwMAkxLjExMQorKysgV2Vi
Q29yZS9raHRtbC94bWwvZG9tX25vZGVpbXBsLmgJMzEgT2N0IDIwMDUgMTg6NDI6NDcgLTAwMDAK
QEAgLTExNCw2ICsxMTQsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1NhbWVOb2RlKE5vZGVJbXBs
ICpvdGhlcikgeyByZXR1cm4gdGhpcyA9PSBvdGhlcjsgfQogICAgIGJvb2wgaXNFcXVhbE5vZGUo
Tm9kZUltcGwgKm90aGVyKSBjb25zdDsKICAgICAKKyAgICBET01TdHJpbmcgdGV4dENvbnRlbnQo
KSBjb25zdDsKKyAgICB2b2lkIHNldFRleHRDb250ZW50KGNvbnN0IERPTVN0cmluZyAmdGV4dCwg
aW50ICZleGNlcHRpb24pOworICAgIAogICAgIE5vZGVJbXBsICpsYXN0RGVzY2VuZGFudCgpIGNv
bnN0OwogCiAgICAgLy8gT3RoZXIgbWV0aG9kcyAobm90IHBhcnQgb2YgRE9NKQpJbmRleDogV2Vi
Q29yZS9rd3EvRE9NLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2t3
cS9ET00ubW0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTQKZGlmZiAtcCAtdSAtcjEuNTQgV2Vi
Q29yZS9rd3EvRE9NLm1tCi0tLSBXZWJDb3JlL2t3cS9ET00ubW0JMjYgT2N0IDIwMDUgMjA6NDQ6
MTQgLTAwMDAJMS41NAorKysgV2ViQ29yZS9rd3EvRE9NLm1tCTMxIE9jdCAyMDA1IDE4OjQyOjQ3
IC0wMDAwCkBAIC0zODYsNiArMzg2LDE4IEBAIHN0YXRpYyBMaXN0ZW5lck1hcCAqbGlzdGVuZXJN
YXA7CiAgICAgcmV0dXJuIFtzZWxmIF9ub2RlSW1wbF0tPmlzRXF1YWxOb2RlKFtvdGhlciBfbm9k
ZUltcGxdKTsKIH0KIAorLSAoTlNTdHJpbmcgKil0ZXh0Q29udGVudAoreworICAgIHJldHVybiBb
c2VsZiBfbm9kZUltcGxdLT50ZXh0Q29udGVudCgpOworfQorCistICh2b2lkKXNldFRleHRDb250
ZW50OihOU1N0cmluZyAqKXRleHQKK3sKKyAgICBpbnQgZXhjZXB0aW9uQ29kZSA9IDA7CisgICAg
W3NlbGYgX25vZGVJbXBsXS0+c2V0VGV4dENvbnRlbnQodGV4dCwgZXhjZXB0aW9uQ29kZSk7Cisg
ICAgcmFpc2VPbkRPTUVycm9yKGV4Y2VwdGlvbkNvZGUpOworfQorCiAtICh2b2lkKWFkZEV2ZW50
TGlzdGVuZXI6KE5TU3RyaW5nICopdHlwZSA6KGlkIDxET01FdmVudExpc3RlbmVyPilsaXN0ZW5l
ciA6KEJPT0wpdXNlQ2FwdHVyZQogewogICAgIEV2ZW50TGlzdGVuZXIgKndyYXBwZXIgPSBPYmpD
RXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKGxpc3RlbmVyKTsK
</data>
<flag name="review"
          id="805"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4547</attachid>
            <date>2005-11-01 00:42:41 -0800</date>
            <delta_ts>2005-11-01 08:37:40 -0800</delta_ts>
            <desc>Address comments</desc>
            <filename>text-content-2.diff</filename>
            <type>text/plain</type>
            <size>18954</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjY0CmRpZmYg
LXAgLXUgLXIxLjY0IExheW91dFRlc3RzL0NoYW5nZUxvZwotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCTMxIE9jdCAyMDA1IDIyOjExOjM0IC0wMDAwCTEuNjQKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkxIE5vdiAyMDA1IDA4OjIwOjA4IC0wMDAwCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDUtMTEt
MDEgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQG1hYy5jb20+CisgCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorIAorICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29y
ZS9ub2RlZ2V0dGV4dGNvbnRlbnQwNi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZG9tL3hodG1s
L2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDgtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwOS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0
Y29udGVudDEwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUv
bm9kZWdldHRleHRjb250ZW50MTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGRvbS94aHRtbC9s
ZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxMi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2Rlc2V0dGV4dGNv
bnRlbnQwMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL25v
ZGVzZXR0ZXh0Y29udGVudDEyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGhlc2Ugbm93IHBhc3Mu
CisgICAgICAgICAKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRj
b250ZW50MTctZXhwZWN0ZWQudHh0OgorICAgICAgICBUaGlzIHN0aWxsIGZhaWxzLCBidXQgbm93
IGJlY2F1c2UgZW50aXR5IHJlZmVyZW5jZXMgYXJlIHVuc3VwcG9ydGVkLgorCiAyMDA1LTEwLTMx
ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRlZCBh
IGNvcnJlY3QgZXhwZWN0ZWQgaW1hZ2UuCkluZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDYtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdl
dHRleHRjb250ZW50MDYtZXhwZWN0ZWQudHh0LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlm
ZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRl
eHRjb250ZW50MDYtZXhwZWN0ZWQudHh0Ci0tLSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvbm9kZWdldHRleHRjb250ZW50MDYtZXhwZWN0ZWQudHh0CTI2IFNlcCAyMDA1IDIzOjM4
OjIzIC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVn
ZXR0ZXh0Y29udGVudDA2LWV4cGVjdGVkLnR4dAkxIE5vdiAyMDA1IDA4OjIwOjEwIC0wMDAwCkBA
IC0xLDMgKzEsMiBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRl
L2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA2Ci1TdGF0dXMJZmFpbHVyZQotTWVzc2Fn
ZQlub2RlZ2V0dGV4dGNvbnRlbnQwNjogYXNzZXJ0RXF1YWxzIGZhaWxlZCwgYWN0dWFsIG51bGws
IGV4cGVjdGVkIHJ0bC4KK1N0YXR1cwlTdWNjZXNzCkluZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0
bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUv
bm9kZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0LHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjEKZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0Ci0tLSBMYXlvdXRUZXN0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDctZXhwZWN0ZWQudHh0CTI2IFNlcCAyMDA1
IDIzOjM4OjIzIC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVnZXR0ZXh0Y29udGVudDA3LWV4cGVjdGVkLnR4dAkxIE5vdiAyMDA1IDA4OjIwOjEwIC0w
MDAwCkBAIC0xLDMgKzEsMiBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0
LVN1aXRlL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA3Ci1TdGF0dXMJZmFpbHVyZQot
TWVzc2FnZQlub2RlZ2V0dGV4dGNvbnRlbnQwNzogYXNzZXJ0RXF1YWxzIGZhaWxlZCwgYWN0dWFs
IG51bGwsIGV4cGVjdGVkIGVuLVVTLgorU3RhdHVzCVN1Y2Nlc3MKSW5kZXg6IExheW91dFRlc3Rz
L2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwOC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZl
bDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwOC1leHBlY3RlZC50eHQsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuMQpkaWZmIC1wIC11IC1yMS4xIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMv
Y29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwOC1leHBlY3RlZC50eHQKLS0tIExheW91dFRlc3RzL2Rv
bS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwOC1leHBlY3RlZC50eHQJMjYg
U2VwIDIwMDUgMjM6Mzg6MjMgLTAwMDAJMS4xCisrKyBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDgtZXhwZWN0ZWQudHh0CTEgTm92IDIwMDUgMDg6
MjA6MTAgLTAwMDAKQEAgLTEsNCArMSwzIEBACiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEv
RE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MDgKLVN0YXR1cwlm
YWlsdXJlCi1NZXNzYWdlCW5vZGVnZXR0ZXh0Y29udGVudDA4OiBhc3NlcnRFcXVhbHMgZmFpbGVk
LCBhY3R1YWwgbnVsbCwgZXhwZWN0ZWQgLgorU3RhdHVzCVN1Y2Nlc3MKIApJbmRleDogTGF5b3V0
VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA5LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvTGF5b3V0VGVzdHMvZG9tL3hodG1s
L2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA5LWV4cGVjdGVkLnR4dCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xCmRpZmYgLXAgLXUgLXIxLjEgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xl
dmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA5LWV4cGVjdGVkLnR4dAotLS0gTGF5b3V0VGVz
dHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDA5LWV4cGVjdGVkLnR4
dAkyNiBTZXAgMjAwNSAyMzozODoyNCAtMDAwMAkxLjEKKysrIExheW91dFRlc3RzL2RvbS94aHRt
bC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwOS1leHBlY3RlZC50eHQJMSBOb3YgMjAw
NSAwODoyMDoxMCAtMDAwMApAQCAtMSw0ICsxLDMgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcv
MjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQwOQotU3Rh
dHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWdldHRleHRjb250ZW50MDk6IGFzc2VydEVxdWFscyBm
YWlsZWQsIGFjdHVhbCBudWxsLCBleHBlY3RlZCBSZXBsYWNlbWVudCBUZXh0LgorU3RhdHVzCVN1
Y2Nlc3MKIApJbmRleDogTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0
ZXh0Y29udGVudDEwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
TGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEwLWV4
cGVjdGVkLnR4dCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLXAgLXUgLXIxLjEgTGF5
b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEwLWV4cGVj
dGVkLnR4dAotLS0gTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0
Y29udGVudDEwLWV4cGVjdGVkLnR4dAkyNiBTZXAgMjAwNSAyMzozODoyNCAtMDAwMAkxLjEKKysr
IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxMC1l
eHBlY3RlZC50eHQJMSBOb3YgMjAwNSAwODoyMDoxMCAtMDAwMApAQCAtMSwzICsxLDIgQEAKIFRl
c3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2Rl
Z2V0dGV4dGNvbnRlbnQxMAotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZWdldHRleHRjb250
ZW50MTA6IGFzc2VydEVxdWFscyBmYWlsZWQsIGFjdHVhbCBudWxsLCBleHBlY3RlZCBFTVAwMDAx
LgorU3RhdHVzCVN1Y2Nlc3MKSW5kZXg6IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29y
ZS9ub2RlZ2V0dGV4dGNvbnRlbnQxMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNv
bnRlbnQxMS1leHBlY3RlZC50eHQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMQpkaWZmIC1wIC11
IC1yMS4xIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRl
bnQxMS1leHBlY3RlZC50eHQKLS0tIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9u
b2RlZ2V0dGV4dGNvbnRlbnQxMS1leHBlY3RlZC50eHQJMjYgU2VwIDIwMDUgMjM6Mzg6MjQgLTAw
MDAJMS4xCisrKyBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRj
b250ZW50MTEtZXhwZWN0ZWQudHh0CTEgTm92IDIwMDUgMDg6MjA6MTAgLTAwMDAKQEAgLTEsMyAr
MSwyIEBACiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwz
L2NvcmUvbm9kZWdldHRleHRjb250ZW50MTEKLVN0YXR1cwlmYWlsdXJlCi1NZXNzYWdlCW5vZGVn
ZXR0ZXh0Y29udGVudDExOiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwgbnVsbCwgZXhwZWN0
ZWQgVGhpcyBpcyBhbiBhZGphY2VudCBDREFUQVNlY3Rpb24gd2l0aCBhIHJlZmVyZW5jZSB0byBh
IHRhYiAmdGFiOy4KK1N0YXR1cwlTdWNjZXNzCkluZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9k
ZWdldHRleHRjb250ZW50MTItZXhwZWN0ZWQudHh0LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEK
ZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdl
dHRleHRjb250ZW50MTItZXhwZWN0ZWQudHh0Ci0tLSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTItZXhwZWN0ZWQudHh0CTI2IFNlcCAyMDA1IDIz
OjM4OjI1IC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25v
ZGVnZXR0ZXh0Y29udGVudDEyLWV4cGVjdGVkLnR4dAkxIE5vdiAyMDA1IDA4OjIwOjEwIC0wMDAw
CkBAIC0xLDQgKzEsMyBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1
aXRlL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEyCi1TdGF0dXMJZmFpbHVyZQotTWVz
c2FnZQlub2RlZ2V0dGV4dGNvbnRlbnQxMjogYXNzZXJ0RXF1YWxzIGZhaWxlZCwgYWN0dWFsIG51
bGwsIGV4cGVjdGVkIENvbW1lbnQuCitTdGF0dXMJU3VjY2VzcwogCkluZGV4OiBMYXlvdXRUZXN0
cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTMtZXhwZWN0ZWQudHh0LHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjEKZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvbm9kZWdldHRleHRjb250ZW50MTMtZXhwZWN0ZWQudHh0Ci0tLSBMYXlvdXRUZXN0cy9k
b20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTMtZXhwZWN0ZWQudHh0CTI2
IFNlcCAyMDA1IDIzOjM4OjI1IC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xl
dmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEzLWV4cGVjdGVkLnR4dAkxIE5vdiAyMDA1IDA4
OjIwOjEwIC0wMDAwCkBAIC0xLDMgKzEsMiBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAx
L0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25vZGVnZXR0ZXh0Y29udGVudDEzCi1TdGF0dXMJ
ZmFpbHVyZQotTWVzc2FnZQlub2RlZ2V0dGV4dGNvbnRlbnQxMzogYXNzZXJ0RXF1YWxzIGZhaWxl
ZCwgYWN0dWFsIG51bGwsIGV4cGVjdGVkIE1hcnRoYSBSYXlub2xkcyBUaGlzIGlzIGEgQ0RBVEFT
ZWN0aW9uIHdpdGggRW50aXR5UmVmZXJlbmNlIG51bWJlciAyICZlbnQyOyBUaGlzIGlzIGFuIGFk
amFjZW50IENEQVRBU2VjdGlvbiB3aXRoIGEgcmVmZXJlbmNlIHRvIGEgdGFiICZ0YWI7LgorU3Rh
dHVzCVN1Y2Nlc3MKSW5kZXg6IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2Rl
Z2V0dGV4dGNvbnRlbnQxNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQx
NC1leHBlY3RlZC50eHQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMQpkaWZmIC1wIC11IC1yMS4x
IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxNC1l
eHBlY3RlZC50eHQKLS0tIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0
dGV4dGNvbnRlbnQxNC1leHBlY3RlZC50eHQJMjYgU2VwIDIwMDUgMjM6Mzg6MjUgLTAwMDAJMS4x
CisrKyBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50
MTQtZXhwZWN0ZWQudHh0CTEgTm92IDIwMDUgMDg6MjA6MTAgLTAwMDAKQEAgLTEsMyArMSwyIEBA
CiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUv
bm9kZWdldHRleHRjb250ZW50MTQKLVN0YXR1cwlmYWlsdXJlCi1NZXNzYWdlCW5vZGVnZXR0ZXh0
Y29udGVudDEzOiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwgbnVsbCwgZXhwZWN0ZWQgRU1Q
MDAwMyBSb2dlciBKb25lcyBEZXBhcnRtZW50IE1hbmFnZXIgMTAwLDAwMCBFbGVtZW50IGRhdGEg
UE8gQm94IDI3IElydmluZywgdGV4YXMgOTg1NTMgLgorU3RhdHVzCVN1Y2Nlc3MKSW5kZXg6IExh
eW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxNy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0xheW91dFRlc3RzL2RvbS94
aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxNy1leHBlY3RlZC50eHQsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMQpkaWZmIC1wIC11IC1yMS4xIExheW91dFRlc3RzL2RvbS94aHRt
bC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxNy1leHBlY3RlZC50eHQKLS0tIExheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlZ2V0dGV4dGNvbnRlbnQxNy1leHBlY3Rl
ZC50eHQJMjYgU2VwIDIwMDUgMjM6Mzg6MjYgLTAwMDAJMS4xCisrKyBMYXlvdXRUZXN0cy9kb20v
eGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTctZXhwZWN0ZWQudHh0CTEgTm92
IDIwMDUgMDg6MjA6MTAgLTAwMDAKQEAgLTEsNCArMSw0IEBACiBUZXN0CWh0dHA6Ly93d3cudzMu
b3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUvbm9kZWdldHRleHRjb250ZW50MTcK
IFN0YXR1cwlmYWlsdXJlCi1NZXNzYWdlCW5vZGVnZXR0ZXh0Y29udGVudDE3OiBhc3NlcnRFcXVh
bHMgZmFpbGVkLCBhY3R1YWwgbnVsbCwgZXhwZWN0ZWQgzrIuCitNZXNzYWdlCW5vZGVnZXR0ZXh0
Y29udGVudDE3OiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwgLCBleHBlY3RlZCDOsi4KIApJ
bmRleDogTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVu
dDAzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvTGF5b3V0VGVz
dHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVudDAzLWV4cGVjdGVkLnR4
dCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLXAgLXUgLXIxLjEgTGF5b3V0VGVzdHMv
ZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVudDAzLWV4cGVjdGVkLnR4dAot
LS0gTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVudDAz
LWV4cGVjdGVkLnR4dAkyNiBTZXAgMjAwNSAyMzozOToxNyAtMDAwMAkxLjEKKysrIExheW91dFRl
c3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2Rlc2V0dGV4dGNvbnRlbnQwMy1leHBlY3RlZC50
eHQJMSBOb3YgMjAwNSAwODoyMDoxMCAtMDAwMApAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDov
L3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2Rlc2V0dGV4dGNv
bnRlbnQwMwotU3RhdHVzCWZhaWx1cmUKLU1lc3NhZ2UJbm9kZXNldHRleHRjb250ZW50MDM6IGFz
c2VydE51bGwgZmFpbGVkLCBhY3R1YWwgdGV4dENvbnRlbnQKK1N0YXR1cwlTdWNjZXNzCkluZGV4
OiBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZXNldHRleHRjb250ZW50MTIt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9k
b20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZXNldHRleHRjb250ZW50MTItZXhwZWN0ZWQudHh0LHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtcCAtdSAtcjEuMSBMYXlvdXRUZXN0cy9kb20v
eGh0bWwvbGV2ZWwzL2NvcmUvbm9kZXNldHRleHRjb250ZW50MTItZXhwZWN0ZWQudHh0Ci0tLSBM
YXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZXNldHRleHRjb250ZW50MTItZXhw
ZWN0ZWQudHh0CTI2IFNlcCAyMDA1IDIzOjM5OjE5IC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMv
ZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVudDEyLWV4cGVjdGVkLnR4dAkx
IE5vdiAyMDA1IDA4OjIwOjEwIC0wMDAwCkBAIC0xLDQgKzEsMyBAQAogVGVzdAlodHRwOi8vd3d3
LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25vZGVzZXR0ZXh0Y29udGVu
dDEyCi1TdGF0dXMJZmFpbHVyZQotTWVzc2FnZQlub2Rlc2V0dGV4dGNvbnRlbnQxMjogYXNzZXJ0
VHJ1ZSBmYWlsZWQKK1N0YXR1cwlTdWNjZXNzCiAKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL0NoYW5nZUxvZyx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4zMTYKZGlmZiAtcCAtdSAtcjEuMzE2IFdlYkNvcmUvQ2hhbmdlTG9nCi0t
LSBXZWJDb3JlL0NoYW5nZUxvZwkzMSBPY3QgMjAwNSAxOTowNDozOSAtMDAwMAkxLjMxNgorKysg
V2ViQ29yZS9DaGFuZ2VMb2cJMSBOb3YgMjAwNSAwODoyMzo1MSAtMDAwMApAQCAtMSwzICsxLDI1
IEBACisyMDA1LTExLTAxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBtYWMuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoga2h0bWwvZWNt
YS9ranNfZG9tLmNwcDoKKyAgICAgICAgKEtKUzo6RE9NTm9kZTo6Z2V0VmFsdWVQcm9wZXJ0eSk6
CisgICAgICAgIChLSlM6OkRPTU5vZGU6OnB1dFZhbHVlUHJvcGVydHkpOgorICAgICAgICAqIGto
dG1sL2VjbWEva2pzX2RvbS5oOgorICAgICAgICAoS0pTOjpET01Ob2RlOjopOgorICAgICAgICBB
ZGQgc2V0dGVyIGFuZCBzZXR0ZXIgZm9yIHRleHRDb250ZW50LgorICAgICAgICAKKyAgICAgICAg
KiBraHRtbC94bWwvZG9tX25vZGVpbXBsLmNwcDoKKyAgICAgICAgKERPTTo6Tm9kZUltcGw6OnRl
eHRDb250ZW50KToKKyAgICAgICAgKERPTTo6Tm9kZUltcGw6OnNldFRleHRDb250ZW50KToKKyAg
ICAgICAgKiBraHRtbC94bWwvZG9tX25vZGVpbXBsLmg6CisgICAgICAgIEltcGxlbWVudCB0ZXh0
Q29udGVudCBhbmQgc2V0VGV4dENvbnRlbnQuCisgICAgICAgIAorICAgICAgICAqIGt3cS9ET00u
bW06CisgICAgICAgICgtW0RPTU5vZGUgdGV4dENvbnRlbnRdKToKKyAgICAgICAgKC1bRE9NTm9k
ZSBzZXRUZXh0Q29udGVudDpdKToKKyAgICAgICAgQWRkIE9iamVjdGl2ZSBDIHdyYXBwZXJzCisK
IDIwMDUtMTAtMzEgIERhdmlkIEhhcnJpc29uICA8aGFycmlzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBjb25kaXRpb25hbGl6ZWQgYXdheSBjb2RlIGFkZGVkIGFzIHBhcnQgb2YgdGFi
IGNoYXJhY3RlciBzdXBwb3J0LgpJbmRleDogV2ViQ29yZS9raHRtbC9lY21hL2tqc19kb20uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2VjbWEva2pzX2Rv
bS5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTA0CmRpZmYgLXAgLXUgLXIxLjEwNCBXZWJD
b3JlL2todG1sL2VjbWEva2pzX2RvbS5jcHAKLS0tIFdlYkNvcmUva2h0bWwvZWNtYS9ranNfZG9t
LmNwcAkyNiBPY3QgMjAwNSAyMDo0NDoxMCAtMDAwMAkxLjEwNAorKysgV2ViQ29yZS9raHRtbC9l
Y21hL2tqc19kb20uY3BwCTEgTm92IDIwMDUgMDg6MjM6NTUgLTAwMDAKQEAgLTE5Myw3ICsxOTMs
NyBAQCBib29sIERPTU5vZGU6OnRvQm9vbGVhbihFeGVjU3RhdGUgKikgY29uCiB9CiAKIC8qIFNv
dXJjZSBmb3IgRE9NTm9kZVRhYmxlLiBVc2UgIm1ha2UgaGFzaHRhYmxlcyIgdG8gcmVnZW5lcmF0
ZS4KLUBiZWdpbiBET01Ob2RlVGFibGUgNjgKK0BiZWdpbiBET01Ob2RlVGFibGUgNjkKICAgbm9k
ZU5hbWUJRE9NTm9kZTo6Tm9kZU5hbWUJRG9udERlbGV0ZXxSZWFkT25seQogICBub2RlVmFsdWUJ
RE9NTm9kZTo6Tm9kZVZhbHVlCURvbnREZWxldGUKICAgbm9kZVR5cGUJRE9NTm9kZTo6Tm9kZVR5
cGUJRG9udERlbGV0ZXxSZWFkT25seQpAQCAtMjEwLDYgKzIxMCw4IEBAIGJvb2wgRE9NTm9kZTo6
dG9Cb29sZWFuKEV4ZWNTdGF0ZSAqKSBjb24KICAgcHJlZml4CURPTU5vZGU6OlByZWZpeAkJRG9u
dERlbGV0ZQogICBsb2NhbE5hbWUJRE9NTm9kZTo6TG9jYWxOYW1lCURvbnREZWxldGV8UmVhZE9u
bHkKICAgb3duZXJEb2N1bWVudAlET01Ob2RlOjpPd25lckRvY3VtZW50CURvbnREZWxldGV8UmVh
ZE9ubHkKKyMgRE9NMworICB0ZXh0Q29udGVudCAgIERPTU5vZGU6OlRleHRDb250ZW50ICAgIERv
bnREZWxldGUKICMKICAgb25hYm9ydAlET01Ob2RlOjpPbkFib3J0CQlEb250RGVsZXRlCiAgIG9u
Ymx1cglET01Ob2RlOjpPbkJsdXIJCQlEb250RGVsZXRlCkBAIC0zMDUsNiArMzA3LDggQEAgVmFs
dWVJbXAgKkRPTU5vZGU6OmdldFZhbHVlUHJvcGVydHkoRXhlYwogICAgIHJldHVybiBnZXRTdHJp
bmdPck51bGwobm9kZS5sb2NhbE5hbWUoKSk7CiAgIGNhc2UgT3duZXJEb2N1bWVudDoKICAgICBy
ZXR1cm4gZ2V0RE9NTm9kZShleGVjLG5vZGUub3duZXJEb2N1bWVudCgpKTsKKyAgY2FzZSBUZXh0
Q29udGVudDoKKyAgICByZXR1cm4gZ2V0U3RyaW5nT3JOdWxsKG5vZGUudGV4dENvbnRlbnQoKSk7
CiAgIGNhc2UgT25BYm9ydDoKICAgICByZXR1cm4gZ2V0TGlzdGVuZXIoYWJvcnRFdmVudCk7CiAg
IGNhc2UgT25CbHVyOgpAQCAtNDU2LDYgKzQ2MCwxMiBAQCB2b2lkIERPTU5vZGU6OnB1dFZhbHVl
UHJvcGVydHkoRXhlY1N0YXRlCiAgIGNhc2UgUHJlZml4OgogICAgIG5vZGUuc2V0UHJlZml4KHZh
bHVlLT50b1N0cmluZyhleGVjKS5kb21TdHJpbmcoKS5pbXBsKCksIGV4Y2VwdGlvbik7CiAgICAg
YnJlYWs7CisgIGNhc2UgVGV4dENvbnRlbnQ6CisgICAgaWYgKHZhbHVlLT5pc051bGwoKSkKKyAg
ICAgIG5vZGUuc2V0VGV4dENvbnRlbnQoRE9NU3RyaW5nKCksIGV4Y2VwdGlvbik7CisgICAgZWxz
ZQorICAgICAgbm9kZS5zZXRUZXh0Q29udGVudCh2YWx1ZS0+dG9TdHJpbmcoZXhlYykuZG9tU3Ry
aW5nKCksIGV4Y2VwdGlvbik7CisgICAgYnJlYWs7CiAgIGNhc2UgT25BYm9ydDoKICAgICBzZXRM
aXN0ZW5lcihleGVjLGFib3J0RXZlbnQsdmFsdWUpOwogICAgIGJyZWFrOwpJbmRleDogV2ViQ29y
ZS9raHRtbC9lY21hL2tqc19kb20uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2Vi
Q29yZS9raHRtbC9lY21hL2tqc19kb20uaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NQpkaWZm
IC1wIC11IC1yMS41NSBXZWJDb3JlL2todG1sL2VjbWEva2pzX2RvbS5oCi0tLSBXZWJDb3JlL2to
dG1sL2VjbWEva2pzX2RvbS5oCTI2IE9jdCAyMDA1IDIwOjQ0OjExIC0wMDAwCTEuNTUKKysrIFdl
YkNvcmUva2h0bWwvZWNtYS9ranNfZG9tLmgJMSBOb3YgMjAwNSAwODoyMzo1NSAtMDAwMApAQCAt
NjksNyArNjksNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAgICAgICAgQXR0cmlidXRlcywgTmFt
ZXNwYWNlVVJJLCBQcmVmaXgsIExvY2FsTmFtZSwgT3duZXJEb2N1bWVudCwgSW5zZXJ0QmVmb3Jl
LAogICAgICAgICAgICBSZXBsYWNlQ2hpbGQsIFJlbW92ZUNoaWxkLCBBcHBlbmRDaGlsZCwgSGFz
QXR0cmlidXRlcywgSGFzQ2hpbGROb2RlcywKICAgICAgICAgICAgQ2xvbmVOb2RlLCBOb3JtYWxp
emUsIElzU3VwcG9ydGVkLCBBZGRFdmVudExpc3RlbmVyLCBSZW1vdmVFdmVudExpc3RlbmVyLAot
ICAgICAgICAgICBEaXNwYXRjaEV2ZW50LCBDb250YWlucywgSXNTYW1lTm9kZSwgSXNFcXVhbE5v
ZGUsCisgICAgICAgICAgIERpc3BhdGNoRXZlbnQsIENvbnRhaW5zLCBJc1NhbWVOb2RlLCBJc0Vx
dWFsTm9kZSwgVGV4dENvbnRlbnQsCiAgICAgICAgICAgIE9uQWJvcnQsIE9uQmx1ciwgT25DaGFu
Z2UsIE9uQ2xpY2ssIE9uQ29udGV4dE1lbnUsIE9uRGJsQ2xpY2ssIE9uRHJhZ0Ryb3AsIE9uRXJy
b3IsCiAgICAgICAgICAgIE9uRHJhZ0VudGVyLCBPbkRyYWdPdmVyLCBPbkRyYWdMZWF2ZSwgT25E
cm9wLCBPbkRyYWdTdGFydCwgT25EcmFnLCBPbkRyYWdFbmQsCiAgICAgICAgICAgIE9uQmVmb3Jl
Q3V0LCBPbkN1dCwgT25CZWZvcmVDb3B5LCBPbkNvcHksIE9uQmVmb3JlUGFzdGUsIE9uUGFzdGUs
IE9uU2VsZWN0U3RhcnQsCkluZGV4OiBXZWJDb3JlL2todG1sL3htbC9kb21fbm9kZWltcGwuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3htbC9kb21fbm9k
ZWltcGwuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIwNgpkaWZmIC1wIC11IC1yMS4yMDYg
V2ViQ29yZS9raHRtbC94bWwvZG9tX25vZGVpbXBsLmNwcAotLS0gV2ViQ29yZS9raHRtbC94bWwv
ZG9tX25vZGVpbXBsLmNwcAkyOCBPY3QgMjAwNSAwMTo1MTowMCAtMDAwMAkxLjIwNgorKysgV2Vi
Q29yZS9raHRtbC94bWwvZG9tX25vZGVpbXBsLmNwcAkxIE5vdiAyMDA1IDA4OjIzOjU2IC0wMDAw
CkBAIC0xNzIxLDYgKzE3MjEsNzIgQEAgYm9vbCBOb2RlSW1wbDo6aXNFcXVhbE5vZGUoTm9kZUlt
cGwgKm90aAogICAgIHJldHVybiB0cnVlOwogfQogCitET01TdHJpbmcgTm9kZUltcGw6OnRleHRD
b250ZW50KCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG5vZGVUeXBlKCkpIHsKKyAgICAgICAgY2Fz
ZSBOb2RlOjpURVhUX05PREU6CisgICAgICAgIGNhc2UgTm9kZTo6Q0RBVEFfU0VDVElPTl9OT0RF
OgorICAgICAgICBjYXNlIE5vZGU6OkNPTU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpQ
Uk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6CisgICAgICAgICAgICByZXR1cm4gbm9kZVZhbHVl
KCk7CisgICAgICAgIAorICAgICAgICBjYXNlIE5vZGU6OkVMRU1FTlRfTk9ERToKKyAgICAgICAg
Y2FzZSBOb2RlOjpBVFRSSUJVVEVfTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfTk9E
RToKKyAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfUkVGRVJFTkNFX05PREU6CisgICAgICAgIGNh
c2UgTm9kZTo6RE9DVU1FTlRfRlJBR01FTlRfTk9ERTogeworICAgICAgICAgICAgRE9NU3RyaW5n
IHMgPSAiIjsKKyAgICAgICAgCisgICAgICAgICAgICBmb3IgKE5vZGVJbXBsICpjaGlsZCA9IGZp
cnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoY2hpbGQtPm5vZGVUeXBlKCkgPT0gTm9kZTo6Q09NTUVOVF9OT0RFIHx8
IAorICAgICAgICAgICAgICAgICAgICBjaGlsZC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNT
SU5HX0lOU1RSVUNUSU9OX05PREUpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgcyArPSBjaGlsZC0+dGV4dENvbnRlbnQoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgICAgICByZXR1cm4gczsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNl
IE5vZGU6OkRPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpOT1RBVElPTl9O
T0RFOgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIERPTVN0cmluZygpOyAg
ICAgICAgICAgIAorICAgIH0KK30KKwordm9pZCBOb2RlSW1wbDo6c2V0VGV4dENvbnRlbnQoY29u
c3QgRE9NU3RyaW5nICZ0ZXh0LCBpbnQgJmV4Y2VwdGlvbikKK3sgICAgICAgICAgIAorICAgIHN3
aXRjaCAobm9kZVR5cGUoKSkgeworICAgICAgICBjYXNlIE5vZGU6OlRFWFRfTk9ERToKKyAgICAg
ICAgY2FzZSBOb2RlOjpDREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgIGNhc2UgTm9kZTo6Q09N
TUVOVF9OT0RFOgorICAgICAgICBjYXNlIE5vZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9E
RToKKyAgICAgICAgICAgIHNldE5vZGVWYWx1ZSh0ZXh0LCBleGNlcHRpb24pOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgTm9kZTo6RUxFTUVOVF9OT0RFOgorICAgICAgICBjYXNl
IE5vZGU6OkFUVFJJQlVURV9OT0RFOgorICAgICAgICBjYXNlIE5vZGU6OkVOVElUWV9OT0RFOgor
ICAgICAgICBjYXNlIE5vZGU6OkVOVElUWV9SRUZFUkVOQ0VfTk9ERToKKyAgICAgICAgY2FzZSBO
b2RlOjpET0NVTUVOVF9GUkFHTUVOVF9OT0RFOiB7CisgICAgICAgICAgICBDb250YWluZXJOb2Rl
SW1wbCAqY29udGFpbmVyID0gc3RhdGljX2Nhc3Q8Q29udGFpbmVyTm9kZUltcGwgKj4odGhpcyk7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGNvbnRhaW5lci0+cmVtb3ZlQ2hpbGRyZW4oKTsK
KyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKKyAgICAgICAg
ICAgICAgICBhcHBlbmRDaGlsZChnZXREb2N1bWVudCgpLT5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSwg
ZXhjZXB0aW9uKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2Ug
Tm9kZTo6RE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9UWVBFX05P
REU6CisgICAgICAgIGNhc2UgTm9kZTo6Tk9UQVRJT05fTk9ERToKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIC8vIERvIG5vdGhpbmcKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30K
KwogI2lmbmRlZiBOREVCVUcKIAogc3RhdGljIHZvaWQgYXBwZW5kQXR0cmlidXRlRGVzYyhjb25z
dCBOb2RlSW1wbCAqbm9kZSwgUVN0cmluZyAmc3RyaW5nLCBjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBRU3RyaW5nIGF0dHJEZXNjKQpJbmRleDogV2ViQ29yZS9raHRtbC94bWwvZG9tX25vZGVp
bXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwveG1sL2Rv
bV9ub2RlaW1wbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjExMQpkaWZmIC1wIC11IC1yMS4x
MTEgV2ViQ29yZS9raHRtbC94bWwvZG9tX25vZGVpbXBsLmgKLS0tIFdlYkNvcmUva2h0bWwveG1s
L2RvbV9ub2RlaW1wbC5oCTI3IE9jdCAyMDA1IDIzOjE1OjA0IC0wMDAwCTEuMTExCisrKyBXZWJD
b3JlL2todG1sL3htbC9kb21fbm9kZWltcGwuaAkxIE5vdiAyMDA1IDA4OjIzOjU2IC0wMDAwCkBA
IC0xMTQsNiArMTE0LDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNTYW1lTm9kZShOb2RlSW1wbCAq
b3RoZXIpIHsgcmV0dXJuIHRoaXMgPT0gb3RoZXI7IH0KICAgICBib29sIGlzRXF1YWxOb2RlKE5v
ZGVJbXBsICpvdGhlcikgY29uc3Q7CiAgICAgCisgICAgRE9NU3RyaW5nIHRleHRDb250ZW50KCkg
Y29uc3Q7CisgICAgdm9pZCBzZXRUZXh0Q29udGVudChjb25zdCBET01TdHJpbmcgJnRleHQsIGlu
dCAmZXhjZXB0aW9uKTsKKyAgICAKICAgICBOb2RlSW1wbCAqbGFzdERlc2NlbmRhbnQoKSBjb25z
dDsKIAogICAgIC8vIE90aGVyIG1ldGhvZHMgKG5vdCBwYXJ0IG9mIERPTSkKSW5kZXg6IFdlYkNv
cmUva3dxL0RPTS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3Ev
RE9NLm1tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjU0CmRpZmYgLXAgLXUgLXIxLjU0IFdlYkNv
cmUva3dxL0RPTS5tbQotLS0gV2ViQ29yZS9rd3EvRE9NLm1tCTI2IE9jdCAyMDA1IDIwOjQ0OjE0
IC0wMDAwCTEuNTQKKysrIFdlYkNvcmUva3dxL0RPTS5tbQkxIE5vdiAyMDA1IDA4OjIzOjU2IC0w
MDAwCkBAIC0zODYsNiArMzg2LDE4IEBAIHN0YXRpYyBMaXN0ZW5lck1hcCAqbGlzdGVuZXJNYXA7
CiAgICAgcmV0dXJuIFtzZWxmIF9ub2RlSW1wbF0tPmlzRXF1YWxOb2RlKFtvdGhlciBfbm9kZUlt
cGxdKTsKIH0KIAorLSAoTlNTdHJpbmcgKil0ZXh0Q29udGVudAoreworICAgIHJldHVybiBbc2Vs
ZiBfbm9kZUltcGxdLT50ZXh0Q29udGVudCgpOworfQorCistICh2b2lkKXNldFRleHRDb250ZW50
OihOU1N0cmluZyAqKXRleHQKK3sKKyAgICBpbnQgZXhjZXB0aW9uQ29kZSA9IDA7CisgICAgW3Nl
bGYgX25vZGVJbXBsXS0+c2V0VGV4dENvbnRlbnQodGV4dCwgZXhjZXB0aW9uQ29kZSk7CisgICAg
cmFpc2VPbkRPTUVycm9yKGV4Y2VwdGlvbkNvZGUpOworfQorCiAtICh2b2lkKWFkZEV2ZW50TGlz
dGVuZXI6KE5TU3RyaW5nICopdHlwZSA6KGlkIDxET01FdmVudExpc3RlbmVyPilsaXN0ZW5lciA6
KEJPT0wpdXNlQ2FwdHVyZQogewogICAgIEV2ZW50TGlzdGVuZXIgKndyYXBwZXIgPSBPYmpDRXZl
bnRMaXN0ZW5lcjo6Y3JlYXRlKGxpc3RlbmVyKTsK
</data>
<flag name="review"
          id="807"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>