<?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>151770</bug_id>
          
          <creation_ts>2015-12-02 13:01:13 -0800</creation_ts>
          <short_desc>Add sub-section anchors to code style guidelines</short_desc>
          <delta_ts>2015-12-03 14:47:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Website</component>
          <version>WebKit Nightly Build</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="Jon Davis">jond</reporter>
          <assigned_to name="Jon Davis">jond</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jond</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1145691</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Davis">jond</who>
    <bug_when>2015-12-02 13:01:13 -0800</bug_when>
    <thetext>Add sub-section navigation anchors to make it easier to share with others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146009</commentid>
    <comment_count>1</comment_count>
      <attachid>266544</attachid>
    <who name="Jon Davis">jond</who>
    <bug_when>2015-12-03 12:14:14 -0800</bug_when>
    <thetext>Created attachment 266544
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146044</commentid>
    <comment_count>2</comment_count>
      <attachid>266555</attachid>
    <who name="Jon Davis">jond</who>
    <bug_when>2015-12-03 13:50:29 -0800</bug_when>
    <thetext>Created attachment 266555
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146073</commentid>
    <comment_count>3</comment_count>
      <attachid>266555</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-03 14:47:44 -0800</bug_when>
    <thetext>Comment on attachment 266555
Patch

Clearing flags on attachment: 266555

Committed r193379: &lt;http://trac.webkit.org/changeset/193379&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146074</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-03 14:47:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266544</attachid>
            <date>2015-12-03 12:14:14 -0800</date>
            <delta_ts>2015-12-03 13:50:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151770-20151203121349.patch</filename>
            <type>text/plain</type>
            <size>26670</size>
            <attacher name="Jon Davis">jond</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTMzNjUpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1
