<?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>96224</bug_id>
          
          <creation_ts>2012-09-09 21:05:46 -0700</creation_ts>
          <short_desc>Refactor SMILTimeContainer::updateAnimations to not do extra work</short_desc>
          <delta_ts>2012-09-10 17:07:08 -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>SVG</component>
          <version>420+</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philip Rogers">pdr</reporter>
          <assigned_to name="Philip Rogers">pdr</assigned_to>
          <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>715689</commentid>
    <comment_count>0</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-09-09 21:05:46 -0700</bug_when>
    <thetext>SMILTimeContainer::updateAnimations is hot for users with many simultaneous animations and it contains some low hanging fruit for improving code readability and reducing unnecessary codepaths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715694</commentid>
    <comment_count>1</comment_count>
      <attachid>163033</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-09-09 21:12:18 -0700</bug_when>
    <thetext>Created attachment 163033
Remove unnecessary codepaths in SMILTimeContainer::updateAnimations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715748</commentid>
    <comment_count>2</comment_count>
      <attachid>163033</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-09-09 23:45:56 -0700</bug_when>
    <thetext>Comment on attachment 163033
Remove unnecessary codepaths in SMILTimeContainer::updateAnimations

Looks good, r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716476</commentid>
    <comment_count>3</comment_count>
      <attachid>163033</attachid>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2012-09-10 13:53:19 -0700</bug_when>
    <thetext>Comment on attachment 163033
Remove unnecessary codepaths in SMILTimeContainer::updateAnimations

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

&gt; Source/WebCore/svg/animation/SMILTimeContainer.cpp:249
&gt;  

I would like to see an else on this asserting that the resultElement != animation. Because if it is equal, you may be adding it twice to the resultElements below.

&gt; Source/WebCore/svg/animation/SMILTimeContainer.cpp:251
&gt; +        if (animation-&gt;progress(elapsed, resultElement, seekToTime) &amp;&amp; resultElement == animation)

If resultElement was already animation at line 243 above, then we might be adding it again here. I think that here you should be checking accumulatedResultElement instead of resultElement == animation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716493</commentid>
    <comment_count>4</comment_count>
      <attachid>163033</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-09-10 14:03:14 -0700</bug_when>
    <thetext>Comment on attachment 163033
Remove unnecessary codepaths in SMILTimeContainer::updateAnimations

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

Thanks for the review schenney!

&gt;&gt; Source/WebCore/svg/animation/SMILTimeContainer.cpp:249
&gt;&gt;  
&gt; 
&gt; I would like to see an else on this asserting that the resultElement != animation. Because if it is equal, you may be adding it twice to the resultElements below.

An assert that this doesn&apos;t happen seems useful. Adding in new patch momentarily

&gt;&gt; Source/WebCore/svg/animation/SMILTimeContainer.cpp:251
&gt;&gt; +        if (animation-&gt;progress(elapsed, resultElement, seekToTime) &amp;&amp; resultElement == animation)
&gt; 
&gt; If resultElement was already animation at line 243 above, then we might be adding it again here. I think that here you should be checking accumulatedResultElement instead of resultElement == animation.

I think the new assert from your other comment will cover this case without the extra bool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716497</commentid>
    <comment_count>5</comment_count>
      <attachid>163206</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-09-10 14:10:21 -0700</bug_when>
    <thetext>Created attachment 163206
Patch for landing

Thank you for the review Nikolas!

Patch: off to the commit queue you go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716499</commentid>
    <comment_count>6</comment_count>
      <attachid>163206</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 14:11:53 -0700</bug_when>
    <thetext>Comment on attachment 163206
Patch for landing

Rejecting attachment 163206 from review queue.

pdr@google.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716501</commentid>
    <comment_count>7</comment_count>
      <attachid>163207</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-09-10 14:13:30 -0700</bug_when>
    <thetext>Created attachment 163207
Lets try this again...

Oops--marked as r+ but I should have left review blank so it would pick up Niko&apos;s r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716702</commentid>
    <comment_count>8</comment_count>
      <attachid>163207</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 17:07:05 -0700</bug_when>
    <thetext>Comment on attachment 163207
Lets try this again...

Clearing flags on attachment: 163207

Committed r128131: &lt;http://trac.webkit.org/changeset/128131&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716703</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 17:07:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163033</attachid>
            <date>2012-09-09 21:12:18 -0700</date>
            <delta_ts>2012-09-10 14:10:21 -0700</delta_ts>
            <desc>Remove unnecessary codepaths in SMILTimeContainer::updateAnimations</desc>
            <filename>96224.1.patch</filename>
            <type>text/plain</type>
            <size>17773</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODAxMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA5LTA5ICBQaGlsaXAg
