<?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>28722</bug_id>
          
          <creation_ts>2009-08-25 15:38:10 -0700</creation_ts>
          <short_desc>REGRESSION ( 4.0.3- TOT ) Gmail: Undoing a indent removes text instead of its formatting</short_desc>
          <delta_ts>2009-10-13 10:27:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Petersen">c.petersen87</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>adele</cc>
    
    <cc>commit-queue</cc>
    
    <cc>c.petersen87</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>142712</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2009-08-25 15:38:10 -0700</bug_when>
    <thetext>Undoing a indent removes text instead of it&apos;s formatting. Reproduces in both Gmail and Google Docs with Webkit Nightly r47686

* STEPS TO REPRODUCE
1. Launch Webkit Nightly r47686 and sign into your gmail account.
2. Compose a new message and type hello in the message body
3. Click the indent more text icon to indent this text
4. After indenting, select Edit - Undo Indent. Notice word is removed rather removing the indent. Also focus is removed from message body as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142914</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2009-08-26 12:05:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/7169206&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142928</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2009-08-26 12:56:05 -0700</bug_when>
    <thetext>Using webkit nightly builds, I was able to isolate to a range where the regression occurred :

r46126 (work ) - r46193 (fails )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142956</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2009-08-26 13:25:38 -0700</bug_when>
    <thetext>I tracked the regression to http://trac.webkit.org/changeset/46143</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142974</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-26 14:56:12 -0700</bug_when>
    <thetext>You must mean http://trac.webkit.org/changeset/46142.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142976</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2009-08-26 15:05:43 -0700</bug_when>
    <thetext>Yes, http://trac.webkit.org/changeset/46142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143035</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-26 20:17:36 -0700</bug_when>
    <thetext>Outdent and Command+z work.  I don&apos;t quite understand why Command+z works and Edit-&gt;Undo doesn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143067</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-26 23:33:11 -0700</bug_when>
    <thetext>I suspect that docs intercepts command+z, but they can&apos;t intercept &quot;undo&quot; from the menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153729</commentid>
    <comment_count>8</comment_count>
      <attachid>40957</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-10-09 12:07:51 -0700</bug_when>
    <thetext>Created attachment 40957
Patch

This patch fixes the bug and provides a test case for bug 23995.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153770</commentid>
    <comment_count>9</comment_count>
      <attachid>40957</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-09 15:01:16 -0700</bug_when>
    <thetext>Comment on attachment 40957
Patch

Clearing flags on attachment: 40957

Committed r49405: &lt;http://trac.webkit.org/changeset/49405&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153771</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-09 15:01:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153785</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-10-09 15:27:43 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=40957) [details]
&gt; Patch
&gt; 
&gt; This patch fixes the bug and provides a test case for bug 23995.

This patch reverted my changes. And I think that&apos;s reasonable because I didn&apos;t present any reasonable solution to it on time, but now all my test cases are useless (they are not testing what it is supposed to be testing). Could you file a bug for it or explain why those changes are acceptable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154092</commentid>
    <comment_count>12</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-10-12 09:52:05 -0700</bug_when>
    <thetext>I had a long chat on IRC with Ryosuke and I explained the reasons for the changes.
I&apos;ve also pointed out that the solution he implemented was not correct because it was breaking the undo mechanism.
The undo mechanism relies on commands being built on a stack to perform the undo. The previous implementation was only performing DOM operations, without placing commands on the stack.
I also pointed out that removing moveParagraph was not the solution to the wrong selection problem, because that issue was caused by a missing call to updateLayout that made TextIterator fail to retrieve the correct positions for the selection.
As far as the other changes that were part of the previous patch, even though I do see the point of not stripping out divs that have an id, I don&apos;t think that it was the primary goal and can be addressed in another patch. Furthermore, that solutions creates other selection problems.

In my opinion this bug should be marked as fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154099</commentid>
    <comment_count>13</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2009-10-12 10:24:09 -0700</bug_when>
    <thetext>I agree that this bug should be resolved.  This change fixed the regression described here, while retaining good indentation behavior.  Let&apos;s open new bugs about any other related issues we discover.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154371</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-10-13 10:27:53 -0700</bug_when>
    <thetext>Agreed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40957</attachid>
            <date>2009-10-09 12:07:51 -0700</date>
            <delta_ts>2009-10-09 15:01:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug7169206.txt</filename>
            <type>text/plain</type>
            <size>40089</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTM5OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMTAtMDkgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