LTEyLTAzICBKb25hdGhhbiBEYXZpcyAgPGpvbmRAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBz
dWItc2VjdGlvbiBhbmNob3JzIHRvIGNvZGUgc3R5bGUgZ3VpZGVsaW5lcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNzcwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjb2RlLXN0eWxlLm1kOgorICAg
ICAgICAqIHdwLWNvbnRlbnQvcGx1Z2lucy90YWJsZS1vZi1jb250ZW50cy5waHA6CisgICAgICAg
ICogd3AtY29udGVudC90aGVtZXMvd2Via2l0L2luY2x1ZGVzLnBocDoKKyAgICAgICAgKiB3cC1j
b250ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocDoKKyAgICAgICAgKiB3cC1jb250ZW50L3Ro
ZW1lcy93ZWJraXQvc3R5bGUuY3NzOgorICAgICAgICAoYVtuYW1lXSk6CisgICAgICAgIChwID4g
YVtuYW1lXTo6YmVmb3JlKToKKyAgICAgICAgKGFbbmFtZV06aG92ZXIpOgorICAgICAgICAoaDYg
YVtuYW1lXSk6CisgICAgICAgICguYWRtaW4tYmFyIGFbbmFtZV0pOgorICAgICAgICAoLmFkbWlu
LWJhciBwID4gYVtuYW1lXTo6YmVmb3JlKToKKyAgICAgICAgKC5zY3JlZW4tcmVhZGVyLXRleHQp
OgorICAgICAgICAoLnRhYmxlLW9mLWNvbnRlbnRzIHVsIGxpID4gdWwpOgorICAgICAgICAoI3Bv
c3QtNDEzMiBwcmU6bnRoLWNoaWxkKC1uKzEwKSk6CisgICAgICAgICgjcG9zdC00MTMyIHByZTpu
dGgtY2hpbGQoLW4rOCkpOiBEZWxldGVkLgorCiAyMDE1LTEyLTAxICBKb25hdGhhbiBEYXZpcyAg
PGpvbmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZWQgZmF2aWNvbi5pY28gd2l0aCB0aGUg
bmV3IGxvZ28uCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2NvZGUtc3R5bGUubWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9jb2RlLXN0eWxlLm1kCShyZXZpc2lvbiAxOTI4
MzIpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2NvZGUtc3R5bGUubWQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw4IEBACiAjIyMgSW5kZW50YXRpb24KIAotVXNlIHNwYWNlcywgbm90IHRhYnMu
IFRoZSBpbmRlbnQgc2l6ZSBpcyA0IHNwYWNlcy4gVGFicyBzaG91bGQgb25seSBhcHBlYXIgaW4g
ZmlsZXMgdGhhdCByZXF1aXJlIHRoZW0gZm9yIHNlbWFudGljIG1lYW5pbmcsIGxpa2UgTWFrZWZp
bGVzLgorW10oI2luZGVudGF0aW9uLW5vLXRhYnMpIFVzZSBzcGFjZXMsIG5vdCB0YWJzLiBUYWJz
IHNob3VsZCBvbmx5IGFwcGVhciBpbiBmaWxlcyB0aGF0IHJlcXVpcmUgdGhlbSBmb3Igc2VtYW50
aWMgbWVhbmluZywgbGlrZSBNYWtlZmlsZXMuCisKK1tdKCNpbmRlbnRhdGlvbi00LXNwYWNlcykg
VGhlIGluZGVudCBzaXplIGlzIDQgc3BhY2VzLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTIwLDcg
KzIyLDcgQEAgaW50IG1haW4oKSAKIH0KIGBgYAogCi1UaGUgY29udGVudHMgb2YgYW4gb3V0ZXJt
b3N0IGBuYW1lc3BhY2VgIGJsb2NrIChhbmQgYW55IG5lc3RlZCBuYW1lc3BhY2VzIHdpdGggdGhl
IHNhbWUgc2NvcGUpIHNob3VsZCBub3QgYmUgaW5kZW50ZWQuIFRoZSBjb250ZW50cyBvZiBvdGhl
ciBuZXN0ZWQgbmFtZXNwYWNlcyBzaG91bGQgYmUgaW5kZW50ZWQuCitbXSgjaW5kZW50YXRpb24t
bmFtZXNwYWNlKSBUaGUgY29udGVudHMgb2YgYW4gb3V0ZXJtb3N0IGBuYW1lc3BhY2VgIGJsb2Nr
IChhbmQgYW55IG5lc3RlZCBuYW1lc3BhY2VzIHdpdGggdGhlIHNhbWUgc2NvcGUpIHNob3VsZCBu
b3QgYmUgaW5kZW50ZWQuIFRoZSBjb250ZW50cyBvZiBvdGhlciBuZXN0ZWQgbmFtZXNwYWNlcyBz
aG91bGQgYmUgaW5kZW50ZWQuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNzgsOCArODAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiBgYGAKIAotCi1BIGNh
c2UgbGFiZWwgc2hvdWxkIGxpbmUgdXAgd2l0aCBpdHMgc3dpdGNoIHN0YXRlbWVudC4gVGhlIGNh
c2Ugc3RhdGVtZW50IGlzIGluZGVudGVkLgorW10oI2luZGVudGF0aW9uLWNhc2UtbGFiZWwpIEEg
Y2FzZSBsYWJlbCBzaG91bGQgbGluZSB1cCB3aXRoIGl0cyBzd2l0Y2ggc3RhdGVtZW50LiBUaGUg
Y2FzZSBzdGF0ZW1lbnQgaXMgaW5kZW50ZWQuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtMTA3LDgg
KzEwOCw3IEBAIHN3aXRjaCAoY29uZGl0aW9uKSB7CiB9CiBgYGAKIAotCi1Cb29sZWFuIGV4cHJl
c3Npb25zIGF0IHRoZSBzYW1lIG5lc3RpbmcgbGV2ZWwgdGhhdCBzcGFuIG11bHRpcGxlIGxpbmVz
IHNob3VsZCBoYXZlIHRoZWlyIG9wZXJhdG9ycyBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBsaW5l
IGluc3RlYWQgb2YgdGhlIHJpZ2h0IHNpZGUuCitbXSgjaW5kZW50YXRpb24td3JhcC1ib29sLW9w
KSBCb29sZWFuIGV4cHJlc3Npb25zIGF0IHRoZSBzYW1lIG5lc3RpbmcgbGV2ZWwgdGhhdCBzcGFu
IG11bHRpcGxlIGxpbmVzIHNob3VsZCBoYXZlIHRoZWlyIG9wZXJhdG9ycyBvbiB0aGUgbGVmdCBz
aWRlIG9mIHRoZSBsaW5lIGluc3RlYWQgb2YgdGhlIHJpZ2h0IHNpZGUuCiAKICMjIyMjIyBSaWdo
dDoKIApAQCAtMTMwLDcgKzEzMCw3IEBAIHJldHVybiBhdHRyaWJ1dGUubmFtZSgpID09IHNyY0F0
dHIgfHwKIAogIyMjIFNwYWNpbmcKIAotRG8gbm90IHBsYWNlIHNwYWNlcyBhcm91bmQgdW5hcnkg
b3BlcmF0b3JzLgorW10oI3NwYWNpbmctdW5hcnktb3ApIERvIG5vdCBwbGFjZSBzcGFjZXMgYXJv
dW5kIHVuYXJ5IG9wZXJhdG9ycy4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xNDUsOCArMTQ1LDcg
QEAgaSsrOwogaSArKzsKIGBgYAogCi0KLSoqRG8qKiBwbGFjZSBzcGFjZXMgYXJvdW5kIGJpbmFy
eSBhbmQgdGVybmFyeSBvcGVyYXRvcnMuCitbXSgjc3BhY2luZy1iaW5hcnktdGVybmFyeS1vcCkg
KipEbyoqIHBsYWNlIHNwYWNlcyBhcm91bmQgYmluYXJ5IGFuZCB0ZXJuYXJ5IG9wZXJhdG9ycy4K
IAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xNjYsOCArMTY1LDcgQEAgYyA9IGF8YjsKIHJldHVybiBj
b25kaXRpb24gPyAxOjA7CiBgYGAKIAotCi1QbGFjZSBzcGFjZXMgYXJvdW5kIHRoZSBjb2xvbiBp
biBhIHJhbmdlLWJhc2VkIGZvciBsb29wLgorW10oI3NwYWNpbmctZm9yLWNvbG9uKSBQbGFjZSBz
cGFjZXMgYXJvdW5kIHRoZSBjb2xvbiBpbiBhIHJhbmdlLWJhc2VkIGZvciBsb29wLgogCiAjIyMj
IyMgUmlnaHQ6CiAKQEAgLTE4NSw4ICsxODMsNyBAQCBmb3IgKGF1dG8mIHBsdWdpbjogcGx1Z2lu
cykKICAgICByZWdpc3RlclBsdWdpbihwbHVnaW4pOwogYGBgCiAKLQotRG8gbm90IHBsYWNlIHNw
YWNlcyBiZWZvcmUgY29tbWEgYW5kIHNlbWljb2xvbi4KK1tdKCNzcGFjaW5nLWNvbW1hLXNlbWlj
b2xvbikgRG8gbm90IHBsYWNlIHNwYWNlcyBiZWZvcmUgY29tbWEgYW5kIHNlbWljb2xvbi4KIAog
IyMjIyMjIFJpZ2h0OgogCkBAIC0yMDYsOCArMjAzLDcgQEAgZm9yIChpbnQgaSA9IDAgOyBpIDwg
MTAgOyArK2kpCiBmKGEgLCBiKSA7CiBgYGAKIAotCi1QbGFjZSBzcGFjZXMgYmV0d2VlbiBjb250
cm9sIHN0YXRlbWVudHMgYW5kIHRoZWlyIHBhcmVudGhlc2VzLgorW10oI3NwYWNpbmctY29udHJv
bC1wYXJlbikgUGxhY2Ugc3BhY2VzIGJldHdlZW4gY29udHJvbCBzdGF0ZW1lbnRzIGFuZCB0aGVp
ciBwYXJlbnRoZXNlcy4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0yMjMsOCArMjE5LDcgQEAgaWYo
Y29uZGl0aW9uKQogICAgIGRvSXQoKTsKIGBgYAogCi0KLURvIG5vdCBwbGFjZSBzcGFjZXMgYmV0
d2VlbiBhIGZ1bmN0aW9uIGFuZCBpdHMgcGFyZW50aGVzZXMsIG9yIGJldHdlZW4gYSBwYXJlbnRo
ZXNpcyBhbmQgaXRzIGNvbnRlbnQuCitbXSgjc3BhY2luZy1mdW5jdGlvbi1wYXJlbikgRG8gbm90
IHBsYWNlIHNwYWNlcyBiZXR3ZWVuIGEgZnVuY3Rpb24gYW5kIGl0cyBwYXJlbnRoZXNlcywgb3Ig
YmV0d2VlbiBhIHBhcmVudGhlc2lzIGFuZCBpdHMgY29udGVudC4KIAogIyMjIyMjIFJpZ2h0Ogog
CkBAIC0yNDEsNyArMjM2LDcgQEAgZiggYSwgYiApOwogCiAjIyMgTGluZSBicmVha2luZwogCi1F
YWNoIHN0YXRlbWVudCBzaG91bGQgZ2V0IGl0cyBvd24gbGluZS4KK1tdKCNsaW5lYnJlYWtpbmct
bXVsdGlwbGUtc3RhdGVtZW50cykgRWFjaCBzdGF0ZW1lbnQgc2hvdWxkIGdldCBpdHMgb3duIGxp
bmUuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtMjU5LDcgKzI1NCw3IEBAIHgrKzsgeSsrOwogaWYg
KGNvbmRpdGlvbikgZG9JdCgpOwogYGBgCiAKLUFuIGBlbHNlYCBzdGF0ZW1lbnQgc2hvdWxkIGdv
IG9uIHRoZSBzYW1lIGxpbmUgYXMgYSBwcmVjZWRpbmcgY2xvc2UgYnJhY2UgaWYgb25lIGlzIHBy
ZXNlbnQsIGVsc2UgaXQgc2hvdWxkIGxpbmUgdXAgd2l0aCB0aGUgYGlmYCBzdGF0ZW1lbnQuCitb
XSgjbGluZWJyZWFraW5nLWVsc2UtYnJhY2VzKSBBbiBgZWxzZWAgc3RhdGVtZW50IHNob3VsZCBn
byBvbiB0aGUgc2FtZSBsaW5lIGFzIGEgcHJlY2VkaW5nIGNsb3NlIGJyYWNlIGlmIG9uZSBpcyBw
cmVzZW50LCBlbHNlIGl0IHNob3VsZCBsaW5lIHVwIHdpdGggdGhlIGBpZmAgc3RhdGVtZW50Lgog
CiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTI5OSw4ICsyOTQsNyBAQCBpZiAoY29uZGl0aW9uKSBkb1Nv
bWV0aGluZygpOyBlbHNlIHsKIH0KIGBgYAogCi0KLUFuIGBlbHNlIGlmYCBzdGF0ZW1lbnQgc2hv
dWxkIGJlIHdyaXR0ZW4gYXMgYW4gYGlmYCBzdGF0ZW1lbnQgd2hlbiB0aGUgcHJpb3IgYGlmYCBj
b25jbHVkZXMgd2l0aCBhIGByZXR1cm5gIHN0YXRlbWVudC4KK1tdKCNsaW5lYnJlYWtpbmctZWxz
ZS1pZikgQW4gYGVsc2UgaWZgIHN0YXRlbWVudCBzaG91bGQgYmUgd3JpdHRlbiBhcyBhbiBgaWZg
IHN0YXRlbWVudCB3aGVuIHRoZSBwcmlvciBgaWZgIGNvbmNsdWRlcyB3aXRoIGEgYHJldHVybmAg
c3RhdGVtZW50LgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTMyNyw3ICszMjEsNyBAQCBpZiAoY29u
ZGl0aW9uKSB7CiAKICMjIyBCcmFjZXMKIAotRnVuY3Rpb24gZGVmaW5pdGlvbnM6IHBsYWNlIGVh
Y2ggYnJhY2Ugb24gaXRzIG93biBsaW5lLgorW10oI2JyYWNlcy1mdW5jdGlvbikgRnVuY3Rpb24g
ZGVmaW5pdGlvbnM6IHBsYWNlIGVhY2ggYnJhY2Ugb24gaXRzIG93biBsaW5lLgogCiAjIyMjIyMg
UmlnaHQ6CiAKQEAgLTM0Niw3ICszNDAsNyBAQCBpbnQgbWFpbigpIHsKIH0KIGBgYAogCi1PdGhl
ciBicmFjZXM6IHBsYWNlIHRoZSBvcGVuIGJyYWNlIG9uIHRoZSBsaW5lIHByZWNlZGluZyB0aGUg
Y29kZSBibG9jazsgcGxhY2UgdGhlIGNsb3NlIGJyYWNlIG9uIGl0cyBvd24gbGluZS4KK1tdKCNi
cmFjZXMtYmxvY2tzKSBPdGhlciBicmFjZXM6IHBsYWNlIHRoZSBvcGVuIGJyYWNlIG9uIHRoZSBs
aW5lIHByZWNlZGluZyB0aGUgY29kZSBibG9jazsgcGxhY2UgdGhlIGNsb3NlIGJyYWNlIG9uIGl0
cyBvd24gbGluZS4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0zNzMsNyArMzY3LDcgQEAgY2xhc3Mg
TXlDbGFzcyAKIH07CiBgYGAKIAotT25lLWxpbmUgY29udHJvbCBjbGF1c2VzIHNob3VsZCBub3Qg
dXNlIGJyYWNlcyB1bmxlc3MgY29tbWVudHMgYXJlIGluY2x1ZGVkIG9yIGEgc2luZ2xlIHN0YXRl
bWVudCBzcGFucyBtdWx0aXBsZSBsaW5lcy4KK1tdKCNicmFjZXMtb25lLWxpbmUpIE9uZS1saW5l
IGNvbnRyb2wgY2xhdXNlcyBzaG91bGQgbm90IHVzZSBicmFjZXMgdW5sZXNzIGNvbW1lbnRzIGFy
ZSBpbmNsdWRlZCBvciBhIHNpbmdsZSBzdGF0ZW1lbnQgc3BhbnMgbXVsdGlwbGUgbGluZXMuCiAK
ICMjIyMjIyBSaWdodDoKIApAQCAtNDA4LDggKzQwMiw3IEBAIGlmIChjb25kaXRpb24pCiAgICAg
ICAgIHJlYWxseUxvbmdQYXJhbTUpOwogYGBgCiAKLQotQ29udHJvbCBjbGF1c2VzIHdpdGhvdXQg
YSBib2R5IHNob3VsZCB1c2UgZW1wdHkgYnJhY2VzOgorW10oI2JyYWNlcy1lbXB0eS1ibG9jaykg
Q29udHJvbCBjbGF1c2VzIHdpdGhvdXQgYSBib2R5IHNob3VsZCB1c2UgZW1wdHkgYnJhY2VzOgog
CiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTQyNSwxMSArNDE4LDExIEBAIGZvciAoIDsgY3VycmVudDsg
Y3VycmVudCA9IGN1cnJlbnQtPm5leHQKIAogIyMjIE51bGwsIGZhbHNlIGFuZCB6ZXJvCiAKLUlu
IEMrKywgdGhlIG51bGwgcG9pbnRlciB2YWx1ZSBzaG91bGQgYmUgd3JpdHRlbiBhcyBgbnVsbHB0
cmAuIEluIEMsIGl0IHNob3VsZCBiZSB3cml0dGVuIGFzIGBOVUxMYC4gSW4gT2JqZWN0aXZlLUMg
YW5kIE9iamVjdGl2ZS1DKyssIGZvbGxvdyB0aGUgZ3VpZGVsaW5lIGZvciBDIG9yIEMrKywgcmVz
cGVjdGl2ZWx5LCBidXQgdXNlIGBuaWxgIHRvIHJlcHJlc2VudCBhIG51bGwgT2JqZWN0aXZlLUMg
b2JqZWN0LgorW10oI3plcm8tbnVsbCkgSW4gQysrLCB0aGUgbnVsbCBwb2ludGVyIHZhbHVlIHNo
b3VsZCBiZSB3cml0dGVuIGFzIGBudWxscHRyYC4gSW4gQywgaXQgc2hvdWxkIGJlIHdyaXR0ZW4g
YXMgYE5VTExgLiBJbiBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKywgZm9sbG93IHRoZSBn
dWlkZWxpbmUgZm9yIEMgb3IgQysrLCByZXNwZWN0aXZlbHksIGJ1dCB1c2UgYG5pbGAgdG8gcmVw
cmVzZW50IGEgbnVsbCBPYmplY3RpdmUtQyBvYmplY3QuCiAKLUMrKyBhbmQgQyBgYm9vbGAgdmFs
dWVzIHNob3VsZCBiZSB3cml0dGVuIGFzIGB0cnVlYCBhbmQgYGZhbHNlYC4gT2JqZWN0aXZlLUMg
YEJPT0xgIHZhbHVlcyBzaG91bGQgYmUgd3JpdHRlbiBhcyBgWUVTYCBhbmQgYE5PYC4KK1tdKCN6
ZXJvLWJvb2wpIEMrKyBhbmQgQyBgYm9vbGAgdmFsdWVzIHNob3VsZCBiZSB3cml0dGVuIGFzIGB0
cnVlYCBhbmQgYGZhbHNlYC4gT2JqZWN0aXZlLUMgYEJPT0xgIHZhbHVlcyBzaG91bGQgYmUgd3Jp
dHRlbiBhcyBgWUVTYCBhbmQgYE5PYC4KIAotVGVzdHMgZm9yIHRydWUvZmFsc2UsIG51bGwvbm9u
LW51bGwsIGFuZCB6ZXJvL25vbi16ZXJvIHNob3VsZCBhbGwgYmUgZG9uZSB3aXRob3V0IGVxdWFs
aXR5IGNvbXBhcmlzb25zLgorW10oI3plcm8tY29tcGFyaXNvbikgVGVzdHMgZm9yIHRydWUvZmFs
c2UsIG51bGwvbm9uLW51bGwsIGFuZCB6ZXJvL25vbi16ZXJvIHNob3VsZCBhbGwgYmUgZG9uZSB3
aXRob3V0IGVxdWFsaXR5IGNvbXBhcmlzb25zLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTQ1Nywx
MSArNDUwLDExIEBAIGlmIChjb3VudCA9PSAwKQogICAgIHJldHVybjsKIGBgYAogCi1JbiBPYmpl
Y3RpdmUtQywgaW5zdGFuY2UgdmFyaWFibGVzIGFyZSBpbml0aWFsaXplZCB0byB6ZXJvIGF1dG9t
YXRpY2FsbHkuIERvbid0IGFkZCBleHBsaWNpdCBpbml0aWFsaXphdGlvbnMgdG8gbmlsIG9yIE5P
IGluIGFuIGluaXQgbWV0aG9kLgorW10oI3plcm8tb2JqYy12YXJpYWJsZXMpIEluIE9iamVjdGl2
ZS1DLCBpbnN0YW5jZSB2YXJpYWJsZXMgYXJlIGluaXRpYWxpemVkIHRvIHplcm8gYXV0b21hdGlj
YWxseS4gRG9uJ3QgYWRkIGV4cGxpY2l0IGluaXRpYWxpemF0aW9ucyB0byBuaWwgb3IgTk8gaW4g
YW4gaW5pdCBtZXRob2QuCiAKICMjIyBGbG9hdGluZyBwb2ludCBsaXRlcmFscwogCi1Vbmxlc3Mg
cmVxdWlyZWQgaW4gb3JkZXIgdG8gZm9yY2UgZmxvYXRpbmcgcG9pbnQgbWF0aCwgZG8gbm90IGFw
cGVuZCBgLjBgLCBgLmZgIGFuZCBgLjBmYCB0byBmbG9hdGluZyBwb2ludCBsaXRlcmFscy4KK1td
KCNmbG9hdC1zdWZmaXhlcykgVW5sZXNzIHJlcXVpcmVkIGluIG9yZGVyIHRvIGZvcmNlIGZsb2F0
aW5nIHBvaW50IG1hdGgsIGRvIG5vdCBhcHBlbmQgYC4wYCwgYC5mYCBhbmQgYC4wZmAgdG8gZmxv
YXRpbmcgcG9pbnQgbGl0ZXJhbHMuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNDk3LDcgKzQ5MCw3
IEBAIGRvdWJsZSBmcmFtZUR1cmF0aW9uID0gMSAvIGZyYW1lc1BlclNlY28KIAogIyMjIE5hbWVz
CiAKLVVzZSBDYW1lbENhc2UuIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciwgaW5jbHVkaW5n
IGFsbCBsZXR0ZXJzIGluIGFuIGFjcm9ueW0sIGluIGEgY2xhc3MsIHN0cnVjdCwgcHJvdG9jb2ws
IG9yIG5hbWVzcGFjZSBuYW1lLiBMb3dlci1jYXNlIHRoZSBmaXJzdCBsZXR0ZXIsIGluY2x1ZGlu
ZyBhbGwgbGV0dGVycyBpbiBhbiBhY3JvbnltLCBpbiBhIHZhcmlhYmxlIG9yIGZ1bmN0aW9uIG5h
bWUuCitbXSgjbmFtZXMtYmFzaWMpIFVzZSBDYW1lbENhc2UuIENhcGl0YWxpemUgdGhlIGZpcnN0
IGxldHRlciwgaW5jbHVkaW5nIGFsbCBsZXR0ZXJzIGluIGFuIGFjcm9ueW0sIGluIGEgY2xhc3Ms
IHN0cnVjdCwgcHJvdG9jb2wsIG9yIG5hbWVzcGFjZSBuYW1lLiBMb3dlci1jYXNlIHRoZSBmaXJz
dCBsZXR0ZXIsIGluY2x1ZGluZyBhbGwgbGV0dGVycyBpbiBhbiBhY3JvbnltLCBpbiBhIHZhcmlh
YmxlIG9yIGZ1bmN0aW9uIG5hbWUuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNTE3LDcgKzUxMCw3
IEBAIGNsYXNzIEh0bWxEb2N1bWVudDsKIFN0cmluZyBNSU1FVHlwZSgpOwogYGBgCiAKLVVzZSBm
dWxsIHdvcmRzLCBleGNlcHQgaW4gdGhlIHJhcmUgY2FzZSB3aGVyZSBhbiBhYmJyZXZpYXRpb24g
d291bGQgYmUgbW9yZSBjYW5vbmljYWwgYW5kIGVhc2llciB0byB1bmRlcnN0YW5kLgorW10oI25h
bWVzLWZ1bGwtd29yZHMpIFVzZSBmdWxsIHdvcmRzLCBleGNlcHQgaW4gdGhlIHJhcmUgY2FzZSB3
aGVyZSBhbiBhYmJyZXZpYXRpb24gd291bGQgYmUgbW9yZSBjYW5vbmljYWwgYW5kIGVhc2llciB0
byB1bmRlcnN0YW5kLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTUzNSw3ICs1MjgsNyBAQCBzaXpl
X3QgbGVuOwogc2hvcnQgdGFidWxhdGlvbkluZGV4OyAvLyBiaXphcnJlCiBgYGAKIAotRGF0YSBt
ZW1iZXJzIGluIEMrKyBjbGFzc2VzIHNob3VsZCBiZSBwcml2YXRlLiBTdGF0aWMgZGF0YSBtZW1i
ZXJzIHNob3VsZCBiZSBwcmVmaXhlZCBieSAic18iLiBPdGhlciBkYXRhIG1lbWJlcnMgc2hvdWxk
IGJlIHByZWZpeGVkIGJ5ICJtXyIuCitbXSgjbmFtZXMtZGF0YS1tZW1iZXJzKSBEYXRhIG1lbWJl
cnMgaW4gQysrIGNsYXNzZXMgc2hvdWxkIGJlIHByaXZhdGUuIFN0YXRpYyBkYXRhIG1lbWJlcnMg
c2hvdWxkIGJlIHByZWZpeGVkIGJ5ICJzXyIuIE90aGVyIGRhdGEgbWVtYmVycyBzaG91bGQgYmUg
cHJlZml4ZWQgYnkgIm1fIi4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC01NjAsNyArNTUzLDcgQEAg
cHVibGljOgogfTsKIGBgYAogCi1QcmVmaXggT2JqZWN0aXZlLUMgaW5zdGFuY2UgdmFyaWFibGVz
IHdpdGggIl8iLgorW10oI25hbWVzLW9iamMtaW5zdGFuY2UtdmFyaWFibGVzKSBQcmVmaXggT2Jq
ZWN0aXZlLUMgaW5zdGFuY2UgdmFyaWFibGVzIHdpdGggIl8iLgogCiAjIyMjIyMgUmlnaHQ6CiAK
QEAgLTU4MCw3ICs1NzMsNyBAQCBQcmVmaXggT2JqZWN0aXZlLUMgaW5zdGFuY2UgdmFyaWFibGVz
IHdpCiBAZW5kCiBgYGAKIAotUHJlY2VkZSBib29sZWFuIHZhbHVlcyB3aXRoIHdvcmRzIGxpa2Ug
ImlzIiBhbmQgImRpZCIuCitbXSgjbmFtZXMtYm9vbCkgUHJlY2VkZSBib29sZWFuIHZhbHVlcyB3
aXRoIHdvcmRzIGxpa2UgImlzIiBhbmQgImRpZCIuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNTk2
LDcgKzU4OSw3IEBAIGJvb2wgdmFsaWQ7CiBib29sIHNlbnREYXRhOwogYGBgCiAKLVByZWNlZGUg
c2V0dGVycyB3aXRoIHRoZSB3b3JkICJzZXQiLiBVc2UgYmFyZSB3b3JkcyBmb3IgZ2V0dGVycy4g
U2V0dGVyIGFuZCBnZXR0ZXIgbmFtZXMgc2hvdWxkIG1hdGNoIHRoZSBuYW1lcyBvZiB0aGUgdmFy
aWFibGVzIGJlaW5nIHNldC9nb3R0ZW4uCitbXSgjbmFtZXMtc2V0dGVyLWdldHRlcikgUHJlY2Vk
ZSBzZXR0ZXJzIHdpdGggdGhlIHdvcmQgInNldCIuIFVzZSBiYXJlIHdvcmRzIGZvciBnZXR0ZXJz
LiBTZXR0ZXIgYW5kIGdldHRlciBuYW1lcyBzaG91bGQgbWF0Y2ggdGhlIG5hbWVzIG9mIHRoZSB2
YXJpYWJsZXMgYmVpbmcgc2V0L2dvdHRlbi4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC02MTIsNyAr
NjA1LDcgQEAgdm9pZCBzZXRDb3VudChzaXplX3QpOyAvLyBzZXRzIG1fdGhlQ291bgogc2l6ZV90
IGdldENvdW50KCk7CiBgYGAKIAotUHJlY2VkZSBnZXR0ZXJzIHRoYXQgcmV0dXJuIHZhbHVlcyB0
aHJvdWdoIG91dCBhcmd1bWVudHMgd2l0aCB0aGUgd29yZCAiZ2V0Ii4KK1tdKCNuYW1lcy1vdXQt
YXJndW1lbnQpIFByZWNlZGUgZ2V0dGVycyB0aGF0IHJldHVybiB2YWx1ZXMgdGhyb3VnaCBvdXQg
YXJndW1lbnRzIHdpdGggdGhlIHdvcmQgImdldCIuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNjI2
LDcgKzYxOSw3IEBAIHZvaWQgZ2V0SW5saW5lQm94QW5kT2Zmc2V0KElubGluZUJveComLCAKIHZv
aWQgaW5saW5lQm94QW5kT2Zmc2V0KElubGluZUJveComLCBpbnQmIGNhcmV0T2Zmc2V0KSBjb25z
dDsKIGBgYAogCi1Vc2UgZGVzY3JpcHRpdmUgdmVyYnMgaW4gZnVuY3Rpb24gbmFtZXMuCitbXSgj
bmFtZXMtdmVyYikgVXNlIGRlc2NyaXB0aXZlIHZlcmJzIGluIGZ1bmN0aW9uIG5hbWVzLgogCiAj
IyMjIyMgUmlnaHQ6CiAKQEAgLTY0MCw3ICs2MzMsNyBAQCBib29sIGNvbnZlcnRUb0FTQ0lJKHNo
b3J0Kiwgc2l6ZV90KTsKIGJvb2wgdG9BU0NJSShzaG9ydCosIHNpemVfdCk7CiBgYGAKIAotTGVh
dmUgbWVhbmluZ2xlc3MgdmFyaWFibGUgbmFtZXMgb3V0IG9mIGZ1bmN0aW9uIGRlY2xhcmF0aW9u
cy4gQSBnb29kIHJ1bGUgb2YgdGh1bWIgaXMgaWYgdGhlIHBhcmFtZXRlciB0eXBlIG5hbWUgY29u
dGFpbnMgdGhlIHBhcmFtZXRlciBuYW1lICh3aXRob3V0IHRyYWlsaW5nIG51bWJlcnMgb3IgcGx1
cmFsaXphdGlvbiksIHRoZW4gdGhlIHBhcmFtZXRlciBuYW1lIGlzbid0IG5lZWRlZC4gVXN1YWxs
eSwgdGhlcmUgc2hvdWxkIGJlIGEgcGFyYW1ldGVyIG5hbWUgZm9yIGJvb2xzLCBzdHJpbmdzLCBh
bmQgbnVtZXJpY2FsIHR5cGVzLgorW10oI25hbWVzLXZhcmlhYmxlLW5hbWUtaW4tZnVuY3Rpb24t
ZGVjbCkgTGVhdmUgbWVhbmluZ2xlc3MgdmFyaWFibGUgbmFtZXMgb3V0IG9mIGZ1bmN0aW9uIGRl
Y2xhcmF0aW9ucy4gQSBnb29kIHJ1bGUgb2YgdGh1bWIgaXMgaWYgdGhlIHBhcmFtZXRlciB0eXBl
IG5hbWUgY29udGFpbnMgdGhlIHBhcmFtZXRlciBuYW1lICh3aXRob3V0IHRyYWlsaW5nIG51bWJl
cnMgb3IgcGx1cmFsaXphdGlvbiksIHRoZW4gdGhlIHBhcmFtZXRlciBuYW1lIGlzbid0IG5lZWRl
ZC4gVXN1YWxseSwgdGhlcmUgc2hvdWxkIGJlIGEgcGFyYW1ldGVyIG5hbWUgZm9yIGJvb2xzLCBz
dHJpbmdzLCBhbmQgbnVtZXJpY2FsIHR5cGVzLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTY1OCw3
ICs2NTEsNyBAQCB2b2lkIHNldENvdW50KHNpemVfdCBjb3VudCk7CiB2b2lkIGRvU29tZXRoaW5n
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpOwogYGBgCiAKLVByZWZlciBlbnVtcyB0
byBib29scyBvbiBmdW5jdGlvbiBwYXJhbWV0ZXJzIGlmIGNhbGxlcnMgYXJlIGxpa2VseSB0byBi
ZSBwYXNzaW5nIGNvbnN0YW50cywgc2luY2UgbmFtZWQgY29uc3RhbnRzIGFyZSBlYXNpZXIgdG8g
cmVhZCBhdCB0aGUgY2FsbCBzaXRlLiBBbiBleGNlcHRpb24gdG8gdGhpcyBydWxlIGlzIGEgc2V0
dGVyIGZ1bmN0aW9uLCB3aGVyZSB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gYWxyZWFkeSBtYWtl
cyBjbGVhciB3aGF0IHRoZSBib29sZWFuIGlzLgorW10oI25hbWVzLWVudW0tdG8tYm9vbCkgUHJl
ZmVyIGVudW1zIHRvIGJvb2xzIG9uIGZ1bmN0aW9uIHBhcmFtZXRlcnMgaWYgY2FsbGVycyBhcmUg
bGlrZWx5IHRvIGJlIHBhc3NpbmcgY29uc3RhbnRzLCBzaW5jZSBuYW1lZCBjb25zdGFudHMgYXJl
IGVhc2llciB0byByZWFkIGF0IHRoZSBjYWxsIHNpdGUuIEFuIGV4Y2VwdGlvbiB0byB0aGlzIHJ1
bGUgaXMgYSBzZXR0ZXIgZnVuY3Rpb24sIHdoZXJlIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBh
bHJlYWR5IG1ha2VzIGNsZWFyIHdoYXQgdGhlIGJvb2xlYW4gaXMuCiAKICMjIyMjIyBSaWdodDoK
IApAQCAtNjc1LDE1ICs2NjgsMTUgQEAgZG9Tb21ldGhpbmcoc29tZXRoaW5nLCBmYWxzZSk7CiBz
ZXRSZXNpemFibGUoTm90UmVzaXphYmxlKTsKIGBgYAogCi1PYmplY3RpdmUtQyBtZXRob2QgbmFt
ZXMgc2hvdWxkIGZvbGxvdyB0aGUgQ29jb2EgbmFtaW5nIGd1aWRlbGluZXMg4oCUIHRoZXkgc2hv
dWxkIHJlYWQgbGlrZSBhIHBocmFzZSBhbmQgZWFjaCBwaWVjZSBvZiB0aGUgc2VsZWN0b3Igc2hv
dWxkIHN0YXJ0IHdpdGggYSBsb3dlcmNhc2UgbGV0dGVyIGFuZCB1c2UgaW50ZXJjYXBzLgorW10o
I25hbWVzLW9iamMtbWV0aG9kcykgT2JqZWN0aXZlLUMgbWV0aG9kIG5hbWVzIHNob3VsZCBmb2xs
b3cgdGhlIENvY29hIG5hbWluZyBndWlkZWxpbmVzIOKAlCB0aGV5IHNob3VsZCByZWFkIGxpa2Ug
YSBwaHJhc2UgYW5kIGVhY2ggcGllY2Ugb2YgdGhlIHNlbGVjdG9yIHNob3VsZCBzdGFydCB3aXRo
IGEgbG93ZXJjYXNlIGxldHRlciBhbmQgdXNlIGludGVyY2Fwcy4KIAotRW51bSBtZW1iZXJzIHNo
b3VsZCB1c2UgSW50ZXJDYXBzIHdpdGggYW4gaW5pdGlhbCBjYXBpdGFsIGxldHRlci4KK1tdKCNu
YW1lcy1lbnVtLW1lbWJlcnMpIEVudW0gbWVtYmVycyBzaG91bGQgdXNlIEludGVyQ2FwcyB3aXRo
IGFuIGluaXRpYWwgY2FwaXRhbCBsZXR0ZXIuCiAKLVByZWZlciBgY29uc3RgIHRvIGAjZGVmaW5l
YC4gUHJlZmVyIGlubGluZSBmdW5jdGlvbnMgdG8gbWFjcm9zLgorW10oI25hbWVzLWNvbnN0LXRv
LWRlZmluZSkgUHJlZmVyIGBjb25zdGAgdG8gYCNkZWZpbmVgLiBQcmVmZXIgaW5saW5lIGZ1bmN0
aW9ucyB0byBtYWNyb3MuCiAKLWAjZGVmaW5lZGAgY29uc3RhbnRzIHNob3VsZCB1c2UgYWxsIHVw
cGVyY2FzZSBuYW1lcyB3aXRoIHdvcmRzIHNlcGFyYXRlZCBieSB1bmRlcnNjb3Jlcy4KK1tdKCNu
YW1lcy1kZWZpbmUtY29uc3RhbnRzKSBgI2RlZmluZWRgIGNvbnN0YW50cyBzaG91bGQgdXNlIGFs
bCB1cHBlcmNhc2UgbmFtZXMgd2l0aCB3b3JkcyBzZXBhcmF0ZWQgYnkgdW5kZXJzY29yZXMuCiAK
LU1hY3JvcyB0aGF0IGV4cGFuZCB0byBmdW5jdGlvbiBjYWxscyBvciBvdGhlciBub24tY29uc3Rh
bnQgY29tcHV0YXRpb246IHRoZXNlIHNob3VsZCBiZSBuYW1lZCBsaWtlIGZ1bmN0aW9ucywgYW5k
IHNob3VsZCBoYXZlIHBhcmVudGhlc2VzIGF0IHRoZSBlbmQsIGV2ZW4gaWYgdGhleSB0YWtlIG5v
IGFyZ3VtZW50cyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHNvbWUgc3BlY2lhbCBtYWNyb3MgbGlr
ZSBBU1NFUlQpLiBOb3RlIHRoYXQgdXN1YWxseSBpdCBpcyBwcmVmZXJhYmxlIHRvIHVzZSBhbiBp
bmxpbmUgZnVuY3Rpb24gaW4gc3VjaCBjYXNlcyBpbnN0ZWFkIG9mIGEgbWFjcm8uCitbXSgjbmFt
ZXMtZGVmaW5lLW5vbi1jb25zdCkgTWFjcm9zIHRoYXQgZXhwYW5kIHRvIGZ1bmN0aW9uIGNhbGxz
IG9yIG90aGVyIG5vbi1jb25zdGFudCBjb21wdXRhdGlvbjogdGhlc2Ugc2hvdWxkIGJlIG5hbWVk
IGxpa2UgZnVuY3Rpb25zLCBhbmQgc2hvdWxkIGhhdmUgcGFyZW50aGVzZXMgYXQgdGhlIGVuZCwg
ZXZlbiBpZiB0aGV5IHRha2Ugbm8gYXJndW1lbnRzICh3aXRoIHRoZSBleGNlcHRpb24gb2Ygc29t
ZSBzcGVjaWFsIG1hY3JvcyBsaWtlIEFTU0VSVCkuIE5vdGUgdGhhdCB1c3VhbGx5IGl0IGlzIHBy
ZWZlcmFibGUgdG8gdXNlIGFuIGlubGluZSBmdW5jdGlvbiBpbiBzdWNoIGNhc2VzIGluc3RlYWQg
b2YgYSBtYWNyby4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC03MDIsNyArNjk1LDcgQEAgTWFjcm9z
IHRoYXQgZXhwYW5kIHRvIGZ1bmN0aW9uIGNhbGxzIG9yIAogICAgICAgICBOU0xvY2FsaXplZFN0
cmluZyhAIlN0b3AiLCBAIlN0b3AgYnV0dG9uIHRpdGxlIikKIGBgYAogCi1gI2RlZmluZWAsIGAj
aWZkZWZgICJoZWFkZXIgZ3VhcmRzIiBzaG91bGQgYmUgbmFtZWQgZXhhY3RseSB0aGUgc2FtZSBh
cyB0aGUgZmlsZSAoaW5jbHVkaW5nIGNhc2UpLCByZXBsYWNpbmcgdGhlIGAuYCB3aXRoIGEgYF9g
LgorW10oI25hbWVzLWhlYWRlci1ndWFyZHMpIGAjZGVmaW5lYCwgYCNpZmRlZmAgImhlYWRlciBn
dWFyZHMiIHNob3VsZCBiZSBuYW1lZCBleGFjdGx5IHRoZSBzYW1lIGFzIHRoZSBmaWxlIChpbmNs
dWRpbmcgY2FzZSksIHJlcGxhY2luZyB0aGUgYC5gIHdpdGggYSBgX2AuCiAKICMjIyMjIyBSaWdo
dDoKIApAQCAtNzIyLDcgKzcxNSw3IEBAIE1hY3JvcyB0aGF0IGV4cGFuZCB0byBmdW5jdGlvbiBj
YWxscyBvciAKIAogIyMjIE90aGVyIFB1bmN0dWF0aW9uCiAKLUNvbnN0cnVjdG9ycyBmb3IgQysr
IGNsYXNzZXMgc2hvdWxkIGluaXRpYWxpemUgYWxsIG9mIHRoZWlyIG1lbWJlcnMgdXNpbmcgQysr
IGluaXRpYWxpemVyIHN5bnRheC4gRWFjaCBtZW1iZXIgKGFuZCBzdXBlcmNsYXNzKSBzaG91bGQg
YmUgaW5kZW50ZWQgb24gYSBzZXBhcmF0ZSBsaW5lLCB3aXRoIHRoZSBjb2xvbiBvciBjb21tYSBw
cmVjZWRpbmcgdGhlIG1lbWJlciBvbiB0aGF0IGxpbmUuCitbXSgjcHVuY3R1YXRpb24tbWVtYmVy
LWluaXQpIENvbnN0cnVjdG9ycyBmb3IgQysrIGNsYXNzZXMgc2hvdWxkIGluaXRpYWxpemUgYWxs
IG9mIHRoZWlyIG1lbWJlcnMgdXNpbmcgQysrIGluaXRpYWxpemVyIHN5bnRheC4gRWFjaCBtZW1i
ZXIgKGFuZCBzdXBlcmNsYXNzKSBzaG91bGQgYmUgaW5kZW50ZWQgb24gYSBzZXBhcmF0ZSBsaW5l
LCB3aXRoIHRoZSBjb2xvbiBvciBjb21tYSBwcmVjZWRpbmcgdGhlIG1lbWJlciBvbiB0aGF0IGxp
bmUuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNzUyLDcgKzc0NSw3IEBAIE15Q2xhc3M6Ok15Q2xh
c3MoRG9jdW1lbnQqIGRvY3VtZW50KSA6IE0KIE15T3RoZXJDbGFzczo6TXlPdGhlckNsYXNzKCkg
OiBNeVN1cGVyQ2xhc3MoKSB7fQogYGBgCiAKLVByZWZlciBpbmRleCBvdmVyIGl0ZXJhdG9yIGlu
IFZlY3RvciBpdGVyYXRpb25zIGZvciB0ZXJzZSwgZWFzaWVyLXRvLXJlYWQgY29kZS4KK1tdKCNw
dW5jdHVhdGlvbi12ZWN0b3ItaW5kZXgpIFByZWZlciBpbmRleCBvdmVyIGl0ZXJhdG9yIGluIFZl
Y3RvciBpdGVyYXRpb25zIGZvciB0ZXJzZSwgZWFzaWVyLXRvLXJlYWQgY29kZS4KIAogIyMjIyMj
IFJpZ2h0OgogCkBAIC03ODAsMTAgKzc3MywxMCBAQCBmb3IgKFZlY3RvcjxSZWZQdHI8RnJhbWVW
aWV3PiA+OjppdGVyYXRvCiAKICMjIyBQb2ludGVycyBhbmQgUmVmZXJlbmNlcwogCi0qKlBvaW50
ZXIgdHlwZXMgaW4gbm9uLUMrKyBjb2RlKioKK1tdKCNwb2ludGVycy1ub24tY3BwKSAqKlBvaW50
ZXIgdHlwZXMgaW4gbm9uLUMrKyBjb2RlKioKIFBvaW50ZXIgdHlwZXMgc2hvdWxkIGJlIHdyaXR0
ZW4gd2l0aCBhIHNwYWNlIGJldHdlZW4gdGhlIHR5cGUgYW5kIHRoZSBgKmAgKHNvIHRoZSBgKmAg
aXMgYWRqYWNlbnQgdG8gdGhlIGZvbGxvd2luZyBpZGVudGlmaWVyIGlmIGFueSkuCiAKLSoqUG9p
bnRlciBhbmQgcmVmZXJlbmNlIHR5cGVzIGluIEMrKyBjb2RlKioKK1tdKCNwb2ludGVycy1jcHAp
ICoqUG9pbnRlciBhbmQgcmVmZXJlbmNlIHR5cGVzIGluIEMrKyBjb2RlKioKIEJvdGggcG9pbnRl
ciB0eXBlcyBhbmQgcmVmZXJlbmNlIHR5cGVzIHNob3VsZCBiZSB3cml0dGVuIHdpdGggbm8gc3Bh
Y2UgYmV0d2VlbiB0aGUgdHlwZSBuYW1lIGFuZCB0aGUgYCpgIG9yIGAmYC4KIAogIyMjIyMjIFJp
Z2h0OgpAQCAtODA0LDggKzc5Nyw3IEBAIEltYWdlICpTVkdTdHlsZWRFbGVtZW50Ojpkb1NvbWV0
aGluZyhQYWkKICAgICBjb25zdCBLQ0Rhc2hBcnJheSAmZGFzaGVzID0gZGFzaEFycmF5KCk7CiBg
YGAKIAotCi1BbiBvdXQgYXJndW1lbnQgb2YgYSBmdW5jdGlvbiBzaG91bGQgYmUgcGFzc2VkIGJ5
IHJlZmVyZW5jZSBleGNlcHQgcmFyZSBjYXNlcyB3aGVyZSBpdCBpcyBvcHRpb25hbCBpbiB3aGlj
aCBjYXNlIGl0IHNob3VsZCBiZSBwYXNzZWQgYnkgcG9pbnRlci4KK1tdKCNwb2ludGVycy1vdXQt
YXJndW1lbnQpIEFuIG91dCBhcmd1bWVudCBvZiBhIGZ1bmN0aW9uIHNob3VsZCBiZSBwYXNzZWQg
YnkgcmVmZXJlbmNlIGV4Y2VwdCByYXJlIGNhc2VzIHdoZXJlIGl0IGlzIG9wdGlvbmFsIGluIHdo
aWNoIGNhc2UgaXQgc2hvdWxkIGJlIHBhc3NlZCBieSBwb2ludGVyLgogCiAjIyMjIyMgUmlnaHQ6
CiAKQEAgLTgzMiwxMCArODI0LDkgQEAgdm9pZCBNeUNsYXNzOjpnZXRTb21lVmFsdWUoT3V0QXJn
dW1lbnRUeQogfQogYGBgCiAKLQogIyMjICNpbmNsdWRlIFN0YXRlbWVudHMKIAotQWxsIGltcGxl
bWVudGF0aW9uIGZpbGVzIG11c3QgYCNpbmNsdWRlYCBgY29uZmlnLmhgIGZpcnN0LiBIZWFkZXIg
ZmlsZXMgc2hvdWxkIG5ldmVyIGluY2x1ZGUgYGNvbmZpZy5oYC4KK1tdKCNpbmNsdWRlLWNvbmZp
Zy1oKSBBbGwgaW1wbGVtZW50YXRpb24gZmlsZXMgbXVzdCBgI2luY2x1ZGVgIGBjb25maWcuaGAg
Zmlyc3QuIEhlYWRlciBmaWxlcyBzaG91bGQgbmV2ZXIgaW5jbHVkZSBgY29uZmlnLmhgLgogCiAj
IyMjIyMgUmlnaHQ6CiAKQEAgLTg1Nyw5ICs4NDgsOSBAQCBBbGwgaW1wbGVtZW50YXRpb24gZmls
ZXMgbXVzdCBgI2luY2x1ZGVgCiAjaW5jbHVkZSAiTm9kZS5oIgogYGBgCiAKLUFsbCBpbXBsZW1l
bnRhdGlvbiBmaWxlcyBtdXN0IGAjaW5jbHVkZWAgdGhlIHByaW1hcnkgaGVhZGVyIHNlY29uZCwg
anVzdCBhZnRlciBgY29uZmlnLmhgLiBTbyBmb3IgZXhhbXBsZSwgYE5vZGUuY3BwYCBzaG91bGQg
aW5jbHVkZSBgTm9kZS5oYCBmaXJzdCwgYmVmb3JlIG90aGVyIGZpbGVzLiBUaGlzIGd1YXJhbnRl
ZXMgdGhhdCBlYWNoIGhlYWRlcidzIGNvbXBsZXRlbmVzcyBpcyB0ZXN0ZWQuIFRoaXMgYWxzbyBh
c3N1cmVzIHRoYXQgZWFjaCBoZWFkZXIgY2FuIGJlIGNvbXBpbGVkIHdpdGhvdXQgcmVxdWlyaW5n
IGFueSBvdGhlciBoZWFkZXIgZmlsZXMgYmUgaW5jbHVkZWQgZmlyc3QuCitbXSgjaW5jbHVkZS1w
cmltYXJ5KSBBbGwgaW1wbGVtZW50YXRpb24gZmlsZXMgbXVzdCBgI2luY2x1ZGVgIHRoZSBwcmlt
YXJ5IGhlYWRlciBzZWNvbmQsIGp1c3QgYWZ0ZXIgYGNvbmZpZy5oYC4gU28gZm9yIGV4YW1wbGUs
IGBOb2RlLmNwcGAgc2hvdWxkIGluY2x1ZGUgYE5vZGUuaGAgZmlyc3QsIGJlZm9yZSBvdGhlciBm
aWxlcy4gVGhpcyBndWFyYW50ZWVzIHRoYXQgZWFjaCBoZWFkZXIncyBjb21wbGV0ZW5lc3MgaXMg
dGVzdGVkLiBUaGlzIGFsc28gYXNzdXJlcyB0aGF0IGVhY2ggaGVhZGVyIGNhbiBiZSBjb21waWxl
ZCB3aXRob3V0IHJlcXVpcmluZyBhbnkgb3RoZXIgaGVhZGVyIGZpbGVzIGJlIGluY2x1ZGVkIGZp
cnN0LgogCi1PdGhlciBgI2luY2x1ZGVgIHN0YXRlbWVudHMgc2hvdWxkIGJlIGluIHNvcnRlZCBv
cmRlciAoY2FzZSBzZW5zaXRpdmUsIGFzIGRvbmUgYnkgdGhlIGNvbW1hbmQtbGluZSBzb3J0IHRv
b2wgb3IgdGhlIFhjb2RlIHNvcnQgc2VsZWN0aW9uIGNvbW1hbmQpLiBEb24ndCBib3RoZXIgdG8g
b3JnYW5pemUgdGhlbSBpbiBhIGxvZ2ljYWwgb3JkZXIuCitbXSgjaW5jbHVkZS1vdGhlcnMpIE90
aGVyIGAjaW5jbHVkZWAgc3RhdGVtZW50cyBzaG91bGQgYmUgaW4gc29ydGVkIG9yZGVyIChjYXNl
IHNlbnNpdGl2ZSwgYXMgZG9uZSBieSB0aGUgY29tbWFuZC1saW5lIHNvcnQgdG9vbCBvciB0aGUg
WGNvZGUgc29ydCBzZWxlY3Rpb24gY29tbWFuZCkuIERvbid0IGJvdGhlciB0byBvcmdhbml6ZSB0
aGVtIGluIGEgbG9naWNhbCBvcmRlci4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC04ODMsOCArODc0
LDcgQEAgT3RoZXIgYCNpbmNsdWRlYCBzdGF0ZW1lbnRzIHNob3VsZCBiZSBpbgogI2luY2x1ZGUg
IkF0dHJpYnV0ZS5oIgogYGBgCiAKLQotSW5jbHVkZXMgb2Ygc3lzdGVtIGhlYWRlcnMgbXVzdCBj
b21lIGFmdGVyIGluY2x1ZGVzIG9mIG90aGVyIGhlYWRlcnMuCitbXSgjaW5jbHVkZS1zeXN0ZW0p
IEluY2x1ZGVzIG9mIHN5c3RlbSBoZWFkZXJzIG11c3QgY29tZSBhZnRlciBpbmNsdWRlcyBvZiBv
dGhlciBoZWFkZXJzLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTkxNCw3ICs5MDQsNyBAQCBJbmNs
dWRlcyBvZiBzeXN0ZW0gaGVhZGVycyBtdXN0IGNvbWUgYWZ0CiAKICMjIyAidXNpbmciIFN0YXRl
bWVudHMKIAotSW4gaGVhZGVyIGZpbGVzLCBkbyBub3QgdXNlICJ1c2luZyIgc3RhdGVtZW50cyBp
biBuYW1lc3BhY2UgKG9yIGdsb2JhbCkgc2NvcGUuCitbXSgjdXNpbmctaW4taGVhZGVycykgSW4g
aGVhZGVyIGZpbGVzLCBkbyBub3QgdXNlICJ1c2luZyIgc3RhdGVtZW50cyBpbiBuYW1lc3BhY2Ug
KG9yIGdsb2JhbCkgc2NvcGUuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtOTQ3LDggKzkzNyw3IEBA
IGNsYXNzIFZlY3RvckJ1ZmZlciB7CiB9IC8vIG5hbWVzcGFjZSBXVEYKIGBgYAogCi0KLUluIGhl
YWRlciBmaWxlcyBpbiB0aGUgV1RGIHN1Yi1saWJyYXJ5LCBob3dldmVyLCBpdCBpcyBhY2NlcHRh
YmxlIHRvIHVzZSAidXNpbmciIGRlY2xhcmF0aW9ucyBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlIHRv
IGltcG9ydCBvbmUgb3IgbW9yZSBuYW1lcyBpbiB0aGUgV1RGIG5hbWVzcGFjZSBpbnRvIHRoZSBn
bG9iYWwgc2NvcGUuCitbXSgjdXNpbmctd3RmKSBJbiBoZWFkZXIgZmlsZXMgaW4gdGhlIFdURiBz
dWItbGlicmFyeSwgaG93ZXZlciwgaXQgaXMgYWNjZXB0YWJsZSB0byB1c2UgInVzaW5nIiBkZWNs
YXJhdGlvbnMgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSB0byBpbXBvcnQgb25lIG9yIG1vcmUgbmFt
ZXMgaW4gdGhlIFdURiBuYW1lc3BhY2UgaW50byB0aGUgZ2xvYmFsIHNjb3BlLgogCiAjIyMjIyMg
UmlnaHQ6CiAKQEAgLTk4Niw4ICs5NzUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHVzaW5nIFdURjo6
UGxhY2VtZW50TmV3QWRvcHQ7CiBgYGAKIAotCi1JbiBDKysgaW1wbGVtZW50YXRpb24gZmlsZXMs
IGRvIG5vdCB1c2UgInVzaW5nIiBkZWNsYXJhdGlvbnMgb2YgYW55IGtpbmQgdG8gaW1wb3J0IG5h
bWVzIGluIHRoZSBzdGFuZGFyZCB0ZW1wbGF0ZSBsaWJyYXJ5LiBEaXJlY3RseSBxdWFsaWZ5IHRo
ZSBuYW1lcyBhdCB0aGUgcG9pbnQgdGhleSdyZSB1c2VkIGluc3RlYWQuCitbXSgjdXNpbmctaW4t
Y3BwKSBJbiBDKysgaW1wbGVtZW50YXRpb24gZmlsZXMsIGRvIG5vdCB1c2UgInVzaW5nIiBkZWNs
YXJhdGlvbnMgb2YgYW55IGtpbmQgdG8gaW1wb3J0IG5hbWVzIGluIHRoZSBzdGFuZGFyZCB0ZW1w
bGF0ZSBsaWJyYXJ5LiBEaXJlY3RseSBxdWFsaWZ5IHRoZSBuYW1lcyBhdCB0aGUgcG9pbnQgdGhl
eSdyZSB1c2VkIGluc3RlYWQuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtMTAzMCw4ICsxMDE4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogYGBgCiAKLQot
SW4gaW1wbGVtZW50YXRpb24gZmlsZXMsIGlmIGEgInVzaW5nIG5hbWVzcGFjZSIgc3RhdGVtZW50
IGlzIGZvciBhIG5lc3RlZCBuYW1lc3BhY2Ugd2hvc2UgcGFyZW50IG5hbWVzcGFjZSBpcyBkZWZp
bmVkIGluIHRoZSBmaWxlLCBwdXQgdGhlIHN0YXRlbWVudCBpbnNpZGUgdGhhdCBuYW1lc3BhY2Ug
ZGVmaW5pdGlvbi4KK1tdKCN1c2luZy1uZXN0ZWQtbmFtZXNwYWNlcykgSW4gaW1wbGVtZW50YXRp
b24gZmlsZXMsIGlmIGEgInVzaW5nIG5hbWVzcGFjZSIgc3RhdGVtZW50IGlzIGZvciBhIG5lc3Rl
ZCBuYW1lc3BhY2Ugd2hvc2UgcGFyZW50IG5hbWVzcGFjZSBpcyBkZWZpbmVkIGluIHRoZSBmaWxl
LCBwdXQgdGhlIHN0YXRlbWVudCBpbnNpZGUgdGhhdCBuYW1lc3BhY2UgZGVmaW5pdGlvbi4KIAog
IyMjIyMjIFJpZ2h0OgogCkBAIC0xMDU3LDggKzEwNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiBgYGAKIAotCi1JbiBpbXBsZW1lbnRhdGlvbiBmaWxl
cywgcHV0IGFsbCBvdGhlciAidXNpbmciIHN0YXRlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0
aGUgZmlsZSwgYmVmb3JlIGFueSBuYW1lc3BhY2UgZGVmaW5pdGlvbnMgYW5kIGFmdGVyIGFueSAi
aW5jbHVkZSIgc3RhdGVtZW50cy4KK1tdKCN1c2luZy1wb3NpdGlvbikgSW4gaW1wbGVtZW50YXRp
b24gZmlsZXMsIHB1dCBhbGwgb3RoZXIgInVzaW5nIiBzdGF0ZW1lbnRzIGF0IHRoZSBiZWdpbm5p
bmcgb2YgdGhlIGZpbGUsIGJlZm9yZSBhbnkgbmFtZXNwYWNlIGRlZmluaXRpb25zIGFuZCBhZnRl
ciBhbnkgImluY2x1ZGUiIHN0YXRlbWVudHMuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtMTA4Niw3
ICsxMDcyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIG90aGVyOwogCiAjIyMgVHlwZXMKIAotT21pdCAi
aW50IiB3aGVuIHVzaW5nICJ1bnNpZ25lZCIgbW9kaWZpZXIuIERvIG5vdCB1c2UgInNpZ25lZCIg
bW9kaWZpZXIuIFVzZSAiaW50IiBieSBpdHNlbGYgaW5zdGVhZC4KK1tdKCN0eXBlcy11bnNpZ25l
ZCkgT21pdCAiaW50IiB3aGVuIHVzaW5nICJ1bnNpZ25lZCIgbW9kaWZpZXIuIERvIG5vdCB1c2Ug
InNpZ25lZCIgbW9kaWZpZXIuIFVzZSAiaW50IiBieSBpdHNlbGYgaW5zdGVhZC4KIAogIyMjIyMj
IFJpZ2h0OgogCkBAIC0xMTA1LDcgKzEwOTEsNyBAQCBzaWduZWQgaW50IGM7IC8vIERvZXNuJ3Qg
b21pdCAic2lnbmVkIi4KIAogIyMjIENsYXNzZXMKIAotVXNlIGEgY29uc3RydWN0b3IgdG8gZG8g
YW4gaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBhcmd1bWVudCBpcyByZWFzb25hYmx5IHRo
b3VnaHQgb2YgYXMgYSB0eXBlIGNvbnZlcnNpb24gYW5kIHRoZSB0eXBlIGNvbnZlcnNpb24gaXMg
ZmFzdC4gT3RoZXJ3aXNlLCB1c2UgdGhlIGV4cGxpY2l0IGtleXdvcmQgb3IgYSBmdW5jdGlvbiBy
ZXR1cm5pbmcgdGhlIHR5cGUuIFRoaXMgb25seSBhcHBsaWVzIHRvIHNpbmdsZSBhcmd1bWVudCBj
b25zdHJ1Y3RvcnMuCitbXSgjY2xhc3Nlcy1leHBsaWNpdCkgVXNlIGEgY29uc3RydWN0b3IgdG8g
ZG8gYW4gaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBhcmd1bWVudCBpcyByZWFzb25hYmx5
IHRob3VnaHQgb2YgYXMgYSB0eXBlIGNvbnZlcnNpb24gYW5kIHRoZSB0eXBlIGNvbnZlcnNpb24g
aXMgZmFzdC4gT3RoZXJ3aXNlLCB1c2UgdGhlIGV4cGxpY2l0IGtleXdvcmQgb3IgYSBmdW5jdGlv
biByZXR1cm5pbmcgdGhlIHR5cGUuIFRoaXMgb25seSBhcHBsaWVzIHRvIHNpbmdsZSBhcmd1bWVu
dCBjb25zdHJ1Y3RvcnMuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtMTEzNiw3ICsxMTIyLDcgQEAg
cHVibGljOgogCiAjIyMgU2luZ2xldG9uIHBhdHRlcm4KIAotVXNlIGEgc3RhdGljIG1lbWJlciBm
dW5jdGlvbiBuYW1lZCAic2luZ2xldG9uKCkiIHRvIGFjY2VzcyB0aGUgaW5zdGFuY2Ugb2YgdGhl
IHNpbmdsZXRvbi4KK1tdKCNzaW5nbGV0b24tc3RhdGljLW1lbWJlcikgVXNlIGEgc3RhdGljIG1l
bWJlciBmdW5jdGlvbiBuYW1lZCAic2luZ2xldG9uKCkiIHRvIGFjY2VzcyB0aGUgaW5zdGFuY2Ug
b2YgdGhlIHNpbmdsZXRvbi4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xMTY4LDcgKzExNTQsNyBA
QCBNeVNpbmdsZXRvbiYgbXlTaW5nbGV0b24oKTsgLy8gZnJlZSBmdW5jCiAKICMjIyBDb21tZW50
cwogCi1Vc2Ugb25seSBfb25lXyBzcGFjZSBiZWZvcmUgZW5kIG9mIGxpbmUgY29tbWVudHMgYW5k
IGluIGJldHdlZW4gc2VudGVuY2VzIGluIGNvbW1lbnRzLgorW10oI2NvbW1lbnRzLWVvbCkgVXNl
IG9ubHkgX29uZV8gc3BhY2UgYmVmb3JlIGVuZCBvZiBsaW5lIGNvbW1lbnRzIGFuZCBpbiBiZXR3
ZWVuIHNlbnRlbmNlcyBpbiBjb21tZW50cy4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xMTgzLDkg
KzExNjksOSBAQCBpbnQgaTsgICAgLy8gVGhpcyBpcyBhIGNvbW1lbnQgd2l0aCBzZXZlCiBkb3Vi
bGUgZjsgLy8gVGhpcyBpcyBhbm90aGVyIGNvbW1lbnQuICBUaGVyZSBhcmUgdHdvIHNwYWNlcyBi
ZWZvcmUgdGhpcyBzZW50ZW5jZSB3aGljaCBpcyBhIG5vbi1jb25mb3JtaW5nIHN0eWxlLgogYGBg
CiAKLU1ha2UgY29tbWVudHMgbG9vayBsaWtlIHNlbnRlbmNlcyBieSBzdGFydGluZyB3aXRoIGEg
Y2FwaXRhbCBsZXR0ZXIgYW5kIGVuZGluZyB3aXRoIGEgcGVyaW9kIChwdW5jdGF0aW9uKS4gT25l
IGV4Y2VwdGlvbiBtYXkgYmUgZW5kIG9mIGxpbmUgY29tbWVudHMgbGlrZSB0aGlzIGBpZiAoeCA9
PSB5KSAvLyBmYWxzZSBmb3IgTmFOYC4KK1tdKCNjb21tZW50cy1zZW50ZW5jZXMpIE1ha2UgY29t
bWVudHMgbG9vayBsaWtlIHNlbnRlbmNlcyBieSBzdGFydGluZyB3aXRoIGEgY2FwaXRhbCBsZXR0
ZXIgYW5kIGVuZGluZyB3aXRoIGEgcGVyaW9kIChwdW5jdGF0aW9uKS4gT25lIGV4Y2VwdGlvbiBt
YXkgYmUgZW5kIG9mIGxpbmUgY29tbWVudHMgbGlrZSB0aGlzIGBpZiAoeCA9PSB5KSAvLyBmYWxz
ZSBmb3IgTmFOYC4KIAotVXNlIEZJWE1FOiAod2l0aG91dCBhdHRyaWJ1dGlvbikgdG8gZGVub3Rl
IGl0ZW1zIHRoYXQgbmVlZCB0byBiZSBhZGRyZXNzZWQgaW4gdGhlIGZ1dHVyZS4KK1tdKCNjb21t
ZW50cy1maXhtZSkgVXNlIEZJWE1FOiAod2l0aG91dCBhdHRyaWJ1dGlvbikgdG8gZGVub3RlIGl0
ZW1zIHRoYXQgbmVlZCB0byBiZSBhZGRyZXNzZWQgaW4gdGhlIGZ1dHVyZS4KIAogIyMjIyMjIFJp
Z2h0OgogCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy90YWJs
ZS1vZi1jb250ZW50cy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1j
b250ZW50L3BsdWdpbnMvdGFibGUtb2YtY29udGVudHMucGhwCShyZXZpc2lvbiAxOTI5MDEpCisr
KyBXZWJzaXRlcy93ZWJraXQub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy90YWJsZS1vZi1jb250ZW50
cy5waHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAgY2xhc3MgV2ViS2l0VGFibGVP
ZkNvbnRlbnRzIHsKIAogICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmlsdGVySW5kZXgoJHZh
bHVlLCAka2V5KSB7CiAgICAgICAgIGxpc3QoJGxldmVsLCAkYW5jaG9yKSA9IGV4cGxvZGUoJzo6
JywgJGtleSk7Ci0gICAgICAgIGlmICggJGxldmVsIDwgNCApIHNlbGY6OiR0b2NbICRrZXkgXSA9
ICR2YWx1ZTsKKyAgICAgICAgaWYgKCAkbGV2ZWwgPCAzICkgc2VsZjo6JHRvY1sgJGtleSBdID0g
JHZhbHVlOwogICAgIH0KIAogICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVuZGVyTWFya3Vw
KCkgewpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQv
aW5jbHVkZXMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVu
dC90aGVtZXMvd2Via2l0L2luY2x1ZGVzLnBocAkocmV2aXNpb24gMTkyODMyKQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvaW5jbHVkZXMucGhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNCwxNyArMTQsMjMgQEAKIAogICAgICAgICAkY2FjaGVrZXkgPSAiY2Fj
aGVkX2luY2x1ZGVfIiAuICRmaWxlOwogCi0gICAgICAgIGlmICggZmFsc2UgPT09ICggJGNvbnRl
bnQgPSBnZXRfdHJhbnNpZW50KCRjYWNoZWtleSkgKSApIHsKKyAgICAgICAgLy8gaWYgKCBmYWxz
ZSA9PT0gKCAkY29udGVudCA9IGdldF90cmFuc2llbnQoJGNhY2hla2V5KSApICkgewogICAgICAg
ICAgICAgb2Jfc3RhcnQoKTsKICAgICAgICAgICAgIGluY2x1ZGUgJHBhdGggLiAnLycgLiAkZmls
ZTsKICAgICAgICAgICAgICRjb250ZW50ID0gb2JfZ2V0X2NsZWFuKCk7Ci0gICAgICAgIAorCisg
ICAgICAgICAgICAvLyBIYW5kbGUgc3ViLXNlY3Rpb24gYW5jaG9ycworICAgICAgICAgICAgJGNv
bnRlbnQgPSBwcmVnX3JlcGxhY2UoJy9cW11cKFwjKFteXCldKylcKVxzKz8vJywgJzxhIGhyZWY9
IiMkMSIgbmFtZT0iJDEiPjwvYT4nLCAkY29udGVudCk7CisgICAgICAgICAgICAKKyAgICAgICAg
ICAgIC8vIFRyYW5zZm9ybSBNYXJrZG93bgogICAgICAgICAgICAgJE1hcmtkb3duID0gV1BDb21f
TWFya2Rvd246OmdldF9pbnN0YW5jZSgpOwogICAgICAgICAgICAgJGNvbnRlbnQgPSB3cF91bnNs
YXNoKCAkTWFya2Rvd24tPnRyYW5zZm9ybSgkY29udGVudCkgKTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgLy8gSW5kZXggdGFibGUgb2YgY29udGVudHMKICAgICAgICAgICAgICRjb250ZW50
ID0gdGFibGVfb2ZfY29udGVudHNfaW5kZXgoJGNvbnRlbnQsIGdldF90aGVfSUQoKSk7CiAgICAg
ICAgICAgICAKICAgICAgICAgICAgIHNldF90cmFuc2llbnQoJGNhY2hla2V5LCAkY29udGVudCwg
REFZX0lOX1NFQ09ORFMpOwotICAgICAgICB9CisgICAgICAgIC8vIH0KICAgICAgICAgCiAgICAg
ICAgID8+CiAKSW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Vi
a2l0L3N0YXR1cy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250
ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocAkocmV2aXNpb24gMTkyODMyKQorKysgV2Vic2l0
ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsOSArMjgsOSBAQCBmdW5jdGlvbiB4aHJQcm9taXNlKHVybCkgewogICAg
ICAgICB4aHJSZXF1ZXN0LnNlbmQoKTsKICAgICB9KTsKIH0KLXZhciBvcmlnaW4gPSBuZXcgVVJM
KCJodHRwczovL3N2bi53ZWJraXQub3JnLyIpOwotdmFyIGxvYWRKYXZhU2NyaXB0Q29yZUZlYXR1
cmVzID0geGhyUHJvbWlzZShuZXcgVVJMKCIvcmVwb3NpdG9yeS93ZWJraXQvdHJ1bmsvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ZlYXR1cmVzLmpzb24iLCBvcmlnaW4pKTsKLXZhciBsb2FkV2ViQ29y
ZUZlYXR1cmVzID0geGhyUHJvbWlzZShuZXcgVVJMKCIvcmVwb3NpdG9yeS93ZWJraXQvdHJ1bmsv
U291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbiIsIG9yaWdpbikpOwordmFyIG9yaWdpbiA9IG5l
dyBVUkwoImh0dHBzOi8vPD9waHAgZWNobyBXUF9IT1NUOyA/Pi8iKTsKK3ZhciBsb2FkSmF2YVNj
cmlwdENvcmVGZWF0dXJlcyA9IHhoclByb21pc2UobmV3IFVSTCgiL3JlcG9zaXRvcnkvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ZlYXR1cmVzLmpzb24iLCBvcmlnaW4pKTsKK3ZhciBsb2FkV2ViQ29y
ZUZlYXR1cmVzID0geGhyUHJvbWlzZShuZXcgVVJMKCIvcmVwb3NpdG9yeS9Tb3VyY2UvV2ViQ29y
ZS9mZWF0dXJlcy5qc29uIiwgb3JpZ2luKSk7CiA8L3NjcmlwdD4KIAogPHN0eWxlPgpJbmRleDog
V2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0
L3N0eWxlLmNzcwkocmV2aXNpb24gMTkyOTI1KQorKysgV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1j
b250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw5ICs5
NywzMyBAQCBjb2RlIHsKIAogLyoqIEFjY2Vzc2liaWxpdHkgSGVscGVycyAqKi8KIGFbbmFtZV0g
ewotICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CiAgICAgdG9wOiAtM3JlbTsKKyAgICBjb2xvcjogI2RkZDsKKyAg
ICB3aWR0aDogMDsKK30KKworcCA+IGFbbmFtZV06OmJlZm9yZSB7CisgICAgY29udGVudDogIiMi
OworICAgIG1hcmdpbi1sZWZ0OiAtMS43cmVtOworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICB0b3A6IDNyZW07CisgICAgCit9CisKK2FbbmFtZV06aG92ZXIgeworICAgIGNvbG9yOiAjMDhj
OworICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKK30KKworaDEgYVtuYW1lXSwKK2gyIGFbbmFt
ZV0sCitoMyBhW25hbWVdLAoraDQgYVtuYW1lXSwKK2g1IGFbbmFtZV0sCitoNiBhW25hbWVdIHsK
KyAgICBkaXNwbGF5OiBibG9jazsKICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiB9CiAKQEAgLTEw
Nyw2ICsxMzEsMTAgQEAgYVtuYW1lXSB7CiAgICAgdG9wOiBjYWxjKC0zMnB4IC0gM3JlbSk7CiB9
CiAKKy5hZG1pbi1iYXIgcCA+IGFbbmFtZV06OmJlZm9yZSB7CisgICAgdG9wOiBjYWxjKDMycHgg
KyAzcmVtKTsKK30KKwogLnNjcmVlbi1yZWFkZXItdGV4dCB7CiAJY2xpcDogcmVjdCgxcHgsIDFw
eCwgMXB4LCAxcHgpOwogCXBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwpAQCAtMTIxNiw3
ICsxMjQ0LDcgQEAgYXJ0aWNsZSwKIH0KIAogLndpdGgtdG9jIHByZTpudGgtY2hpbGQoLW4rNiks
Ci0jcG9zdC00MTMyIHByZTpudGgtY2hpbGQoLW4rOCkgeworI3Bvc3QtNDEzMiBwcmU6bnRoLWNo
aWxkKC1uKzEwKSB7CiAgICAgd2lkdGg6IDU1JTsKICAgICB6LWluZGV4OiAtMTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266555</attachid>
            <date>2015-12-03 13:50:29 -0800</date>
            <delta_ts>2015-12-03 14:47:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151770-20151203135004.patch</filename>
            <type>text/plain</type>
            <size>25428</size>
            <attacher name="Jon Davis">jond</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTMzNzMpCisrKyBXZWJzaXRlcy93
ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE1
LTEyLTAzICBKb25hdGhhbiBEYXZpcyAgPGpvbmRAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBz
dWItc2VjdGlvbiBhbmNob3JzIHRvIGNvZGUgc3R5bGUgZ3VpZGVsaW5lcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNzcwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjb2RlLXN0eWxlLm1kOgorICAg
ICAgICAqIHdwLWNvbnRlbnQvcGx1Z2lucy90YWJsZS1vZi1jb250ZW50cy5waHA6CisgICAgICAg
ICogd3AtY29udGVudC90aGVtZXMvd2Via2l0L2luY2x1ZGVzLnBocDoKKyAgICAgICAgKiB3cC1j
b250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzOgorICAgICAgICAoYVtuYW1lXSk6CisgICAg
ICAgIChwID4gYVtuYW1lXTo6YmVmb3JlKToKKyAgICAgICAgKGFbbmFtZV06aG92ZXIpOgorICAg
ICAgICAoaDYgYVtuYW1lXSk6CisgICAgICAgICguYWRtaW4tYmFyIGFbbmFtZV0pOgorICAgICAg
ICAoLmFkbWluLWJhciBwID4gYVtuYW1lXTo6YmVmb3JlKToKKyAgICAgICAgKC5zY3JlZW4tcmVh
ZGVyLXRleHQpOgorICAgICAgICAoLnRhYmxlLW9mLWNvbnRlbnRzIHVsIGxpID4gdWwpOgorICAg
ICAgICAoI3Bvc3QtNDEzMiBwcmU6bnRoLWNoaWxkKC1uKzEwKSk6CisgICAgICAgICgjcG9zdC00
MTMyIHByZTpudGgtY2hpbGQoLW4rOCkpOiBEZWxldGVkLgorCiAyMDE1LTEyLTAxICBKb25hdGhh
biBEYXZpcyAgPGpvbmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZWQgZmF2aWNvbi5pY28g
d2l0aCB0aGUgbmV3IGxvZ28uCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL2NvZGUtc3R5bGUu
bWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0Lm9yZy9jb2RlLXN0eWxlLm1kCShyZXZp
c2lvbiAxOTI4MzIpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL2NvZGUtc3R5bGUubWQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw4IEBACiAjIyMgSW5kZW50YXRpb24KIAotVXNlIHNwYWNlcywg
bm90IHRhYnMuIFRoZSBpbmRlbnQgc2l6ZSBpcyA0IHNwYWNlcy4gVGFicyBzaG91bGQgb25seSBh
cHBlYXIgaW4gZmlsZXMgdGhhdCByZXF1aXJlIHRoZW0gZm9yIHNlbWFudGljIG1lYW5pbmcsIGxp
a2UgTWFrZWZpbGVzLgorW10oI2luZGVudGF0aW9uLW5vLXRhYnMpIFVzZSBzcGFjZXMsIG5vdCB0
YWJzLiBUYWJzIHNob3VsZCBvbmx5IGFwcGVhciBpbiBmaWxlcyB0aGF0IHJlcXVpcmUgdGhlbSBm
b3Igc2VtYW50aWMgbWVhbmluZywgbGlrZSBNYWtlZmlsZXMuCisKK1tdKCNpbmRlbnRhdGlvbi00
LXNwYWNlcykgVGhlIGluZGVudCBzaXplIGlzIDQgc3BhY2VzLgogCiAjIyMjIyMgUmlnaHQ6CiAK
QEAgLTIwLDcgKzIyLDcgQEAgaW50IG1haW4oKSAKIH0KIGBgYAogCi1UaGUgY29udGVudHMgb2Yg
YW4gb3V0ZXJtb3N0IGBuYW1lc3BhY2VgIGJsb2NrIChhbmQgYW55IG5lc3RlZCBuYW1lc3BhY2Vz
IHdpdGggdGhlIHNhbWUgc2NvcGUpIHNob3VsZCBub3QgYmUgaW5kZW50ZWQuIFRoZSBjb250ZW50
cyBvZiBvdGhlciBuZXN0ZWQgbmFtZXNwYWNlcyBzaG91bGQgYmUgaW5kZW50ZWQuCitbXSgjaW5k
ZW50YXRpb24tbmFtZXNwYWNlKSBUaGUgY29udGVudHMgb2YgYW4gb3V0ZXJtb3N0IGBuYW1lc3Bh
Y2VgIGJsb2NrIChhbmQgYW55IG5lc3RlZCBuYW1lc3BhY2VzIHdpdGggdGhlIHNhbWUgc2NvcGUp
IHNob3VsZCBub3QgYmUgaW5kZW50ZWQuIFRoZSBjb250ZW50cyBvZiBvdGhlciBuZXN0ZWQgbmFt
ZXNwYWNlcyBzaG91bGQgYmUgaW5kZW50ZWQuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNzgsOCAr
ODAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiBgYGAK
IAotCi1BIGNhc2UgbGFiZWwgc2hvdWxkIGxpbmUgdXAgd2l0aCBpdHMgc3dpdGNoIHN0YXRlbWVu
dC4gVGhlIGNhc2Ugc3RhdGVtZW50IGlzIGluZGVudGVkLgorW10oI2luZGVudGF0aW9uLWNhc2Ut
bGFiZWwpIEEgY2FzZSBsYWJlbCBzaG91bGQgbGluZSB1cCB3aXRoIGl0cyBzd2l0Y2ggc3RhdGVt
ZW50LiBUaGUgY2FzZSBzdGF0ZW1lbnQgaXMgaW5kZW50ZWQuCiAKICMjIyMjIyBSaWdodDoKIApA
QCAtMTA3LDggKzEwOCw3IEBAIHN3aXRjaCAoY29uZGl0aW9uKSB7CiB9CiBgYGAKIAotCi1Cb29s
ZWFuIGV4cHJlc3Npb25zIGF0IHRoZSBzYW1lIG5lc3RpbmcgbGV2ZWwgdGhhdCBzcGFuIG11bHRp
cGxlIGxpbmVzIHNob3VsZCBoYXZlIHRoZWlyIG9wZXJhdG9ycyBvbiB0aGUgbGVmdCBzaWRlIG9m
IHRoZSBsaW5lIGluc3RlYWQgb2YgdGhlIHJpZ2h0IHNpZGUuCitbXSgjaW5kZW50YXRpb24td3Jh
cC1ib29sLW9wKSBCb29sZWFuIGV4cHJlc3Npb25zIGF0IHRoZSBzYW1lIG5lc3RpbmcgbGV2ZWwg
dGhhdCBzcGFuIG11bHRpcGxlIGxpbmVzIHNob3VsZCBoYXZlIHRoZWlyIG9wZXJhdG9ycyBvbiB0
aGUgbGVmdCBzaWRlIG9mIHRoZSBsaW5lIGluc3RlYWQgb2YgdGhlIHJpZ2h0IHNpZGUuCiAKICMj
IyMjIyBSaWdodDoKIApAQCAtMTMwLDcgKzEzMCw3IEBAIHJldHVybiBhdHRyaWJ1dGUubmFtZSgp
ID09IHNyY0F0dHIgfHwKIAogIyMjIFNwYWNpbmcKIAotRG8gbm90IHBsYWNlIHNwYWNlcyBhcm91
bmQgdW5hcnkgb3BlcmF0b3JzLgorW10oI3NwYWNpbmctdW5hcnktb3ApIERvIG5vdCBwbGFjZSBz
cGFjZXMgYXJvdW5kIHVuYXJ5IG9wZXJhdG9ycy4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xNDUs
OCArMTQ1LDcgQEAgaSsrOwogaSArKzsKIGBgYAogCi0KLSoqRG8qKiBwbGFjZSBzcGFjZXMgYXJv
dW5kIGJpbmFyeSBhbmQgdGVybmFyeSBvcGVyYXRvcnMuCitbXSgjc3BhY2luZy1iaW5hcnktdGVy
bmFyeS1vcCkgKipEbyoqIHBsYWNlIHNwYWNlcyBhcm91bmQgYmluYXJ5IGFuZCB0ZXJuYXJ5IG9w
ZXJhdG9ycy4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xNjYsOCArMTY1LDcgQEAgYyA9IGF8YjsK
IHJldHVybiBjb25kaXRpb24gPyAxOjA7CiBgYGAKIAotCi1QbGFjZSBzcGFjZXMgYXJvdW5kIHRo
ZSBjb2xvbiBpbiBhIHJhbmdlLWJhc2VkIGZvciBsb29wLgorW10oI3NwYWNpbmctZm9yLWNvbG9u
KSBQbGFjZSBzcGFjZXMgYXJvdW5kIHRoZSBjb2xvbiBpbiBhIHJhbmdlLWJhc2VkIGZvciBsb29w
LgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTE4NSw4ICsxODMsNyBAQCBmb3IgKGF1dG8mIHBsdWdp
bjogcGx1Z2lucykKICAgICByZWdpc3RlclBsdWdpbihwbHVnaW4pOwogYGBgCiAKLQotRG8gbm90
IHBsYWNlIHNwYWNlcyBiZWZvcmUgY29tbWEgYW5kIHNlbWljb2xvbi4KK1tdKCNzcGFjaW5nLWNv
bW1hLXNlbWljb2xvbikgRG8gbm90IHBsYWNlIHNwYWNlcyBiZWZvcmUgY29tbWEgYW5kIHNlbWlj
b2xvbi4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0yMDYsOCArMjAzLDcgQEAgZm9yIChpbnQgaSA9
IDAgOyBpIDwgMTAgOyArK2kpCiBmKGEgLCBiKSA7CiBgYGAKIAotCi1QbGFjZSBzcGFjZXMgYmV0
d2VlbiBjb250cm9sIHN0YXRlbWVudHMgYW5kIHRoZWlyIHBhcmVudGhlc2VzLgorW10oI3NwYWNp
bmctY29udHJvbC1wYXJlbikgUGxhY2Ugc3BhY2VzIGJldHdlZW4gY29udHJvbCBzdGF0ZW1lbnRz
IGFuZCB0aGVpciBwYXJlbnRoZXNlcy4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0yMjMsOCArMjE5
LDcgQEAgaWYoY29uZGl0aW9uKQogICAgIGRvSXQoKTsKIGBgYAogCi0KLURvIG5vdCBwbGFjZSBz
cGFjZXMgYmV0d2VlbiBhIGZ1bmN0aW9uIGFuZCBpdHMgcGFyZW50aGVzZXMsIG9yIGJldHdlZW4g
YSBwYXJlbnRoZXNpcyBhbmQgaXRzIGNvbnRlbnQuCitbXSgjc3BhY2luZy1mdW5jdGlvbi1wYXJl
bikgRG8gbm90IHBsYWNlIHNwYWNlcyBiZXR3ZWVuIGEgZnVuY3Rpb24gYW5kIGl0cyBwYXJlbnRo
ZXNlcywgb3IgYmV0d2VlbiBhIHBhcmVudGhlc2lzIGFuZCBpdHMgY29udGVudC4KIAogIyMjIyMj
IFJpZ2h0OgogCkBAIC0yNDEsNyArMjM2LDcgQEAgZiggYSwgYiApOwogCiAjIyMgTGluZSBicmVh
a2luZwogCi1FYWNoIHN0YXRlbWVudCBzaG91bGQgZ2V0IGl0cyBvd24gbGluZS4KK1tdKCNsaW5l
YnJlYWtpbmctbXVsdGlwbGUtc3RhdGVtZW50cykgRWFjaCBzdGF0ZW1lbnQgc2hvdWxkIGdldCBp
dHMgb3duIGxpbmUuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtMjU5LDcgKzI1NCw3IEBAIHgrKzsg
eSsrOwogaWYgKGNvbmRpdGlvbikgZG9JdCgpOwogYGBgCiAKLUFuIGBlbHNlYCBzdGF0ZW1lbnQg
c2hvdWxkIGdvIG9uIHRoZSBzYW1lIGxpbmUgYXMgYSBwcmVjZWRpbmcgY2xvc2UgYnJhY2UgaWYg
b25lIGlzIHByZXNlbnQsIGVsc2UgaXQgc2hvdWxkIGxpbmUgdXAgd2l0aCB0aGUgYGlmYCBzdGF0
ZW1lbnQuCitbXSgjbGluZWJyZWFraW5nLWVsc2UtYnJhY2VzKSBBbiBgZWxzZWAgc3RhdGVtZW50
IHNob3VsZCBnbyBvbiB0aGUgc2FtZSBsaW5lIGFzIGEgcHJlY2VkaW5nIGNsb3NlIGJyYWNlIGlm
IG9uZSBpcyBwcmVzZW50LCBlbHNlIGl0IHNob3VsZCBsaW5lIHVwIHdpdGggdGhlIGBpZmAgc3Rh
dGVtZW50LgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTI5OSw4ICsyOTQsNyBAQCBpZiAoY29uZGl0
aW9uKSBkb1NvbWV0aGluZygpOyBlbHNlIHsKIH0KIGBgYAogCi0KLUFuIGBlbHNlIGlmYCBzdGF0
ZW1lbnQgc2hvdWxkIGJlIHdyaXR0ZW4gYXMgYW4gYGlmYCBzdGF0ZW1lbnQgd2hlbiB0aGUgcHJp
b3IgYGlmYCBjb25jbHVkZXMgd2l0aCBhIGByZXR1cm5gIHN0YXRlbWVudC4KK1tdKCNsaW5lYnJl
YWtpbmctZWxzZS1pZikgQW4gYGVsc2UgaWZgIHN0YXRlbWVudCBzaG91bGQgYmUgd3JpdHRlbiBh
cyBhbiBgaWZgIHN0YXRlbWVudCB3aGVuIHRoZSBwcmlvciBgaWZgIGNvbmNsdWRlcyB3aXRoIGEg
YHJldHVybmAgc3RhdGVtZW50LgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTMyNyw3ICszMjEsNyBA
QCBpZiAoY29uZGl0aW9uKSB7CiAKICMjIyBCcmFjZXMKIAotRnVuY3Rpb24gZGVmaW5pdGlvbnM6
IHBsYWNlIGVhY2ggYnJhY2Ugb24gaXRzIG93biBsaW5lLgorW10oI2JyYWNlcy1mdW5jdGlvbikg
RnVuY3Rpb24gZGVmaW5pdGlvbnM6IHBsYWNlIGVhY2ggYnJhY2Ugb24gaXRzIG93biBsaW5lLgog
CiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTM0Niw3ICszNDAsNyBAQCBpbnQgbWFpbigpIHsKIH0KIGBg
YAogCi1PdGhlciBicmFjZXM6IHBsYWNlIHRoZSBvcGVuIGJyYWNlIG9uIHRoZSBsaW5lIHByZWNl
ZGluZyB0aGUgY29kZSBibG9jazsgcGxhY2UgdGhlIGNsb3NlIGJyYWNlIG9uIGl0cyBvd24gbGlu
ZS4KK1tdKCNicmFjZXMtYmxvY2tzKSBPdGhlciBicmFjZXM6IHBsYWNlIHRoZSBvcGVuIGJyYWNl
IG9uIHRoZSBsaW5lIHByZWNlZGluZyB0aGUgY29kZSBibG9jazsgcGxhY2UgdGhlIGNsb3NlIGJy
YWNlIG9uIGl0cyBvd24gbGluZS4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0zNzMsNyArMzY3LDcg
QEAgY2xhc3MgTXlDbGFzcyAKIH07CiBgYGAKIAotT25lLWxpbmUgY29udHJvbCBjbGF1c2VzIHNo
b3VsZCBub3QgdXNlIGJyYWNlcyB1bmxlc3MgY29tbWVudHMgYXJlIGluY2x1ZGVkIG9yIGEgc2lu
Z2xlIHN0YXRlbWVudCBzcGFucyBtdWx0aXBsZSBsaW5lcy4KK1tdKCNicmFjZXMtb25lLWxpbmUp
IE9uZS1saW5lIGNvbnRyb2wgY2xhdXNlcyBzaG91bGQgbm90IHVzZSBicmFjZXMgdW5sZXNzIGNv
bW1lbnRzIGFyZSBpbmNsdWRlZCBvciBhIHNpbmdsZSBzdGF0ZW1lbnQgc3BhbnMgbXVsdGlwbGUg
bGluZXMuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNDA4LDggKzQwMiw3IEBAIGlmIChjb25kaXRp
b24pCiAgICAgICAgIHJlYWxseUxvbmdQYXJhbTUpOwogYGBgCiAKLQotQ29udHJvbCBjbGF1c2Vz
IHdpdGhvdXQgYSBib2R5IHNob3VsZCB1c2UgZW1wdHkgYnJhY2VzOgorW10oI2JyYWNlcy1lbXB0
eS1ibG9jaykgQ29udHJvbCBjbGF1c2VzIHdpdGhvdXQgYSBib2R5IHNob3VsZCB1c2UgZW1wdHkg
YnJhY2VzOgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTQyNSwxMSArNDE4LDExIEBAIGZvciAoIDsg
Y3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPm5leHQKIAogIyMjIE51bGwsIGZhbHNlIGFuZCB6
ZXJvCiAKLUluIEMrKywgdGhlIG51bGwgcG9pbnRlciB2YWx1ZSBzaG91bGQgYmUgd3JpdHRlbiBh
cyBgbnVsbHB0cmAuIEluIEMsIGl0IHNob3VsZCBiZSB3cml0dGVuIGFzIGBOVUxMYC4gSW4gT2Jq
ZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKyssIGZvbGxvdyB0aGUgZ3VpZGVsaW5lIGZvciBDIG9y
IEMrKywgcmVzcGVjdGl2ZWx5LCBidXQgdXNlIGBuaWxgIHRvIHJlcHJlc2VudCBhIG51bGwgT2Jq
ZWN0aXZlLUMgb2JqZWN0LgorW10oI3plcm8tbnVsbCkgSW4gQysrLCB0aGUgbnVsbCBwb2ludGVy
IHZhbHVlIHNob3VsZCBiZSB3cml0dGVuIGFzIGBudWxscHRyYC4gSW4gQywgaXQgc2hvdWxkIGJl
IHdyaXR0ZW4gYXMgYE5VTExgLiBJbiBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKywgZm9s
bG93IHRoZSBndWlkZWxpbmUgZm9yIEMgb3IgQysrLCByZXNwZWN0aXZlbHksIGJ1dCB1c2UgYG5p
bGAgdG8gcmVwcmVzZW50IGEgbnVsbCBPYmplY3RpdmUtQyBvYmplY3QuCiAKLUMrKyBhbmQgQyBg
Ym9vbGAgdmFsdWVzIHNob3VsZCBiZSB3cml0dGVuIGFzIGB0cnVlYCBhbmQgYGZhbHNlYC4gT2Jq
ZWN0aXZlLUMgYEJPT0xgIHZhbHVlcyBzaG91bGQgYmUgd3JpdHRlbiBhcyBgWUVTYCBhbmQgYE5P
YC4KK1tdKCN6ZXJvLWJvb2wpIEMrKyBhbmQgQyBgYm9vbGAgdmFsdWVzIHNob3VsZCBiZSB3cml0
dGVuIGFzIGB0cnVlYCBhbmQgYGZhbHNlYC4gT2JqZWN0aXZlLUMgYEJPT0xgIHZhbHVlcyBzaG91
bGQgYmUgd3JpdHRlbiBhcyBgWUVTYCBhbmQgYE5PYC4KIAotVGVzdHMgZm9yIHRydWUvZmFsc2Us
IG51bGwvbm9uLW51bGwsIGFuZCB6ZXJvL25vbi16ZXJvIHNob3VsZCBhbGwgYmUgZG9uZSB3aXRo
b3V0IGVxdWFsaXR5IGNvbXBhcmlzb25zLgorW10oI3plcm8tY29tcGFyaXNvbikgVGVzdHMgZm9y
IHRydWUvZmFsc2UsIG51bGwvbm9uLW51bGwsIGFuZCB6ZXJvL25vbi16ZXJvIHNob3VsZCBhbGwg
YmUgZG9uZSB3aXRob3V0IGVxdWFsaXR5IGNvbXBhcmlzb25zLgogCiAjIyMjIyMgUmlnaHQ6CiAK
QEAgLTQ1NywxMSArNDUwLDExIEBAIGlmIChjb3VudCA9PSAwKQogICAgIHJldHVybjsKIGBgYAog
Ci1JbiBPYmplY3RpdmUtQywgaW5zdGFuY2UgdmFyaWFibGVzIGFyZSBpbml0aWFsaXplZCB0byB6
ZXJvIGF1dG9tYXRpY2FsbHkuIERvbid0IGFkZCBleHBsaWNpdCBpbml0aWFsaXphdGlvbnMgdG8g
bmlsIG9yIE5PIGluIGFuIGluaXQgbWV0aG9kLgorW10oI3plcm8tb2JqYy12YXJpYWJsZXMpIElu
IE9iamVjdGl2ZS1DLCBpbnN0YW5jZSB2YXJpYWJsZXMgYXJlIGluaXRpYWxpemVkIHRvIHplcm8g
YXV0b21hdGljYWxseS4gRG9uJ3QgYWRkIGV4cGxpY2l0IGluaXRpYWxpemF0aW9ucyB0byBuaWwg
b3IgTk8gaW4gYW4gaW5pdCBtZXRob2QuCiAKICMjIyBGbG9hdGluZyBwb2ludCBsaXRlcmFscwog
Ci1Vbmxlc3MgcmVxdWlyZWQgaW4gb3JkZXIgdG8gZm9yY2UgZmxvYXRpbmcgcG9pbnQgbWF0aCwg
ZG8gbm90IGFwcGVuZCBgLjBgLCBgLmZgIGFuZCBgLjBmYCB0byBmbG9hdGluZyBwb2ludCBsaXRl
cmFscy4KK1tdKCNmbG9hdC1zdWZmaXhlcykgVW5sZXNzIHJlcXVpcmVkIGluIG9yZGVyIHRvIGZv
cmNlIGZsb2F0aW5nIHBvaW50IG1hdGgsIGRvIG5vdCBhcHBlbmQgYC4wYCwgYC5mYCBhbmQgYC4w
ZmAgdG8gZmxvYXRpbmcgcG9pbnQgbGl0ZXJhbHMuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNDk3
LDcgKzQ5MCw3IEBAIGRvdWJsZSBmcmFtZUR1cmF0aW9uID0gMSAvIGZyYW1lc1BlclNlY28KIAog
IyMjIE5hbWVzCiAKLVVzZSBDYW1lbENhc2UuIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciwg
aW5jbHVkaW5nIGFsbCBsZXR0ZXJzIGluIGFuIGFjcm9ueW0sIGluIGEgY2xhc3MsIHN0cnVjdCwg
cHJvdG9jb2wsIG9yIG5hbWVzcGFjZSBuYW1lLiBMb3dlci1jYXNlIHRoZSBmaXJzdCBsZXR0ZXIs
IGluY2x1ZGluZyBhbGwgbGV0dGVycyBpbiBhbiBhY3JvbnltLCBpbiBhIHZhcmlhYmxlIG9yIGZ1
bmN0aW9uIG5hbWUuCitbXSgjbmFtZXMtYmFzaWMpIFVzZSBDYW1lbENhc2UuIENhcGl0YWxpemUg
dGhlIGZpcnN0IGxldHRlciwgaW5jbHVkaW5nIGFsbCBsZXR0ZXJzIGluIGFuIGFjcm9ueW0sIGlu
IGEgY2xhc3MsIHN0cnVjdCwgcHJvdG9jb2wsIG9yIG5hbWVzcGFjZSBuYW1lLiBMb3dlci1jYXNl
IHRoZSBmaXJzdCBsZXR0ZXIsIGluY2x1ZGluZyBhbGwgbGV0dGVycyBpbiBhbiBhY3JvbnltLCBp
biBhIHZhcmlhYmxlIG9yIGZ1bmN0aW9uIG5hbWUuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNTE3
LDcgKzUxMCw3IEBAIGNsYXNzIEh0bWxEb2N1bWVudDsKIFN0cmluZyBNSU1FVHlwZSgpOwogYGBg
CiAKLVVzZSBmdWxsIHdvcmRzLCBleGNlcHQgaW4gdGhlIHJhcmUgY2FzZSB3aGVyZSBhbiBhYmJy
ZXZpYXRpb24gd291bGQgYmUgbW9yZSBjYW5vbmljYWwgYW5kIGVhc2llciB0byB1bmRlcnN0YW5k
LgorW10oI25hbWVzLWZ1bGwtd29yZHMpIFVzZSBmdWxsIHdvcmRzLCBleGNlcHQgaW4gdGhlIHJh
cmUgY2FzZSB3aGVyZSBhbiBhYmJyZXZpYXRpb24gd291bGQgYmUgbW9yZSBjYW5vbmljYWwgYW5k
IGVhc2llciB0byB1bmRlcnN0YW5kLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTUzNSw3ICs1Mjgs
NyBAQCBzaXplX3QgbGVuOwogc2hvcnQgdGFidWxhdGlvbkluZGV4OyAvLyBiaXphcnJlCiBgYGAK
IAotRGF0YSBtZW1iZXJzIGluIEMrKyBjbGFzc2VzIHNob3VsZCBiZSBwcml2YXRlLiBTdGF0aWMg
ZGF0YSBtZW1iZXJzIHNob3VsZCBiZSBwcmVmaXhlZCBieSAic18iLiBPdGhlciBkYXRhIG1lbWJl
cnMgc2hvdWxkIGJlIHByZWZpeGVkIGJ5ICJtXyIuCitbXSgjbmFtZXMtZGF0YS1tZW1iZXJzKSBE
YXRhIG1lbWJlcnMgaW4gQysrIGNsYXNzZXMgc2hvdWxkIGJlIHByaXZhdGUuIFN0YXRpYyBkYXRh
IG1lbWJlcnMgc2hvdWxkIGJlIHByZWZpeGVkIGJ5ICJzXyIuIE90aGVyIGRhdGEgbWVtYmVycyBz
aG91bGQgYmUgcHJlZml4ZWQgYnkgIm1fIi4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC01NjAsNyAr
NTUzLDcgQEAgcHVibGljOgogfTsKIGBgYAogCi1QcmVmaXggT2JqZWN0aXZlLUMgaW5zdGFuY2Ug
dmFyaWFibGVzIHdpdGggIl8iLgorW10oI25hbWVzLW9iamMtaW5zdGFuY2UtdmFyaWFibGVzKSBQ
cmVmaXggT2JqZWN0aXZlLUMgaW5zdGFuY2UgdmFyaWFibGVzIHdpdGggIl8iLgogCiAjIyMjIyMg
UmlnaHQ6CiAKQEAgLTU4MCw3ICs1NzMsNyBAQCBQcmVmaXggT2JqZWN0aXZlLUMgaW5zdGFuY2Ug
dmFyaWFibGVzIHdpCiBAZW5kCiBgYGAKIAotUHJlY2VkZSBib29sZWFuIHZhbHVlcyB3aXRoIHdv
cmRzIGxpa2UgImlzIiBhbmQgImRpZCIuCitbXSgjbmFtZXMtYm9vbCkgUHJlY2VkZSBib29sZWFu
IHZhbHVlcyB3aXRoIHdvcmRzIGxpa2UgImlzIiBhbmQgImRpZCIuCiAKICMjIyMjIyBSaWdodDoK
IApAQCAtNTk2LDcgKzU4OSw3IEBAIGJvb2wgdmFsaWQ7CiBib29sIHNlbnREYXRhOwogYGBgCiAK
LVByZWNlZGUgc2V0dGVycyB3aXRoIHRoZSB3b3JkICJzZXQiLiBVc2UgYmFyZSB3b3JkcyBmb3Ig
Z2V0dGVycy4gU2V0dGVyIGFuZCBnZXR0ZXIgbmFtZXMgc2hvdWxkIG1hdGNoIHRoZSBuYW1lcyBv
ZiB0aGUgdmFyaWFibGVzIGJlaW5nIHNldC9nb3R0ZW4uCitbXSgjbmFtZXMtc2V0dGVyLWdldHRl
cikgUHJlY2VkZSBzZXR0ZXJzIHdpdGggdGhlIHdvcmQgInNldCIuIFVzZSBiYXJlIHdvcmRzIGZv
ciBnZXR0ZXJzLiBTZXR0ZXIgYW5kIGdldHRlciBuYW1lcyBzaG91bGQgbWF0Y2ggdGhlIG5hbWVz
IG9mIHRoZSB2YXJpYWJsZXMgYmVpbmcgc2V0L2dvdHRlbi4KIAogIyMjIyMjIFJpZ2h0OgogCkBA
IC02MTIsNyArNjA1LDcgQEAgdm9pZCBzZXRDb3VudChzaXplX3QpOyAvLyBzZXRzIG1fdGhlQ291
bgogc2l6ZV90IGdldENvdW50KCk7CiBgYGAKIAotUHJlY2VkZSBnZXR0ZXJzIHRoYXQgcmV0dXJu
IHZhbHVlcyB0aHJvdWdoIG91dCBhcmd1bWVudHMgd2l0aCB0aGUgd29yZCAiZ2V0Ii4KK1tdKCNu
YW1lcy1vdXQtYXJndW1lbnQpIFByZWNlZGUgZ2V0dGVycyB0aGF0IHJldHVybiB2YWx1ZXMgdGhy
b3VnaCBvdXQgYXJndW1lbnRzIHdpdGggdGhlIHdvcmQgImdldCIuCiAKICMjIyMjIyBSaWdodDoK
IApAQCAtNjI2LDcgKzYxOSw3IEBAIHZvaWQgZ2V0SW5saW5lQm94QW5kT2Zmc2V0KElubGluZUJv
eComLCAKIHZvaWQgaW5saW5lQm94QW5kT2Zmc2V0KElubGluZUJveComLCBpbnQmIGNhcmV0T2Zm
c2V0KSBjb25zdDsKIGBgYAogCi1Vc2UgZGVzY3JpcHRpdmUgdmVyYnMgaW4gZnVuY3Rpb24gbmFt
ZXMuCitbXSgjbmFtZXMtdmVyYikgVXNlIGRlc2NyaXB0aXZlIHZlcmJzIGluIGZ1bmN0aW9uIG5h
bWVzLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTY0MCw3ICs2MzMsNyBAQCBib29sIGNvbnZlcnRU
b0FTQ0lJKHNob3J0Kiwgc2l6ZV90KTsKIGJvb2wgdG9BU0NJSShzaG9ydCosIHNpemVfdCk7CiBg
YGAKIAotTGVhdmUgbWVhbmluZ2xlc3MgdmFyaWFibGUgbmFtZXMgb3V0IG9mIGZ1bmN0aW9uIGRl
Y2xhcmF0aW9ucy4gQSBnb29kIHJ1bGUgb2YgdGh1bWIgaXMgaWYgdGhlIHBhcmFtZXRlciB0eXBl
IG5hbWUgY29udGFpbnMgdGhlIHBhcmFtZXRlciBuYW1lICh3aXRob3V0IHRyYWlsaW5nIG51bWJl
cnMgb3IgcGx1cmFsaXphdGlvbiksIHRoZW4gdGhlIHBhcmFtZXRlciBuYW1lIGlzbid0IG5lZWRl
ZC4gVXN1YWxseSwgdGhlcmUgc2hvdWxkIGJlIGEgcGFyYW1ldGVyIG5hbWUgZm9yIGJvb2xzLCBz
dHJpbmdzLCBhbmQgbnVtZXJpY2FsIHR5cGVzLgorW10oI25hbWVzLXZhcmlhYmxlLW5hbWUtaW4t
ZnVuY3Rpb24tZGVjbCkgTGVhdmUgbWVhbmluZ2xlc3MgdmFyaWFibGUgbmFtZXMgb3V0IG9mIGZ1
bmN0aW9uIGRlY2xhcmF0aW9ucy4gQSBnb29kIHJ1bGUgb2YgdGh1bWIgaXMgaWYgdGhlIHBhcmFt
ZXRlciB0eXBlIG5hbWUgY29udGFpbnMgdGhlIHBhcmFtZXRlciBuYW1lICh3aXRob3V0IHRyYWls
aW5nIG51bWJlcnMgb3IgcGx1cmFsaXphdGlvbiksIHRoZW4gdGhlIHBhcmFtZXRlciBuYW1lIGlz
bid0IG5lZWRlZC4gVXN1YWxseSwgdGhlcmUgc2hvdWxkIGJlIGEgcGFyYW1ldGVyIG5hbWUgZm9y
IGJvb2xzLCBzdHJpbmdzLCBhbmQgbnVtZXJpY2FsIHR5cGVzLgogCiAjIyMjIyMgUmlnaHQ6CiAK
QEAgLTY1OCw3ICs2NTEsNyBAQCB2b2lkIHNldENvdW50KHNpemVfdCBjb3VudCk7CiB2b2lkIGRv
U29tZXRoaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpOwogYGBgCiAKLVByZWZl
ciBlbnVtcyB0byBib29scyBvbiBmdW5jdGlvbiBwYXJhbWV0ZXJzIGlmIGNhbGxlcnMgYXJlIGxp
a2VseSB0byBiZSBwYXNzaW5nIGNvbnN0YW50cywgc2luY2UgbmFtZWQgY29uc3RhbnRzIGFyZSBl
YXNpZXIgdG8gcmVhZCBhdCB0aGUgY2FsbCBzaXRlLiBBbiBleGNlcHRpb24gdG8gdGhpcyBydWxl
IGlzIGEgc2V0dGVyIGZ1bmN0aW9uLCB3aGVyZSB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gYWxy
ZWFkeSBtYWtlcyBjbGVhciB3aGF0IHRoZSBib29sZWFuIGlzLgorW10oI25hbWVzLWVudW0tdG8t
Ym9vbCkgUHJlZmVyIGVudW1zIHRvIGJvb2xzIG9uIGZ1bmN0aW9uIHBhcmFtZXRlcnMgaWYgY2Fs
bGVycyBhcmUgbGlrZWx5IHRvIGJlIHBhc3NpbmcgY29uc3RhbnRzLCBzaW5jZSBuYW1lZCBjb25z
dGFudHMgYXJlIGVhc2llciB0byByZWFkIGF0IHRoZSBjYWxsIHNpdGUuIEFuIGV4Y2VwdGlvbiB0
byB0aGlzIHJ1bGUgaXMgYSBzZXR0ZXIgZnVuY3Rpb24sIHdoZXJlIHRoZSBuYW1lIG9mIHRoZSBm
dW5jdGlvbiBhbHJlYWR5IG1ha2VzIGNsZWFyIHdoYXQgdGhlIGJvb2xlYW4gaXMuCiAKICMjIyMj
IyBSaWdodDoKIApAQCAtNjc1LDE1ICs2NjgsMTUgQEAgZG9Tb21ldGhpbmcoc29tZXRoaW5nLCBm
YWxzZSk7CiBzZXRSZXNpemFibGUoTm90UmVzaXphYmxlKTsKIGBgYAogCi1PYmplY3RpdmUtQyBt
ZXRob2QgbmFtZXMgc2hvdWxkIGZvbGxvdyB0aGUgQ29jb2EgbmFtaW5nIGd1aWRlbGluZXMg4oCU
IHRoZXkgc2hvdWxkIHJlYWQgbGlrZSBhIHBocmFzZSBhbmQgZWFjaCBwaWVjZSBvZiB0aGUgc2Vs
ZWN0b3Igc2hvdWxkIHN0YXJ0IHdpdGggYSBsb3dlcmNhc2UgbGV0dGVyIGFuZCB1c2UgaW50ZXJj
YXBzLgorW10oI25hbWVzLW9iamMtbWV0aG9kcykgT2JqZWN0aXZlLUMgbWV0aG9kIG5hbWVzIHNo
b3VsZCBmb2xsb3cgdGhlIENvY29hIG5hbWluZyBndWlkZWxpbmVzIOKAlCB0aGV5IHNob3VsZCBy
ZWFkIGxpa2UgYSBwaHJhc2UgYW5kIGVhY2ggcGllY2Ugb2YgdGhlIHNlbGVjdG9yIHNob3VsZCBz
dGFydCB3aXRoIGEgbG93ZXJjYXNlIGxldHRlciBhbmQgdXNlIGludGVyY2Fwcy4KIAotRW51bSBt
ZW1iZXJzIHNob3VsZCB1c2UgSW50ZXJDYXBzIHdpdGggYW4gaW5pdGlhbCBjYXBpdGFsIGxldHRl
ci4KK1tdKCNuYW1lcy1lbnVtLW1lbWJlcnMpIEVudW0gbWVtYmVycyBzaG91bGQgdXNlIEludGVy
Q2FwcyB3aXRoIGFuIGluaXRpYWwgY2FwaXRhbCBsZXR0ZXIuCiAKLVByZWZlciBgY29uc3RgIHRv
IGAjZGVmaW5lYC4gUHJlZmVyIGlubGluZSBmdW5jdGlvbnMgdG8gbWFjcm9zLgorW10oI25hbWVz
LWNvbnN0LXRvLWRlZmluZSkgUHJlZmVyIGBjb25zdGAgdG8gYCNkZWZpbmVgLiBQcmVmZXIgaW5s
aW5lIGZ1bmN0aW9ucyB0byBtYWNyb3MuCiAKLWAjZGVmaW5lZGAgY29uc3RhbnRzIHNob3VsZCB1
c2UgYWxsIHVwcGVyY2FzZSBuYW1lcyB3aXRoIHdvcmRzIHNlcGFyYXRlZCBieSB1bmRlcnNjb3Jl
cy4KK1tdKCNuYW1lcy1kZWZpbmUtY29uc3RhbnRzKSBgI2RlZmluZWRgIGNvbnN0YW50cyBzaG91
bGQgdXNlIGFsbCB1cHBlcmNhc2UgbmFtZXMgd2l0aCB3b3JkcyBzZXBhcmF0ZWQgYnkgdW5kZXJz
Y29yZXMuCiAKLU1hY3JvcyB0aGF0IGV4cGFuZCB0byBmdW5jdGlvbiBjYWxscyBvciBvdGhlciBu
b24tY29uc3RhbnQgY29tcHV0YXRpb246IHRoZXNlIHNob3VsZCBiZSBuYW1lZCBsaWtlIGZ1bmN0
aW9ucywgYW5kIHNob3VsZCBoYXZlIHBhcmVudGhlc2VzIGF0IHRoZSBlbmQsIGV2ZW4gaWYgdGhl
eSB0YWtlIG5vIGFyZ3VtZW50cyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHNvbWUgc3BlY2lhbCBt
YWNyb3MgbGlrZSBBU1NFUlQpLiBOb3RlIHRoYXQgdXN1YWxseSBpdCBpcyBwcmVmZXJhYmxlIHRv
IHVzZSBhbiBpbmxpbmUgZnVuY3Rpb24gaW4gc3VjaCBjYXNlcyBpbnN0ZWFkIG9mIGEgbWFjcm8u
CitbXSgjbmFtZXMtZGVmaW5lLW5vbi1jb25zdCkgTWFjcm9zIHRoYXQgZXhwYW5kIHRvIGZ1bmN0
aW9uIGNhbGxzIG9yIG90aGVyIG5vbi1jb25zdGFudCBjb21wdXRhdGlvbjogdGhlc2Ugc2hvdWxk
IGJlIG5hbWVkIGxpa2UgZnVuY3Rpb25zLCBhbmQgc2hvdWxkIGhhdmUgcGFyZW50aGVzZXMgYXQg
dGhlIGVuZCwgZXZlbiBpZiB0aGV5IHRha2Ugbm8gYXJndW1lbnRzICh3aXRoIHRoZSBleGNlcHRp
b24gb2Ygc29tZSBzcGVjaWFsIG1hY3JvcyBsaWtlIEFTU0VSVCkuIE5vdGUgdGhhdCB1c3VhbGx5
IGl0IGlzIHByZWZlcmFibGUgdG8gdXNlIGFuIGlubGluZSBmdW5jdGlvbiBpbiBzdWNoIGNhc2Vz
IGluc3RlYWQgb2YgYSBtYWNyby4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC03MDIsNyArNjk1LDcg
QEAgTWFjcm9zIHRoYXQgZXhwYW5kIHRvIGZ1bmN0aW9uIGNhbGxzIG9yIAogICAgICAgICBOU0xv
Y2FsaXplZFN0cmluZyhAIlN0b3AiLCBAIlN0b3AgYnV0dG9uIHRpdGxlIikKIGBgYAogCi1gI2Rl
ZmluZWAsIGAjaWZkZWZgICJoZWFkZXIgZ3VhcmRzIiBzaG91bGQgYmUgbmFtZWQgZXhhY3RseSB0
aGUgc2FtZSBhcyB0aGUgZmlsZSAoaW5jbHVkaW5nIGNhc2UpLCByZXBsYWNpbmcgdGhlIGAuYCB3
aXRoIGEgYF9gLgorW10oI25hbWVzLWhlYWRlci1ndWFyZHMpIGAjZGVmaW5lYCwgYCNpZmRlZmAg
ImhlYWRlciBndWFyZHMiIHNob3VsZCBiZSBuYW1lZCBleGFjdGx5IHRoZSBzYW1lIGFzIHRoZSBm
aWxlIChpbmNsdWRpbmcgY2FzZSksIHJlcGxhY2luZyB0aGUgYC5gIHdpdGggYSBgX2AuCiAKICMj
IyMjIyBSaWdodDoKIApAQCAtNzIyLDcgKzcxNSw3IEBAIE1hY3JvcyB0aGF0IGV4cGFuZCB0byBm
dW5jdGlvbiBjYWxscyBvciAKIAogIyMjIE90aGVyIFB1bmN0dWF0aW9uCiAKLUNvbnN0cnVjdG9y
cyBmb3IgQysrIGNsYXNzZXMgc2hvdWxkIGluaXRpYWxpemUgYWxsIG9mIHRoZWlyIG1lbWJlcnMg
dXNpbmcgQysrIGluaXRpYWxpemVyIHN5bnRheC4gRWFjaCBtZW1iZXIgKGFuZCBzdXBlcmNsYXNz
KSBzaG91bGQgYmUgaW5kZW50ZWQgb24gYSBzZXBhcmF0ZSBsaW5lLCB3aXRoIHRoZSBjb2xvbiBv
ciBjb21tYSBwcmVjZWRpbmcgdGhlIG1lbWJlciBvbiB0aGF0IGxpbmUuCitbXSgjcHVuY3R1YXRp
b24tbWVtYmVyLWluaXQpIENvbnN0cnVjdG9ycyBmb3IgQysrIGNsYXNzZXMgc2hvdWxkIGluaXRp
YWxpemUgYWxsIG9mIHRoZWlyIG1lbWJlcnMgdXNpbmcgQysrIGluaXRpYWxpemVyIHN5bnRheC4g
RWFjaCBtZW1iZXIgKGFuZCBzdXBlcmNsYXNzKSBzaG91bGQgYmUgaW5kZW50ZWQgb24gYSBzZXBh
cmF0ZSBsaW5lLCB3aXRoIHRoZSBjb2xvbiBvciBjb21tYSBwcmVjZWRpbmcgdGhlIG1lbWJlciBv
biB0aGF0IGxpbmUuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtNzUyLDcgKzc0NSw3IEBAIE15Q2xh
c3M6Ok15Q2xhc3MoRG9jdW1lbnQqIGRvY3VtZW50KSA6IE0KIE15T3RoZXJDbGFzczo6TXlPdGhl
ckNsYXNzKCkgOiBNeVN1cGVyQ2xhc3MoKSB7fQogYGBgCiAKLVByZWZlciBpbmRleCBvdmVyIGl0
ZXJhdG9yIGluIFZlY3RvciBpdGVyYXRpb25zIGZvciB0ZXJzZSwgZWFzaWVyLXRvLXJlYWQgY29k
ZS4KK1tdKCNwdW5jdHVhdGlvbi12ZWN0b3ItaW5kZXgpIFByZWZlciBpbmRleCBvdmVyIGl0ZXJh
dG9yIGluIFZlY3RvciBpdGVyYXRpb25zIGZvciB0ZXJzZSwgZWFzaWVyLXRvLXJlYWQgY29kZS4K
IAogIyMjIyMjIFJpZ2h0OgogCkBAIC03ODAsMTAgKzc3MywxMCBAQCBmb3IgKFZlY3RvcjxSZWZQ
dHI8RnJhbWVWaWV3PiA+OjppdGVyYXRvCiAKICMjIyBQb2ludGVycyBhbmQgUmVmZXJlbmNlcwog
Ci0qKlBvaW50ZXIgdHlwZXMgaW4gbm9uLUMrKyBjb2RlKioKK1tdKCNwb2ludGVycy1ub24tY3Bw
KSAqKlBvaW50ZXIgdHlwZXMgaW4gbm9uLUMrKyBjb2RlKioKIFBvaW50ZXIgdHlwZXMgc2hvdWxk
IGJlIHdyaXR0ZW4gd2l0aCBhIHNwYWNlIGJldHdlZW4gdGhlIHR5cGUgYW5kIHRoZSBgKmAgKHNv
IHRoZSBgKmAgaXMgYWRqYWNlbnQgdG8gdGhlIGZvbGxvd2luZyBpZGVudGlmaWVyIGlmIGFueSku
CiAKLSoqUG9pbnRlciBhbmQgcmVmZXJlbmNlIHR5cGVzIGluIEMrKyBjb2RlKioKK1tdKCNwb2lu
dGVycy1jcHApICoqUG9pbnRlciBhbmQgcmVmZXJlbmNlIHR5cGVzIGluIEMrKyBjb2RlKioKIEJv
dGggcG9pbnRlciB0eXBlcyBhbmQgcmVmZXJlbmNlIHR5cGVzIHNob3VsZCBiZSB3cml0dGVuIHdp
dGggbm8gc3BhY2UgYmV0d2VlbiB0aGUgdHlwZSBuYW1lIGFuZCB0aGUgYCpgIG9yIGAmYC4KIAog
IyMjIyMjIFJpZ2h0OgpAQCAtODA0LDggKzc5Nyw3IEBAIEltYWdlICpTVkdTdHlsZWRFbGVtZW50
Ojpkb1NvbWV0aGluZyhQYWkKICAgICBjb25zdCBLQ0Rhc2hBcnJheSAmZGFzaGVzID0gZGFzaEFy
cmF5KCk7CiBgYGAKIAotCi1BbiBvdXQgYXJndW1lbnQgb2YgYSBmdW5jdGlvbiBzaG91bGQgYmUg
cGFzc2VkIGJ5IHJlZmVyZW5jZSBleGNlcHQgcmFyZSBjYXNlcyB3aGVyZSBpdCBpcyBvcHRpb25h
bCBpbiB3aGljaCBjYXNlIGl0IHNob3VsZCBiZSBwYXNzZWQgYnkgcG9pbnRlci4KK1tdKCNwb2lu
dGVycy1vdXQtYXJndW1lbnQpIEFuIG91dCBhcmd1bWVudCBvZiBhIGZ1bmN0aW9uIHNob3VsZCBi
ZSBwYXNzZWQgYnkgcmVmZXJlbmNlIGV4Y2VwdCByYXJlIGNhc2VzIHdoZXJlIGl0IGlzIG9wdGlv
bmFsIGluIHdoaWNoIGNhc2UgaXQgc2hvdWxkIGJlIHBhc3NlZCBieSBwb2ludGVyLgogCiAjIyMj
IyMgUmlnaHQ6CiAKQEAgLTgzMiwxMCArODI0LDkgQEAgdm9pZCBNeUNsYXNzOjpnZXRTb21lVmFs
dWUoT3V0QXJndW1lbnRUeQogfQogYGBgCiAKLQogIyMjICNpbmNsdWRlIFN0YXRlbWVudHMKIAot
QWxsIGltcGxlbWVudGF0aW9uIGZpbGVzIG11c3QgYCNpbmNsdWRlYCBgY29uZmlnLmhgIGZpcnN0
LiBIZWFkZXIgZmlsZXMgc2hvdWxkIG5ldmVyIGluY2x1ZGUgYGNvbmZpZy5oYC4KK1tdKCNpbmNs
dWRlLWNvbmZpZy1oKSBBbGwgaW1wbGVtZW50YXRpb24gZmlsZXMgbXVzdCBgI2luY2x1ZGVgIGBj
b25maWcuaGAgZmlyc3QuIEhlYWRlciBmaWxlcyBzaG91bGQgbmV2ZXIgaW5jbHVkZSBgY29uZmln
LmhgLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTg1Nyw5ICs4NDgsOSBAQCBBbGwgaW1wbGVtZW50
YXRpb24gZmlsZXMgbXVzdCBgI2luY2x1ZGVgCiAjaW5jbHVkZSAiTm9kZS5oIgogYGBgCiAKLUFs
bCBpbXBsZW1lbnRhdGlvbiBmaWxlcyBtdXN0IGAjaW5jbHVkZWAgdGhlIHByaW1hcnkgaGVhZGVy
IHNlY29uZCwganVzdCBhZnRlciBgY29uZmlnLmhgLiBTbyBmb3IgZXhhbXBsZSwgYE5vZGUuY3Bw
YCBzaG91bGQgaW5jbHVkZSBgTm9kZS5oYCBmaXJzdCwgYmVmb3JlIG90aGVyIGZpbGVzLiBUaGlz
IGd1YXJhbnRlZXMgdGhhdCBlYWNoIGhlYWRlcidzIGNvbXBsZXRlbmVzcyBpcyB0ZXN0ZWQuIFRo
aXMgYWxzbyBhc3N1cmVzIHRoYXQgZWFjaCBoZWFkZXIgY2FuIGJlIGNvbXBpbGVkIHdpdGhvdXQg
cmVxdWlyaW5nIGFueSBvdGhlciBoZWFkZXIgZmlsZXMgYmUgaW5jbHVkZWQgZmlyc3QuCitbXSgj
aW5jbHVkZS1wcmltYXJ5KSBBbGwgaW1wbGVtZW50YXRpb24gZmlsZXMgbXVzdCBgI2luY2x1ZGVg
IHRoZSBwcmltYXJ5IGhlYWRlciBzZWNvbmQsIGp1c3QgYWZ0ZXIgYGNvbmZpZy5oYC4gU28gZm9y
IGV4YW1wbGUsIGBOb2RlLmNwcGAgc2hvdWxkIGluY2x1ZGUgYE5vZGUuaGAgZmlyc3QsIGJlZm9y
ZSBvdGhlciBmaWxlcy4gVGhpcyBndWFyYW50ZWVzIHRoYXQgZWFjaCBoZWFkZXIncyBjb21wbGV0
ZW5lc3MgaXMgdGVzdGVkLiBUaGlzIGFsc28gYXNzdXJlcyB0aGF0IGVhY2ggaGVhZGVyIGNhbiBi
ZSBjb21waWxlZCB3aXRob3V0IHJlcXVpcmluZyBhbnkgb3RoZXIgaGVhZGVyIGZpbGVzIGJlIGlu
Y2x1ZGVkIGZpcnN0LgogCi1PdGhlciBgI2luY2x1ZGVgIHN0YXRlbWVudHMgc2hvdWxkIGJlIGlu
IHNvcnRlZCBvcmRlciAoY2FzZSBzZW5zaXRpdmUsIGFzIGRvbmUgYnkgdGhlIGNvbW1hbmQtbGlu
ZSBzb3J0IHRvb2wgb3IgdGhlIFhjb2RlIHNvcnQgc2VsZWN0aW9uIGNvbW1hbmQpLiBEb24ndCBi
b3RoZXIgdG8gb3JnYW5pemUgdGhlbSBpbiBhIGxvZ2ljYWwgb3JkZXIuCitbXSgjaW5jbHVkZS1v
dGhlcnMpIE90aGVyIGAjaW5jbHVkZWAgc3RhdGVtZW50cyBzaG91bGQgYmUgaW4gc29ydGVkIG9y
ZGVyIChjYXNlIHNlbnNpdGl2ZSwgYXMgZG9uZSBieSB0aGUgY29tbWFuZC1saW5lIHNvcnQgdG9v
bCBvciB0aGUgWGNvZGUgc29ydCBzZWxlY3Rpb24gY29tbWFuZCkuIERvbid0IGJvdGhlciB0byBv
cmdhbml6ZSB0aGVtIGluIGEgbG9naWNhbCBvcmRlci4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC04
ODMsOCArODc0LDcgQEAgT3RoZXIgYCNpbmNsdWRlYCBzdGF0ZW1lbnRzIHNob3VsZCBiZSBpbgog
I2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogYGBgCiAKLQotSW5jbHVkZXMgb2Ygc3lzdGVtIGhlYWRl
cnMgbXVzdCBjb21lIGFmdGVyIGluY2x1ZGVzIG9mIG90aGVyIGhlYWRlcnMuCitbXSgjaW5jbHVk
ZS1zeXN0ZW0pIEluY2x1ZGVzIG9mIHN5c3RlbSBoZWFkZXJzIG11c3QgY29tZSBhZnRlciBpbmNs
dWRlcyBvZiBvdGhlciBoZWFkZXJzLgogCiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTkxNCw3ICs5MDQs
NyBAQCBJbmNsdWRlcyBvZiBzeXN0ZW0gaGVhZGVycyBtdXN0IGNvbWUgYWZ0CiAKICMjIyAidXNp
bmciIFN0YXRlbWVudHMKIAotSW4gaGVhZGVyIGZpbGVzLCBkbyBub3QgdXNlICJ1c2luZyIgc3Rh
dGVtZW50cyBpbiBuYW1lc3BhY2UgKG9yIGdsb2JhbCkgc2NvcGUuCitbXSgjdXNpbmctaW4taGVh
ZGVycykgSW4gaGVhZGVyIGZpbGVzLCBkbyBub3QgdXNlICJ1c2luZyIgc3RhdGVtZW50cyBpbiBu
YW1lc3BhY2UgKG9yIGdsb2JhbCkgc2NvcGUuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtOTQ3LDgg
KzkzNyw3IEBAIGNsYXNzIFZlY3RvckJ1ZmZlciB7CiB9IC8vIG5hbWVzcGFjZSBXVEYKIGBgYAog
Ci0KLUluIGhlYWRlciBmaWxlcyBpbiB0aGUgV1RGIHN1Yi1saWJyYXJ5LCBob3dldmVyLCBpdCBp
cyBhY2NlcHRhYmxlIHRvIHVzZSAidXNpbmciIGRlY2xhcmF0aW9ucyBhdCB0aGUgZW5kIG9mIHRo
ZSBmaWxlIHRvIGltcG9ydCBvbmUgb3IgbW9yZSBuYW1lcyBpbiB0aGUgV1RGIG5hbWVzcGFjZSBp
bnRvIHRoZSBnbG9iYWwgc2NvcGUuCitbXSgjdXNpbmctd3RmKSBJbiBoZWFkZXIgZmlsZXMgaW4g
dGhlIFdURiBzdWItbGlicmFyeSwgaG93ZXZlciwgaXQgaXMgYWNjZXB0YWJsZSB0byB1c2UgInVz
aW5nIiBkZWNsYXJhdGlvbnMgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSB0byBpbXBvcnQgb25lIG9y
IG1vcmUgbmFtZXMgaW4gdGhlIFdURiBuYW1lc3BhY2UgaW50byB0aGUgZ2xvYmFsIHNjb3BlLgog
CiAjIyMjIyMgUmlnaHQ6CiAKQEAgLTk4Niw4ICs5NzUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHVz
aW5nIFdURjo6UGxhY2VtZW50TmV3QWRvcHQ7CiBgYGAKIAotCi1JbiBDKysgaW1wbGVtZW50YXRp
b24gZmlsZXMsIGRvIG5vdCB1c2UgInVzaW5nIiBkZWNsYXJhdGlvbnMgb2YgYW55IGtpbmQgdG8g
aW1wb3J0IG5hbWVzIGluIHRoZSBzdGFuZGFyZCB0ZW1wbGF0ZSBsaWJyYXJ5LiBEaXJlY3RseSBx
dWFsaWZ5IHRoZSBuYW1lcyBhdCB0aGUgcG9pbnQgdGhleSdyZSB1c2VkIGluc3RlYWQuCitbXSgj
dXNpbmctaW4tY3BwKSBJbiBDKysgaW1wbGVtZW50YXRpb24gZmlsZXMsIGRvIG5vdCB1c2UgInVz
aW5nIiBkZWNsYXJhdGlvbnMgb2YgYW55IGtpbmQgdG8gaW1wb3J0IG5hbWVzIGluIHRoZSBzdGFu
ZGFyZCB0ZW1wbGF0ZSBsaWJyYXJ5LiBEaXJlY3RseSBxdWFsaWZ5IHRoZSBuYW1lcyBhdCB0aGUg
cG9pbnQgdGhleSdyZSB1c2VkIGluc3RlYWQuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtMTAzMCw4
ICsxMDE4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
YGBgCiAKLQotSW4gaW1wbGVtZW50YXRpb24gZmlsZXMsIGlmIGEgInVzaW5nIG5hbWVzcGFjZSIg
c3RhdGVtZW50IGlzIGZvciBhIG5lc3RlZCBuYW1lc3BhY2Ugd2hvc2UgcGFyZW50IG5hbWVzcGFj
ZSBpcyBkZWZpbmVkIGluIHRoZSBmaWxlLCBwdXQgdGhlIHN0YXRlbWVudCBpbnNpZGUgdGhhdCBu
YW1lc3BhY2UgZGVmaW5pdGlvbi4KK1tdKCN1c2luZy1uZXN0ZWQtbmFtZXNwYWNlcykgSW4gaW1w
bGVtZW50YXRpb24gZmlsZXMsIGlmIGEgInVzaW5nIG5hbWVzcGFjZSIgc3RhdGVtZW50IGlzIGZv
ciBhIG5lc3RlZCBuYW1lc3BhY2Ugd2hvc2UgcGFyZW50IG5hbWVzcGFjZSBpcyBkZWZpbmVkIGlu
IHRoZSBmaWxlLCBwdXQgdGhlIHN0YXRlbWVudCBpbnNpZGUgdGhhdCBuYW1lc3BhY2UgZGVmaW5p
dGlvbi4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xMDU3LDggKzEwNDQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiBgYGAKIAotCi1JbiBpbXBsZW1lbnRh
dGlvbiBmaWxlcywgcHV0IGFsbCBvdGhlciAidXNpbmciIHN0YXRlbWVudHMgYXQgdGhlIGJlZ2lu
bmluZyBvZiB0aGUgZmlsZSwgYmVmb3JlIGFueSBuYW1lc3BhY2UgZGVmaW5pdGlvbnMgYW5kIGFm
dGVyIGFueSAiaW5jbHVkZSIgc3RhdGVtZW50cy4KK1tdKCN1c2luZy1wb3NpdGlvbikgSW4gaW1w
bGVtZW50YXRpb24gZmlsZXMsIHB1dCBhbGwgb3RoZXIgInVzaW5nIiBzdGF0ZW1lbnRzIGF0IHRo
ZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUsIGJlZm9yZSBhbnkgbmFtZXNwYWNlIGRlZmluaXRpb25z
IGFuZCBhZnRlciBhbnkgImluY2x1ZGUiIHN0YXRlbWVudHMuCiAKICMjIyMjIyBSaWdodDoKIApA
QCAtMTA4Niw3ICsxMDcyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIG90aGVyOwogCiAjIyMgVHlwZXMK
IAotT21pdCAiaW50IiB3aGVuIHVzaW5nICJ1bnNpZ25lZCIgbW9kaWZpZXIuIERvIG5vdCB1c2Ug
InNpZ25lZCIgbW9kaWZpZXIuIFVzZSAiaW50IiBieSBpdHNlbGYgaW5zdGVhZC4KK1tdKCN0eXBl
cy11bnNpZ25lZCkgT21pdCAiaW50IiB3aGVuIHVzaW5nICJ1bnNpZ25lZCIgbW9kaWZpZXIuIERv
IG5vdCB1c2UgInNpZ25lZCIgbW9kaWZpZXIuIFVzZSAiaW50IiBieSBpdHNlbGYgaW5zdGVhZC4K
IAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xMTA1LDcgKzEwOTEsNyBAQCBzaWduZWQgaW50IGM7IC8v
IERvZXNuJ3Qgb21pdCAic2lnbmVkIi4KIAogIyMjIENsYXNzZXMKIAotVXNlIGEgY29uc3RydWN0
b3IgdG8gZG8gYW4gaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBhcmd1bWVudCBpcyByZWFz
b25hYmx5IHRob3VnaHQgb2YgYXMgYSB0eXBlIGNvbnZlcnNpb24gYW5kIHRoZSB0eXBlIGNvbnZl
cnNpb24gaXMgZmFzdC4gT3RoZXJ3aXNlLCB1c2UgdGhlIGV4cGxpY2l0IGtleXdvcmQgb3IgYSBm
dW5jdGlvbiByZXR1cm5pbmcgdGhlIHR5cGUuIFRoaXMgb25seSBhcHBsaWVzIHRvIHNpbmdsZSBh
cmd1bWVudCBjb25zdHJ1Y3RvcnMuCitbXSgjY2xhc3Nlcy1leHBsaWNpdCkgVXNlIGEgY29uc3Ry
dWN0b3IgdG8gZG8gYW4gaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBhcmd1bWVudCBpcyBy
ZWFzb25hYmx5IHRob3VnaHQgb2YgYXMgYSB0eXBlIGNvbnZlcnNpb24gYW5kIHRoZSB0eXBlIGNv
bnZlcnNpb24gaXMgZmFzdC4gT3RoZXJ3aXNlLCB1c2UgdGhlIGV4cGxpY2l0IGtleXdvcmQgb3Ig
YSBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIHR5cGUuIFRoaXMgb25seSBhcHBsaWVzIHRvIHNpbmds
ZSBhcmd1bWVudCBjb25zdHJ1Y3RvcnMuCiAKICMjIyMjIyBSaWdodDoKIApAQCAtMTEzNiw3ICsx
MTIyLDcgQEAgcHVibGljOgogCiAjIyMgU2luZ2xldG9uIHBhdHRlcm4KIAotVXNlIGEgc3RhdGlj
IG1lbWJlciBmdW5jdGlvbiBuYW1lZCAic2luZ2xldG9uKCkiIHRvIGFjY2VzcyB0aGUgaW5zdGFu
Y2Ugb2YgdGhlIHNpbmdsZXRvbi4KK1tdKCNzaW5nbGV0b24tc3RhdGljLW1lbWJlcikgVXNlIGEg
c3RhdGljIG1lbWJlciBmdW5jdGlvbiBuYW1lZCAic2luZ2xldG9uKCkiIHRvIGFjY2VzcyB0aGUg
aW5zdGFuY2Ugb2YgdGhlIHNpbmdsZXRvbi4KIAogIyMjIyMjIFJpZ2h0OgogCkBAIC0xMTY4LDcg
KzExNTQsNyBAQCBNeVNpbmdsZXRvbiYgbXlTaW5nbGV0b24oKTsgLy8gZnJlZSBmdW5jCiAKICMj
IyBDb21tZW50cwogCi1Vc2Ugb25seSBfb25lXyBzcGFjZSBiZWZvcmUgZW5kIG9mIGxpbmUgY29t
bWVudHMgYW5kIGluIGJldHdlZW4gc2VudGVuY2VzIGluIGNvbW1lbnRzLgorW10oI2NvbW1lbnRz
LWVvbCkgVXNlIG9ubHkgX29uZV8gc3BhY2UgYmVmb3JlIGVuZCBvZiBsaW5lIGNvbW1lbnRzIGFu
ZCBpbiBiZXR3ZWVuIHNlbnRlbmNlcyBpbiBjb21tZW50cy4KIAogIyMjIyMjIFJpZ2h0OgogCkBA
IC0xMTgzLDkgKzExNjksOSBAQCBpbnQgaTsgICAgLy8gVGhpcyBpcyBhIGNvbW1lbnQgd2l0aCBz
ZXZlCiBkb3VibGUgZjsgLy8gVGhpcyBpcyBhbm90aGVyIGNvbW1lbnQuICBUaGVyZSBhcmUgdHdv
IHNwYWNlcyBiZWZvcmUgdGhpcyBzZW50ZW5jZSB3aGljaCBpcyBhIG5vbi1jb25mb3JtaW5nIHN0
eWxlLgogYGBgCiAKLU1ha2UgY29tbWVudHMgbG9vayBsaWtlIHNlbnRlbmNlcyBieSBzdGFydGlu
ZyB3aXRoIGEgY2FwaXRhbCBsZXR0ZXIgYW5kIGVuZGluZyB3aXRoIGEgcGVyaW9kIChwdW5jdGF0
aW9uKS4gT25lIGV4Y2VwdGlvbiBtYXkgYmUgZW5kIG9mIGxpbmUgY29tbWVudHMgbGlrZSB0aGlz
IGBpZiAoeCA9PSB5KSAvLyBmYWxzZSBmb3IgTmFOYC4KK1tdKCNjb21tZW50cy1zZW50ZW5jZXMp
IE1ha2UgY29tbWVudHMgbG9vayBsaWtlIHNlbnRlbmNlcyBieSBzdGFydGluZyB3aXRoIGEgY2Fw
aXRhbCBsZXR0ZXIgYW5kIGVuZGluZyB3aXRoIGEgcGVyaW9kIChwdW5jdGF0aW9uKS4gT25lIGV4
Y2VwdGlvbiBtYXkgYmUgZW5kIG9mIGxpbmUgY29tbWVudHMgbGlrZSB0aGlzIGBpZiAoeCA9PSB5
KSAvLyBmYWxzZSBmb3IgTmFOYC4KIAotVXNlIEZJWE1FOiAod2l0aG91dCBhdHRyaWJ1dGlvbikg
dG8gZGVub3RlIGl0ZW1zIHRoYXQgbmVlZCB0byBiZSBhZGRyZXNzZWQgaW4gdGhlIGZ1dHVyZS4K
K1tdKCNjb21tZW50cy1maXhtZSkgVXNlIEZJWE1FOiAod2l0aG91dCBhdHRyaWJ1dGlvbikgdG8g
ZGVub3RlIGl0ZW1zIHRoYXQgbmVlZCB0byBiZSBhZGRyZXNzZWQgaW4gdGhlIGZ1dHVyZS4KIAog
IyMjIyMjIFJpZ2h0OgogCkluZGV4OiBXZWJzaXRlcy93ZWJraXQub3JnL3dwLWNvbnRlbnQvcGx1
Z2lucy90YWJsZS1vZi1jb250ZW50cy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvd2Via2l0
Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvdGFibGUtb2YtY29udGVudHMucGhwCShyZXZpc2lvbiAx
OTI5MDEpCisrKyBXZWJzaXRlcy93ZWJraXQub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy90YWJsZS1v
Zi1jb250ZW50cy5waHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAgY2xhc3MgV2Vi
S2l0VGFibGVPZkNvbnRlbnRzIHsKIAogICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmlsdGVy
SW5kZXgoJHZhbHVlLCAka2V5KSB7CiAgICAgICAgIGxpc3QoJGxldmVsLCAkYW5jaG9yKSA9IGV4
cGxvZGUoJzo6JywgJGtleSk7Ci0gICAgICAgIGlmICggJGxldmVsIDwgNCApIHNlbGY6OiR0b2Nb
ICRrZXkgXSA9ICR2YWx1ZTsKKyAgICAgICAgaWYgKCAkbGV2ZWwgPCAzICkgc2VsZjo6JHRvY1sg
JGtleSBdID0gJHZhbHVlOwogICAgIH0KIAogICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVu
ZGVyTWFya3VwKCkgewpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1l
cy93ZWJraXQvaW5jbHVkZXMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcv
d3AtY29udGVudC90aGVtZXMvd2Via2l0L2luY2x1ZGVzLnBocAkocmV2aXNpb24gMTkyODMyKQor
KysgV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvaW5jbHVkZXMu
cGhwCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw5ICsxOCwxNSBAQAogICAgICAgICAgICAgb2Jfc3Rh
cnQoKTsKICAgICAgICAgICAgIGluY2x1ZGUgJHBhdGggLiAnLycgLiAkZmlsZTsKICAgICAgICAg
ICAgICRjb250ZW50ID0gb2JfZ2V0X2NsZWFuKCk7Ci0gICAgICAgIAorCisgICAgICAgICAgICAv
LyBIYW5kbGUgc3ViLXNlY3Rpb24gYW5jaG9ycworICAgICAgICAgICAgJGNvbnRlbnQgPSBwcmVn
X3JlcGxhY2UoJy9cW11cKFwjKFteXCldKylcKVxzKz8vJywgJzxhIGhyZWY9IiMkMSIgbmFtZT0i
JDEiPjwvYT4nLCAkY29udGVudCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIFRyYW5z
Zm9ybSBNYXJrZG93bgogICAgICAgICAgICAgJE1hcmtkb3duID0gV1BDb21fTWFya2Rvd246Omdl
dF9pbnN0YW5jZSgpOwogICAgICAgICAgICAgJGNvbnRlbnQgPSB3cF91bnNsYXNoKCAkTWFya2Rv
d24tPnRyYW5zZm9ybSgkY29udGVudCkgKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8g
SW5kZXggdGFibGUgb2YgY29udGVudHMKICAgICAgICAgICAgICRjb250ZW50ID0gdGFibGVfb2Zf
Y29udGVudHNfaW5kZXgoJGNvbnRlbnQsIGdldF90aGVfSUQoKSk7CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIHNldF90cmFuc2llbnQoJGNhY2hla2V5LCAkY29udGVudCwgREFZX0lOX1NFQ09O
RFMpOwpJbmRleDogV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQv
c3R5bGUuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90
aGVtZXMvd2Via2l0L3N0eWxlLmNzcwkocmV2aXNpb24gMTkyOTI1KQorKysgV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzCSh3b3JraW5nIGNvcHkp
CkBAIC05Nyw5ICs5NywzMyBAQCBjb2RlIHsKIAogLyoqIEFjY2Vzc2liaWxpdHkgSGVscGVycyAq
Ki8KIGFbbmFtZV0gewotICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGRpc3BsYXk6IGlubGluZS1i
bG9jazsKICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgdG9wOiAtM3JlbTsKKyAgICBjb2xv
cjogI2RkZDsKKyAgICB3aWR0aDogMDsKK30KKworcCA+IGFbbmFtZV06OmJlZm9yZSB7CisgICAg
Y29udGVudDogIiMiOworICAgIG1hcmdpbi1sZWZ0OiAtMS43cmVtOworICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKKyAgICB0b3A6IDNyZW07CisgICAgCit9CisKK2FbbmFtZV06aG92ZXIgeworICAg
IGNvbG9yOiAjMDhjOworICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKK30KKworaDEgYVtuYW1l
XSwKK2gyIGFbbmFtZV0sCitoMyBhW25hbWVdLAoraDQgYVtuYW1lXSwKK2g1IGFbbmFtZV0sCito
NiBhW25hbWVdIHsKKyAgICBkaXNwbGF5OiBibG9jazsKICAgICB2aXNpYmlsaXR5OiBoaWRkZW47
CiB9CiAKQEAgLTEwNyw2ICsxMzEsMTAgQEAgYVtuYW1lXSB7CiAgICAgdG9wOiBjYWxjKC0zMnB4
IC0gM3JlbSk7CiB9CiAKKy5hZG1pbi1iYXIgcCA+IGFbbmFtZV06OmJlZm9yZSB7CisgICAgdG9w
OiBjYWxjKDMycHggKyAzcmVtKTsKK30KKwogLnNjcmVlbi1yZWFkZXItdGV4dCB7CiAJY2xpcDog
cmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOwogCXBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50
OwpAQCAtMTIxNiw3ICsxMjQ0LDcgQEAgYXJ0aWNsZSwKIH0KIAogLndpdGgtdG9jIHByZTpudGgt
Y2hpbGQoLW4rNiksCi0jcG9zdC00MTMyIHByZTpudGgtY2hpbGQoLW4rOCkgeworI3Bvc3QtNDEz
MiBwcmU6bnRoLWNoaWxkKC1uKzEwKSB7CiAgICAgd2lkdGg6IDU1JTsKICAgICB6LWluZGV4OiAt
MTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>