Um9nZXJzICA8cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGNv
ZGVwYXRocyBpbiBTTUlMVGltZUNvbnRhaW5lcjo6dXBkYXRlQW5pbWF0aW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYyMjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGNoYW5nZSByZW1vdmVz
IHR3byBzb3VyY2VzIG9mIHVubmVjZXNzYXJ5IGNvZGUgaW4KKyAgICAgICAgU01JTFRpbWVDb250
YWluZXI6OnVwZGF0ZUFuaW1hdGlvbnM6CisgICAgICAgICAgICAxKSBBZnRlciByMTE3NzExIHdl
IG5vdyBhY2N1bXVsYXRlIHRoZSByZXN1bHQgb2YgbXVsdGlwbGUKKyAgICAgICAgICAgICAgIGFu
aW1hdGlvbnMgaW50byB0aGUgZmlyc3QgX2NvbnRyaWJ1dGluZ18gYW5pbWF0aW9uCisgICAgICAg
ICAgICAgICBlbGVtZW50LiBBcyBhIHJlc3VsdCBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHRv
CisgICAgICAgICAgICAgICB0cmFjayBib3RoIHdoaWNoIGVsZW1lbnRzIGFyZSBjb250cmlidXRp
bmcgQU5EIHdoaWNoIGVsZW1lbnRzCisgICAgICAgICAgICAgICB3ZSBhcmUgc3RvcmluZyByZXN1
bHRzIGludG8uIEJvdGggY2FzZXMgYXJlIG5vdyBoYW5kbGVkCisgICAgICAgICAgICAgICB0b2dl
dGhlciB3aXRoIHJlc3VsdHNFbGVtZW50cy4KKworICAgICAgICAgICAgMikgcjMyMDQ0IGFkZGVk
IGEgc2Vjb25kIHNvcnQgb2YgdGhlIGFuaW1hdGlvbiBlbGVtZW50cworICAgICAgICAgICAgICAg
aW4gb3JkZXIgdG8gcHJvY2VzcyBhbmltYXRlVHJhbnNmb3JtIGxhc3QuIFRoaXMgY2hhbmdlCisg
ICAgICAgICAgICAgICB3YXMgYWRkZWQgNCB5ZWFycyBhZ28sIGJlZm9yZSB3ZSBjb3JyZWN0bHkg
aGFuZGxlZCA8dXNlPgorICAgICAgICAgICAgICAgYW5kIHRoZSBpbnN0YW5jZSB0cmVlLCBhbmQg
SSB0aGluayB0aGUgZXh0cmEgc29ydCBpcyBubworICAgICAgICAgICAgICAgbG9uZ2VyIG5lY2Vz
c2FyeS4gQSB0ZXN0IGhhcyBiZWVuIGFkZGVkIHRvIGVuc3VyZSB0aGlzCisgICAgICAgICAgICAg
ICBpcyB0aGUgY2FzZS4KKworICAgICAgICBUaGlzIGNoYW5nZSBhbHNvIGRvZXMgYSBtaW5vciBj
bGVhbnVwIG9mIHJlc3VsdHNFbGVtZW50cy4gUHJldmlvdXNseSwKKyAgICAgICAgd2UgYWRkZWQg
YW5pbWF0aW9uIGVsZW1lbnRzIHRvIHJlc3VsdHNFbGVtZW50cyBhbmQgdGhlbiByZW1vdmVkIHRo
ZW0KKyAgICAgICAgaWYgdGhlIGFuaW1hdGlvbiBlbGVtZW50IGRpZCBub3QgY29udHJpYnV0ZS4g
QWZ0ZXIgdGhpcyBjaGFuZ2UsIHdlCisgICAgICAgIG9ubHkgYWRkIHRvIHJlc3VsdHNFbGVtZW50
cyAobm8gbW9yZSBhZGQtdGhlbi1yZW1vdmUpLgorCisgICAgICAgIFRlc3Q6IHN2Zy9hbmltYXRp
b25zL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24uaHRtbAorCisgICAgICAgICog
c3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
TUlMVGltZUNvbnRhaW5lcjo6c29ydEJ5UHJpb3JpdHkpOgorICAgICAgICAoV2ViQ29yZTo6U01J
TFRpbWVDb250YWluZXI6OnVwZGF0ZUFuaW1hdGlvbnMpOgorCiAyMDEyLTA5LTA5ICBLeXVuZ1Rh
ZSBLaW0gIDxrdGYua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFdyb25nIHJlbmRl
cmluZyByZXN1bHRzIGZvciBzcXVhcmUtYnV0dG9uLWFwcGVhcmFuY2UuaHRtbApJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAJ
KHJldmlzaW9uIDEyNzc5OSkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRp
bWVDb250YWluZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsMTggKzIwNCw2IEBAIHZvaWQg
U01JTFRpbWVDb250YWluZXI6OnNvcnRCeVByaW9yaXR5KFYKICAgICAgICAgdXBkYXRlRG9jdW1l
bnRPcmRlckluZGV4ZXMoKTsKICAgICBzdGQ6OnNvcnQoc21pbEVsZW1lbnRzLmJlZ2luKCksIHNt
aWxFbGVtZW50cy5lbmQoKSwgUHJpb3JpdHlDb21wYXJlKGVsYXBzZWQpKTsKIH0KLSAgICAKLXN0
YXRpYyBib29sIGFwcGx5T3JkZXJTb3J0RnVuY3Rpb24oU1ZHU01JTEVsZW1lbnQqIGEsIFNWR1NN
SUxFbGVtZW50KiBiKQotewotICAgIGlmICghYS0+aGFzVGFnTmFtZShTVkdOYW1lczo6YW5pbWF0
ZVRyYW5zZm9ybVRhZykgJiYgYi0+aGFzVGFnTmFtZShTVkdOYW1lczo6YW5pbWF0ZVRyYW5zZm9y
bVRhZykpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIHJldHVybiBmYWxzZTsKLX0KLSAgICAK
LXN0YXRpYyB2b2lkIHNvcnRCeUFwcGx5T3JkZXIoVmVjdG9yPFNWR1NNSUxFbGVtZW50Kj4mIHNt
aWxFbGVtZW50cykKLXsKLSAgICBzdGQ6OnNvcnQoc21pbEVsZW1lbnRzLmJlZ2luKCksIHNtaWxF
bGVtZW50cy5lbmQoKSwgYXBwbHlPcmRlclNvcnRGdW5jdGlvbik7Ci19CiAKIHZvaWQgU01JTFRp
bWVDb250YWluZXI6OnVwZGF0ZUFuaW1hdGlvbnMoU01JTFRpbWUgZWxhcHNlZCwgYm9vbCBzZWVr
VG9UaW1lKQogewpAQCAtMjI5LDEyICsyMTcsMTEgQEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6
dXBkYXRlQW5pbWF0aW9ucwogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBhbHNvIGNvbnNpZGVy
IHRpbWluZyByZWxhdGlvbnNoaXBzIGJldHdlZW4gdGhlIGVsZW1lbnRzLiBEZXBlbmRlbnRzCiAg
ICAgLy8gaGF2ZSBoaWdoZXIgcHJpb3JpdHkuCiAgICAgc29ydEJ5UHJpb3JpdHkodG9BbmltYXRl
LCBlbGFwc2VkKTsKLSAgICAKKwogICAgIC8vIENhbGN1bGF0ZSBhbmltYXRpb24gY29udHJpYnV0
aW9ucy4KICAgICB0eXBlZGVmIHBhaXI8U1ZHRWxlbWVudCosIFF1YWxpZmllZE5hbWU+IEVsZW1l
bnRBdHRyaWJ1dGVQYWlyOwotICAgIHR5cGVkZWYgSGFzaE1hcDxFbGVtZW50QXR0cmlidXRlUGFp
ciwgUmVmUHRyPFNWR1NNSUxFbGVtZW50PiA+IFJlc3VsdEVsZW1lbnRNYXA7CisgICAgdHlwZWRl
ZiBIYXNoTWFwPEVsZW1lbnRBdHRyaWJ1dGVQYWlyLCBTVkdTTUlMRWxlbWVudCo+IFJlc3VsdEVs
ZW1lbnRNYXA7CiAgICAgUmVzdWx0RWxlbWVudE1hcCByZXN1bHRzRWxlbWVudHM7Ci0gICAgSGFz
aFNldDxTVkdTTUlMRWxlbWVudCo+IGNvbnRyaWJ1dGluZ0VsZW1lbnRzOwogICAgIGZvciAodW5z
aWduZWQgbiA9IDA7IG4gPCB0b0FuaW1hdGUuc2l6ZSgpOyArK24pIHsKICAgICAgICAgU1ZHU01J
TEVsZW1lbnQqIGFuaW1hdGlvbiA9IHRvQW5pbWF0ZVtuXTsKICAgICAgICAgQVNTRVJUKGFuaW1h
dGlvbi0+dGltZUNvbnRhaW5lcigpID09IHRoaXMpOwpAQCAtMjQyLDcgKzIyOSw3IEBAIHZvaWQg
U01JTFRpbWVDb250YWluZXI6OnVwZGF0ZUFuaW1hdGlvbnMKICAgICAgICAgU1ZHRWxlbWVudCog
dGFyZ2V0RWxlbWVudCA9IGFuaW1hdGlvbi0+dGFyZ2V0RWxlbWVudCgpOwogICAgICAgICBpZiAo
IXRhcmdldEVsZW1lbnQpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCisKICAgICAg
ICAgUXVhbGlmaWVkTmFtZSBhdHRyaWJ1dGVOYW1lID0gYW5pbWF0aW9uLT5hdHRyaWJ1dGVOYW1l
KCk7CiAgICAgICAgIGlmIChhdHRyaWJ1dGVOYW1lID09IGFueVFOYW1lKCkpIHsKICAgICAgICAg
ICAgIGlmIChhbmltYXRpb24tPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFuaW1hdGVNb3Rpb25UYWcp
KQpAQCAtMjUwLDUxICsyMzcsMzUgQEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dXBkYXRlQW5p
bWF0aW9ucwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFJlc3VsdHMgYXJlIGFjY3VtdWxhdGVkIHRv
IHRoZSBmaXJzdCBhbmltYXRpb24gdGhhdCBhbmltYXRlcyBhbmQgY29udHJpYnV0ZXMgdG8gYSBw
YXJ0aWN1bGFyIGVsZW1lbnQvYXR0cmlidXRlIHBhaXIuCiAgICAgICAgIEVsZW1lbnRBdHRyaWJ1
dGVQYWlyIGtleSh0YXJnZXRFbGVtZW50LCBhdHRyaWJ1dGVOYW1lKTsgCi0gICAgICAgIFNWR1NN
SUxFbGVtZW50KiByZXN1bHRFbGVtZW50ID0gcmVzdWx0c0VsZW1lbnRzLmdldChrZXkpLmdldCgp
OwotICAgICAgICBib29sIGFjY3VtdWxhdGVkUmVzdWx0RWxlbWVudCA9IGZhbHNlOworICAgICAg
ICBTVkdTTUlMRWxlbWVudCogcmVzdWx0RWxlbWVudCA9IHJlc3VsdHNFbGVtZW50cy5nZXQoa2V5
KTsKICAgICAgICAgaWYgKCFyZXN1bHRFbGVtZW50KSB7CiAgICAgICAgICAgICBpZiAoIWFuaW1h
dGlvbi0+aGFzVmFsaWRBdHRyaWJ1dGVUeXBlKCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgICAgICByZXN1bHRFbGVtZW50ID0gYW5pbWF0aW9uOwotICAgICAgICAgICAgcmVz
dWx0c0VsZW1lbnRzLmFkZChrZXksIHJlc3VsdEVsZW1lbnQpOwotICAgICAgICAgICAgYWNjdW11
bGF0ZWRSZXN1bHRFbGVtZW50ID0gdHJ1ZTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIFRoaXMg
d2lsbCBjYWxjdWxhdGUgdGhlIGNvbnRyaWJ1dGlvbiBmcm9tIHRoZSBhbmltYXRpb24gYW5kIGFk
ZCBpdCB0byB0aGUgcmVzdWx0c0VsZW1lbnQuCi0gICAgICAgIGlmIChhbmltYXRpb24tPnByb2dy
ZXNzKGVsYXBzZWQsIHJlc3VsdEVsZW1lbnQsIHNlZWtUb1RpbWUpKQotICAgICAgICAgICAgY29u
dHJpYnV0aW5nRWxlbWVudHMuYWRkKHJlc3VsdEVsZW1lbnQpOwotICAgICAgICBlbHNlIGlmIChh
Y2N1bXVsYXRlZFJlc3VsdEVsZW1lbnQpCi0gICAgICAgICAgICByZXN1bHRzRWxlbWVudHMucmVt
b3ZlKGtleSk7CisgICAgICAgIGlmIChhbmltYXRpb24tPnByb2dyZXNzKGVsYXBzZWQsIHJlc3Vs
dEVsZW1lbnQsIHNlZWtUb1RpbWUpICYmIHJlc3VsdEVsZW1lbnQgPT0gYW5pbWF0aW9uKQorICAg
ICAgICAgICAgcmVzdWx0c0VsZW1lbnRzLmFkZChrZXksIHJlc3VsdEVsZW1lbnQpOwogCiAgICAg
ICAgIFNNSUxUaW1lIG5leHRGaXJlVGltZSA9IGFuaW1hdGlvbi0+bmV4dFByb2dyZXNzVGltZSgp
OwogICAgICAgICBpZiAobmV4dEZpcmVUaW1lLmlzRmluaXRlKCkpCiAgICAgICAgICAgICBlYXJs
aWVyc0ZpcmVUaW1lID0gbWluKG5leHRGaXJlVGltZSwgZWFybGllcnNGaXJlVGltZSk7CiAgICAg
fQotICAgIAotICAgIFZlY3RvcjxTVkdTTUlMRWxlbWVudCo+IGFuaW1hdGlvbnNUb0FwcGx5Owot
ICAgIFJlc3VsdEVsZW1lbnRNYXA6Oml0ZXJhdG9yIGVuZCA9IHJlc3VsdHNFbGVtZW50cy5lbmQo
KTsKLSAgICBmb3IgKFJlc3VsdEVsZW1lbnRNYXA6Oml0ZXJhdG9yIGl0ID0gcmVzdWx0c0VsZW1l
bnRzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBTVkdTTUlMRWxlbWVudCog
YW5pbWF0aW9uID0gaXQtPnNlY29uZC5nZXQoKTsKLSAgICAgICAgaWYgKGNvbnRyaWJ1dGluZ0Vs
ZW1lbnRzLmNvbnRhaW5zKGFuaW1hdGlvbikpCi0gICAgICAgICAgICBhbmltYXRpb25zVG9BcHBs
eS5hcHBlbmQoYW5pbWF0aW9uKTsKLSAgICB9CiAKLSAgICB1bnNpZ25lZCBhbmltYXRpb25zVG9B
cHBseVNpemUgPSBhbmltYXRpb25zVG9BcHBseS5zaXplKCk7Ci0gICAgaWYgKCFhbmltYXRpb25z
VG9BcHBseVNpemUpIHsKKyAgICB1bnNpZ25lZCByZXN1bHRzVG9BcHBseVNpemUgPSByZXN1bHRz
RWxlbWVudHMuc2l6ZSgpOworICAgIGlmICghcmVzdWx0c1RvQXBwbHlTaXplKSB7CiAgICAgICAg
IHN0YXJ0VGltZXIoZWFybGllcnNGaXJlVGltZSwgYW5pbWF0aW9uRnJhbWVEZWxheSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBTb3J0IDxhbmltYXRlVHJhbmZvcm0+IHRvIGJl
IHRoZSBsYXN0IG9uZSB0byBiZSBhcHBsaWVkLiA8YW5pbWF0ZT4gbWF5IGNoYW5nZSB0cmFuc2Zv
cm0gYXR0cmlidXRlIGFzCi0gICAgLy8gd2VsbCAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBieSBt
b2RpZnlpbmcgPHVzZT4geC95KSBhbmQgdGhpcyB3YXkgdHJhbnNmb3JtcyBjb21iaW5lIHByb3Bl
cmx5LgotICAgIHNvcnRCeUFwcGx5T3JkZXIoYW5pbWF0aW9uc1RvQXBwbHkpOwotCiAgICAgLy8g
QXBwbHkgcmVzdWx0cyB0byB0YXJnZXQgZWxlbWVudHMuCi0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGFuaW1hdGlvbnNUb0FwcGx5U2l6ZTsgKytpKQotICAgICAgICBhbmltYXRpb25zVG9B
cHBseVtpXS0+YXBwbHlSZXN1bHRzVG9UYXJnZXQoKTsKKyAgICBSZXN1bHRFbGVtZW50TWFwOjpp
dGVyYXRvciBlbmQgPSByZXN1bHRzRWxlbWVudHMuZW5kKCk7CisgICAgZm9yIChSZXN1bHRFbGVt
ZW50TWFwOjppdGVyYXRvciBpdCA9IHJlc3VsdHNFbGVtZW50cy5iZWdpbigpOyBpdCAhPSBlbmQ7
ICsraXQpCisgICAgICAgIGl0LT5zZWNvbmQtPmFwcGx5UmVzdWx0c1RvVGFyZ2V0KCk7CiAKICAg
ICBzdGFydFRpbWVyKGVhcmxpZXJzRmlyZVRpbWUsIGFuaW1hdGlvbkZyYW1lRGVsYXkpOwogICAg
IERvY3VtZW50Ojp1cGRhdGVTdHlsZUZvckFsbERvY3VtZW50cygpOwpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gMTI4MDEzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTItMDktMDkgIFBoaWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZW1vdmUgdW5uZWNlc3Nhcnkgd29yayBpbiBTTUlMVGltZUNvbnRhaW5lcjo6
dXBkYXRlQW5pbWF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTYyMjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIGNoYW5nZSBzaG91bGQgaGF2ZSBubyBmdW5jdGlvbmFsIGRpZmZlcmVuY2Vz
IGJ1dCBhIHRlc3QKKyAgICAgICAgaXMgYmVpbmcgYWRkZWQgdG8gc2hvdyB0aGF0LiBTTUlMVGlt
ZUNvbnRhaW5lcjo6dXBkYXRlQW5pbWF0aW9ucworICAgICAgICBjb250YWluZWQgYSBjb21tZW50
IGV4cGxhaW5pbmcgd2h5IGEgYW5pbWF0ZVRyYW5zZm9ybSBuZWVkZWQgdG8gYmUKKyAgICAgICAg
cHJvY2Vzc2VkIGxhc3QgYnV0IHRoYXQgaXMgbm8gbG9uZ2VyIHRoZSBjYXNlIChhcyB0aGUgdGVz
dCBzaG93cykuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvdXNlLWFu
aW1hdGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlvbi5qczogQWRkZWQuCisgICAgICAgIChzYW1wbGUx
KToKKyAgICAgICAgKHNhbXBsZTIpOgorICAgICAgICAoc2FtcGxlMyk6CisgICAgICAgIChzYW1w
bGU0KToKKyAgICAgICAgKHNhbXBsZTUpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb25zL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy91c2UtYW5pbWF0ZS10
cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA5LTA5ICBLeXVuZ1Rh
ZSBLaW0gIDxrdGYua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFdyb25nIHJlbmRl
cmluZyByZXN1bHRzIGZvciBzcXVhcmUtYnV0dG9uLWFwcGVhcmFuY2UuaHRtbApJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvdXNlLWFuaW1hdGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlv
bi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
dXNlLWFuaW1hdGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0t
YW5kLXBvc2l0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2OCBAQAor
U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCitUZXN0IGFuaW1hdGlvbiBvZiB1c2Ug
ZWxlbWVudCB3aGVyZSB0aGUgaW5zdGFuY2UgaXMgYWxzbyBhbmltYXRlZCB3aXRoIGFuaW1hdGUg
YW5kIGFuaW1hdGVUcmFuc2Zvcm0KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgcmVjdC54LmFuaW1WYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC54LmJhc2VWYWwudmFsdWUg
aXMgMTAKK1BBU1MgcmVjdC55LmFuaW1WYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmJhc2VW
YWwudmFsdWUgaXMgMTAKK1BBU1MgdXNlLnguYW5pbVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS54
LmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5hbmltVmFsLnZhbHVlIGlzIDAKK1BBU1Mg
dXNlLnkuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1i
ZXJPZkl0ZW1zIGlzIDAKK1BBU1MgcmVjdC54LmFuaW1WYWwudmFsdWUgaXMgMTUKK1BBU1MgcmVj
dC54LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmFuaW1WYWwudmFsdWUgaXMgMTAK
K1BBU1MgcmVjdC55LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgdXNlLnguYW5pbVZhbC52YWx1
ZSBpcyAwCitQQVNTIHVzZS54LmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5hbmltVmFs
LnZhbHVlIGlzIDAKK1BBU1MgdXNlLnkuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS50cmFu
c2Zvcm0uYW5pbVZhbC5udW1iZXJPZkl0ZW1zIGlzIDEKK1BBU1MgdXNlLnRyYW5zZm9ybS5iYXNl
VmFsLm51bWJlck9mSXRlbXMgaXMgMAorUEFTUyB1c2UudHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRl
bSgwKS5tYXRyaXguZSBpcyAwCitQQVNTIHVzZS50cmFuc2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDAp
Lm1hdHJpeC5mIGlzIDExNQorUEFTUyByZWN0LnguYW5pbVZhbC52YWx1ZSBpcyAyNQorUEFTUyBy
ZWN0LnguYmFzZVZhbC52YWx1ZSBpcyAxMAorUEFTUyByZWN0LnkuYW5pbVZhbC52YWx1ZSBpcyAx
MAorUEFTUyByZWN0LnkuYmFzZVZhbC52YWx1ZSBpcyAxMAorUEFTUyB1c2UueC5hbmltVmFsLnZh
bHVlIGlzIDUKK1BBU1MgdXNlLnguYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS55LmFuaW1W
YWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnRy
YW5zZm9ybS5hbmltVmFsLm51bWJlck9mSXRlbXMgaXMgMQorUEFTUyB1c2UudHJhbnNmb3JtLmJh
c2VWYWwubnVtYmVyT2ZJdGVtcyBpcyAwCitQQVNTIHVzZS50cmFuc2Zvcm0uYW5pbVZhbC5nZXRJ
dGVtKDApLm1hdHJpeC5lIGlzIDAKK1BBU1MgdXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0o
MCkubWF0cml4LmYgaXMgMTI1CitQQVNTIHJlY3QueC5hbmltVmFsLnZhbHVlIGlzIDM1CitQQVNT
IHJlY3QueC5iYXNlVmFsLnZhbHVlIGlzIDEwCitQQVNTIHJlY3QueS5hbmltVmFsLnZhbHVlIGlz
IDEwCitQQVNTIHJlY3QueS5iYXNlVmFsLnZhbHVlIGlzIDEwCitQQVNTIHVzZS54LmFuaW1WYWwu
dmFsdWUgaXMgMTUKK1BBU1MgdXNlLnguYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS55LmFu
aW1WYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNl
LnRyYW5zZm9ybS5hbmltVmFsLm51bWJlck9mSXRlbXMgaXMgMQorUEFTUyB1c2UudHJhbnNmb3Jt
LmJhc2VWYWwubnVtYmVyT2ZJdGVtcyBpcyAwCitQQVNTIHVzZS50cmFuc2Zvcm0uYW5pbVZhbC5n
ZXRJdGVtKDApLm1hdHJpeC5lIGlzIDAKK1BBU1MgdXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0
ZW0oMCkubWF0cml4LmYgaXMgMTI4LjUKK1BBU1MgcmVjdC54LmFuaW1WYWwudmFsdWUgaXMgNDUK
K1BBU1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmFuaW1WYWwudmFs
dWUgaXMgMTAKK1BBU1MgcmVjdC55LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgdXNlLnguYW5p
bVZhbC52YWx1ZSBpcyAyNQorUEFTUyB1c2UueC5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNl
LnkuYW5pbVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS55LmJhc2VWYWwudmFsdWUgaXMgMAorUEFT
UyB1c2UudHJhbnNmb3JtLmFuaW1WYWwubnVtYmVyT2ZJdGVtcyBpcyAxCitQQVNTIHVzZS50cmFu
c2Zvcm0uYmFzZVZhbC5udW1iZXJPZkl0ZW1zIGlzIDAKK1BBU1MgdXNlLnRyYW5zZm9ybS5hbmlt
VmFsLmdldEl0ZW0oMCkubWF0cml4LmUgaXMgMAorUEFTUyB1c2UudHJhbnNmb3JtLmFuaW1WYWwu
Z2V0SXRlbSgwKS5tYXRyaXguZiBpcyAxMjUuNQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24uaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0
aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy91c2Ut
YW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBkYXRlcy9y
ZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InJ1blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHM8
L2gxPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvdXNlLWFuaW1hdGUtdHJhbnNmb3JtLWFuZC1wb3Np
dGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3Vz
ZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24uanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1h
bmQtcG9zaXRpb24uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy9zY3JpcHQtdGVzdHMvdXNlLWFuaW1hdGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlvbi5qcwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNDkgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IGFuaW1hdGlvbiBv
ZiB1c2UgZWxlbWVudCB3aGVyZSB0aGUgaW5zdGFuY2UgaXMgYWxzbyBhbmltYXRlZCB3aXRoIGFu
aW1hdGUgYW5kIGFuaW1hdGVUcmFuc2Zvcm0iKTsKK2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisKKy8v
IFNldHVwIHRlc3QgZG9jdW1lbnQKK3ZhciByZWN0ID0gY3JlYXRlU1ZHRWxlbWVudCgicmVjdCIp
OworcmVjdC5zZXRBdHRyaWJ1dGUoImlkIiwgInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ4
IiwgIjEwIik7CityZWN0LnNldEF0dHJpYnV0ZSgieSIsICIxMCIpOworcmVjdC5zZXRBdHRyaWJ1
dGUoIndpZHRoIiwgIjEwMCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAiKTsK
K3JlY3Quc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVuIik7CityZWN0LnNldEF0dHJpYnV0ZSgi
b25jbGljayIsICJleGVjdXRlVGVzdCgpIik7CisKK3ZhciBhbmltYXRlMSA9IGNyZWF0ZVNWR0Vs
ZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiaWQiLCAiYW5pbWF0ZTEi
KTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiYXR0cmlidXRlTmFtZSIsICJ4Iik7CithbmltYXRl
MS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgIjFzIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImR1
ciIsICIxMHMiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIxMCIpOworYW5pbWF0
ZTEuc2V0QXR0cmlidXRlKCJ0byIsICIxMTAiKTsKK3JlY3QuYXBwZW5kQ2hpbGQoYW5pbWF0ZTEp
Oworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQocmVjdCk7CisKK3ZhciB1c2UgPSBjcmVhdGVT
VkdFbGVtZW50KCJ1c2UiKTsKK3VzZS5zZXRBdHRyaWJ1dGUoImlkIiwgInVzZSIpOwordXNlLnNl
dEF0dHJpYnV0ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgJ3hsaW5rOmhyZWYn
LCAnI3JlY3QnKTsKK3VzZS5zZXRBdHRyaWJ1dGUoIngiLCAiMCIpOwordXNlLnNldEF0dHJpYnV0
ZSgieSIsICIwIik7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZCh1c2UpOworCit2YXIgYW5p
bWF0ZVRyYW5zZm9ybTEgPSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlVHJhbnNmb3JtIik7Cith
bmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGVUcmFuc2Zvcm0xIik7
CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5hbWUiLCAidHJhbnNm
b3JtIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoInR5cGUiLCAidHJhbnNsYXRl
Iik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgIjBzIik7Cithbmlt
YXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoImR1ciIsICIxMHMiKTsKK2FuaW1hdGVUcmFuc2Zv
cm0xLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIwIDEwMCIpOworYW5pbWF0ZVRyYW5zZm9ybTEuc2V0
QXR0cmlidXRlKCJ0byIsICIwIDIwMCIpOwordXNlLmFwcGVuZENoaWxkKGFuaW1hdGVUcmFuc2Zv
cm0xKTsKKwordmFyIGFuaW1hdGUyID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOworYW5p
bWF0ZTIuc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRlMiIpOworYW5pbWF0ZTIuc2V0QXR0cmli
dXRlKCJhdHRyaWJ1dGVOYW1lIiwgIngiKTsKK2FuaW1hdGUyLnNldEF0dHJpYnV0ZSgiYmVnaW4i
LCAiMnMiKTsKK2FuaW1hdGUyLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjEwcyIpOworYW5pbWF0ZTIu
c2V0QXR0cmlidXRlKCJmcm9tIiwgIjAiKTsKK2FuaW1hdGUyLnNldEF0dHJpYnV0ZSgidG8iLCAi
MTAwIik7Cit1c2UuYXBwZW5kQ2hpbGQoYW5pbWF0ZTIpOworCit2YXIgYW5pbWF0ZVRyYW5zZm9y
bTIgPSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlVHJhbnNmb3JtIik7CithbmltYXRlVHJhbnNm
b3JtMi5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGVUcmFuc2Zvcm0yIik7CithbmltYXRlVHJh
bnNmb3JtMi5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5hbWUiLCAidHJhbnNmb3JtIik7Cithbmlt
YXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoInR5cGUiLCAidHJhbnNsYXRlIik7CithbmltYXRl
VHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgIjNzIik7CithbmltYXRlVHJhbnNmb3Jt
Mi5zZXRBdHRyaWJ1dGUoImR1ciIsICIxMHMiKTsKK2FuaW1hdGVUcmFuc2Zvcm0yLnNldEF0dHJp
YnV0ZSgiZnJvbSIsICIwIDEzMCIpOworYW5pbWF0ZVRyYW5zZm9ybTIuc2V0QXR0cmlidXRlKCJ0
byIsICIwIDEwMCIpOwordXNlLmFwcGVuZENoaWxkKGFuaW1hdGVUcmFuc2Zvcm0yKTsKKworLy8g
U2V0dXAgYW5pbWF0aW9uIHRlc3QKK2Z1bmN0aW9uIHNhbXBsZTEoKSB7CisgICAgLy8gQ2hlY2sg
aW5pdGlhbC9lbmQgY29uZGl0aW9ucworICAgIHNob3VsZEJlKCJyZWN0LnguYW5pbVZhbC52YWx1
ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0LnguYmFzZVZhbC52YWx1ZSIsICIxMCIpOwor
ICAgIHNob3VsZEJlKCJyZWN0LnkuYW5pbVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJl
KCJyZWN0LnkuYmFzZVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJ1c2UueC5hbmlt
VmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnguYmFzZVZhbC52YWx1ZSIsICIw
Iik7CisgICAgc2hvdWxkQmUoInVzZS55LmFuaW1WYWwudmFsdWUiLCAiMCIpOworICAgIHNob3Vs
ZEJlKCJ1c2UueS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnRyYW5z
Zm9ybS5iYXNlVmFsLm51bWJlck9mSXRlbXMiLCAiMCIpOworfQorCitmdW5jdGlvbiBzYW1wbGUy
KCkgeworICAgIHNob3VsZEJlKCJyZWN0LnguYW5pbVZhbC52YWx1ZSIsICIxNSIpOworICAgIHNo
b3VsZEJlKCJyZWN0LnguYmFzZVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0
LnkuYW5pbVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0LnkuYmFzZVZhbC52
YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJ1c2UueC5hbmltVmFsLnZhbHVlIiwgIjAiKTsK
KyAgICBzaG91bGRCZSgidXNlLnguYmFzZVZhbC52YWx1ZSIsICIwIik7CisgICAgc2hvdWxkQmUo
InVzZS55LmFuaW1WYWwudmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UueS5iYXNlVmFs
LnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5hbmltVmFsLm51bWJl
ck9mSXRlbXMiLCAiMSIpOworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmJhc2VWYWwubnVt
YmVyT2ZJdGVtcyIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS50cmFuc2Zvcm0uYW5pbVZhbC5n
ZXRJdGVtKDApLm1hdHJpeC5lIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5h
bmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmYiLCAiMTE1Iik7Cit9CisKK2Z1bmN0aW9uIHNhbXBs
ZTMoKSB7CisgICAgc2hvdWxkQmUoInJlY3QueC5hbmltVmFsLnZhbHVlIiwgIjI1Iik7CisgICAg
c2hvdWxkQmUoInJlY3QueC5iYXNlVmFsLnZhbHVlIiwgIjEwIik7CisgICAgc2hvdWxkQmUoInJl
Y3QueS5hbmltVmFsLnZhbHVlIiwgIjEwIik7CisgICAgc2hvdWxkQmUoInJlY3QueS5iYXNlVmFs
LnZhbHVlIiwgIjEwIik7CisgICAgc2hvdWxkQmUoInVzZS54LmFuaW1WYWwudmFsdWUiLCAiNSIp
OworICAgIHNob3VsZEJlKCJ1c2UueC5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRC
ZSgidXNlLnkuYW5pbVZhbC52YWx1ZSIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS55LmJhc2VW
YWwudmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwubnVt
YmVyT2ZJdGVtcyIsICIxIik7CisgICAgc2hvdWxkQmUoInVzZS50cmFuc2Zvcm0uYmFzZVZhbC5u
dW1iZXJPZkl0ZW1zIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5hbmltVmFs
LmdldEl0ZW0oMCkubWF0cml4LmUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3Jt
LmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZiIsICIxMjUiKTsKK30KKworZnVuY3Rpb24gc2Ft
cGxlNCgpIHsKKyAgICBzaG91bGRCZSgicmVjdC54LmFuaW1WYWwudmFsdWUiLCAiMzUiKTsKKyAg
ICBzaG91bGRCZSgicmVjdC54LmJhc2VWYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgi
cmVjdC55LmFuaW1WYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgicmVjdC55LmJhc2VW
YWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJ1c2UueC5hbmltVmFs
LnZhbHVlIiwgIjE1Iik7CisgICAgc2hvdWxkQmUoInVzZS54LmJhc2VWYWwudmFsdWUiLCAiMCIp
OworICAgIHNob3VsZEJlKCJ1c2UueS5hbmltVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRC
ZSgidXNlLnkuYmFzZVZhbC52YWx1ZSIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS50cmFuc2Zv
cm0uYW5pbVZhbC5udW1iZXJPZkl0ZW1zIiwgIjEiKTsKKyAgICBzaG91bGRCZSgidXNlLnRyYW5z
Zm9ybS5iYXNlVmFsLm51bWJlck9mSXRlbXMiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UudHJh
bnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZSIsICIwIik7CisgICAgc2hvdWxkQmVD
bG9zZUVub3VnaCgidXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmYiLCAi
MTI4LjUiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlNSgpIHsKKyAgICBzaG91bGRCZSgicmVjdC54
LmFuaW1WYWwudmFsdWUiLCAiNDUiKTsKKyAgICBzaG91bGRCZSgicmVjdC54LmJhc2VWYWwudmFs
dWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgicmVjdC55LmFuaW1WYWwudmFsdWUiLCAiMTAiKTsK
KyAgICBzaG91bGRCZSgicmVjdC55LmJhc2VWYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRC
ZSgidXNlLnguYW5pbVZhbC52YWx1ZSIsICIyNSIpOworICAgIHNob3VsZEJlKCJ1c2UueC5iYXNl
VmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnkuYW5pbVZhbC52YWx1ZSIsICIw
Iik7CisgICAgc2hvdWxkQmUoInVzZS55LmJhc2VWYWwudmFsdWUiLCAiMCIpOworICAgIHNob3Vs
ZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwubnVtYmVyT2ZJdGVtcyIsICIxIik7CisgICAgc2hv
dWxkQmUoInVzZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1iZXJPZkl0ZW1zIiwgIjAiKTsKKyAgICBz
aG91bGRCZSgidXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmUiLCAiMCIp
OworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXgu
ZiIsICIxMjUuNSIpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBjb25zdCBl
eHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0aW1lLCBzYW1wbGVD
YWxsYmFja10KKyAgICAgICAgWyJhbmltYXRlMSIsIDAuMCwgICBzYW1wbGUxXSwKKyAgICAgICAg
WyJhbmltYXRlMSIsIDAuNSwgICBzYW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRlMSIsIDEuNSwg
ICBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRlMSIsIDIuNSwgICBzYW1wbGU0XSwKKyAgICAg
ICAgWyJhbmltYXRlMSIsIDMuNSwgICBzYW1wbGU1XQorICAgIF07CisKKyAgICBydW5BbmltYXRp
b25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKword2luZG93LmNsaWNrWCA9IDUwOword2luZG93
LmNsaWNrWSA9IDUwOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="174352"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163206</attachid>
            <date>2012-09-10 14:10:21 -0700</date>
            <delta_ts>2012-09-10 14:13:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>96224.2.patch</filename>
            <type>text/plain</type>
            <size>17854</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODA3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA5LTEwICBQaGlsaXAg