bmRvaW5nIGEgaW5kZW50IHJlbW92ZXMgdGV4dCBpbnN0ZWFkIG9mIGl0J3MgZm9ybWF0dGluZy4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxNjkyMDY+CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODcyMgorICAgICAgICBSZXN0b3JlZCB0aGUgYmVo
YXZpb3IgcHJpb3IgdG8gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDYxNDMuIFRo
aXMgY2hhbmdlIGltcGxlbWVudGVkIHRoZQorICAgICAgICBpbmRlbnQgY29tbWFuZCBtYWtpbmcg
c2ltcGxlIERPTSBvcGVyYXRpb24sIHdpdGhvdXQgdXNpbmcgbW92ZVBhcmFncmFwaCB3aGljaCBj
YXVzZSB1bmRvIHRvIGJlIGJyb2tlbi4KKyAgICAgICAgCisgICAgICAgIEFkZGVkIGVkaXRpbmcv
dW5kby91bmRvLWluZGVudC5odG1sIHRlc3QuCisKKyAgICAgICAgKiBlZGl0aW5nL0luZGVudE91
dGRlbnRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluZGVudE91dGRlbnRDb21tYW5k
OjpwcmVwYXJlQmxvY2txdW90ZUxldmVsRm9ySW5zZXJ0aW9uKTogUmVzdG9yZWQuIAorICAgICAg
ICAoV2ViQ29yZTo6SW5kZW50T3V0ZGVudENvbW1hbmQ6OnRyeUluZGVudGluZ0FzTGlzdEl0ZW0p
OiBNZXJnZWQgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OkluZGVudE91dGRlbnRDb21tYW5k
OjppbmRlbnRJbnRvQmxvY2txdW90ZSk6IFJlc3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6SW5k
ZW50T3V0ZGVudENvbW1hbmQ6OmluZGVudFJlZ2lvbik6IFJlc3RvcmVkIGFuZCBhZGRlZCBjYWxs
IHRvIHVwZGF0ZUxheW91dCB0bworICAgICAgICBlbnN1cmUgVGV4dEl0ZXJhdG9yIGNvdWxkIGNv
cnJlY3RseSBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uIHN0YXJ0aW5nIGZyb20gdGhlIGluZGV4Lgor
ICAgICAgICAqIGVkaXRpbmcvSW5kZW50T3V0ZGVudENvbW1hbmQuaDogUmVzdG9yZWQuCisKIDIw
MDktMTAtMDkgIEpvZSBMaWdtYW4gIDxqb3NlcGgubGlnbWFuQG5va2lhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9JbmRl
bnRPdXRkZW50Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0luZGVu
dE91dGRlbnRDb21tYW5kLmNwcAkocmV2aXNpb24gNDkzOTMpCisrKyBXZWJDb3JlL2VkaXRpbmcv
SW5kZW50T3V0ZGVudENvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2IEBA
CiAjaW5jbHVkZSAiSW5zZXJ0TGluZUJyZWFrQ29tbWFuZC5oIgogI2luY2x1ZGUgIkluc2VydExp
c3RDb21tYW5kLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKLSNpbmNsdWRlICJEb2N1bWVudEZyYWdt
ZW50LmgiCiAjaW5jbHVkZSAiU3BsaXRFbGVtZW50Q29tbWFuZC5oIgogI2luY2x1ZGUgIlRleHRJ
dGVyYXRvci5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCkBAIC02OCw2ICs2NywzNyBAQCBJ
bmRlbnRPdXRkZW50Q29tbWFuZDo6SW5kZW50T3V0ZGVudENvbW1hCiB7CiB9CiAKKy8vIFRoaXMg
ZnVuY3Rpb24gaXMgYSB3b3JrYXJvdW5kIGZvciBtb3ZlUGFyYWdyYXBoJ3MgdGVuZGVuY3kgdG8g
c3RyaXAgYmxvY2txdW90ZXMuIEl0IHVwZGF0ZXMgbGFzdEJsb2NrcXVvdGUgdG8gcG9pbnQgdG8g
dGhlCisvLyBjb3JyZWN0IGxldmVsIGZvciB0aGUgY3VycmVudCBwYXJhZ3JhcGgsIGFuZCByZXR1
cm5zIGEgcG9pbnRlciB0byBhIHBsYWNlaG9sZGVyIGJyIHdoZXJlIHRoZSBpbnNlcnRpb24gc2hv
dWxkIGJlIHBlcmZvcm1lZC4KK1Bhc3NSZWZQdHI8RWxlbWVudD4gSW5kZW50T3V0ZGVudENvbW1h
bmQ6OnByZXBhcmVCbG9ja3F1b3RlTGV2ZWxGb3JJbnNlcnRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uJiBjdXJyZW50UGFyYWdyYXBoLCBSZWZQdHI8RWxlbWVudD4mIGxhc3RCbG9ja3F1b3RlKQor
eworICAgIGludCBjdXJyZW50QmxvY2txdW90ZUxldmVsID0gMDsKKyAgICBpbnQgbGFzdEJsb2Nr
cXVvdGVMZXZlbCA9IDA7CisgICAgTm9kZSogbm9kZSA9IGN1cnJlbnRQYXJhZ3JhcGguZGVlcEVx
dWl2YWxlbnQoKS5ub2RlKCk7CisgICAgd2hpbGUgKChub2RlID0gZW5jbG9zaW5nTm9kZVdpdGhU
YWcoUG9zaXRpb24obm9kZS0+cGFyZW50Tm9kZSgpLCAwKSwgYmxvY2txdW90ZVRhZykpKQorICAg
ICAgICBjdXJyZW50QmxvY2txdW90ZUxldmVsKys7CisgICAgbm9kZSA9IGxhc3RCbG9ja3F1b3Rl
LmdldCgpOworICAgIHdoaWxlICgobm9kZSA9IGVuY2xvc2luZ05vZGVXaXRoVGFnKFBvc2l0aW9u
KG5vZGUtPnBhcmVudE5vZGUoKSwgMCksIGJsb2NrcXVvdGVUYWcpKSkKKyAgICAgICAgbGFzdEJs
b2NrcXVvdGVMZXZlbCsrOworICAgIHdoaWxlIChjdXJyZW50QmxvY2txdW90ZUxldmVsID4gbGFz
dEJsb2NrcXVvdGVMZXZlbCkgeworICAgICAgICBSZWZQdHI8RWxlbWVudD4gbmV3QmxvY2txdW90
ZSA9IGNyZWF0ZUluZGVudEJsb2NrcXVvdGVFbGVtZW50KGRvY3VtZW50KCkpOworICAgICAgICBh
cHBlbmROb2RlKG5ld0Jsb2NrcXVvdGUsIGxhc3RCbG9ja3F1b3RlKTsKKyAgICAgICAgbGFzdEJs
b2NrcXVvdGUgPSBuZXdCbG9ja3F1b3RlOworICAgICAgICBsYXN0QmxvY2txdW90ZUxldmVsKys7
CisgICAgfQorICAgIHdoaWxlIChjdXJyZW50QmxvY2txdW90ZUxldmVsIDwgbGFzdEJsb2NrcXVv
dGVMZXZlbCkgeworICAgICAgICBsYXN0QmxvY2txdW90ZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQq
PihlbmNsb3NpbmdOb2RlV2l0aFRhZyhQb3NpdGlvbihsYXN0QmxvY2txdW90ZS0+cGFyZW50Tm9k
ZSgpLCAwKSwgYmxvY2txdW90ZVRhZykpOworICAgICAgICBsYXN0QmxvY2txdW90ZUxldmVsLS07
CisgICAgfQorICAgIFJlZlB0cjxFbGVtZW50PiBwbGFjZWhvbGRlciA9IGNyZWF0ZUJyZWFrRWxl
bWVudChkb2N1bWVudCgpKTsKKyAgICBhcHBlbmROb2RlKHBsYWNlaG9sZGVyLCBsYXN0QmxvY2tx
dW90ZSk7CisgICAgLy8gQWRkIGFub3RoZXIgYnIgYmVmb3JlIHRoZSBwbGFjZWhvbGRlciBpZiBp
dCBjb2xsYXBzZWQuCisgICAgVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3MoUG9zaXRpb24ocGxh
Y2Vob2xkZXIuZ2V0KCksIDApKTsKKyAgICBpZiAoIWlzU3RhcnRPZlBhcmFncmFwaCh2aXNpYmxl
UG9zKSkKKyAgICAgICAgaW5zZXJ0Tm9kZUJlZm9yZShjcmVhdGVCcmVha0VsZW1lbnQoZG9jdW1l
bnQoKSksIHBsYWNlaG9sZGVyKTsKKyAgICByZXR1cm4gcGxhY2Vob2xkZXIucmVsZWFzZSgpOwor
fQorCiBib29sIEluZGVudE91dGRlbnRDb21tYW5kOjp0cnlJbmRlbnRpbmdBc0xpc3RJdGVtKGNv
bnN0IFZpc2libGVQb3NpdGlvbiYgZW5kT2ZDdXJyZW50UGFyYWdyYXBoKQogewogICAgIC8vIElm
IG91ciBzZWxlY3Rpb24gaXMgbm90IGluc2lkZSBhIGxpc3QsIGJhaWwgb3V0LgpAQCAtODEsMTQg
KzExMSwxOSBAQCBib29sIEluZGVudE91dGRlbnRDb21tYW5kOjp0cnlJbmRlbnRpbmdBCiAgICAg
Ly8gRklYTUU6IHdlIG5lZWQgdG8gZGVhbCB3aXRoIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGlzIG5v
IGxpIChtYWxmb3JtZWQgSFRNTCkKICAgICBpZiAoIXNlbGVjdGVkTGlzdEl0ZW0tPmhhc1RhZ05h
bWUobGlUYWcpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0KKyAgICAKICAgICAvLyBGSVhNRTog
cHJldmlvdXNFbGVtZW50U2libGluZyBkb2VzIG5vdCBpZ25vcmUgbm9uLXJlbmRlcmVkIGNvbnRl
bnQgbGlrZSA8c3Bhbj48L3NwYW4+LiAgU2hvdWxkIHdlPwogICAgIEVsZW1lbnQqIHByZXZpb3Vz
TGlzdCA9IHNlbGVjdGVkTGlzdEl0ZW0tPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKTsKICAgICBF
bGVtZW50KiBuZXh0TGlzdCA9IHNlbGVjdGVkTGlzdEl0ZW0tPm5leHRFbGVtZW50U2libGluZygp
OwogCiAgICAgUmVmUHRyPEVsZW1lbnQ+IG5ld0xpc3QgPSBkb2N1bWVudCgpLT5jcmVhdGVFbGVt
ZW50KGxpc3ROb2RlLT50YWdRTmFtZSgpLCBmYWxzZSk7CisgICAgUmVmUHRyPEVsZW1lbnQ+IG5l
d0xpc3RJdGVtID0gc2VsZWN0ZWRMaXN0SXRlbS0+Y2xvbmVFbGVtZW50V2l0aG91dENoaWxkcmVu
KCk7CisgICAgUmVmUHRyPEVsZW1lbnQ+IHBsYWNlaG9sZGVyID0gY3JlYXRlQnJlYWtFbGVtZW50
KGRvY3VtZW50KCkpOwogICAgIGluc2VydE5vZGVCZWZvcmUobmV3TGlzdCwgc2VsZWN0ZWRMaXN0
SXRlbSk7Ci0gICAgYXBwZW5kUGFyYWdyYXBoSW50b05vZGUodmlzaWJsZVBvc2l0aW9uQmVmb3Jl
Tm9kZShzZWxlY3RlZExpc3RJdGVtKSwgdmlzaWJsZVBvc2l0aW9uQWZ0ZXJOb2RlKHNlbGVjdGVk
TGlzdEl0ZW0pLCBuZXdMaXN0LmdldCgpKTsKKyAgICBhcHBlbmROb2RlKG5ld0xpc3RJdGVtLCBu
ZXdMaXN0KTsKKyAgICBhcHBlbmROb2RlKHBsYWNlaG9sZGVyLCBuZXdMaXN0SXRlbSk7CisKKyAg
ICBtb3ZlUGFyYWdyYXBoKHN0YXJ0T2ZQYXJhZ3JhcGgoZW5kT2ZDdXJyZW50UGFyYWdyYXBoKSwg
ZW5kT2ZDdXJyZW50UGFyYWdyYXBoLCBWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24ocGxhY2Vob2xk
ZXIsIDApKSwgdHJ1ZSk7CiAKICAgICBpZiAoY2FuTWVyZ2VMaXN0cyhwcmV2aW91c0xpc3QsIG5l
d0xpc3QuZ2V0KCkpKQogICAgICAgICBtZXJnZUlkZW50aWNhbEVsZW1lbnRzKHByZXZpb3VzTGlz
dCwgbmV3TGlzdCk7CkBAIC05OCw3OSArMTMzLDI5IEBAIGJvb2wgSW5kZW50T3V0ZGVudENvbW1h
bmQ6OnRyeUluZGVudGluZ0EKICAgICByZXR1cm4gdHJ1ZTsKIH0KICAgICAKLXZvaWQgSW5kZW50
T3V0ZGVudENvbW1hbmQ6OmluZGVudEludG9CbG9ja3F1b3RlKGNvbnN0IFZpc2libGVQb3NpdGlv
biYgc3RhcnRPZkN1cnJlbnRQYXJhZ3JhcGgsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYgZW5kT2ZD
dXJyZW50UGFyYWdyYXBoLCBSZWZQdHI8RWxlbWVudD4mIHRhcmdldEJsb2NrcXVvdGUsIE5vZGUq
IG5vZGVUb1NwbGl0VG8pCit2b2lkIEluZGVudE91dGRlbnRDb21tYW5kOjppbmRlbnRJbnRvQmxv
Y2txdW90ZShjb25zdCBWaXNpYmxlUG9zaXRpb24mIGVuZE9mQ3VycmVudFBhcmFncmFwaCwgY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiBlbmRPZk5leHRQYXJhZ3JhcGgsIFJlZlB0cjxFbGVtZW50PiYg
dGFyZ2V0QmxvY2txdW90ZSkKIHsKICAgICBOb2RlKiBlbmNsb3NpbmdDZWxsID0gMDsKIAogICAg
IGlmICghdGFyZ2V0QmxvY2txdW90ZSkgewotICAgICAgICAvLyBDcmVhdGUgYSBuZXcgYmxvY2tx
dW90ZSBhbmQgaW5zZXJ0IGl0IGFzIGEgY2hpbGQgb2YgdGhlIGVuY2xvc2luZyBibG9jayBlbGVt
ZW50LiBXZSBhY2NvbXBsaXNoCisgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBibG9ja3F1b3RlIGFu
ZCBpbnNlcnQgaXQgYXMgYSBjaGlsZCBvZiB0aGUgcm9vdCBlZGl0YWJsZSBlbGVtZW50LiBXZSBh
Y2NvbXBsaXNoCiAgICAgICAgIC8vIHRoaXMgYnkgc3BsaXR0aW5nIGFsbCBwYXJlbnRzIG9mIHRo
ZSBjdXJyZW50IHBhcmFncmFwaCB1cCB0byB0aGF0IHBvaW50LgogICAgICAgICB0YXJnZXRCbG9j
a3F1b3RlID0gY3JlYXRlSW5kZW50QmxvY2txdW90ZUVsZW1lbnQoZG9jdW1lbnQoKSk7Ci0gICAg
ICAgIGlmIChpc1RhYmxlQ2VsbChub2RlVG9TcGxpdFRvKSkKLSAgICAgICAgICAgIGVuY2xvc2lu
Z0NlbGwgPSBub2RlVG9TcGxpdFRvOwotICAgICAgICBSZWZQdHI8Tm9kZT4gc3RhcnRPZk5ld0Js
b2NrID0gc3BsaXRUcmVlVG9Ob2RlKHN0YXJ0T2ZDdXJyZW50UGFyYWdyYXBoLmRlZXBFcXVpdmFs
ZW50KCkubm9kZSgpLCBub2RlVG9TcGxpdFRvKTsKKyAgICAgICAgUG9zaXRpb24gc3RhcnQgPSBz
dGFydE9mUGFyYWdyYXBoKGVuZE9mQ3VycmVudFBhcmFncmFwaCkuZGVlcEVxdWl2YWxlbnQoKTsK
KyAgICAgICAgZW5jbG9zaW5nQ2VsbCA9IGVuY2xvc2luZ05vZGVPZlR5cGUoc3RhcnQsICZpc1Rh
YmxlQ2VsbCk7CisgICAgICAgIE5vZGUqIG5vZGVUb1NwbGl0VG8gPSBlbmNsb3NpbmdDZWxsID8g
ZW5jbG9zaW5nQ2VsbCA6IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHN0YXJ0KTsKKyAgICAgICAg
UmVmUHRyPE5vZGU+IHN0YXJ0T2ZOZXdCbG9jayA9IHNwbGl0VHJlZVRvTm9kZShzdGFydC5ub2Rl
KCksIG5vZGVUb1NwbGl0VG8pOwogICAgICAgICBpbnNlcnROb2RlQmVmb3JlKHRhcmdldEJsb2Nr
cXVvdGUsIHN0YXJ0T2ZOZXdCbG9jayk7CiAgICAgfQogCi0gICAgVmlzaWJsZVBvc2l0aW9uIGVu
ZE9mTmV4dFBhcmFncmFwaCA9IGVuZE9mUGFyYWdyYXBoKGVuZE9mQ3VycmVudFBhcmFncmFwaC5u
ZXh0KCkpOwotICAgIGFwcGVuZFBhcmFncmFwaEludG9Ob2RlKHN0YXJ0T2ZDdXJyZW50UGFyYWdy
YXBoLCBlbmRPZkN1cnJlbnRQYXJhZ3JhcGgsIHRhcmdldEJsb2NrcXVvdGUuZ2V0KCkpOworICAg
IFJlZlB0cjxFbGVtZW50PiBpbnNlcnRpb25Qb2ludCA9IHByZXBhcmVCbG9ja3F1b3RlTGV2ZWxG
b3JJbnNlcnRpb24oZW5kT2ZDdXJyZW50UGFyYWdyYXBoLCB0YXJnZXRCbG9ja3F1b3RlKTsKIAog
ICAgIC8vIERvbid0IHB1dCB0aGUgbmV4dCBwYXJhZ3JhcGggaW4gdGhlIGJsb2NrcXVvdGUgd2Ug
anVzdCBjcmVhdGVkIGZvciB0aGlzIHBhcmFncmFwaCB1bmxlc3MgCiAgICAgLy8gdGhlIG5leHQg
cGFyYWdyYXBoIGlzIGluIHRoZSBzYW1lIGNlbGwuCiAgICAgaWYgKGVuY2xvc2luZ0NlbGwgJiYg
ZW5jbG9zaW5nQ2VsbCAhPSBlbmNsb3NpbmdOb2RlT2ZUeXBlKGVuZE9mTmV4dFBhcmFncmFwaC5k
ZWVwRXF1aXZhbGVudCgpLCAmaXNUYWJsZUNlbGwpKQogICAgICAgICB0YXJnZXRCbG9ja3F1b3Rl
ID0gMDsKLX0KLQotLy8gRW5jbG9zZSBhbGwgbm9kZXMgYmV0d2VlbiBzdGFydCBhbmQgZW5kIGJ5
IG5ld1BhcmVudCwgd2hpY2ggaXMgYSBzaWJsaW5nIG5vZGUgb2Ygbm9kZXMgYmV0d2VlbiBzdGFy
dCBhbmQgZW5kCi0vLyBGSVhNRTogbW92ZVBhcmFncmFwaCBpcyBvdmVybHkgY29tcGxpY2F0ZWQu
ICBXZSBuZWVkIHRvIGNsZWFuIHVwIG1vdmVQYXJhZ3JhcGggc28gdGhhdCBpdCB1c2VzIGFwcGVu
ZFBhcmFncmFwaEludG9Ob2RlCi0vLyBvciBwcmVwYXJlIG1vcmUgc3BlY2lhbGl6ZWQgZnVuY3Rp
b25zIGFuZCBkZWxldGUgbW92ZVBhcmFncmFwaAotdm9pZCBJbmRlbnRPdXRkZW50Q29tbWFuZDo6
YXBwZW5kUGFyYWdyYXBoSW50b05vZGUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBzdGFydCwgY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiBlbmQsIE5vZGUqIG5ld1BhcmVudCkKLXsKLSAgICBBU1NFUlQo
bmV3UGFyZW50KTsKLSAgICBBU1NFUlQobmV3UGFyZW50LT5pc0NvbnRlbnRFZGl0YWJsZSgpKTsK
LSAgICBBU1NFUlQoaXNTdGFydE9mUGFyYWdyYXBoKHN0YXJ0KSAmJiBpc0VuZE9mUGFyYWdyYXBo
KGVuZCkpOwotCi0gICAgUG9zaXRpb24gZW5kT2ZQYXJhZ3JhcGggPSBlbmQuZGVlcEVxdWl2YWxl
bnQoKS5kb3duc3RyZWFtKCk7Ci0gICAgTm9kZSogaW5zZXJ0aW9uUG9pbnQgPSBuZXdQYXJlbnQt
Pmxhc3RDaGlsZCgpOy8vIFJlbWVtYmVyIHRoZSBwbGFjZSB0byBwdXQgYnIgbGF0ZXIKLSAgICAv
LyBMb29rIGZvciB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsYXN0IHBhcmFncmFwaCBpbiBuZXdQYXJl
bnQKLSAgICBOb2RlKiBzdGFydE9mTGFzdFBhcmFncmFwaCA9IHN0YXJ0T2ZQYXJhZ3JhcGgoUG9z
aXRpb24obmV3UGFyZW50LCBuZXdQYXJlbnQtPmNoaWxkTm9kZUNvdW50KCkpKS5kZWVwRXF1aXZh
bGVudCgpLm5vZGUoKTsKLSAgICBpZiAoc3RhcnRPZkxhc3RQYXJhZ3JhcGggJiYgIXN0YXJ0T2ZM
YXN0UGFyYWdyYXBoLT5pc0Rlc2NlbmRhbnRPZihuZXdQYXJlbnQpKQotICAgICAgICBzdGFydE9m
TGFzdFBhcmFncmFwaCA9IDA7Ci0KLSAgICAvLyBFeHRlbmQgdGhlIHJhbmdlIHNvIHRoYXQgd2Ug
Y2FuIGFwcGVuZCB3cmFwcGluZyBub2RlcyBhcyB3ZWxsIGlmIHRoZXkncmUgY29udGFpbmQgd2l0
aGluIHRoZSBwYXJhZ3JhcGgKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBSZWZQdHI8
UmFuZ2U+IHNlbGVjdGVkUmFuZ2UgPSBjcmVhdGVSYW5nZShkb2N1bWVudCgpLCBzdGFydCwgZW5k
LCBlYyk7Ci0gICAgUmVmUHRyPFJhbmdlPiBleHRlbmRlZFJhbmdlID0gZXh0ZW5kUmFuZ2VUb1dy
YXBwaW5nTm9kZXMoc2VsZWN0ZWRSYW5nZSwgc2VsZWN0ZWRSYW5nZS5nZXQoKSwgbmV3UGFyZW50
LT5wYXJlbnROb2RlKCkpOwotICAgIG5ld1BhcmVudC0+YXBwZW5kQ2hpbGQoZXh0ZW5kZWRSYW5n
ZS0+ZXh0cmFjdENvbnRlbnRzKGVjKSwgZWMpOwotCi0gICAgLy8gSWYgdGhlIHN0YXJ0IG9mIHBh
cmFncmFwaCBkaWRuJ3QgY2hhbmdlIGJ5IGFwcGVuZGluZyBub2Rlcywgd2Ugc2hvdWxkIGluc2Vy
dCBiciB0byBzZXBlcmF0ZSB0aGUgcGFyYWdyYXBocy4KLSAgICBOb2RlKiBzdGFydE9mTmV3UGFy
YWdyYXBoID0gc3RhcnRPZlBhcmFncmFwaChQb3NpdGlvbihuZXdQYXJlbnQsIG5ld1BhcmVudC0+
Y2hpbGROb2RlQ291bnQoKSkpLmRlZXBFcXVpdmFsZW50KCkubm9kZSgpOwotICAgIGlmIChzdGFy
dE9mTmV3UGFyYWdyYXBoID09IHN0YXJ0T2ZMYXN0UGFyYWdyYXBoKSB7Ci0gICAgICAgIGlmIChp
bnNlcnRpb25Qb2ludCkKLSAgICAgICAgICAgIG5ld1BhcmVudC0+aW5zZXJ0QmVmb3JlKGNyZWF0
ZUJyZWFrRWxlbWVudChkb2N1bWVudCgpKSwgaW5zZXJ0aW9uUG9pbnQtPm5leHRTaWJsaW5nKCks
IGVjKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbmV3UGFyZW50LT5hcHBlbmRDaGlsZChj
cmVhdGVCcmVha0VsZW1lbnQoZG9jdW1lbnQoKSksIGVjKTsKLSAgICB9Ci0KLSAgICAvLyBSZW1v
dmUgdW5uZWNlc3NhcnkgYnIgZnJvbSB0aGUgcGxhY2Ugd2hlcmUgd2UgbW92ZWQgdGhlIHBhcmFn
cmFwaCBmcm9tCi0gICAgcmVtb3ZlVW5uZWNlc3NhcnlMaW5lQnJlYWtBdChlbmRPZlBhcmFncmFw
aCk7Ci19CiAKLXZvaWQgSW5kZW50T3V0ZGVudENvbW1hbmQ6OnJlbW92ZVVubmVjZXNzYXJ5TGlu
ZUJyZWFrQXQoY29uc3QgUG9zaXRpb24mIGVuZE9mUGFyYWdyYXBoKQotewotICAgIC8vIElmIHRo
ZXJlIGlzIHNvbWV0aGluZyBpbiB0aGlzIHBhcmFncmFwaCwgdGhlbiBkb24ndCByZW1vdmUgYnIu
Ci0gICAgaWYgKCFpc1N0YXJ0T2ZQYXJhZ3JhcGgoZW5kT2ZQYXJhZ3JhcGgpIHx8ICFpc0VuZE9m
UGFyYWdyYXBoKGVuZE9mUGFyYWdyYXBoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gV2Ug
b25seSBjYXJlIGFib3V0IGJyIGF0IHRoZSBlbmQgb2YgcGFyYWdyYXBoCi0gICAgTm9kZSogYnIg
PSBlbmRPZlBhcmFncmFwaC5ub2RlKCk7Ci0gICAgTm9kZSogcGFyZW50Tm9kZSA9IGJyLT5wYXJl
bnROb2RlKCk7Ci0KLSAgICAvLyBJZiB0aGUgbm9kZSBpc24ndCBiciBvciB0aGUgcGFyZW50IG5v
ZGUgaXMgZW1wdHksIHRoZW4gZG9uJ3QgcmVtb3ZlLgotICAgIGlmICghYnItPmhhc1RhZ05hbWUo
YnJUYWcpIHx8IGlzVmlzaWJseUFkamFjZW50KHBvc2l0aW9uSW5QYXJlbnRCZWZvcmVOb2RlKHBh
cmVudE5vZGUpLCBwb3NpdGlvbkluUGFyZW50QWZ0ZXJOb2RlKHBhcmVudE5vZGUpKSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgcmVtb3ZlTm9kZUFuZFBydW5lQW5jZXN0b3JzKGJyKTsKKyAgICBt
b3ZlUGFyYWdyYXBoKHN0YXJ0T2ZQYXJhZ3JhcGgoZW5kT2ZDdXJyZW50UGFyYWdyYXBoKSwgZW5k
T2ZDdXJyZW50UGFyYWdyYXBoLCBWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24oaW5zZXJ0aW9uUG9p
bnQsIDApKSwgdHJ1ZSk7CiB9CiAKIHZvaWQgSW5kZW50T3V0ZGVudENvbW1hbmQ6OmluZGVudFJl
Z2lvbigpCkBAIC0xNzgsNyArMTYzLDggQEAgdm9pZCBJbmRlbnRPdXRkZW50Q29tbWFuZDo6aW5k
ZW50UmVnaW9uKAogICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uID0gc2VsZWN0aW9uRm9y
UGFyYWdyYXBoSXRlcmF0aW9uKGVuZGluZ1NlbGVjdGlvbigpKTsKICAgICBWaXNpYmxlUG9zaXRp
b24gc3RhcnRPZlNlbGVjdGlvbiA9IHNlbGVjdGlvbi52aXNpYmxlU3RhcnQoKTsKICAgICBWaXNp
YmxlUG9zaXRpb24gZW5kT2ZTZWxlY3Rpb24gPSBzZWxlY3Rpb24udmlzaWJsZUVuZCgpOwotICAg
IFJlZlB0cjxSYW5nZT4gc2VsZWN0ZWRSYW5nZSA9IHNlbGVjdGlvbi5maXJzdFJhbmdlKCk7Cisg
ICAgaW50IHN0YXJ0SW5kZXggPSBpbmRleEZvclZpc2libGVQb3NpdGlvbihzdGFydE9mU2VsZWN0
aW9uKTsKKyAgICBpbnQgZW5kSW5kZXggPSBpbmRleEZvclZpc2libGVQb3NpdGlvbihlbmRPZlNl
bGVjdGlvbik7CiAKICAgICBBU1NFUlQoIXN0YXJ0T2ZTZWxlY3Rpb24uaXNOdWxsKCkpOwogICAg
IEFTU0VSVCghZW5kT2ZTZWxlY3Rpb24uaXNOdWxsKCkpOwpAQCAtMjAzLDI0ICsxODksMTAgQEAg
dm9pZCBJbmRlbnRPdXRkZW50Q29tbWFuZDo6aW5kZW50UmVnaW9uKAogICAgICAgICBWaXNpYmxl
UG9zaXRpb24gZW5kT2ZOZXh0UGFyYWdyYXBoID0gZW5kT2ZQYXJhZ3JhcGgoZW5kT2ZDdXJyZW50
UGFyYWdyYXBoLm5leHQoKSk7CiAgICAgICAgIGlmICh0cnlJbmRlbnRpbmdBc0xpc3RJdGVtKGVu
ZE9mQ3VycmVudFBhcmFncmFwaCkpCiAgICAgICAgICAgICBibG9ja3F1b3RlRm9yTmV4dEluZGVu
dCA9IDA7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHN0YXJ0
T2ZDdXJyZW50UGFyYWdyYXBoID0gc3RhcnRPZlBhcmFncmFwaChlbmRPZkN1cnJlbnRQYXJhZ3Jh
cGgpOwotICAgICAgICAgICAgTm9kZSogYmxvY2tOb2RlID0gZW5jbG9zaW5nQmxvY2soZW5kT2ZD
dXJyZW50UGFyYWdyYXBoLmRlZXBFcXVpdmFsZW50KCkubm9kZSgpLT5wYXJlbnROb2RlKCkpOwot
ICAgICAgICAgICAgLy8gZXh0ZW5kIHRoZSByZWdpb24gc28gdGhhdCBpdCBjb250YWlucyBhbGwg
dGhlIGFuY2VzdG9yIGJsb2NrcyB3aXRoaW4gdGhlIHNlbGVjdGlvbgotICAgICAgICAgICAgRXhj
ZXB0aW9uQ29kZSBlYzsKLSAgICAgICAgICAgIEVsZW1lbnQqIHVuc3BsaXR0YWJsZU5vZGUgPSB1
bnNwbGl0dGFibGVFbGVtZW50Rm9yUG9zaXRpb24oZW5kT2ZDdXJyZW50UGFyYWdyYXBoLmRlZXBF
cXVpdmFsZW50KCkpOwotICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBvcmlnaW5hbFJhbmdlID0g
Y3JlYXRlUmFuZ2UoZG9jdW1lbnQoKSwgZW5kT2ZDdXJyZW50UGFyYWdyYXBoLCBlbmRPZkN1cnJl
bnRQYXJhZ3JhcGgsIGVjKTsKLSAgICAgICAgICAgIFJlZlB0cjxSYW5nZT4gZXh0ZW5kZWRSYW5n
ZSA9IGV4dGVuZFJhbmdlVG9XcmFwcGluZ05vZGVzKG9yaWdpbmFsUmFuZ2UsIHNlbGVjdGVkUmFu
Z2UuZ2V0KCksIHVuc3BsaXR0YWJsZU5vZGUpOwotICAgICAgICAgICAgaWYgKG9yaWdpbmFsUmFu
Z2UgIT0gZXh0ZW5kZWRSYW5nZSkgewotICAgICAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwotICAgICAgICAgICAgICAgIGVuZE9mQ3VycmVudFBhcmFncmFwaCA9IGVuZE9mUGFyYWdy
YXBoKGV4dGVuZGVkUmFuZ2UtPmVuZFBvc2l0aW9uKCkucHJldmlvdXMoKSk7Ci0gICAgICAgICAg
ICAgICAgYmxvY2tOb2RlID0gZW5jbG9zaW5nQmxvY2soZXh0ZW5kZWRSYW5nZS0+Y29tbW9uQW5j
ZXN0b3JDb250YWluZXIoZWMpKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZW5kT2ZO
ZXh0UGFyYWdyYXBoID0gZW5kT2ZQYXJhZ3JhcGgoZW5kT2ZDdXJyZW50UGFyYWdyYXBoLm5leHQo
KSk7Ci0gICAgICAgICAgICBpbmRlbnRJbnRvQmxvY2txdW90ZShzdGFydE9mQ3VycmVudFBhcmFn
cmFwaCwgZW5kT2ZDdXJyZW50UGFyYWdyYXBoLCBibG9ja3F1b3RlRm9yTmV4dEluZGVudCwgYmxv
Y2tOb2RlKTsKLSAgICAgICAgICAgIC8vIGJsb2NrcXVvdGVGb3JOZXh0SW5kZW50IHdpbGwgYmUg
dXBkYXRlZCBpbiB0aGUgZnVuY3Rpb24KLSAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAg
ICAgICBpbmRlbnRJbnRvQmxvY2txdW90ZShlbmRPZkN1cnJlbnRQYXJhZ3JhcGgsIGVuZE9mTmV4
dFBhcmFncmFwaCwgYmxvY2txdW90ZUZvck5leHRJbmRlbnQpOworICAgICAgICAgICAgLy8gYmxv
Y2txdW90ZUZvck5leHRJbmRlbnQgbWF5YmUgdXBkYXRlZAorICAgICAgICAgICAgLy8gdGhpcyBp
cyBkdWUgdG8gdGhlIHdheSBwcmVwYXJlQmxvY2txdW90ZUxldmVsRm9ySW5zZXJ0aW9uIHdhcyBk
ZXNpZ25lZC4KICAgICAgICAgLy8gU2FuaXR5IGNoZWNrOiBNYWtlIHN1cmUgb3VyIG1vdmVQYXJh
Z3JhcGggY2FsbHMgZGlkbid0IHJlbW92ZSBlbmRPZk5leHRQYXJhZ3JhcGguZGVlcEVxdWl2YWxl
bnQoKS5ub2RlKCkKICAgICAgICAgLy8gSWYgc29tZWhvdyB3ZSBkaWQsIHJldHVybiB0byBwcmV2
ZW50IGNyYXNoZXMuCiAgICAgICAgIGlmIChlbmRPZk5leHRQYXJhZ3JhcGguaXNOb3ROdWxsKCkg
JiYgIWVuZE9mTmV4dFBhcmFncmFwaC5kZWVwRXF1aXZhbGVudCgpLm5vZGUoKS0+aW5Eb2N1bWVu
dCgpKSB7CkBAIC0yMjksNyArMjAxLDEzIEBAIHZvaWQgSW5kZW50T3V0ZGVudENvbW1hbmQ6Omlu
ZGVudFJlZ2lvbigKICAgICAgICAgfQogICAgICAgICBlbmRPZkN1cnJlbnRQYXJhZ3JhcGggPSBl
bmRPZk5leHRQYXJhZ3JhcGg7CiAgICAgfQotCisgICAgCisgICAgdXBkYXRlTGF5b3V0KCk7Cisg
ICAgCisgICAgUmVmUHRyPFJhbmdlPiBzdGFydFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUZy
b21Mb2NhdGlvbkFuZExlbmd0aChkb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSwgc3RhcnRJ
bmRleCwgMCwgdHJ1ZSk7CisgICAgUmVmUHRyPFJhbmdlPiBlbmRSYW5nZSA9IFRleHRJdGVyYXRv
cjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50
KCksIGVuZEluZGV4LCAwLCB0cnVlKTsKKyAgICBpZiAoc3RhcnRSYW5nZSAmJiBlbmRSYW5nZSkK
KyAgICAgICAgc2V0RW5kaW5nU2VsZWN0aW9uKFZpc2libGVTZWxlY3Rpb24oc3RhcnRSYW5nZS0+
c3RhcnRQb3NpdGlvbigpLCBlbmRSYW5nZS0+c3RhcnRQb3NpdGlvbigpLCBET1dOU1RSRUFNKSk7
CiB9CiAKIHZvaWQgSW5kZW50T3V0ZGVudENvbW1hbmQ6Om91dGRlbnRQYXJhZ3JhcGgoKQpJbmRl
eDogV2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgJKHJldmlzaW9uIDQ5MzkzKQor
KysgV2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ2LDE0ICs0NiwxMiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkb0FwcGx5KCk7
CiAgICAgdmlydHVhbCBFZGl0QWN0aW9uIGVkaXRpbmdBY3Rpb24oKSBjb25zdCB7IHJldHVybiBt
X3R5cGVPZkFjdGlvbiA9PSBJbmRlbnQgPyBFZGl0QWN0aW9uSW5kZW50IDogRWRpdEFjdGlvbk91
dGRlbnQ7IH0KIAotICAgIHZvaWQgYXBwZW5kUGFyYWdyYXBoSW50b05vZGUoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiBzdGFydCwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBlbmQsIE5vZGUqIG5ld1Bh
cmVudCk7Ci0gICAgdm9pZCByZW1vdmVVbm5lY2Vzc2FyeUxpbmVCcmVha0F0KGNvbnN0IFBvc2l0
aW9uJiBlbmRPZlBhcmFncmFwaCk7Ci0KICAgICB2b2lkIGluZGVudFJlZ2lvbigpOwogICAgIHZv
aWQgb3V0ZGVudFJlZ2lvbigpOwogICAgIHZvaWQgb3V0ZGVudFBhcmFncmFwaCgpOworICAgIFBh
c3NSZWZQdHI8RWxlbWVudD4gcHJlcGFyZUJsb2NrcXVvdGVMZXZlbEZvckluc2VydGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24mLCBSZWZQdHI8RWxlbWVudD4mKTsKICAgICBib29sIHRyeUluZGVu
dGluZ0FzTGlzdEl0ZW0oY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7Ci0gICAgdm9pZCBpbmRlbnRJ
bnRvQmxvY2txdW90ZShjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBjb25zdCBWaXNpYmxlUG9zaXRp
b24mLCBSZWZQdHI8RWxlbWVudD4mIHRhcmdldEJsb2NrcXVvdGUsIE5vZGUqIG5vZGVUb1NwbGl0
VG8pOworICAgIHZvaWQgaW5kZW50SW50b0Jsb2NrcXVvdGUoY29uc3QgVmlzaWJsZVBvc2l0aW9u
JiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiwgUmVmUHRyPEVsZW1lbnQ+Jik7CiAKICAgICBFSW5k
ZW50VHlwZSBtX3R5cGVPZkFjdGlvbjsKICAgICBpbnQgbV9tYXJnaW5JblBpeGVsczsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDQ5Mzk4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMDktMTAtMDkgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNh
QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVbmRvaW5nIGEgaW5kZW50IHJlbW92ZXMgdGV4dCBpbnN0ZWFkIG9mIGl0J3MgZm9ybWF0
dGluZy4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxNjkyMDY+CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODcyMgorICAgICAgICBBZGRlZCB0ZXN0
IGNhc2UgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk5NQor
CisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC8xOTY1My0xLWV4cGVjdGVkLnR4dDogUmUt
YmFzZWxpbmVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LWRpdi1pbnNp
ZGUtbGlzdC1leHBlY3RlZC50eHQ6IFJlLWJhc2VsaW5lZC4KKyAgICAgICAgKiBlZGl0aW5nL2V4
ZWNDb21tYW5kL2luZGVudC1uZXN0ZWQtYmxvY2txdW90ZXMtZXhwZWN0ZWQudHh0OiBSZS1iYXNl
bGluZWQuCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWRpdi1l
eHBlY3RlZC50eHQ6IFJlLWJhc2VsaW5lZC4KKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5k
L2luZGVudC1zZWNvbmQtcGFyYWdyYXBoLWluLWJsb2NrcXVvdGUtZXhwZWN0ZWQudHh0OiBSZS1i
YXNlbGluZWQuCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtd2l0aC1zdHls
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5k
ZW50LXdpdGgtc3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy91bmRvL3VuZG8t
aW5kZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy91bmRvL3VuZG8t
aW5kZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL2V4ZWND
b21tYW5kLzQ2NDE4ODAtMi1leHBlY3RlZC50eHQ6IFJlLWJhc2VsaW5lZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29tbWFuZC80OTE2NTQxLWV4cGVjdGVkLnR4dDogUmUt
YmFzZWxpbmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL2V4ZWNDb21tYW5kLzUx
Mzg0NDEtZXhwZWN0ZWQudHh0OiBSZS1iYXNlbGluZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2VkaXRpbmcvZXhlY0NvbW1hbmQvNTQ4MTUyMy1leHBlY3RlZC50eHQ6IFJlLWJhc2VsaW5lZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dDogUmUtYmFzZWxpbmVkLgorCiAyMDA5LTEwLTA5ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXF1ZXN0ZWQgYnkgTWFyayBSb3dlLgpJ
bmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC8xOTY1My0xLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kLzE5NjUzLTEt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTM5MykKKysrIExheW91dFRlc3RzL2VkaXRpbmcvZXhl
Y0NvbW1hbmQvMTk2NTMtMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3
IEBAIFRoaXMgdGVzdHMgY3JlYXRpbmcgYSBsaXN0IGZyb20gYW4gZW1wdHkKIDx1bD48bGk+PGI+
Qm9sZDwvYj48L2xpPjwvdWw+CiAKIFRoaXMgdGVzdHMgaW5kZW50aW5nIGFuIGVtcHR5IHBhcmFn
cmFwaCB3aXRoIGJvbGQgYWxyZWFkeSBhcHBsaWVkIHRvIGl0LiBUaGUgd29yZCBiZWxvdyBzaG91
bGQgYmUgYm9sZC4KLTxibG9ja3F1b3RlIGNsYXNzPSJ3ZWJraXQtaW5kZW50LWJsb2NrcXVvdGUi
IHN0eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMHB4OyI+
PGRpdj48Yj5Cb2xkPC9iPjwvZGl2PjwvYmxvY2txdW90ZT4KKzxibG9ja3F1b3RlIGNsYXNzPSJ3
ZWJraXQtaW5kZW50LWJsb2NrcXVvdGUiIHN0eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJvcmRl
cjogbm9uZTsgcGFkZGluZzogMHB4OyI+PGI+Qm9sZDwvYj48L2Jsb2NrcXVvdGU+CiAKIFRoaXMg
dGVzdHMgaW5kZW50aW5nIGFuIGVtcHR5IHBhcmFncmFwaCB3aGVuIHRoZSB0eXBpbmcgc3R5bGUg
d2FzIEJvbGQuIFRoZSB3b3JkIGJlbG93IHNob3VsZCBiZSBib2xkLgogPGJsb2NrcXVvdGUgY2xh
c3M9IndlYmtpdC1pbmRlbnQtYmxvY2txdW90ZSIgc3R5bGU9Im1hcmdpbjogMCAwIDAgNDBweDsg
Ym9yZGVyOiBub25lOyBwYWRkaW5nOiAwcHg7Ij48Yj5Cb2xkPC9iPjwvYmxvY2txdW90ZT4KSW5k
ZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LWRpdi1pbnNpZGUtbGlz
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29t
bWFuZC9pbmRlbnQtZGl2LWluc2lkZS1saXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDkzOTMp
CisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1kaXYtaW5zaWRlLWxp
c3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDQgKzQsNCBAQCBhCiBoZWxsbwog
d29ybGQKIGIKLWEgPHVsPiA8bGk+aGVsbG88YmxvY2txdW90ZSBjbGFzcz0id2Via2l0LWluZGVu
dC1ibG9ja3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7IHBh
ZGRpbmc6IDBweDsiPjxkaXYgaWQ9InRlc3QiPiB3b3JsZCA8L2Rpdj48L2Jsb2NrcXVvdGU+PC9s
aT48L3VsPiBiCithIDx1bD4gPGxpPmhlbGxvPC9saT48L3VsPjxibG9ja3F1b3RlIGNsYXNzPSJ3
ZWJraXQtaW5kZW50LWJsb2NrcXVvdGUiIHN0eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJvcmRl
cjogbm9uZTsgcGFkZGluZzogMHB4OyI+d29ybGQ8L2Jsb2NrcXVvdGU+IGIKSW5kZXg6IExheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1ibG9ja3F1b3Rlcy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9p
bmRlbnQtbmVzdGVkLWJsb2NrcXVvdGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDkzOTMpCisr
KyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1uZXN0ZWQtYmxvY2txdW90
ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDQgKzQsNCBAQCBoZWxsbwogd29y
bGQKIHdlYmtpdAogaXMgZ3JlYXQKLTxibG9ja3F1b3RlIGlkPSJvdXRlciI+IGhlbGxvIDxibG9j
a3F1b3RlIGlkPSJpbm5lciI+IHdvcmxkPGJyPjxibG9ja3F1b3RlIGNsYXNzPSJ3ZWJraXQtaW5k
ZW50LWJsb2NrcXVvdGUiIHN0eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJvcmRlcjogbm9uZTsg
cGFkZGluZzogMHB4OyI+IHdlYmtpdCA8L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPiBpcyBncmVh
dCA8L2Jsb2NrcXVvdGU+Cis8YmxvY2txdW90ZSBpZD0ib3V0ZXIiPiBoZWxsbyA8YmxvY2txdW90
ZSBpZD0iaW5uZXIiPiB3b3JsZDxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjxibG9ja3F1
b3RlIGNsYXNzPSJ3ZWJraXQtaW5kZW50LWJsb2NrcXVvdGUiIHN0eWxlPSJtYXJnaW46IDAgMCAw
IDQwcHg7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMHB4OyI+PGJsb2NrcXVvdGUgY2xhc3M9Indl
YmtpdC1pbmRlbnQtYmxvY2txdW90ZSIgc3R5bGU9Im1hcmdpbjogMCAwIDAgNDBweDsgYm9yZGVy
OiBub25lOyBwYWRkaW5nOiAwcHg7Ij48YmxvY2txdW90ZSBjbGFzcz0id2Via2l0LWluZGVudC1i
bG9ja3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRp
bmc6IDBweDsiPndlYmtpdDwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjxi
bG9ja3F1b3RlIGlkPSJvdXRlciI+IGlzIGdyZWF0IDwvYmxvY2txdW90ZT4KSW5kZXg6IExheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1kaXYtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5l
c3RlZC1kaXYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTM5MykKKysrIExheW91dFRlc3RzL2Vk
aXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1kaXYtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQgKzEsNCBAQAogVGhpcyB0ZXN0cyBpbmRlbnRpbmcgbmVzdGVkIGRpdnMu
IEJ5IGluZGVudGluZyAiaGVsbG8iLCB3ZSBzaG91bGQgYmUgYWJsZSB0byBlbmNsb3NlIGFsbCB0
aHJlZSBibG9ja3MgMSB0aHJvdWdoIDMgYnkgYSBibG9ja3F1b3RlCiAKIGhlbGxvCi08YmxvY2tx
dW90ZSBjbGFzcz0id2Via2l0LWluZGVudC1ibG9ja3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwIDAg
MCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDBweDsiPjxkaXYgaWQ9ImJsb2NrMSI+PGRp
diBpZD0iYmxvY2syIj48ZGl2IGlkPSJibG9jazMiPmhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+PC9i
bG9ja3F1b3RlPgorPGJsb2NrcXVvdGUgY2xhc3M9IndlYmtpdC1pbmRlbnQtYmxvY2txdW90ZSIg
c3R5bGU9Im1hcmdpbjogMCAwIDAgNDBweDsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwcHg7Ij5o
ZWxsbzwvYmxvY2txdW90ZT4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQv
aW5kZW50LXNlY29uZC1wYXJhZ3JhcGgtaW4tYmxvY2txdW90ZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtc2Vjb25kLXBh
cmFncmFwaC1pbi1ibG9ja3F1b3RlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDkzOTMpCisrKyBM
YXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1zZWNvbmQtcGFyYWdyYXBoLWlu
LWJsb2NrcXVvdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDQgKzIsNCBAQCBU
aGlzIHRlc3RzIGluZGVudGluZyB0aGUgc2Vjb25kIHBhcmFncmFwCiAKIGhlbGxvCiB3b3JsZAot
PGJsb2NrcXVvdGUgaWQ9InRlc3QiPiBoZWxsbzxicj48YmxvY2txdW90ZSBjbGFzcz0id2Via2l0
LWluZGVudC1ibG9ja3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5v
bmU7IHBhZGRpbmc6IDBweDsiPiB3b3JsZCA8L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPgorPGJs
b2NrcXVvdGUgaWQ9InRlc3QiPiBoZWxsbzxicj48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUgY2xh
c3M9IndlYmtpdC1pbmRlbnQtYmxvY2txdW90ZSIgc3R5bGU9Im1hcmdpbjogMCAwIDAgNDBweDsg
Ym9yZGVyOiBub25lOyBwYWRkaW5nOiAwcHg7Ij48YmxvY2txdW90ZSBjbGFzcz0id2Via2l0LWlu
ZGVudC1ibG9ja3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7
IHBhZGRpbmc6IDBweDsiPndvcmxkPC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT4KSW5kZXg6IExh
eW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LXdpdGgtc3R5bGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50
LXdpdGgtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRp
dGluZy9leGVjQ29tbWFuZC9pbmRlbnQtd2l0aC1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTcgQEAKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZEJlZ2luRWRpdGlu
Z0luRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDkgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQKK0VESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRCZWdpbkVkaXRpbmc6V2ViVmlld0RpZEJlZ2luRWRpdGluZ05vdGlmaWNhdGlv
bgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gU1BBTiA+IEJMT0NLUVVPVEUgPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA1IG9mICN0ZXh0ID4gU1BBTiA+IEJMT0NLUVVPVEUg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmlu
aXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0
aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VO
b3RpZmljYXRpb24KK1RoaXMgdGVzdHMgaW5kZW50aW5nIHR3byBhbmQgdGhyZWUuIFlvdSBzaG91
bGQgc2VlIHR3byBhbmQgdGhyZWUgaW5kZW50ZWQgYW5kIHdpdGggdGhlIHNhbWUgYmFja2dyb3Vu
ZCBjb2xvciBhcyBvbmUgYW5kIGZvdXIuCitCdWcgMjM5OTUKKworb25lCit0d28KK3RocmVlCitm
b3VyCisKK0JlZm9yZSBvcmRlcmVkIGxpc3Q6IDxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxl
LXNwYW4iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAwLCAwKTsiPm9uZTwvc3Bh
bj48L2Rpdj4gPGRpdiBpZD0idGVzdDEiPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMCwgMCk7Ij50d288L3NwYW4+PC9kaXY+
IDxkaXYgaWQ9InRlc3QyIj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6IHJnYigyNTUsIDAsIDApOyI+dGhyZWU8L3NwYW4+PC9kaXY+IDxkaXY+
PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2IoMjU1LCAwLCAwKTsiPmZvdXI8L3NwYW4+PC9kaXY+CitBZnRlciBvcmRlcmVkOiA8ZGl2Pjxz
cGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdi
KDI1NSwgMCwgMCk7Ij5vbmU8L3NwYW4+PC9kaXY+IDxibG9ja3F1b3RlIGNsYXNzPSJ3ZWJraXQt
aW5kZW50LWJsb2NrcXVvdGUiIHN0eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJvcmRlcjogbm9u
ZTsgcGFkZGluZzogMHB4OyI+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJi
YWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAwLCAwKTsgIj50d288L3NwYW4+PGJyPjxzcGFuIGNs
YXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwg
MCwgMCk7ICI+dGhyZWU8L3NwYW4+PC9ibG9ja3F1b3RlPiA8ZGl2PjxzcGFuIGNsYXNzPSJBcHBs
ZS1zdHlsZS1zcGFuIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMCwgMCk7Ij5m
b3VyPC9zcGFuPjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9p
bmRlbnQtd2l0aC1zdHlsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcv
ZXhlY0NvbW1hbmQvaW5kZW50LXdpdGgtc3R5bGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LXdpdGgtc3R5bGUuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwzOSBAQAorPGh0bWw+Cis8Ym9keT4KK1RoaXMgdGVzdHMgaW5kZW50
aW5nIHR3byBhbmQgdGhyZWUuIFlvdSBzaG91bGQgc2VlIHR3byBhbmQgdGhyZWUgaW5kZW50ZWQg
YW5kIHdpdGggdGhlIHNhbWUgYmFja2dyb3VuZCBjb2xvciBhcyBvbmUgYW5kIGZvdXIuCis8cD4K
KzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk5NSI+
QnVnIDIzOTk1PC9hPgorPC9wPgorPGRpdiBpZD0iZSIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj4K
KyAgICA8ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iYmFja2dyb3Vu
ZC1jb2xvcjogcmdiKDI1NSwgMCwgMCk7Ij5vbmU8L3NwYW4+PC9kaXY+CisgICAgPGRpdiBpZD0i
dGVzdDEiPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iYmFja2dyb3VuZC1j
b2xvcjogcmdiKDI1NSwgMCwgMCk7Ij50d288L3NwYW4+PC9kaXY+CisgICAgPGRpdiBpZD0idGVz
dDIiPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv
cjogcmdiKDI1NSwgMCwgMCk7Ij50aHJlZTwvc3Bhbj48L2Rpdj4KKyAgICA8ZGl2PjxzcGFuIGNs
YXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwg
MCwgMCk7Ij5mb3VyPC9zcGFuPjwvZGl2PgorPC9kaXY+Cis8YnI+Cis8dWw+Cis8bGk+QmVmb3Jl
IG9yZGVyZWQgbGlzdDo8c3BhbiBpZD0iYzEiPjwvc3Bhbj48L2xpPgorPGxpPkFmdGVyIG9yZGVy
ZWQ6PHNwYW4gaWQ9ImMyIj48L3NwYW4+PC9saT4KKzwvdWw+CisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBFZGl0aW5nQ2FsbGJhY2tzKCk7CisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworfQorCit2YXIgZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdlJyk7Cit2YXIgdDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdDEi
KTsKK3ZhciB0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0MiIpOwordmFyIHMgPSB3
aW5kb3cuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisK
K3Iuc2V0U3RhcnQodDEsMCk7CityLnNldEVuZCh0MiwxKTsKK3MucmVtb3ZlQWxsUmFuZ2VzKCk7
CitzLmFkZFJhbmdlKHIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MxJykuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZS5pbm5lckhUTUwpKTsKK2RvY3VtZW50LmV4ZWND
b21tYW5kKCJJbmRlbnQiLCBmYWxzZSwgIiIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2My
JykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZS5pbm5lckhUTUwpKTsKKzwv
c2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8taW5kZW50LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vdW5kby1pbmRl
bnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRv
L3VuZG8taW5kZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMyBAQAor
RURJVElORyBERUxFR0FURTogc2hvdWxkQmVnaW5FZGl0aW5nSW5ET01SYW5nZTpyYW5nZSBmcm9t
IDAgb2YgT0wgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA5IG9mIE9MID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRC
ZWdpbkVkaXRpbmc6V2ViVmlld0RpZEJlZ2luRWRpdGluZ05vdGlmaWNhdGlvbgorRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAwIG9mICN0ZXh0ID4gTEkgPiBPTCA+IE9MID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG8gNSBvZiAjdGV4dCA+IExJID4gT0wgPiBPTCA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2Vs
ZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
OldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERP
TVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IExJID4gT0wg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIExJID4gT0wgPiBPTCA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlE
b3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24K
K0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlm
aWNhdGlvbgorVGhpcyB0ZXN0cyBpbmRlbnRpbmcgInRocmVlIiB0aGVuIHVuZG9pbmcgdGhlIGlu
ZGVudC4gWW91IHNob3VsZCBzZWUgb25lLCB0d28gYW5kIHRocmVlIG51bWJlcmVkIDEgdGhyb3Vn
aCAzIHRoZW4gZm91ciBhcyBhIHN1Ymxpc3Qgd2l0aCBudW1iZXIgMS4KK0J1Z3ppbGxhIGJ1ZyAK
K1JhZGFyIGJ1ZworCitvbmUKK3R3bwordGhyZWUKK2ZvdXIKK0JlZm9yZSBpbmRlbnQ6IDxsaT5v
bmU8L2xpPiA8bGk+dHdvPC9saT4gPGxpIGlkPSJ0ZXN0Ij50aHJlZTwvbGk+IDxvbD48bGk+Zm91
cjwvbGk+PC9vbD4KK0FmdGVyIGluZGVudDogPGxpPm9uZTwvbGk+IDxsaT50d288L2xpPiA8b2w+
PGxpIGlkPSJ0ZXN0Ij50aHJlZTwvbGk+PGxpPmZvdXI8L2xpPjwvb2w+CitBZnRlciB1bmRvaW5n
OiA8bGk+b25lPC9saT4gPGxpPnR3bzwvbGk+IDxsaSBpZD0idGVzdCI+dGhyZWU8L2xpPiA8b2w+
PGxpPmZvdXI8L2xpPjwvb2w+CitUaGUgdGVzdCBwYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL2Vk
aXRpbmcvdW5kby91bmRvLWluZGVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Vk
aXRpbmcvdW5kby91bmRvLWluZGVudC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvL3VuZG8taW5kZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTAg
QEAKKzxodG1sPgorPGJvZHk+Cis8ZGl2PgorVGhpcyB0ZXN0cyBpbmRlbnRpbmcgInRocmVlIiB0
aGVuIHVuZG9pbmcgdGhlIGluZGVudC4gWW91IHNob3VsZCBzZWUgb25lLCB0d28gYW5kIHRocmVl
IG51bWJlcmVkIDEgdGhyb3VnaCAzIHRoZW4gZm91ciBhcyBhIHN1Ymxpc3Qgd2l0aCBudW1iZXIg
MS4KKzxwPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI4NzIyIj5CdWd6aWxsYSBidWc8L2E+Cis8YnI+Cis8YSBocmVmPSJyZGFyOi8vcHJvYmxlbS83
MTY5MjA2Ij5SYWRhciBidWc8L2E+Cis8L3A+Cis8b2wgaWQ9ImUiIGNvbnRlbnRlZGl0YWJsZT0i
dHJ1ZSI+Cis8bGk+b25lPC9saT4KKzxsaT50d288L2xpPgorPGxpIGlkPSJ0ZXN0Ij50aHJlZTwv
bGk+Cis8b2w+PGxpPmZvdXI8L2xpPjwvb2w+Cis8L29sPgorPC9kaXY+CisKKzx1bD4KKzxsaT5C
ZWZvcmUgaW5kZW50OjxzcGFuIGlkPSJjMSI+PC9zcGFuPjwvbGk+Cis8bGk+QWZ0ZXIgaW5kZW50
OjxzcGFuIGlkPSJjMiI+PC9zcGFuPjwvbGk+Cis8bGk+QWZ0ZXIgdW5kb2luZzo8c3BhbiBpZD0i
YzMiPjwvc3Bhbj48L2xpPgorPC91bD4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEVkaXRpbmdDYWxsYmFja3MoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Cit9CisKK3ZhciBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Un
KTsKKworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MxJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoZS5pbm5lckhUTUwpKTsKKwordmFyIHMgPSB3aW5kb3cuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CityLnNlbGVjdE5vZGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKSk7CitzLnJlbW92ZUFsbFJhbmdlcygpOworcy5h
ZGRSYW5nZShyKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJJbmRlbnQiLCBmYWxzZSwgIiIpOwor
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MyJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUoZS5pbm5lckhUTUwpKTsKKworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlVuZG8iKTsK
K2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjMycpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKGUuaW5uZXJIVE1MKSk7CisKK2lmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
YzEnKS5pbm5lckhUTUwgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MzJykuaW5uZXJIVE1M
KQorICAgIGRvY3VtZW50LndyaXRlKCJUaGUgdGVzdCBwYXNzZWQiKTsKK2Vsc2UKKyAgICBkb2N1
bWVudC53cml0ZSgiVGhlIHRlc3QgZmFpbGVkLiIpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29tbWFuZC80NjQxODgwLTItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2V4ZWND
b21tYW5kLzQ2NDE4ODAtMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5MzkzKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvZXhlY0NvbW1hbmQvNDY0MTg4MC0yLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAgRURJVElORyBERUxFR0FURTogd2Vi
Vmlld0RpZEJlZ2luRWRpdGluZwogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERF
TEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FU
RTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBm
cm9tIDEgb2YgI3RleHQgPiBCTE9DS1FVT1RFID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG8gMzUgb2YgI3RleHQgPiBCTE9DS1FVT1RFID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rp
bmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6
KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gQkxPQ0tRVU9URSA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDM0IG9mICN0ZXh0ID4gQkxPQ0tRVU9URSA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5p
dHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRp
b24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5v
dGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCkBAIC0yNCw1ICsyNCw1IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDI0NngxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMjQ2OiAiVGhpcyBwYXJhZ3JhcGggc2hvdWxkIG5vdCBiZSBpbmRlbnRlZC4iCiAgICAgICAg
ICAgUmVuZGVyQlIge0JSfSBhdCAoMjQ2LDE0KSBzaXplIDB4MAotc2VsZWN0aW9uIHN0YXJ0OiBw
b3NpdGlvbiAxIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtCTE9DS1FVT1RFfSBvZiBj
aGlsZCAyIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3Vt
ZW50Ci1zZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDM1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBj
aGlsZCAwIHtCTE9DS1FVT1RFfSBvZiBjaGlsZCAyIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9m
IGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CitzZWxlY3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDAg
b2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0JMT0NLUVVPVEV9IG9mIGNoaWxkIDIge0RJ
Vn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKK3NlbGVj
dGlvbiBlbmQ6ICAgcG9zaXRpb24gMzQgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0JM
T0NLUVVPVEV9IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7
SFRNTH0gb2YgZG9jdW1lbnQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5n
L2V4ZWNDb21tYW5kLzQ5MTY1NDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2V4ZWNDb21tYW5kLzQ5MTY1NDEtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA0OTM5MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2V4
ZWNDb21tYW5kLzQ5MTY1NDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMCwxMyAr
MTAsMTEgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMTgpIHdpZHRoIDMyMDogIidmb28nIGFuZCAnYmFyJyBiZWZvcmUgYW5kIGFmdGVyIHRo
ZSBpbmRlbnQgb3BlcmF0aW9uLiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDUyKSBz
aXplIDc4NHgzNgogICAgICAgICBSZW5kZXJCbG9jayB7QkxPQ0tRVU9URX0gYXQgKDQwLDApIHNp
emUgNzQ0eDM2Ci0gICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDIx
eDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMXgxOAot
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMTogImZvbyIKKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMXgxOAorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMjE6ICJmb28iCiAgICAgICAgICAgUmVuZGVyQlIge0JSfSBh
dCAoMjEsMTQpIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDIweDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNp
emUgMjB4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDIwOiAiYmFy
IgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSAyMHgxOAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDIwOiAiYmFyIgogICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNikgc2l6ZSA3ODR4MAotc2VsZWN0aW9uIHN0YXJ0
OiBwb3NpdGlvbiAxIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtTUEFOfSBvZiBjaGls
ZCAwIHtCTE9DS1FVT1RFfSBvZiBjaGlsZCAyIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNo
aWxkIDAge0hUTUx9IG9mIGRvY3VtZW50Ci1zZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDIgb2Yg
Y2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDIge1NQQU59IG9mIGNoaWxkIDAge0JMT0NLUVVPVEV9
IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2Yg
ZG9jdW1lbnQKK3NlbGVjdGlvbiBzdGFydDogcG9zaXRpb24gMSBvZiBjaGlsZCAwIHsjdGV4dH0g
b2YgY2hpbGQgMCB7QkxPQ0tRVU9URX0gb2YgY2hpbGQgMiB7RElWfSBvZiBjaGlsZCAxIHtCT0RZ
fSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2VsZWN0aW9uIGVuZDogICBwb3NpdGlv
biAyIG9mIGNoaWxkIDIgeyN0ZXh0fSBvZiBjaGlsZCAwIHtCTE9DS1FVT1RFfSBvZiBjaGlsZCAy
IHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29tbWFuZC81MTM4NDQx
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRp
dGluZy9leGVjQ29tbWFuZC81MTM4NDQxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDkzOTMpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29tbWFuZC81MTM4NDQxLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTAsMTIgKzEwLDEwIEBAIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA3NzY6
ICJGb3JtYXRCbG9jayB0byBpbXBsZW1lbnQgYSBcIlF1b3RlIFRleHRcIiBmZWF0dXJlLCBhbmQg
c3R5bGUgcnVsZXMgZm9yIGJsb2NrcXVvdGVzIGFwcGVhcmVkIG9uIHRoZSBibG9ja3F1b3RlcyB0
aGF0IHdlIHVzZSIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggMTQ5OiAidG8g
aW1wbGVtZW50IGluZGVudGluZy4iCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw3MCkg
c2l6ZSA3ODR4NjIKLSAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4
MTgKLSAgICAgICAgICBSZW5kZXJCbG9jayB7QkxPQ0tRVU9URX0gYXQgKDQwLDApIHNpemUgNzQ0
eDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzB4MTgK
LSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjMwOiAiVGhpcyBzaG91bGQg
YmUgaW5kZW50ZWQsIG5vdCBxdW90ZWQuIgotICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDE4KSBzaXplIDc4NHgwCisgICAgICAgIFJlbmRlckJsb2NrIHtCTE9DS1FVT1RF
fSBhdCAoNDAsMCkgc2l6ZSA3NDR4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAyMzB4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIz
MDogIlRoaXMgc2hvdWxkIGJlIGluZGVudGVkLCBub3QgcXVvdGVkLiIKICAgICAgICAgUmVuZGVy
QmxvY2sge0JMT0NLUVVPVEV9IGF0ICg4LDI2KSBzaXplIDc2OHgzNiBbYm9yZGVyOiAoMXB4IGRh
c2hlZCAjQUFBQUFBKV0KICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDksOSkgc2l6
ZSAxNzV4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5LDkpIHdpZHRoIDE3NTogIlRoaXMg
dGV4dCBzaG91bGQgYmUgUXVvdGVkLiIKLWNhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAgeyN0
ZXh0fSBvZiBjaGlsZCAwIHtCTE9DS1FVT1RFfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDMg
e0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKK2Nh
cmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtCTE9DS1FVT1RF
fSBvZiBjaGlsZCAzIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9m
IGRvY3VtZW50CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29t
bWFuZC81NDgxNTIzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29tbWFuZC81NDgxNTIzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNDkzOTMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29tbWFu
ZC81NDgxNTIzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjcsNSArMjcsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICg0NSwyNikgc2l6ZSAzNHgyMiBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgw
ODApXSBbcj0xIGM9MSBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMiwyKSBzaXplIDMweDE4CiAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIsMikgd2lkdGggMzA6ICJGb3VyIgorICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsNTIpIHNpemUgNzA0eDAKKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsNTIpIHNpemUgNzg0eDAKIHNlbGVjdGlvbiBzdGFydDogcG9zaXRpb24gMCBv
ZiBjaGlsZCAwIHtUQUJMRX0gb2YgY2hpbGQgMCB7QkxPQ0tRVU9URX0gb2YgY2hpbGQgMSB7QkxP
Q0tRVU9URX0gb2YgY2hpbGQgMiB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtI
VE1MfSBvZiBkb2N1bWVudAotc2VsZWN0aW9uIGVuZDogICBwb3NpdGlvbiAyIG9mIGNoaWxkIDAg
e1RBQkxFfSBvZiBjaGlsZCAwIHtCTE9DS1FVT1RFfSBvZiBjaGlsZCAxIHtCTE9DS1FVT1RFfSBv
ZiBjaGlsZCAyIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRv
Y3VtZW50CitzZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDEgb2YgY2hpbGQgMCB7VEFCTEV9IG9m
IGNoaWxkIDAge0JMT0NLUVVPVEV9IG9mIGNoaWxkIDEge0JMT0NLUVVPVEV9IG9mIGNoaWxkIDIg
e0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA0OTM5MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2V4ZWND
b21tYW5kL2luZGVudC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0z
LDcgKzMsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQmVnaW5FZGl0aW5nCiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERP
TVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IFNQQU4gPiBC
TE9DS1FVT1RFID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNSBvZiAjdGV4dCA+
IFNQQU4gPiBCTE9DS1FVT1RFID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5p
dHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gQkxPQ0tRVU9URSA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBCTE9DS1FVT1RFID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0g
c3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTE3LDQzICsxNyw0MiBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE4
KSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgxOAog
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzYpIHNpemUgNzg0eDE5NAotICAgICAgICBS
ZW5kZXJCbG9jayB7QkxPQ0tRVU9URX0gYXQgKDQwLDApIHNpemUgNzQ0eDE5NAorICAgICAgICBS
ZW5kZXJCbG9jayB7QkxPQ0tRVU9URX0gYXQgKDQwLDApIHNpemUgNzQ0eDU0CiAgICAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3NDR4MzYKLSAgICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA0MngxOAotICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0MngxOAotICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDQyOiAiTG9yZW0iCisgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0MngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA0MjogIkxvcmVtIgogICAgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNDIs
MTQpIHNpemUgMHgwCiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNp
emUgODN4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDgzOiAibW9y
ZSBMb3JlbSEiCi0gICAgICAgICAgUmVuZGVyQmxvY2sge0JMT0NLUVVPVEV9IGF0ICg0MCwzNikg
c2l6ZSA3MDR4MTIyCi0gICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCww
KSBzaXplIDcwNHgxOAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAzOHgxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM4OiAi
aXBzdW0iCi0gICAgICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDM4LDE0KSBzaXplIDB4MAot
ICAgICAgICAgICAgUmVuZGVyQmxvY2sge1VMfSBhdCAoMCwzNCkgc2l6ZSA3MDR4NTQKKyAgICAg
ICAgICBSZW5kZXJCbG9jayB7QkxPQ0tRVU9URX0gYXQgKDQwLDM2KSBzaXplIDcwNHgxOAorICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzh4MTgKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzg6ICJpcHN1bSIKKyAgICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsNTQpIHNpemUgNzg0eDAKKyAgICAgICAgUmVuZGVyQmxv
Y2sge0JMT0NLUVVPVEV9IGF0ICg0MCw3MCkgc2l6ZSA3NDR4NTQKKyAgICAgICAgICBSZW5kZXJC
bG9jayB7VUx9IGF0ICgwLDApIHNpemUgNzQ0eDU0CisgICAgICAgICAgICBSZW5kZXJCbG9jayB7
VUx9IGF0ICg0MCwwKSBzaXplIDcwNHg1NAogICAgICAgICAgICAgICBSZW5kZXJMaXN0SXRlbSB7
TEl9IGF0ICg0MCwwKSBzaXplIDY2NHgxOAotICAgICAgICAgICAgICAgIFJlbmRlckxpc3RNYXJr
ZXIgYXQgKC0xNywwKSBzaXplIDd4MTg6IGJ1bGxldAorICAgICAgICAgICAgICAgIFJlbmRlckxp
c3RNYXJrZXIgYXQgKC0xNywwKSBzaXplIDd4MTg6IHdoaXRlIGJ1bGxldAogICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI1eDE4CiAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyNTogIkZvbyIKICAgICAgICAgICAgICAgUmVu
ZGVyTGlzdEl0ZW0ge0xJfSBhdCAoNDAsMTgpIHNpemUgNjY0eDE4Ci0gICAgICAgICAgICAgICAg
UmVuZGVyTGlzdE1hcmtlciBhdCAoLTE3LDApIHNpemUgN3gxODogYnVsbGV0CisgICAgICAgICAg
ICAgICAgUmVuZGVyTGlzdE1hcmtlciBhdCAoLTE3LDApIHNpemUgN3gxODogd2hpdGUgYnVsbGV0
CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjN4MTgK
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIzOiAiQmFyIgogICAg
ICAgICAgICAgICBSZW5kZXJMaXN0SXRlbSB7TEl9IGF0ICg0MCwzNikgc2l6ZSA2NjR4MTgKLSAg
ICAgICAgICAgICAgICBSZW5kZXJMaXN0TWFya2VyIGF0ICgtMTcsMCkgc2l6ZSA3eDE4OiBidWxs
ZXQKKyAgICAgICAgICAgICAgICBSZW5kZXJMaXN0TWFya2VyIGF0ICgtMTcsMCkgc2l6ZSA3eDE4
OiB3aGl0ZSBidWxsZXQKICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAyNXgxOAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MjU6ICJCYXoiCi0gICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMDQp
IHNpemUgNzA0eDE4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDM3eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzc6ICJE
b2xvciIKLSAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTgpIHNpemUg
NzQ0eDM2CisgICAgICAgIFJlbmRlckJsb2NrIHtCTE9DS1FVT1RFfSBhdCAoNDAsMTQwKSBzaXpl
IDc0NHg1NAorICAgICAgICAgIFJlbmRlckJsb2NrIHtCTE9DS1FVT1RFfSBhdCAoNDAsMCkgc2l6
ZSA3MDR4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM3
eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM3OiAiRG9sb3IiCisg
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTgpIHNpemUgNzQ0eDM2CiAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNHgxOAogICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNDogIlN1bSEiCiAgICAgICAgICAgICBS
ZW5kZXJCUiB7QlJ9IGF0ICgzNCwxNCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlcklubGlu
ZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzOHgxOAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMTgpIHNpemUgMzh4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxOCkgd2lkdGggMzg6ICJUaGluZyIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwxOCkgc2l6ZSAzOHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lk
dGggMzg6ICJUaGluZyIKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTk0
KSBzaXplIDc4NHgwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCi1zZWxlY3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNo
aWxkIDAge1NQQU59IG9mIGNoaWxkIDEge0JMT0NLUVVPVEV9IG9mIGNoaWxkIDQge0RJVn0gb2Yg
Y2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKLXNlbGVjdGlvbiBl
bmQ6ICAgcG9zaXRpb24gNSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgNiB7U1BBTn0gb2Yg
Y2hpbGQgMSB7QkxPQ0tRVU9URX0gb2YgY2hpbGQgNCB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBv
ZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2VsZWN0aW9uIHN0YXJ0OiBwb3NpdGlvbiAw
IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtCTE9DS1FVT1RFfSBvZiBjaGlsZCA0IHtE
SVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CitzZWxl
Y3Rpb24gZW5kOiAgIHBvc2l0aW9uIDUgb2YgY2hpbGQgMyB7I3RleHR9IG9mIGNoaWxkIDMge0JM
T0NLUVVPVEV9IG9mIGNoaWxkIDQge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7
SFRNTH0gb2YgZG9jdW1lbnQK
</data>

          </attachment>
      

    </bug>

</bugzilla>