Um9nZXJzICA8cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGNv
ZGVwYXRocyBpbiBTTUlMVGltZUNvbnRhaW5lcjo6dXBkYXRlQW5pbWF0aW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYyMjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVt
b3ZlcyB0d28gc291cmNlcyBvZiB1bm5lY2Vzc2FyeSBjb2RlIGluCisgICAgICAgIFNNSUxUaW1l
Q29udGFpbmVyOjp1cGRhdGVBbmltYXRpb25zOgorICAgICAgICAgICAgMSkgQWZ0ZXIgcjExNzcx
MSB3ZSBub3cgYWNjdW11bGF0ZSB0aGUgcmVzdWx0IG9mIG11bHRpcGxlCisgICAgICAgICAgICAg
ICBhbmltYXRpb25zIGludG8gdGhlIGZpcnN0IF9jb250cmlidXRpbmdfIGFuaW1hdGlvbgorICAg
ICAgICAgICAgICAgZWxlbWVudC4gQXMgYSByZXN1bHQgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2Fy
eSB0bworICAgICAgICAgICAgICAgdHJhY2sgYm90aCB3aGljaCBlbGVtZW50cyBhcmUgY29udHJp
YnV0aW5nIEFORCB3aGljaCBlbGVtZW50cworICAgICAgICAgICAgICAgd2UgYXJlIHN0b3Jpbmcg
cmVzdWx0cyBpbnRvLiBCb3RoIGNhc2VzIGFyZSBub3cgaGFuZGxlZAorICAgICAgICAgICAgICAg
dG9nZXRoZXIgd2l0aCByZXN1bHRzRWxlbWVudHMuCisKKyAgICAgICAgICAgIDIpIHIzMjA0NCBh
ZGRlZCBhIHNlY29uZCBzb3J0IG9mIHRoZSBhbmltYXRpb24gZWxlbWVudHMKKyAgICAgICAgICAg
ICAgIGluIG9yZGVyIHRvIHByb2Nlc3MgYW5pbWF0ZVRyYW5zZm9ybSBsYXN0LiBUaGlzIGNoYW5n
ZQorICAgICAgICAgICAgICAgd2FzIGFkZGVkIDQgeWVhcnMgYWdvLCBiZWZvcmUgd2UgY29ycmVj
dGx5IGhhbmRsZWQgPHVzZT4KKyAgICAgICAgICAgICAgIGFuZCB0aGUgaW5zdGFuY2UgdHJlZSwg
YW5kIEkgdGhpbmsgdGhlIGV4dHJhIHNvcnQgaXMgbm8KKyAgICAgICAgICAgICAgIGxvbmdlciBu
ZWNlc3NhcnkuIEEgdGVzdCBoYXMgYmVlbiBhZGRlZCB0byBlbnN1cmUgdGhpcworICAgICAgICAg
ICAgICAgaXMgdGhlIGNhc2UuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWxzbyBkb2VzIGEgbWlu
b3IgY2xlYW51cCBvZiByZXN1bHRzRWxlbWVudHMuIFByZXZpb3VzbHksCisgICAgICAgIHdlIGFk
ZGVkIGFuaW1hdGlvbiBlbGVtZW50cyB0byByZXN1bHRzRWxlbWVudHMgYW5kIHRoZW4gcmVtb3Zl
ZCB0aGVtCisgICAgICAgIGlmIHRoZSBhbmltYXRpb24gZWxlbWVudCBkaWQgbm90IGNvbnRyaWJ1
dGUuIEFmdGVyIHRoaXMgY2hhbmdlLCB3ZQorICAgICAgICBvbmx5IGFkZCB0byByZXN1bHRzRWxl
bWVudHMgKG5vIG1vcmUgYWRkLXRoZW4tcmVtb3ZlKS4KKworICAgICAgICBUZXN0OiBzdmcvYW5p
bWF0aW9ucy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmh0bWwKKworICAgICAg
ICAqIHN2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U01JTFRpbWVDb250YWluZXI6OnNvcnRCeVByaW9yaXR5KToKKyAgICAgICAgKFdlYkNvcmU6
OlNNSUxUaW1lQ29udGFpbmVyOjp1cGRhdGVBbmltYXRpb25zKToKKwogMjAxMi0wOS0xMCAgVGhp
YWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAg
ICBGb250IHZhbHVlIHNob3VsZCBiZSBwYXJzZWQgYXMgYSBpbmRpdmlkdWFsIHByb3BlcnR5Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcAkocmV2aXNpb24gMTI4MDc3KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxOCArMjA0LDYg
QEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c29ydEJ5UHJpb3JpdHkoVgogICAgICAgICB1cGRh
dGVEb2N1bWVudE9yZGVySW5kZXhlcygpOwogICAgIHN0ZDo6c29ydChzbWlsRWxlbWVudHMuYmVn
aW4oKSwgc21pbEVsZW1lbnRzLmVuZCgpLCBQcmlvcml0eUNvbXBhcmUoZWxhcHNlZCkpOwogfQot
ICAgIAotc3RhdGljIGJvb2wgYXBwbHlPcmRlclNvcnRGdW5jdGlvbihTVkdTTUlMRWxlbWVudCog
YSwgU1ZHU01JTEVsZW1lbnQqIGIpCi17Ci0gICAgaWYgKCFhLT5oYXNUYWdOYW1lKFNWR05hbWVz
OjphbmltYXRlVHJhbnNmb3JtVGFnKSAmJiBiLT5oYXNUYWdOYW1lKFNWR05hbWVzOjphbmltYXRl
VHJhbnNmb3JtVGFnKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotICAgIAotc3RhdGljIHZvaWQgc29ydEJ5QXBwbHlPcmRlcihWZWN0b3I8U1ZHU01JTEVsZW1l
bnQqPiYgc21pbEVsZW1lbnRzKQotewotICAgIHN0ZDo6c29ydChzbWlsRWxlbWVudHMuYmVnaW4o
KSwgc21pbEVsZW1lbnRzLmVuZCgpLCBhcHBseU9yZGVyU29ydEZ1bmN0aW9uKTsKLX0KIAogdm9p
ZCBTTUlMVGltZUNvbnRhaW5lcjo6dXBkYXRlQW5pbWF0aW9ucyhTTUlMVGltZSBlbGFwc2VkLCBi
b29sIHNlZWtUb1RpbWUpCiB7CkBAIC0yMjksMTIgKzIxNywxMSBAQCB2b2lkIFNNSUxUaW1lQ29u
dGFpbmVyOjp1cGRhdGVBbmltYXRpb25zCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGFsc28g
Y29uc2lkZXIgdGltaW5nIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiB0aGUgZWxlbWVudHMuIERlcGVu
ZGVudHMKICAgICAvLyBoYXZlIGhpZ2hlciBwcmlvcml0eS4KICAgICBzb3J0QnlQcmlvcml0eSh0
b0FuaW1hdGUsIGVsYXBzZWQpOwotICAgIAorCiAgICAgLy8gQ2FsY3VsYXRlIGFuaW1hdGlvbiBj
b250cmlidXRpb25zLgogICAgIHR5cGVkZWYgcGFpcjxTVkdFbGVtZW50KiwgUXVhbGlmaWVkTmFt
ZT4gRWxlbWVudEF0dHJpYnV0ZVBhaXI7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPEVsZW1lbnRBdHRy
aWJ1dGVQYWlyLCBSZWZQdHI8U1ZHU01JTEVsZW1lbnQ+ID4gUmVzdWx0RWxlbWVudE1hcDsKKyAg
ICB0eXBlZGVmIEhhc2hNYXA8RWxlbWVudEF0dHJpYnV0ZVBhaXIsIFNWR1NNSUxFbGVtZW50Kj4g
UmVzdWx0RWxlbWVudE1hcDsKICAgICBSZXN1bHRFbGVtZW50TWFwIHJlc3VsdHNFbGVtZW50czsK
LSAgICBIYXNoU2V0PFNWR1NNSUxFbGVtZW50Kj4gY29udHJpYnV0aW5nRWxlbWVudHM7CiAgICAg
Zm9yICh1bnNpZ25lZCBuID0gMDsgbiA8IHRvQW5pbWF0ZS5zaXplKCk7ICsrbikgewogICAgICAg
ICBTVkdTTUlMRWxlbWVudCogYW5pbWF0aW9uID0gdG9BbmltYXRlW25dOwogICAgICAgICBBU1NF
UlQoYW5pbWF0aW9uLT50aW1lQ29udGFpbmVyKCkgPT0gdGhpcyk7CkBAIC0yNDIsNyArMjI5LDcg
QEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dXBkYXRlQW5pbWF0aW9ucwogICAgICAgICBTVkdF
bGVtZW50KiB0YXJnZXRFbGVtZW50ID0gYW5pbWF0aW9uLT50YXJnZXRFbGVtZW50KCk7CiAgICAg
ICAgIGlmICghdGFyZ2V0RWxlbWVudCkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAK
KwogICAgICAgICBRdWFsaWZpZWROYW1lIGF0dHJpYnV0ZU5hbWUgPSBhbmltYXRpb24tPmF0dHJp
YnV0ZU5hbWUoKTsKICAgICAgICAgaWYgKGF0dHJpYnV0ZU5hbWUgPT0gYW55UU5hbWUoKSkgewog
ICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+aGFzVGFnTmFtZShTVkdOYW1lczo6YW5pbWF0ZU1v
dGlvblRhZykpCkBAIC0yNTAsNTEgKzIzNywzNiBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjp1
cGRhdGVBbmltYXRpb25zCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgLy8gUmVzdWx0cyBhcmUgYWNjdW11
bGF0ZWQgdG8gdGhlIGZpcnN0IGFuaW1hdGlvbiB0aGF0IGFuaW1hdGVzIGFuZCBjb250cmlidXRl
cyB0byBhIHBhcnRpY3VsYXIgZWxlbWVudC9hdHRyaWJ1dGUgcGFpci4KICAgICAgICAgRWxlbWVu
dEF0dHJpYnV0ZVBhaXIga2V5KHRhcmdldEVsZW1lbnQsIGF0dHJpYnV0ZU5hbWUpOyAKLSAgICAg
ICAgU1ZHU01JTEVsZW1lbnQqIHJlc3VsdEVsZW1lbnQgPSByZXN1bHRzRWxlbWVudHMuZ2V0KGtl
eSkuZ2V0KCk7Ci0gICAgICAgIGJvb2wgYWNjdW11bGF0ZWRSZXN1bHRFbGVtZW50ID0gZmFsc2U7
CisgICAgICAgIFNWR1NNSUxFbGVtZW50KiByZXN1bHRFbGVtZW50ID0gcmVzdWx0c0VsZW1lbnRz
LmdldChrZXkpOwogICAgICAgICBpZiAoIXJlc3VsdEVsZW1lbnQpIHsKICAgICAgICAgICAgIGlm
ICghYW5pbWF0aW9uLT5oYXNWYWxpZEF0dHJpYnV0ZVR5cGUoKSkKICAgICAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgICAgIHJlc3VsdEVsZW1lbnQgPSBhbmltYXRpb247Ci0gICAgICAg
ICAgICByZXN1bHRzRWxlbWVudHMuYWRkKGtleSwgcmVzdWx0RWxlbWVudCk7Ci0gICAgICAgICAg
ICBhY2N1bXVsYXRlZFJlc3VsdEVsZW1lbnQgPSB0cnVlOwotICAgICAgICB9CisgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgQVNTRVJUKHJlc3VsdEVsZW1lbnQgIT0gYW5pbWF0aW9uKTsKIAog
ICAgICAgICAvLyBUaGlzIHdpbGwgY2FsY3VsYXRlIHRoZSBjb250cmlidXRpb24gZnJvbSB0aGUg
YW5pbWF0aW9uIGFuZCBhZGQgaXQgdG8gdGhlIHJlc3VsdHNFbGVtZW50LgotICAgICAgICBpZiAo
YW5pbWF0aW9uLT5wcm9ncmVzcyhlbGFwc2VkLCByZXN1bHRFbGVtZW50LCBzZWVrVG9UaW1lKSkK
LSAgICAgICAgICAgIGNvbnRyaWJ1dGluZ0VsZW1lbnRzLmFkZChyZXN1bHRFbGVtZW50KTsKLSAg
ICAgICAgZWxzZSBpZiAoYWNjdW11bGF0ZWRSZXN1bHRFbGVtZW50KQotICAgICAgICAgICAgcmVz
dWx0c0VsZW1lbnRzLnJlbW92ZShrZXkpOworICAgICAgICBpZiAoYW5pbWF0aW9uLT5wcm9ncmVz
cyhlbGFwc2VkLCByZXN1bHRFbGVtZW50LCBzZWVrVG9UaW1lKSAmJiByZXN1bHRFbGVtZW50ID09
IGFuaW1hdGlvbikKKyAgICAgICAgICAgIHJlc3VsdHNFbGVtZW50cy5hZGQoa2V5LCByZXN1bHRF
bGVtZW50KTsKIAogICAgICAgICBTTUlMVGltZSBuZXh0RmlyZVRpbWUgPSBhbmltYXRpb24tPm5l
eHRQcm9ncmVzc1RpbWUoKTsKICAgICAgICAgaWYgKG5leHRGaXJlVGltZS5pc0Zpbml0ZSgpKQog
ICAgICAgICAgICAgZWFybGllcnNGaXJlVGltZSA9IG1pbihuZXh0RmlyZVRpbWUsIGVhcmxpZXJz
RmlyZVRpbWUpOwogICAgIH0KLSAgICAKLSAgICBWZWN0b3I8U1ZHU01JTEVsZW1lbnQqPiBhbmlt
YXRpb25zVG9BcHBseTsKLSAgICBSZXN1bHRFbGVtZW50TWFwOjppdGVyYXRvciBlbmQgPSByZXN1
bHRzRWxlbWVudHMuZW5kKCk7Ci0gICAgZm9yIChSZXN1bHRFbGVtZW50TWFwOjppdGVyYXRvciBp
dCA9IHJlc3VsdHNFbGVtZW50cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
U1ZHU01JTEVsZW1lbnQqIGFuaW1hdGlvbiA9IGl0LT5zZWNvbmQuZ2V0KCk7Ci0gICAgICAgIGlm
IChjb250cmlidXRpbmdFbGVtZW50cy5jb250YWlucyhhbmltYXRpb24pKQotICAgICAgICAgICAg
YW5pbWF0aW9uc1RvQXBwbHkuYXBwZW5kKGFuaW1hdGlvbik7Ci0gICAgfQogCi0gICAgdW5zaWdu
ZWQgYW5pbWF0aW9uc1RvQXBwbHlTaXplID0gYW5pbWF0aW9uc1RvQXBwbHkuc2l6ZSgpOwotICAg
IGlmICghYW5pbWF0aW9uc1RvQXBwbHlTaXplKSB7CisgICAgdW5zaWduZWQgcmVzdWx0c1RvQXBw
bHlTaXplID0gcmVzdWx0c0VsZW1lbnRzLnNpemUoKTsKKyAgICBpZiAoIXJlc3VsdHNUb0FwcGx5
U2l6ZSkgewogICAgICAgICBzdGFydFRpbWVyKGVhcmxpZXJzRmlyZVRpbWUsIGFuaW1hdGlvbkZy
YW1lRGVsYXkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gU29ydCA8YW5pbWF0
ZVRyYW5mb3JtPiB0byBiZSB0aGUgbGFzdCBvbmUgdG8gYmUgYXBwbGllZC4gPGFuaW1hdGU+IG1h
eSBjaGFuZ2UgdHJhbnNmb3JtIGF0dHJpYnV0ZSBhcwotICAgIC8vIHdlbGwgKGRpcmVjdGx5IG9y
IGluZGlyZWN0bHkgYnkgbW9kaWZ5aW5nIDx1c2U+IHgveSkgYW5kIHRoaXMgd2F5IHRyYW5zZm9y
bXMgY29tYmluZSBwcm9wZXJseS4KLSAgICBzb3J0QnlBcHBseU9yZGVyKGFuaW1hdGlvbnNUb0Fw
cGx5KTsKLQogICAgIC8vIEFwcGx5IHJlc3VsdHMgdG8gdGFyZ2V0IGVsZW1lbnRzLgotICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBhbmltYXRpb25zVG9BcHBseVNpemU7ICsraSkKLSAgICAg
ICAgYW5pbWF0aW9uc1RvQXBwbHlbaV0tPmFwcGx5UmVzdWx0c1RvVGFyZ2V0KCk7CisgICAgUmVz
dWx0RWxlbWVudE1hcDo6aXRlcmF0b3IgZW5kID0gcmVzdWx0c0VsZW1lbnRzLmVuZCgpOworICAg
IGZvciAoUmVzdWx0RWxlbWVudE1hcDo6aXRlcmF0b3IgaXQgPSByZXN1bHRzRWxlbWVudHMuYmVn
aW4oKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICBpdC0+c2Vjb25kLT5hcHBseVJlc3VsdHNU
b1RhcmdldCgpOwogCiAgICAgc3RhcnRUaW1lcihlYXJsaWVyc0ZpcmVUaW1lLCBhbmltYXRpb25G
cmFtZURlbGF5KTsKICAgICBEb2N1bWVudDo6dXBkYXRlU3R5bGVGb3JBbGxEb2N1bWVudHMoKTsK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEyODA3NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA5LTEwICBQaGlsaXAgUm9nZXJzICA8
cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IHdvcmsgaW4gU01J
TFRpbWVDb250YWluZXI6OnVwZGF0ZUFuaW1hdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTmlr
b2xhcyBaaW1tZXJtYW5uLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHNob3VsZCBoYXZlIG5vIGZ1
bmN0aW9uYWwgZGlmZmVyZW5jZXMgYnV0IGEgdGVzdAorICAgICAgICBpcyBiZWluZyBhZGRlZCB0
byBzaG93IHRoYXQuIFNNSUxUaW1lQ29udGFpbmVyOjp1cGRhdGVBbmltYXRpb25zCisgICAgICAg
IGNvbnRhaW5lZCBhIGNvbW1lbnQgZXhwbGFpbmluZyB3aHkgYSBhbmltYXRlVHJhbnNmb3JtIG5l
ZWRlZCB0byBiZQorICAgICAgICBwcm9jZXNzZWQgbGFzdCBidXQgdGhhdCBpcyBubyBsb25nZXIg
dGhlIGNhc2UgKGFzIHRoZSB0ZXN0IHNob3dzKS4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25z
L3NjcmlwdC10ZXN0cy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmpzOiBBZGRl
ZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxlMik6CisgICAgICAgIChzYW1w
bGUzKToKKyAgICAgICAgKHNhbXBsZTQpOgorICAgICAgICAoc2FtcGxlNSk6CisgICAgICAgIChl
eGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvdXNlLWFuaW1hdGUtdHJhbnNm
b3JtLWFuZC1wb3NpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmlt
YXRpb25zL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24uaHRtbDogQWRkZWQuCisK
IDIwMTItMDktMTAgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRl
bC5jb20+CiAKICAgICAgICAgRm9udCB2YWx1ZSBzaG91bGQgYmUgcGFyc2VkIGFzIGEgaW5kaXZp
ZHVhbCBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvdXNlLWFuaW1h
dGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvdXNlLWFuaW1hdGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlv
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw2OCBAQAorU1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cwor
CitUZXN0IGFuaW1hdGlvbiBvZiB1c2UgZWxlbWVudCB3aGVyZSB0aGUgaW5zdGFuY2UgaXMgYWxz
byBhbmltYXRlZCB3aXRoIGFuaW1hdGUgYW5kIGFuaW1hdGVUcmFuc2Zvcm0KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmVjdC54LmFuaW1WYWwudmFsdWUgaXMgMTAKK1BB
U1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmFuaW1WYWwudmFsdWUg
aXMgMTAKK1BBU1MgcmVjdC55LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgdXNlLnguYW5pbVZh
bC52YWx1ZSBpcyAwCitQQVNTIHVzZS54LmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5h
bmltVmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnkuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIHVz
ZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1iZXJPZkl0ZW1zIGlzIDAKK1BBU1MgcmVjdC54LmFuaW1W
YWwudmFsdWUgaXMgMTUKK1BBU1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVj
dC55LmFuaW1WYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmJhc2VWYWwudmFsdWUgaXMgMTAK
K1BBU1MgdXNlLnguYW5pbVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS54LmJhc2VWYWwudmFsdWUg
aXMgMAorUEFTUyB1c2UueS5hbmltVmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnkuYmFzZVZhbC52
YWx1ZSBpcyAwCitQQVNTIHVzZS50cmFuc2Zvcm0uYW5pbVZhbC5udW1iZXJPZkl0ZW1zIGlzIDEK
K1BBU1MgdXNlLnRyYW5zZm9ybS5iYXNlVmFsLm51bWJlck9mSXRlbXMgaXMgMAorUEFTUyB1c2Uu
dHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZSBpcyAwCitQQVNTIHVzZS50cmFu
c2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDApLm1hdHJpeC5mIGlzIDExNQorUEFTUyByZWN0LnguYW5p
bVZhbC52YWx1ZSBpcyAyNQorUEFTUyByZWN0LnguYmFzZVZhbC52YWx1ZSBpcyAxMAorUEFTUyBy
ZWN0LnkuYW5pbVZhbC52YWx1ZSBpcyAxMAorUEFTUyByZWN0LnkuYmFzZVZhbC52YWx1ZSBpcyAx
MAorUEFTUyB1c2UueC5hbmltVmFsLnZhbHVlIGlzIDUKK1BBU1MgdXNlLnguYmFzZVZhbC52YWx1
ZSBpcyAwCitQQVNTIHVzZS55LmFuaW1WYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5iYXNlVmFs
LnZhbHVlIGlzIDAKK1BBU1MgdXNlLnRyYW5zZm9ybS5hbmltVmFsLm51bWJlck9mSXRlbXMgaXMg
MQorUEFTUyB1c2UudHJhbnNmb3JtLmJhc2VWYWwubnVtYmVyT2ZJdGVtcyBpcyAwCitQQVNTIHVz
ZS50cmFuc2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDApLm1hdHJpeC5lIGlzIDAKK1BBU1MgdXNlLnRy
YW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmYgaXMgMTI1CitQQVNTIHJlY3QueC5h
bmltVmFsLnZhbHVlIGlzIDM1CitQQVNTIHJlY3QueC5iYXNlVmFsLnZhbHVlIGlzIDEwCitQQVNT
IHJlY3QueS5hbmltVmFsLnZhbHVlIGlzIDEwCitQQVNTIHJlY3QueS5iYXNlVmFsLnZhbHVlIGlz
IDEwCitQQVNTIHVzZS54LmFuaW1WYWwudmFsdWUgaXMgMTUKK1BBU1MgdXNlLnguYmFzZVZhbC52
YWx1ZSBpcyAwCitQQVNTIHVzZS55LmFuaW1WYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5iYXNl
VmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnRyYW5zZm9ybS5hbmltVmFsLm51bWJlck9mSXRlbXMg
aXMgMQorUEFTUyB1c2UudHJhbnNmb3JtLmJhc2VWYWwubnVtYmVyT2ZJdGVtcyBpcyAwCitQQVNT
IHVzZS50cmFuc2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDApLm1hdHJpeC5lIGlzIDAKK1BBU1MgdXNl
LnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmYgaXMgMTI4LjUKK1BBU1MgcmVj
dC54LmFuaW1WYWwudmFsdWUgaXMgNDUKK1BBU1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAK
K1BBU1MgcmVjdC55LmFuaW1WYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmJhc2VWYWwudmFs
dWUgaXMgMTAKK1BBU1MgdXNlLnguYW5pbVZhbC52YWx1ZSBpcyAyNQorUEFTUyB1c2UueC5iYXNl
VmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnkuYW5pbVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS55
LmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyB1c2UudHJhbnNmb3JtLmFuaW1WYWwubnVtYmVyT2ZJ
dGVtcyBpcyAxCitQQVNTIHVzZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1iZXJPZkl0ZW1zIGlzIDAK
K1BBU1MgdXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmUgaXMgMAorUEFT
UyB1c2UudHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZiBpcyAxMjUuNQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRp
b24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy91c2UtYW5p
bWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEg
ZHluYW1pYyBhbmltYXRpb24gdGVzdHM8L2gxPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvdXNlLWFu
aW1hdGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc2NyaXB0LXRlc3RzL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24u
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3Rz
L3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24uanMJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvdXNlLWFuaW1hdGUtdHJhbnNm
b3JtLWFuZC1wb3NpdGlvbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNDkgQEAKK2Rlc2Ny
aXB0aW9uKCJUZXN0IGFuaW1hdGlvbiBvZiB1c2UgZWxlbWVudCB3aGVyZSB0aGUgaW5zdGFuY2Ug
aXMgYWxzbyBhbmltYXRlZCB3aXRoIGFuaW1hdGUgYW5kIGFuaW1hdGVUcmFuc2Zvcm0iKTsKK2Ny
ZWF0ZVNWR1Rlc3RDYXNlKCk7CisKKy8vIFNldHVwIHRlc3QgZG9jdW1lbnQKK3ZhciByZWN0ID0g
Y3JlYXRlU1ZHRWxlbWVudCgicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImlkIiwgInJlY3Qi
KTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ4IiwgIjEwIik7CityZWN0LnNldEF0dHJpYnV0ZSgieSIs
ICIxMCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjEwMCIpOworcmVjdC5zZXRBdHRy
aWJ1dGUoImhlaWdodCIsICIxMDAiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVu
Iik7CityZWN0LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIik7CisKK3Zh
ciBhbmltYXRlMSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUxLnNldEF0
dHJpYnV0ZSgiaWQiLCAiYW5pbWF0ZTEiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiYXR0cmli
dXRlTmFtZSIsICJ4Iik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgIjFzIik7Cith
bmltYXRlMS5zZXRBdHRyaWJ1dGUoImR1ciIsICIxMHMiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0
ZSgiZnJvbSIsICIxMCIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJ0byIsICIxMTAiKTsKK3Jl
Y3QuYXBwZW5kQ2hpbGQoYW5pbWF0ZTEpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQocmVj
dCk7CisKK3ZhciB1c2UgPSBjcmVhdGVTVkdFbGVtZW50KCJ1c2UiKTsKK3VzZS5zZXRBdHRyaWJ1
dGUoImlkIiwgInVzZSIpOwordXNlLnNldEF0dHJpYnV0ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rJywgJ3hsaW5rOmhyZWYnLCAnI3JlY3QnKTsKK3VzZS5zZXRBdHRyaWJ1dGUoIngi
LCAiMCIpOwordXNlLnNldEF0dHJpYnV0ZSgieSIsICIwIik7Cityb290U1ZHRWxlbWVudC5hcHBl
bmRDaGlsZCh1c2UpOworCit2YXIgYW5pbWF0ZVRyYW5zZm9ybTEgPSBjcmVhdGVTVkdFbGVtZW50
KCJhbmltYXRlVHJhbnNmb3JtIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoImlk
IiwgImFuaW1hdGVUcmFuc2Zvcm0xIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUo
ImF0dHJpYnV0ZU5hbWUiLCAidHJhbnNmb3JtIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRy
aWJ1dGUoInR5cGUiLCAidHJhbnNsYXRlIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1
dGUoImJlZ2luIiwgIjBzIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoImR1ciIs
ICIxMHMiKTsKK2FuaW1hdGVUcmFuc2Zvcm0xLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIwIDEwMCIp
OworYW5pbWF0ZVRyYW5zZm9ybTEuc2V0QXR0cmlidXRlKCJ0byIsICIwIDIwMCIpOwordXNlLmFw
cGVuZENoaWxkKGFuaW1hdGVUcmFuc2Zvcm0xKTsKKwordmFyIGFuaW1hdGUyID0gY3JlYXRlU1ZH
RWxlbWVudCgiYW5pbWF0ZSIpOworYW5pbWF0ZTIuc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRl
MiIpOworYW5pbWF0ZTIuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgIngiKTsKK2FuaW1h
dGUyLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAiMnMiKTsKK2FuaW1hdGUyLnNldEF0dHJpYnV0ZSgi
ZHVyIiwgIjEwcyIpOworYW5pbWF0ZTIuc2V0QXR0cmlidXRlKCJmcm9tIiwgIjAiKTsKK2FuaW1h
dGUyLnNldEF0dHJpYnV0ZSgidG8iLCAiMTAwIik7Cit1c2UuYXBwZW5kQ2hpbGQoYW5pbWF0ZTIp
OworCit2YXIgYW5pbWF0ZVRyYW5zZm9ybTIgPSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlVHJh
bnNmb3JtIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGVU
cmFuc2Zvcm0yIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5h
bWUiLCAidHJhbnNmb3JtIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoInR5cGUi
LCAidHJhbnNsYXRlIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImJlZ2luIiwg
IjNzIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImR1ciIsICIxMHMiKTsKK2Fu
aW1hdGVUcmFuc2Zvcm0yLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIwIDEzMCIpOworYW5pbWF0ZVRy
YW5zZm9ybTIuc2V0QXR0cmlidXRlKCJ0byIsICIwIDEwMCIpOwordXNlLmFwcGVuZENoaWxkKGFu
aW1hdGVUcmFuc2Zvcm0yKTsKKworLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKK2Z1bmN0aW9uIHNh
bXBsZTEoKSB7CisgICAgLy8gQ2hlY2sgaW5pdGlhbC9lbmQgY29uZGl0aW9ucworICAgIHNob3Vs
ZEJlKCJyZWN0LnguYW5pbVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0Lngu
YmFzZVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0LnkuYW5pbVZhbC52YWx1
ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0LnkuYmFzZVZhbC52YWx1ZSIsICIxMCIpOwor
ICAgIHNob3VsZEJlKCJ1c2UueC5hbmltVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgi
dXNlLnguYmFzZVZhbC52YWx1ZSIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS55LmFuaW1WYWwu
dmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UueS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsK
KyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5iYXNlVmFsLm51bWJlck9mSXRlbXMiLCAiMCIp
OworfQorCitmdW5jdGlvbiBzYW1wbGUyKCkgeworICAgIHNob3VsZEJlKCJyZWN0LnguYW5pbVZh
bC52YWx1ZSIsICIxNSIpOworICAgIHNob3VsZEJlKCJyZWN0LnguYmFzZVZhbC52YWx1ZSIsICIx
MCIpOworICAgIHNob3VsZEJlKCJyZWN0LnkuYW5pbVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNo
b3VsZEJlKCJyZWN0LnkuYmFzZVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJ1c2Uu
eC5hbmltVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnguYmFzZVZhbC52YWx1
ZSIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS55LmFuaW1WYWwudmFsdWUiLCAiMCIpOworICAg
IHNob3VsZEJlKCJ1c2UueS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNl
LnRyYW5zZm9ybS5hbmltVmFsLm51bWJlck9mSXRlbXMiLCAiMSIpOworICAgIHNob3VsZEJlKCJ1
c2UudHJhbnNmb3JtLmJhc2VWYWwubnVtYmVyT2ZJdGVtcyIsICIwIik7CisgICAgc2hvdWxkQmUo
InVzZS50cmFuc2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDApLm1hdHJpeC5lIiwgIjAiKTsKKyAgICBz
aG91bGRCZSgidXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmYiLCAiMTE1
Iik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTMoKSB7CisgICAgc2hvdWxkQmUoInJlY3QueC5hbmlt
VmFsLnZhbHVlIiwgIjI1Iik7CisgICAgc2hvdWxkQmUoInJlY3QueC5iYXNlVmFsLnZhbHVlIiwg
IjEwIik7CisgICAgc2hvdWxkQmUoInJlY3QueS5hbmltVmFsLnZhbHVlIiwgIjEwIik7CisgICAg
c2hvdWxkQmUoInJlY3QueS5iYXNlVmFsLnZhbHVlIiwgIjEwIik7CisgICAgc2hvdWxkQmUoInVz
ZS54LmFuaW1WYWwudmFsdWUiLCAiNSIpOworICAgIHNob3VsZEJlKCJ1c2UueC5iYXNlVmFsLnZh
bHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnkuYW5pbVZhbC52YWx1ZSIsICIwIik7Cisg
ICAgc2hvdWxkQmUoInVzZS55LmJhc2VWYWwudmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1
c2UudHJhbnNmb3JtLmFuaW1WYWwubnVtYmVyT2ZJdGVtcyIsICIxIik7CisgICAgc2hvdWxkQmUo
InVzZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1iZXJPZkl0ZW1zIiwgIjAiKTsKKyAgICBzaG91bGRC
ZSgidXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmUiLCAiMCIpOworICAg
IHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZiIsICIx
MjUiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlNCgpIHsKKyAgICBzaG91bGRCZSgicmVjdC54LmFu
aW1WYWwudmFsdWUiLCAiMzUiKTsKKyAgICBzaG91bGRCZSgicmVjdC54LmJhc2VWYWwudmFsdWUi
LCAiMTAiKTsKKyAgICBzaG91bGRCZSgicmVjdC55LmFuaW1WYWwudmFsdWUiLCAiMTAiKTsKKyAg
ICBzaG91bGRCZSgicmVjdC55LmJhc2VWYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZUNs
b3NlRW5vdWdoKCJ1c2UueC5hbmltVmFsLnZhbHVlIiwgIjE1Iik7CisgICAgc2hvdWxkQmUoInVz
ZS54LmJhc2VWYWwudmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UueS5hbmltVmFsLnZh
bHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnkuYmFzZVZhbC52YWx1ZSIsICIwIik7Cisg
ICAgc2hvdWxkQmUoInVzZS50cmFuc2Zvcm0uYW5pbVZhbC5udW1iZXJPZkl0ZW1zIiwgIjEiKTsK
KyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5iYXNlVmFsLm51bWJlck9mSXRlbXMiLCAiMCIp
OworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXgu
ZSIsICIwIik7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgidXNlLnRyYW5zZm9ybS5hbmltVmFs
LmdldEl0ZW0oMCkubWF0cml4LmYiLCAiMTI4LjUiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlNSgp
IHsKKyAgICBzaG91bGRCZSgicmVjdC54LmFuaW1WYWwudmFsdWUiLCAiNDUiKTsKKyAgICBzaG91
bGRCZSgicmVjdC54LmJhc2VWYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgicmVjdC55
LmFuaW1WYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgicmVjdC55LmJhc2VWYWwudmFs
dWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgidXNlLnguYW5pbVZhbC52YWx1ZSIsICIyNSIpOwor
ICAgIHNob3VsZEJlKCJ1c2UueC5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgi
dXNlLnkuYW5pbVZhbC52YWx1ZSIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS55LmJhc2VWYWwu
dmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwubnVtYmVy
T2ZJdGVtcyIsICIxIik7CisgICAgc2hvdWxkQmUoInVzZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1i
ZXJPZkl0ZW1zIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5hbmltVmFsLmdl
dEl0ZW0oMCkubWF0cml4LmUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFu
aW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZiIsICIxMjUuNSIpOworfQorCitmdW5jdGlvbiBleGVj
dXRlVGVzdCgpIHsKKyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2Fu
aW1hdGlvbklkLCB0aW1lLCBzYW1wbGVDYWxsYmFja10KKyAgICAgICAgWyJhbmltYXRlMSIsIDAu
MCwgICBzYW1wbGUxXSwKKyAgICAgICAgWyJhbmltYXRlMSIsIDAuNSwgICBzYW1wbGUyXSwKKyAg
ICAgICAgWyJhbmltYXRlMSIsIDEuNSwgICBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRlMSIs
IDIuNSwgICBzYW1wbGU0XSwKKyAgICAgICAgWyJhbmltYXRlMSIsIDMuNSwgICBzYW1wbGU1XQor
ICAgIF07CisKKyAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKword2lu
ZG93LmNsaWNrWCA9IDUwOword2luZG93LmNsaWNrWSA9IDUwOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="174568"
          type_id="1"
          status="-"
          setter="webkit.review.bot"
    />
    <flag name="commit-queue"
          id="174569"
          type_id="3"
          status="+"
          setter="pdr"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163207</attachid>
            <date>2012-09-10 14:13:30 -0700</date>
            <delta_ts>2012-09-10 17:07:04 -0700</delta_ts>
            <desc>Lets try this again...</desc>
            <filename>96224.2.patch</filename>
            <type>text/plain</type>
            <size>17854</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODA3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA5LTEwICBQaGlsaXAg
Um9nZXJzICA8cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGNv
ZGVwYXRocyBpbiBTTUlMVGltZUNvbnRhaW5lcjo6dXBkYXRlQW5pbWF0aW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYyMjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVt
b3ZlcyB0d28gc291cmNlcyBvZiB1bm5lY2Vzc2FyeSBjb2RlIGluCisgICAgICAgIFNNSUxUaW1l
Q29udGFpbmVyOjp1cGRhdGVBbmltYXRpb25zOgorICAgICAgICAgICAgMSkgQWZ0ZXIgcjExNzcx
MSB3ZSBub3cgYWNjdW11bGF0ZSB0aGUgcmVzdWx0IG9mIG11bHRpcGxlCisgICAgICAgICAgICAg
ICBhbmltYXRpb25zIGludG8gdGhlIGZpcnN0IF9jb250cmlidXRpbmdfIGFuaW1hdGlvbgorICAg
ICAgICAgICAgICAgZWxlbWVudC4gQXMgYSByZXN1bHQgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2Fy
eSB0bworICAgICAgICAgICAgICAgdHJhY2sgYm90aCB3aGljaCBlbGVtZW50cyBhcmUgY29udHJp
YnV0aW5nIEFORCB3aGljaCBlbGVtZW50cworICAgICAgICAgICAgICAgd2UgYXJlIHN0b3Jpbmcg
cmVzdWx0cyBpbnRvLiBCb3RoIGNhc2VzIGFyZSBub3cgaGFuZGxlZAorICAgICAgICAgICAgICAg
dG9nZXRoZXIgd2l0aCByZXN1bHRzRWxlbWVudHMuCisKKyAgICAgICAgICAgIDIpIHIzMjA0NCBh
ZGRlZCBhIHNlY29uZCBzb3J0IG9mIHRoZSBhbmltYXRpb24gZWxlbWVudHMKKyAgICAgICAgICAg
ICAgIGluIG9yZGVyIHRvIHByb2Nlc3MgYW5pbWF0ZVRyYW5zZm9ybSBsYXN0LiBUaGlzIGNoYW5n
ZQorICAgICAgICAgICAgICAgd2FzIGFkZGVkIDQgeWVhcnMgYWdvLCBiZWZvcmUgd2UgY29ycmVj
dGx5IGhhbmRsZWQgPHVzZT4KKyAgICAgICAgICAgICAgIGFuZCB0aGUgaW5zdGFuY2UgdHJlZSwg
YW5kIEkgdGhpbmsgdGhlIGV4dHJhIHNvcnQgaXMgbm8KKyAgICAgICAgICAgICAgIGxvbmdlciBu
ZWNlc3NhcnkuIEEgdGVzdCBoYXMgYmVlbiBhZGRlZCB0byBlbnN1cmUgdGhpcworICAgICAgICAg
ICAgICAgaXMgdGhlIGNhc2UuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWxzbyBkb2VzIGEgbWlu
b3IgY2xlYW51cCBvZiByZXN1bHRzRWxlbWVudHMuIFByZXZpb3VzbHksCisgICAgICAgIHdlIGFk
ZGVkIGFuaW1hdGlvbiBlbGVtZW50cyB0byByZXN1bHRzRWxlbWVudHMgYW5kIHRoZW4gcmVtb3Zl
ZCB0aGVtCisgICAgICAgIGlmIHRoZSBhbmltYXRpb24gZWxlbWVudCBkaWQgbm90IGNvbnRyaWJ1
dGUuIEFmdGVyIHRoaXMgY2hhbmdlLCB3ZQorICAgICAgICBvbmx5IGFkZCB0byByZXN1bHRzRWxl
bWVudHMgKG5vIG1vcmUgYWRkLXRoZW4tcmVtb3ZlKS4KKworICAgICAgICBUZXN0OiBzdmcvYW5p
bWF0aW9ucy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmh0bWwKKworICAgICAg
ICAqIHN2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U01JTFRpbWVDb250YWluZXI6OnNvcnRCeVByaW9yaXR5KToKKyAgICAgICAgKFdlYkNvcmU6
OlNNSUxUaW1lQ29udGFpbmVyOjp1cGRhdGVBbmltYXRpb25zKToKKwogMjAxMi0wOS0xMCAgVGhp
YWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAg
ICBGb250IHZhbHVlIHNob3VsZCBiZSBwYXJzZWQgYXMgYSBpbmRpdmlkdWFsIHByb3BlcnR5Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcAkocmV2aXNpb24gMTI4MDc3KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxOCArMjA0LDYg
QEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c29ydEJ5UHJpb3JpdHkoVgogICAgICAgICB1cGRh
dGVEb2N1bWVudE9yZGVySW5kZXhlcygpOwogICAgIHN0ZDo6c29ydChzbWlsRWxlbWVudHMuYmVn
aW4oKSwgc21pbEVsZW1lbnRzLmVuZCgpLCBQcmlvcml0eUNvbXBhcmUoZWxhcHNlZCkpOwogfQot
ICAgIAotc3RhdGljIGJvb2wgYXBwbHlPcmRlclNvcnRGdW5jdGlvbihTVkdTTUlMRWxlbWVudCog
YSwgU1ZHU01JTEVsZW1lbnQqIGIpCi17Ci0gICAgaWYgKCFhLT5oYXNUYWdOYW1lKFNWR05hbWVz
OjphbmltYXRlVHJhbnNmb3JtVGFnKSAmJiBiLT5oYXNUYWdOYW1lKFNWR05hbWVzOjphbmltYXRl
VHJhbnNmb3JtVGFnKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotICAgIAotc3RhdGljIHZvaWQgc29ydEJ5QXBwbHlPcmRlcihWZWN0b3I8U1ZHU01JTEVsZW1l
bnQqPiYgc21pbEVsZW1lbnRzKQotewotICAgIHN0ZDo6c29ydChzbWlsRWxlbWVudHMuYmVnaW4o
KSwgc21pbEVsZW1lbnRzLmVuZCgpLCBhcHBseU9yZGVyU29ydEZ1bmN0aW9uKTsKLX0KIAogdm9p
ZCBTTUlMVGltZUNvbnRhaW5lcjo6dXBkYXRlQW5pbWF0aW9ucyhTTUlMVGltZSBlbGFwc2VkLCBi
b29sIHNlZWtUb1RpbWUpCiB7CkBAIC0yMjksMTIgKzIxNywxMSBAQCB2b2lkIFNNSUxUaW1lQ29u
dGFpbmVyOjp1cGRhdGVBbmltYXRpb25zCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGFsc28g
Y29uc2lkZXIgdGltaW5nIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiB0aGUgZWxlbWVudHMuIERlcGVu
ZGVudHMKICAgICAvLyBoYXZlIGhpZ2hlciBwcmlvcml0eS4KICAgICBzb3J0QnlQcmlvcml0eSh0
b0FuaW1hdGUsIGVsYXBzZWQpOwotICAgIAorCiAgICAgLy8gQ2FsY3VsYXRlIGFuaW1hdGlvbiBj
b250cmlidXRpb25zLgogICAgIHR5cGVkZWYgcGFpcjxTVkdFbGVtZW50KiwgUXVhbGlmaWVkTmFt
ZT4gRWxlbWVudEF0dHJpYnV0ZVBhaXI7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPEVsZW1lbnRBdHRy
aWJ1dGVQYWlyLCBSZWZQdHI8U1ZHU01JTEVsZW1lbnQ+ID4gUmVzdWx0RWxlbWVudE1hcDsKKyAg
ICB0eXBlZGVmIEhhc2hNYXA8RWxlbWVudEF0dHJpYnV0ZVBhaXIsIFNWR1NNSUxFbGVtZW50Kj4g
UmVzdWx0RWxlbWVudE1hcDsKICAgICBSZXN1bHRFbGVtZW50TWFwIHJlc3VsdHNFbGVtZW50czsK
LSAgICBIYXNoU2V0PFNWR1NNSUxFbGVtZW50Kj4gY29udHJpYnV0aW5nRWxlbWVudHM7CiAgICAg
Zm9yICh1bnNpZ25lZCBuID0gMDsgbiA8IHRvQW5pbWF0ZS5zaXplKCk7ICsrbikgewogICAgICAg
ICBTVkdTTUlMRWxlbWVudCogYW5pbWF0aW9uID0gdG9BbmltYXRlW25dOwogICAgICAgICBBU1NF
UlQoYW5pbWF0aW9uLT50aW1lQ29udGFpbmVyKCkgPT0gdGhpcyk7CkBAIC0yNDIsNyArMjI5LDcg
QEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dXBkYXRlQW5pbWF0aW9ucwogICAgICAgICBTVkdF
bGVtZW50KiB0YXJnZXRFbGVtZW50ID0gYW5pbWF0aW9uLT50YXJnZXRFbGVtZW50KCk7CiAgICAg
ICAgIGlmICghdGFyZ2V0RWxlbWVudCkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAK
KwogICAgICAgICBRdWFsaWZpZWROYW1lIGF0dHJpYnV0ZU5hbWUgPSBhbmltYXRpb24tPmF0dHJp
YnV0ZU5hbWUoKTsKICAgICAgICAgaWYgKGF0dHJpYnV0ZU5hbWUgPT0gYW55UU5hbWUoKSkgewog
ICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+aGFzVGFnTmFtZShTVkdOYW1lczo6YW5pbWF0ZU1v
dGlvblRhZykpCkBAIC0yNTAsNTEgKzIzNywzNiBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjp1
cGRhdGVBbmltYXRpb25zCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgLy8gUmVzdWx0cyBhcmUgYWNjdW11
bGF0ZWQgdG8gdGhlIGZpcnN0IGFuaW1hdGlvbiB0aGF0IGFuaW1hdGVzIGFuZCBjb250cmlidXRl
cyB0byBhIHBhcnRpY3VsYXIgZWxlbWVudC9hdHRyaWJ1dGUgcGFpci4KICAgICAgICAgRWxlbWVu
dEF0dHJpYnV0ZVBhaXIga2V5KHRhcmdldEVsZW1lbnQsIGF0dHJpYnV0ZU5hbWUpOyAKLSAgICAg
ICAgU1ZHU01JTEVsZW1lbnQqIHJlc3VsdEVsZW1lbnQgPSByZXN1bHRzRWxlbWVudHMuZ2V0KGtl
eSkuZ2V0KCk7Ci0gICAgICAgIGJvb2wgYWNjdW11bGF0ZWRSZXN1bHRFbGVtZW50ID0gZmFsc2U7
CisgICAgICAgIFNWR1NNSUxFbGVtZW50KiByZXN1bHRFbGVtZW50ID0gcmVzdWx0c0VsZW1lbnRz
LmdldChrZXkpOwogICAgICAgICBpZiAoIXJlc3VsdEVsZW1lbnQpIHsKICAgICAgICAgICAgIGlm
ICghYW5pbWF0aW9uLT5oYXNWYWxpZEF0dHJpYnV0ZVR5cGUoKSkKICAgICAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgICAgIHJlc3VsdEVsZW1lbnQgPSBhbmltYXRpb247Ci0gICAgICAg
ICAgICByZXN1bHRzRWxlbWVudHMuYWRkKGtleSwgcmVzdWx0RWxlbWVudCk7Ci0gICAgICAgICAg
ICBhY2N1bXVsYXRlZFJlc3VsdEVsZW1lbnQgPSB0cnVlOwotICAgICAgICB9CisgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgQVNTRVJUKHJlc3VsdEVsZW1lbnQgIT0gYW5pbWF0aW9uKTsKIAog
ICAgICAgICAvLyBUaGlzIHdpbGwgY2FsY3VsYXRlIHRoZSBjb250cmlidXRpb24gZnJvbSB0aGUg
YW5pbWF0aW9uIGFuZCBhZGQgaXQgdG8gdGhlIHJlc3VsdHNFbGVtZW50LgotICAgICAgICBpZiAo
YW5pbWF0aW9uLT5wcm9ncmVzcyhlbGFwc2VkLCByZXN1bHRFbGVtZW50LCBzZWVrVG9UaW1lKSkK
LSAgICAgICAgICAgIGNvbnRyaWJ1dGluZ0VsZW1lbnRzLmFkZChyZXN1bHRFbGVtZW50KTsKLSAg
ICAgICAgZWxzZSBpZiAoYWNjdW11bGF0ZWRSZXN1bHRFbGVtZW50KQotICAgICAgICAgICAgcmVz
dWx0c0VsZW1lbnRzLnJlbW92ZShrZXkpOworICAgICAgICBpZiAoYW5pbWF0aW9uLT5wcm9ncmVz
cyhlbGFwc2VkLCByZXN1bHRFbGVtZW50LCBzZWVrVG9UaW1lKSAmJiByZXN1bHRFbGVtZW50ID09
IGFuaW1hdGlvbikKKyAgICAgICAgICAgIHJlc3VsdHNFbGVtZW50cy5hZGQoa2V5LCByZXN1bHRF
bGVtZW50KTsKIAogICAgICAgICBTTUlMVGltZSBuZXh0RmlyZVRpbWUgPSBhbmltYXRpb24tPm5l
eHRQcm9ncmVzc1RpbWUoKTsKICAgICAgICAgaWYgKG5leHRGaXJlVGltZS5pc0Zpbml0ZSgpKQog
ICAgICAgICAgICAgZWFybGllcnNGaXJlVGltZSA9IG1pbihuZXh0RmlyZVRpbWUsIGVhcmxpZXJz
RmlyZVRpbWUpOwogICAgIH0KLSAgICAKLSAgICBWZWN0b3I8U1ZHU01JTEVsZW1lbnQqPiBhbmlt
YXRpb25zVG9BcHBseTsKLSAgICBSZXN1bHRFbGVtZW50TWFwOjppdGVyYXRvciBlbmQgPSByZXN1
bHRzRWxlbWVudHMuZW5kKCk7Ci0gICAgZm9yIChSZXN1bHRFbGVtZW50TWFwOjppdGVyYXRvciBp
dCA9IHJlc3VsdHNFbGVtZW50cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
U1ZHU01JTEVsZW1lbnQqIGFuaW1hdGlvbiA9IGl0LT5zZWNvbmQuZ2V0KCk7Ci0gICAgICAgIGlm
IChjb250cmlidXRpbmdFbGVtZW50cy5jb250YWlucyhhbmltYXRpb24pKQotICAgICAgICAgICAg
YW5pbWF0aW9uc1RvQXBwbHkuYXBwZW5kKGFuaW1hdGlvbik7Ci0gICAgfQogCi0gICAgdW5zaWdu
ZWQgYW5pbWF0aW9uc1RvQXBwbHlTaXplID0gYW5pbWF0aW9uc1RvQXBwbHkuc2l6ZSgpOwotICAg
IGlmICghYW5pbWF0aW9uc1RvQXBwbHlTaXplKSB7CisgICAgdW5zaWduZWQgcmVzdWx0c1RvQXBw
bHlTaXplID0gcmVzdWx0c0VsZW1lbnRzLnNpemUoKTsKKyAgICBpZiAoIXJlc3VsdHNUb0FwcGx5
U2l6ZSkgewogICAgICAgICBzdGFydFRpbWVyKGVhcmxpZXJzRmlyZVRpbWUsIGFuaW1hdGlvbkZy
YW1lRGVsYXkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gU29ydCA8YW5pbWF0
ZVRyYW5mb3JtPiB0byBiZSB0aGUgbGFzdCBvbmUgdG8gYmUgYXBwbGllZC4gPGFuaW1hdGU+IG1h
eSBjaGFuZ2UgdHJhbnNmb3JtIGF0dHJpYnV0ZSBhcwotICAgIC8vIHdlbGwgKGRpcmVjdGx5IG9y
IGluZGlyZWN0bHkgYnkgbW9kaWZ5aW5nIDx1c2U+IHgveSkgYW5kIHRoaXMgd2F5IHRyYW5zZm9y
bXMgY29tYmluZSBwcm9wZXJseS4KLSAgICBzb3J0QnlBcHBseU9yZGVyKGFuaW1hdGlvbnNUb0Fw
cGx5KTsKLQogICAgIC8vIEFwcGx5IHJlc3VsdHMgdG8gdGFyZ2V0IGVsZW1lbnRzLgotICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBhbmltYXRpb25zVG9BcHBseVNpemU7ICsraSkKLSAgICAg
ICAgYW5pbWF0aW9uc1RvQXBwbHlbaV0tPmFwcGx5UmVzdWx0c1RvVGFyZ2V0KCk7CisgICAgUmVz
dWx0RWxlbWVudE1hcDo6aXRlcmF0b3IgZW5kID0gcmVzdWx0c0VsZW1lbnRzLmVuZCgpOworICAg
IGZvciAoUmVzdWx0RWxlbWVudE1hcDo6aXRlcmF0b3IgaXQgPSByZXN1bHRzRWxlbWVudHMuYmVn
aW4oKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICBpdC0+c2Vjb25kLT5hcHBseVJlc3VsdHNU
b1RhcmdldCgpOwogCiAgICAgc3RhcnRUaW1lcihlYXJsaWVyc0ZpcmVUaW1lLCBhbmltYXRpb25G
cmFtZURlbGF5KTsKICAgICBEb2N1bWVudDo6dXBkYXRlU3R5bGVGb3JBbGxEb2N1bWVudHMoKTsK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEyODA3NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA5LTEwICBQaGlsaXAgUm9nZXJzICA8
cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IHdvcmsgaW4gU01J
TFRpbWVDb250YWluZXI6OnVwZGF0ZUFuaW1hdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTmlr
b2xhcyBaaW1tZXJtYW5uLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHNob3VsZCBoYXZlIG5vIGZ1
bmN0aW9uYWwgZGlmZmVyZW5jZXMgYnV0IGEgdGVzdAorICAgICAgICBpcyBiZWluZyBhZGRlZCB0
byBzaG93IHRoYXQuIFNNSUxUaW1lQ29udGFpbmVyOjp1cGRhdGVBbmltYXRpb25zCisgICAgICAg
IGNvbnRhaW5lZCBhIGNvbW1lbnQgZXhwbGFpbmluZyB3aHkgYSBhbmltYXRlVHJhbnNmb3JtIG5l
ZWRlZCB0byBiZQorICAgICAgICBwcm9jZXNzZWQgbGFzdCBidXQgdGhhdCBpcyBubyBsb25nZXIg
dGhlIGNhc2UgKGFzIHRoZSB0ZXN0IHNob3dzKS4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25z
L3NjcmlwdC10ZXN0cy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmpzOiBBZGRl
ZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxlMik6CisgICAgICAgIChzYW1w
bGUzKToKKyAgICAgICAgKHNhbXBsZTQpOgorICAgICAgICAoc2FtcGxlNSk6CisgICAgICAgIChl
eGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvdXNlLWFuaW1hdGUtdHJhbnNm
b3JtLWFuZC1wb3NpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmlt
YXRpb25zL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24uaHRtbDogQWRkZWQuCisK
IDIwMTItMDktMTAgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRl
bC5jb20+CiAKICAgICAgICAgRm9udCB2YWx1ZSBzaG91bGQgYmUgcGFyc2VkIGFzIGEgaW5kaXZp
ZHVhbCBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvdXNlLWFuaW1h
dGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvdXNlLWFuaW1hdGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlv
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw2OCBAQAorU1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cwor
CitUZXN0IGFuaW1hdGlvbiBvZiB1c2UgZWxlbWVudCB3aGVyZSB0aGUgaW5zdGFuY2UgaXMgYWxz
byBhbmltYXRlZCB3aXRoIGFuaW1hdGUgYW5kIGFuaW1hdGVUcmFuc2Zvcm0KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmVjdC54LmFuaW1WYWwudmFsdWUgaXMgMTAKK1BB
U1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmFuaW1WYWwudmFsdWUg
aXMgMTAKK1BBU1MgcmVjdC55LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgdXNlLnguYW5pbVZh
bC52YWx1ZSBpcyAwCitQQVNTIHVzZS54LmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5h
bmltVmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnkuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIHVz
ZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1iZXJPZkl0ZW1zIGlzIDAKK1BBU1MgcmVjdC54LmFuaW1W
YWwudmFsdWUgaXMgMTUKK1BBU1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVj
dC55LmFuaW1WYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmJhc2VWYWwudmFsdWUgaXMgMTAK
K1BBU1MgdXNlLnguYW5pbVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS54LmJhc2VWYWwudmFsdWUg
aXMgMAorUEFTUyB1c2UueS5hbmltVmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnkuYmFzZVZhbC52
YWx1ZSBpcyAwCitQQVNTIHVzZS50cmFuc2Zvcm0uYW5pbVZhbC5udW1iZXJPZkl0ZW1zIGlzIDEK
K1BBU1MgdXNlLnRyYW5zZm9ybS5iYXNlVmFsLm51bWJlck9mSXRlbXMgaXMgMAorUEFTUyB1c2Uu
dHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZSBpcyAwCitQQVNTIHVzZS50cmFu
c2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDApLm1hdHJpeC5mIGlzIDExNQorUEFTUyByZWN0LnguYW5p
bVZhbC52YWx1ZSBpcyAyNQorUEFTUyByZWN0LnguYmFzZVZhbC52YWx1ZSBpcyAxMAorUEFTUyBy
ZWN0LnkuYW5pbVZhbC52YWx1ZSBpcyAxMAorUEFTUyByZWN0LnkuYmFzZVZhbC52YWx1ZSBpcyAx
MAorUEFTUyB1c2UueC5hbmltVmFsLnZhbHVlIGlzIDUKK1BBU1MgdXNlLnguYmFzZVZhbC52YWx1
ZSBpcyAwCitQQVNTIHVzZS55LmFuaW1WYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5iYXNlVmFs
LnZhbHVlIGlzIDAKK1BBU1MgdXNlLnRyYW5zZm9ybS5hbmltVmFsLm51bWJlck9mSXRlbXMgaXMg
MQorUEFTUyB1c2UudHJhbnNmb3JtLmJhc2VWYWwubnVtYmVyT2ZJdGVtcyBpcyAwCitQQVNTIHVz
ZS50cmFuc2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDApLm1hdHJpeC5lIGlzIDAKK1BBU1MgdXNlLnRy
YW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmYgaXMgMTI1CitQQVNTIHJlY3QueC5h
bmltVmFsLnZhbHVlIGlzIDM1CitQQVNTIHJlY3QueC5iYXNlVmFsLnZhbHVlIGlzIDEwCitQQVNT
IHJlY3QueS5hbmltVmFsLnZhbHVlIGlzIDEwCitQQVNTIHJlY3QueS5iYXNlVmFsLnZhbHVlIGlz
IDEwCitQQVNTIHVzZS54LmFuaW1WYWwudmFsdWUgaXMgMTUKK1BBU1MgdXNlLnguYmFzZVZhbC52
YWx1ZSBpcyAwCitQQVNTIHVzZS55LmFuaW1WYWwudmFsdWUgaXMgMAorUEFTUyB1c2UueS5iYXNl
VmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnRyYW5zZm9ybS5hbmltVmFsLm51bWJlck9mSXRlbXMg
aXMgMQorUEFTUyB1c2UudHJhbnNmb3JtLmJhc2VWYWwubnVtYmVyT2ZJdGVtcyBpcyAwCitQQVNT
IHVzZS50cmFuc2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDApLm1hdHJpeC5lIGlzIDAKK1BBU1MgdXNl
LnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmYgaXMgMTI4LjUKK1BBU1MgcmVj
dC54LmFuaW1WYWwudmFsdWUgaXMgNDUKK1BBU1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAK
K1BBU1MgcmVjdC55LmFuaW1WYWwudmFsdWUgaXMgMTAKK1BBU1MgcmVjdC55LmJhc2VWYWwudmFs
dWUgaXMgMTAKK1BBU1MgdXNlLnguYW5pbVZhbC52YWx1ZSBpcyAyNQorUEFTUyB1c2UueC5iYXNl
VmFsLnZhbHVlIGlzIDAKK1BBU1MgdXNlLnkuYW5pbVZhbC52YWx1ZSBpcyAwCitQQVNTIHVzZS55
LmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyB1c2UudHJhbnNmb3JtLmFuaW1WYWwubnVtYmVyT2ZJ
dGVtcyBpcyAxCitQQVNTIHVzZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1iZXJPZkl0ZW1zIGlzIDAK
K1BBU1MgdXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmUgaXMgMAorUEFT
UyB1c2UudHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZiBpcyAxMjUuNQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRp
b24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy91c2UtYW5p
bWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy91c2UtYW5pbWF0ZS10cmFuc2Zvcm0tYW5kLXBvc2l0aW9uLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEg
ZHluYW1pYyBhbmltYXRpb24gdGVzdHM8L2gxPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvdXNlLWFu
aW1hdGUtdHJhbnNmb3JtLWFuZC1wb3NpdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc2NyaXB0LXRlc3RzL3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24u
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3Rz
L3VzZS1hbmltYXRlLXRyYW5zZm9ybS1hbmQtcG9zaXRpb24uanMJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvdXNlLWFuaW1hdGUtdHJhbnNm
b3JtLWFuZC1wb3NpdGlvbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNDkgQEAKK2Rlc2Ny
aXB0aW9uKCJUZXN0IGFuaW1hdGlvbiBvZiB1c2UgZWxlbWVudCB3aGVyZSB0aGUgaW5zdGFuY2Ug
aXMgYWxzbyBhbmltYXRlZCB3aXRoIGFuaW1hdGUgYW5kIGFuaW1hdGVUcmFuc2Zvcm0iKTsKK2Ny
ZWF0ZVNWR1Rlc3RDYXNlKCk7CisKKy8vIFNldHVwIHRlc3QgZG9jdW1lbnQKK3ZhciByZWN0ID0g
Y3JlYXRlU1ZHRWxlbWVudCgicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImlkIiwgInJlY3Qi
KTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ4IiwgIjEwIik7CityZWN0LnNldEF0dHJpYnV0ZSgieSIs
ICIxMCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjEwMCIpOworcmVjdC5zZXRBdHRy
aWJ1dGUoImhlaWdodCIsICIxMDAiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVu
Iik7CityZWN0LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIik7CisKK3Zh
ciBhbmltYXRlMSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUxLnNldEF0
dHJpYnV0ZSgiaWQiLCAiYW5pbWF0ZTEiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiYXR0cmli
dXRlTmFtZSIsICJ4Iik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgIjFzIik7Cith
bmltYXRlMS5zZXRBdHRyaWJ1dGUoImR1ciIsICIxMHMiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0
ZSgiZnJvbSIsICIxMCIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJ0byIsICIxMTAiKTsKK3Jl
Y3QuYXBwZW5kQ2hpbGQoYW5pbWF0ZTEpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQocmVj
dCk7CisKK3ZhciB1c2UgPSBjcmVhdGVTVkdFbGVtZW50KCJ1c2UiKTsKK3VzZS5zZXRBdHRyaWJ1
dGUoImlkIiwgInVzZSIpOwordXNlLnNldEF0dHJpYnV0ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rJywgJ3hsaW5rOmhyZWYnLCAnI3JlY3QnKTsKK3VzZS5zZXRBdHRyaWJ1dGUoIngi
LCAiMCIpOwordXNlLnNldEF0dHJpYnV0ZSgieSIsICIwIik7Cityb290U1ZHRWxlbWVudC5hcHBl
bmRDaGlsZCh1c2UpOworCit2YXIgYW5pbWF0ZVRyYW5zZm9ybTEgPSBjcmVhdGVTVkdFbGVtZW50
KCJhbmltYXRlVHJhbnNmb3JtIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoImlk
IiwgImFuaW1hdGVUcmFuc2Zvcm0xIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUo
ImF0dHJpYnV0ZU5hbWUiLCAidHJhbnNmb3JtIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRy
aWJ1dGUoInR5cGUiLCAidHJhbnNsYXRlIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1
dGUoImJlZ2luIiwgIjBzIik7CithbmltYXRlVHJhbnNmb3JtMS5zZXRBdHRyaWJ1dGUoImR1ciIs
ICIxMHMiKTsKK2FuaW1hdGVUcmFuc2Zvcm0xLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIwIDEwMCIp
OworYW5pbWF0ZVRyYW5zZm9ybTEuc2V0QXR0cmlidXRlKCJ0byIsICIwIDIwMCIpOwordXNlLmFw
cGVuZENoaWxkKGFuaW1hdGVUcmFuc2Zvcm0xKTsKKwordmFyIGFuaW1hdGUyID0gY3JlYXRlU1ZH
RWxlbWVudCgiYW5pbWF0ZSIpOworYW5pbWF0ZTIuc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRl
MiIpOworYW5pbWF0ZTIuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgIngiKTsKK2FuaW1h
dGUyLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAiMnMiKTsKK2FuaW1hdGUyLnNldEF0dHJpYnV0ZSgi
ZHVyIiwgIjEwcyIpOworYW5pbWF0ZTIuc2V0QXR0cmlidXRlKCJmcm9tIiwgIjAiKTsKK2FuaW1h
dGUyLnNldEF0dHJpYnV0ZSgidG8iLCAiMTAwIik7Cit1c2UuYXBwZW5kQ2hpbGQoYW5pbWF0ZTIp
OworCit2YXIgYW5pbWF0ZVRyYW5zZm9ybTIgPSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlVHJh
bnNmb3JtIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGVU
cmFuc2Zvcm0yIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5h
bWUiLCAidHJhbnNmb3JtIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoInR5cGUi
LCAidHJhbnNsYXRlIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImJlZ2luIiwg
IjNzIik7CithbmltYXRlVHJhbnNmb3JtMi5zZXRBdHRyaWJ1dGUoImR1ciIsICIxMHMiKTsKK2Fu
aW1hdGVUcmFuc2Zvcm0yLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIwIDEzMCIpOworYW5pbWF0ZVRy
YW5zZm9ybTIuc2V0QXR0cmlidXRlKCJ0byIsICIwIDEwMCIpOwordXNlLmFwcGVuZENoaWxkKGFu
aW1hdGVUcmFuc2Zvcm0yKTsKKworLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKK2Z1bmN0aW9uIHNh
bXBsZTEoKSB7CisgICAgLy8gQ2hlY2sgaW5pdGlhbC9lbmQgY29uZGl0aW9ucworICAgIHNob3Vs
ZEJlKCJyZWN0LnguYW5pbVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0Lngu
YmFzZVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0LnkuYW5pbVZhbC52YWx1
ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJyZWN0LnkuYmFzZVZhbC52YWx1ZSIsICIxMCIpOwor
ICAgIHNob3VsZEJlKCJ1c2UueC5hbmltVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgi
dXNlLnguYmFzZVZhbC52YWx1ZSIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS55LmFuaW1WYWwu
dmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UueS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsK
KyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5iYXNlVmFsLm51bWJlck9mSXRlbXMiLCAiMCIp
OworfQorCitmdW5jdGlvbiBzYW1wbGUyKCkgeworICAgIHNob3VsZEJlKCJyZWN0LnguYW5pbVZh
bC52YWx1ZSIsICIxNSIpOworICAgIHNob3VsZEJlKCJyZWN0LnguYmFzZVZhbC52YWx1ZSIsICIx
MCIpOworICAgIHNob3VsZEJlKCJyZWN0LnkuYW5pbVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNo
b3VsZEJlKCJyZWN0LnkuYmFzZVZhbC52YWx1ZSIsICIxMCIpOworICAgIHNob3VsZEJlKCJ1c2Uu
eC5hbmltVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnguYmFzZVZhbC52YWx1
ZSIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS55LmFuaW1WYWwudmFsdWUiLCAiMCIpOworICAg
IHNob3VsZEJlKCJ1c2UueS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNl
LnRyYW5zZm9ybS5hbmltVmFsLm51bWJlck9mSXRlbXMiLCAiMSIpOworICAgIHNob3VsZEJlKCJ1
c2UudHJhbnNmb3JtLmJhc2VWYWwubnVtYmVyT2ZJdGVtcyIsICIwIik7CisgICAgc2hvdWxkQmUo
InVzZS50cmFuc2Zvcm0uYW5pbVZhbC5nZXRJdGVtKDApLm1hdHJpeC5lIiwgIjAiKTsKKyAgICBz
aG91bGRCZSgidXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmYiLCAiMTE1
Iik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTMoKSB7CisgICAgc2hvdWxkQmUoInJlY3QueC5hbmlt
VmFsLnZhbHVlIiwgIjI1Iik7CisgICAgc2hvdWxkQmUoInJlY3QueC5iYXNlVmFsLnZhbHVlIiwg
IjEwIik7CisgICAgc2hvdWxkQmUoInJlY3QueS5hbmltVmFsLnZhbHVlIiwgIjEwIik7CisgICAg
c2hvdWxkQmUoInJlY3QueS5iYXNlVmFsLnZhbHVlIiwgIjEwIik7CisgICAgc2hvdWxkQmUoInVz
ZS54LmFuaW1WYWwudmFsdWUiLCAiNSIpOworICAgIHNob3VsZEJlKCJ1c2UueC5iYXNlVmFsLnZh
bHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnkuYW5pbVZhbC52YWx1ZSIsICIwIik7Cisg
ICAgc2hvdWxkQmUoInVzZS55LmJhc2VWYWwudmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1
c2UudHJhbnNmb3JtLmFuaW1WYWwubnVtYmVyT2ZJdGVtcyIsICIxIik7CisgICAgc2hvdWxkQmUo
InVzZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1iZXJPZkl0ZW1zIiwgIjAiKTsKKyAgICBzaG91bGRC
ZSgidXNlLnRyYW5zZm9ybS5hbmltVmFsLmdldEl0ZW0oMCkubWF0cml4LmUiLCAiMCIpOworICAg
IHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZiIsICIx
MjUiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlNCgpIHsKKyAgICBzaG91bGRCZSgicmVjdC54LmFu
aW1WYWwudmFsdWUiLCAiMzUiKTsKKyAgICBzaG91bGRCZSgicmVjdC54LmJhc2VWYWwudmFsdWUi
LCAiMTAiKTsKKyAgICBzaG91bGRCZSgicmVjdC55LmFuaW1WYWwudmFsdWUiLCAiMTAiKTsKKyAg
ICBzaG91bGRCZSgicmVjdC55LmJhc2VWYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZUNs
b3NlRW5vdWdoKCJ1c2UueC5hbmltVmFsLnZhbHVlIiwgIjE1Iik7CisgICAgc2hvdWxkQmUoInVz
ZS54LmJhc2VWYWwudmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UueS5hbmltVmFsLnZh
bHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnkuYmFzZVZhbC52YWx1ZSIsICIwIik7Cisg
ICAgc2hvdWxkQmUoInVzZS50cmFuc2Zvcm0uYW5pbVZhbC5udW1iZXJPZkl0ZW1zIiwgIjEiKTsK
KyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5iYXNlVmFsLm51bWJlck9mSXRlbXMiLCAiMCIp
OworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXgu
ZSIsICIwIik7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgidXNlLnRyYW5zZm9ybS5hbmltVmFs
LmdldEl0ZW0oMCkubWF0cml4LmYiLCAiMTI4LjUiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlNSgp
IHsKKyAgICBzaG91bGRCZSgicmVjdC54LmFuaW1WYWwudmFsdWUiLCAiNDUiKTsKKyAgICBzaG91
bGRCZSgicmVjdC54LmJhc2VWYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgicmVjdC55
LmFuaW1WYWwudmFsdWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgicmVjdC55LmJhc2VWYWwudmFs
dWUiLCAiMTAiKTsKKyAgICBzaG91bGRCZSgidXNlLnguYW5pbVZhbC52YWx1ZSIsICIyNSIpOwor
ICAgIHNob3VsZEJlKCJ1c2UueC5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgi
dXNlLnkuYW5pbVZhbC52YWx1ZSIsICIwIik7CisgICAgc2hvdWxkQmUoInVzZS55LmJhc2VWYWwu
dmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFuaW1WYWwubnVtYmVy
T2ZJdGVtcyIsICIxIik7CisgICAgc2hvdWxkQmUoInVzZS50cmFuc2Zvcm0uYmFzZVZhbC5udW1i
ZXJPZkl0ZW1zIiwgIjAiKTsKKyAgICBzaG91bGRCZSgidXNlLnRyYW5zZm9ybS5hbmltVmFsLmdl
dEl0ZW0oMCkubWF0cml4LmUiLCAiMCIpOworICAgIHNob3VsZEJlKCJ1c2UudHJhbnNmb3JtLmFu
aW1WYWwuZ2V0SXRlbSgwKS5tYXRyaXguZiIsICIxMjUuNSIpOworfQorCitmdW5jdGlvbiBleGVj
dXRlVGVzdCgpIHsKKyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2Fu
aW1hdGlvbklkLCB0aW1lLCBzYW1wbGVDYWxsYmFja10KKyAgICAgICAgWyJhbmltYXRlMSIsIDAu
MCwgICBzYW1wbGUxXSwKKyAgICAgICAgWyJhbmltYXRlMSIsIDAuNSwgICBzYW1wbGUyXSwKKyAg
ICAgICAgWyJhbmltYXRlMSIsIDEuNSwgICBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRlMSIs
IDIuNSwgICBzYW1wbGU0XSwKKyAgICAgICAgWyJhbmltYXRlMSIsIDMuNSwgICBzYW1wbGU1XQor
ICAgIF07CisKKyAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKword2lu
ZG93LmNsaWNrWCA9IDUwOword2luZG93LmNsaWNrWSA9IDUwOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>