<?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>160386</bug_id>
          
          <creation_ts>2016-07-30 18:00:52 -0700</creation_ts>
          <short_desc>[Cocoa] Freeze Objective-C bindings and stop autogenerating them: Step 1 - Convert a single file</short_desc>
          <delta_ts>2016-08-01 10:51:14 -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>Bindings</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215918</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-30 18:00:52 -0700</bug_when>
    <thetext>Freeze Objective-C bindings and stop autogenerating them: Step 1 - Convert a single file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215921</commentid>
    <comment_count>1</comment_count>
      <attachid>284960</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-30 18:10:40 -0700</bug_when>
    <thetext>Created attachment 284960
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215922</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-30 18:11:11 -0700</bug_when>
    <thetext>Since this is the first file, I am interested in comments on the strategy too, not just this file. I may replicate what I did here for many other files!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215945</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-07-31 08:52:01 -0700</bug_when>
    <thetext>I think we should move them to WebKit at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215948</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-31 09:38:36 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I think we should move them to WebKit at the same time.

I tried that at first and it was not practical because of the way everything includes everything else. Seriously it was a *lot* more work and I never got it working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215949</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-31 09:40:37 -0700</bug_when>
    <thetext>I think it will be easy to move all these files at once from WebCore to WebKit, but hard to move them one at a time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215950</commentid>
    <comment_count>6</comment_count>
      <attachid>284965</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-31 09:41:16 -0700</bug_when>
    <thetext>Created attachment 284965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215978</commentid>
    <comment_count>7</comment_count>
      <attachid>284972</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-31 16:23:28 -0700</bug_when>
    <thetext>Created attachment 284972
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216098</commentid>
    <comment_count>8</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-01 07:18:50 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I think it will be easy to move all these files at once from WebCore to
&gt; WebKit, but hard to move them one at a time.

Ah, that makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216153</commentid>
    <comment_count>9</comment_count>
      <attachid>284972</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-01 10:51:08 -0700</bug_when>
    <thetext>Comment on attachment 284972
Patch

Clearing flags on attachment: 284972

Committed r203974: &lt;http://trac.webkit.org/changeset/203974&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216154</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-01 10:51:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284960</attachid>
            <date>2016-07-30 18:10:40 -0700</date>
            <delta_ts>2016-07-31 09:41:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160386-20160730180923.patch</filename>
            <type>text/plain</type>
            <size>43439</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzOTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE4NGZhNGMzMTVjYTUx
YWZmOTYzZmIwYTFlN2UyYjk5MmZkMTUwNC4uNWE3YjUyMDFhYTU5M2UzZjg1ZjY0MzBiZDJhY2Ri
Yjg3ODVhZWQwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTA3LTMwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEZyZWV6ZSBPYmpl
Y3RpdmUtQyBiaW5kaW5ncyBhbmQgc3RvcCBhdXRvZ2VuZXJhdGluZyB0aGVtOiBTdGVwIDEgLSBD
b252ZXJ0IGEgc2luZ2xlIGZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MDM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZSwgbm8gdGVzdHMgY2hhbmdlZC4gSSB0ZXN0
ZWQgdGhpcyBsb2NhbGx5IGJ5IHB1dHRpbmcgIiNlcnJvciIgaW50byB0aGUKKyAgICAgICAgZmls
ZXMgaW4gdGhlIERlcml2ZWRTb3VyY2VzIGRpcmVjdG9yeSB0byBtYWtlIHN1cmUgdGhlIGJ1aWxk
IGRvZXNuJ3QgdXNlIHRob3NlIGZpbGVzIGV2ZW4KKyAgICAgICAgaWYgdGhlcmUgYXJlIHN0YWxl
IGNvcGllcyBzdGlsbCBzaXR0aW5nIHRoZXJlLgorCisgICAgICAgIE1vdmluZyB0aGUgYmluZGlu
Z3MgZnJvbSBXZWJDb3JlIHRvIHRoZSBsZWdhY3kgcGFydCBvZiBXZWJLaXQgaXMgc29tZXRoaW5n
IHdlIGFsc28gd2FudCB0bworICAgICAgICBkbywgYnV0IHRoYXQgaXMgcXVpdGUgY2hhbGxlbmdp
bmcgdG8gZG8gb25lIGZpbGUgYXQgYSB0aW1lLCBzbyB3ZSB3aWxsIGRvIHRoYXQgbGF0ZXIuCisK
KyAgICAgICAgRm9yIHRoaXMgZmlyc3QgZmlsZSwgSSBkaWQgc29tZSBoYW5kIGVkaXRzIHRvIG1h
a2UgdGhlIGNvZGUgaW4gYSB0aGUgZmlsZSBhIGxpdHRsZSBsZXNzCisgICAgICAgIHBlY3VsaWFy
LiBJdCdzIHN0aWxsIGF3a3dhcmQgdG8gaGF2ZSBhbGwgdGhvc2UgSlNNYWluVGhyZWFkTnVsbFN0
YXRlIGluIHRoZXJlOyBzaG91bGQgZG91YmxlCisgICAgICAgIGNoZWNrIHRoYXQgd2UgcmVhbGx5
IG5lZWQgdGhlbS4KKworICAgICAgICBBbiBpbXBvcnRhbnQgZm9sbG93IHVwIHN0ZXAgd2lsbCBi
ZSB0byBjdXQgZG93biBvbiB0aGUgYmluZGluZ3MuIFdlIGhhdmUgbG90cyBvZiBiaW5kaW5ncwor
ICAgICAgICB0aGF0IGFyZSBvbmx5IGluIHRoZSBQcml2YXRlLmggaGVhZGVyLCBhbmQgaXQgd291
bGQgYmUgZ29vZCB0byBmaW5kIGEgd2F5IHRvIGN1dCBkb3duIG9uIHRob3NlLgorICAgICAgICBB
bmQgb24gaU9TIHdlIHdvdWxkIGxpa2UgZWxpbWluYXRlIHRoZXNlIGJpbmRpbmdzIGVudGlyZWx5
IHNpbmNlIHRoZXkgYXJlIG5vdCBBUEkgdGhlcmUuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBNb3ZlZCBIVE1MVGV4dEFyZWFFbGVtZW50IGZyb20gYSBsaXN0IHdlIHVzZSBmb3Ig
Ym90aCBKYXZhU2NyaXB0IGFuZAorICAgICAgICBPYmplY3RpdmUtQyBET00gYmluZGluZ3MgdG8g
YSBsaXN0IHdlIHVzZSBvbmx5IGZvciBKYXZhU2NyaXB0IGJpbmRpbmdzLgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogUmVtb3ZlZCByZWZlcmVuY2VzIHRvIGdl
bmVyYXRlZCBET01IVE1MVGV4dEFyZWFFbGVtZW50CisgICAgICAgIGZpbGVzIGFuZCBpbnN0ZWFk
IHJlZmVyZW5jZSB0aGUgY2hlY2tlZC1pbiBjb3BpZXMuCisgICAgICAgICogYmluZGluZ3Mvb2Jq
Yy9ET01IVE1MVGV4dEFyZWFFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL29i
amMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbTogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mv
b2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaDogQWRkZWQuCisgICAgICAgICog
YmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oOiBBZGRlZC4KKwog
MjAxNi0wNy0zMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJlYmFzZWxpbmUgYmluZGluZ3MgdGVzdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCAzZGRhYTFhMzhhYjYzZTRlZTRlYzIxY2JjMzg1OWNlYTQxZjRlNmRiLi4w
MmMzMThmNGQ2ZjFiYzJmMTZmZTAzMmFhOTFhNTcwMTUyNzgxNzYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTc1LDcgKzc1LDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJDb3Jl
KS93ZWJzb2NrZXRzIFwKICMKIAotTk9OX1NWR19CSU5ESU5HX0lETFMgPSBcCitKU19BTkRfT0JK
Q19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0
UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVu
dC5pZGwgXApAQCAtNDMwLDcgKzQzMCw2IEBAIE5PTl9TVkdfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1s
L0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MVGltZUVsZW1lbnQuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmlkbCBcCkBAIC01NzIsNyArNTcxLDggQEAgTk9O
X1NWR19CSU5ESU5HX0lETFMgPSBcCiAgICAgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwK
ICMKIAotU1ZHX0JJTkRJTkdfSURMUyA9IFwKK0pTX09OTFlfQklORElOR19JRExTID0gXAorICAg
ICQoV2ViQ29yZSkvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9zdmcvU1ZHQUVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdBbHRHbHlwaERl
ZkVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRs
IFwKQEAgLTc5MSw3ICs3OTEsNyBAQCBBRERJVElPTkFMX0VWRU5UX1RBUkdFVF9GQUNUT1JZID0K
IAogLWluY2x1ZGUgV2ViQ29yZURlcml2ZWRTb3VyY2VzQWRkaXRpb25zLm1ha2UKIAotTk9OX1NW
R19CSU5ESU5HX0lETFMgKz0gJChBRERJVElPTkFMX0JJTkRJTkdfSURMUykKK0pTX0FORF9PQkpD
X0JJTkRJTkdfSURMUyArPSAkKEFERElUSU9OQUxfQklORElOR19JRExTKQogCiBhbGwgOiAkKEFE
RElUSU9OQUxfQklORElOR19JRExTOiUuaWRsPUpTJS5oKQogCkBAIC04MDMsNyArODAzLDcgQEAg
JChBRERJVElPTkFMX0JJTkRJTkdfSURMUykgOiAlIDogV2ViS2l0QWRkaXRpb25zLyUKIGVuZGlm
ICMgTUFDT1MKIAogaWZuZXEgKCQoV1RGX1BMQVRGT1JNX0lPUyksIDEpCi1OT05fU1ZHX0JJTkRJ
TkdfSURMUyArPSBcCitKU19BTkRfT0JKQ19CSU5ESU5HX0lETFMgKz0gXAogICAgICQoV2ViQ29y
ZSkvZG9tL1RvdWNoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vVG91Y2hFdmVudC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL1RvdWNoTGlzdC5pZGwKQEAgLTgxMSw5ICs4MTEsOSBAQCBlbmRp
ZgogCiAuUEhPTlkgOiBhbGwKIAotQklORElOR19JRExTID0gJChOT05fU1ZHX0JJTkRJTkdfSURM
UykgJChTVkdfQklORElOR19JRExTKQorSlNfQklORElOR19JRExTID0gJChKU19BTkRfT0JKQ19C
SU5ESU5HX0lETFMpICQoSlNfT05MWV9CSU5ESU5HX0lETFMpCiAKLUpTX0RPTV9DTEFTU0VTPSQo
YmFzZW5hbWUgJChub3RkaXIgJChCSU5ESU5HX0lETFMpKSkKK0pTX0RPTV9DTEFTU0VTPSQoYmFz
ZW5hbWUgJChub3RkaXIgJChKU19CSU5ESU5HX0lETFMpKSkKIAogSlNfRE9NX0hFQURFUlM9JChm
aWx0ZXItb3V0IEpTRXZlbnRMaXN0ZW5lci5oLCAkKEpTX0RPTV9DTEFTU0VTOiU9SlMlLmgpKQog
CkBAIC0xMjM0LDggKzEyMzQsOCBAQCBkZWZpbmUgTkwKIAogZW5kZWYKIAotJChTVVBQTEVNRU5U
QUxfTUFLRUZJTEVfREVQUykgOiAkKFBSRVBST0NFU1NfSURMU19TQ1JJUFRTKSAkKEJJTkRJTkdf
SURMUykgJChQTEFURk9STV9GRUFUVVJFX0RFRklORVMpIERlcml2ZWRTb3VyY2VzLm1ha2UKLQkk
KGZvcmVhY2ggZiwkKEJJTkRJTkdfSURMUyksQGVjaG8gJChmKT4+JChJRExfRklMRVNfVE1QKSQo
TkwpKQorJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVfREVQUykgOiAkKFBSRVBST0NFU1NfSURMU19T
Q1JJUFRTKSAkKEpTX0JJTkRJTkdfSURMUykgJChQTEFURk9STV9GRUFUVVJFX0RFRklORVMpIERl
cml2ZWRTb3VyY2VzLm1ha2UKKwkkKGZvcmVhY2ggZiwkKEpTX0JJTkRJTkdfSURMUyksQGVjaG8g
JChmKT4+JChJRExfRklMRVNfVE1QKSQoTkwpKQogCSQoY2FsbCBwcmVwcm9jZXNzX2lkbHNfc2Ny
aXB0LCAkKFBSRVBST0NFU1NfSURMU19TQ1JJUFRTKSkgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVG
SU5FUykgJChBRERJVElPTkFMX0lETF9ERUZJTkVTKSBMQU5HVUFHRV9KQVZBU0NSSVBUIiAtLWlk
bEZpbGVzTGlzdCAkKElETF9GSUxFU19UTVApIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUg
JChTVVBQTEVNRU5UQUxfREVQRU5ERU5DWV9GSUxFKSAtLXdpbmRvd0NvbnN0cnVjdG9yc0ZpbGUg
JChXSU5ET1dfQ09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cnNGaWxlICQoV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0tZGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNGaWxlICQoREVESUNBVEVEV09SS0VSR0xPQkFM
U0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0tc3VwcGxlbWVudGFsTWFrZWZpbGVEZXBzICRACiAJ
JChERUxFVEUpICQoSURMX0ZJTEVTX1RNUCkKIApAQCAtMTM1Miw3ICsxMzUyLDcgQEAgYWxsIDog
JChub3RkaXIgJChXZWJDb3JlX0JVSUxUSU5TX1NPVVJDRVM6JS5qcz0lQnVpbHRpbnMuaCkpICQo
Zmlyc3R3b3JkICQoV2ViQ28KIAogaWZlcSAoJChPUyksTUFDT1MpCiAKLU9CSkNfRE9NX0NMQVNT
RVM9JChiYXNlbmFtZSAkKG5vdGRpciAkKE5PTl9TVkdfQklORElOR19JRExTKSkpCitPQkpDX0RP
TV9DTEFTU0VTPSQoYmFzZW5hbWUgJChub3RkaXIgJChKU19BTkRfT0JKQ19CSU5ESU5HX0lETFMp
KSkKIAogT0JKQ19ET01fSEVBREVSUz0kKGZpbHRlci1vdXQgRE9NRE9NV2luZG93LmggRE9NRE9N
TWltZVR5cGUuaCBET01ET01QbHVnaW4uaCwkKE9CSkNfRE9NX0NMQVNTRVM6JT1ET00lLmgpKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMThkMmEzZGU4NjU1OGVkY2EzOTIxNDVhYWY2ZGQ3YjZlMzhhZDU3ZS4uOTlmM2FkMzdk
MjdmMWE0MjBmMjY1OGUwOTdlY2ZjYTBkZTEzMzUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjU0MCw3ICsyNTQwLDYgQEAK
IAkJNjU5MzkyMzgwOUFFNDM0NjAwMkM1MzFGIC8qIFVSTC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU5MzkyMzYwOUFFNDM0NjAwMkM1MzFGIC8qIFVS
TC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1
OTM5MjNBMDlBRTQzNUMwMDJDNTMxRiAvKiBVUkxNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTkzOTIzOTA5QUU0MzVDMDAyQzUzMUYgLyogVVJM
TWFjLm1tICovOyB9OwogCQk2NTk2RjJCMzBCODczMURGMDAxMzI2QkQgLyogRE9NSFRNTElucHV0
RWxlbWVudEludGVybmFsLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU3MTE2NDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRN
TElucHV0RWxlbWVudEludGVybmFsLmggKi87IH07Ci0JCTY1OTZGMkMxMEI4NzMyNUMwMDEzMjZC
RCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdGMEFDNUQ1
MzUwMDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJ
NjU5QTdEMTMwQjZEQjREOTAwMTE1NUIzIC8qIFN1YnN0aXR1dGVEYXRhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTlBN0QxMjBCNkRCNEQ5MDAxMTU1
QjMgLyogU3Vic3RpdHV0ZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk2NTlEREM4MjA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTlEREM4
MDA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVudC5jcHAgKi87IH07CiAJCTY1OUREQzgzMDlF
MTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2NTlEREM4MTA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0z
NDU1LDcgKzM0NTQsNiBAQAogCQk4NUU3MTFDQjBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRh
YmxlRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NUU3MTE3QzBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlRWxlbWVu
dEludGVybmFsLmggKi87IH07CiAJCTg1RTcxMUNDMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1M
VGFibGVSb3dFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdEMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVS
b3dFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJODVFNzExQ0QwQUM1RDUzNTAwNTMyNzBGIC8q
IERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdFMEFDNUQ1MzUwMDUzMjcwRiAvKiBE
T01IVE1MVGFibGVTZWN0aW9uRWxlbWVudEludGVybmFsLmggKi87IH07Ci0JCTg1RTcxMUNFMEFD
NUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdGMEFDNUQ1MzUw
MDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJODVF
NzExQ0YwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFNzExODAwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oICovOyB9OwogCQk4
NUU3MTFEMDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFVMaXN0RWxlbWVudEludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU3MTE4MTBB
QzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFVMaXN0RWxlbWVudEludGVybmFsLmggKi87IH07CiAJ
CTg1RTcxMUQxMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01NZWRpYUxpc3RJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFNzExODIwQUM1RDUz
NTAwNTMyNzBGIC8qIERPTU1lZGlhTGlzdEludGVybmFsLmggKi87IH07CkBAIC0zNTA0LDEyICsz
NTAyLDkgQEAKIAkJODVGMzJBRUYwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxPcHRHcm91cEVs
ZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NUYzMkFFNzBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5tbSAqLzsg
fTsKIAkJODVGMzJBRjAwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFODBB
QTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFNlbGVjdEVsZW1lbnQuaCAqLzsgfTsKIAkJODVGMzJB
RjEwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGMzJBRTkwQUE2M0I4NzAwRkYz
MTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50Lm1tICovOyB9OwotCQk4NUYzMkFGMjBBQTYzQjg3
MDBGRjMxODQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGMzJBRUEwQUE2M0I4NzAwRkYzMTg0IC8qIERP
TUhUTUxUZXh0QXJlYUVsZW1lbnQuaCAqLzsgfTsKLQkJODVGMzJBRjMwQUE2M0I4NzAwRkYzMTg0
IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFQjBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFRl
eHRBcmVhRWxlbWVudC5tbSAqLzsgfTsKIAkJODVGMzJCNDAwQUE2NDAxQTAwRkYzMTg0IC8qIERP
TUhUTUxJbnB1dEVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RjMyQUU0MEFBNjNCODcwMEZGMzE4NCAvKiBET01I
VE1MSW5wdXRFbGVtZW50LmggKi87IH07CiAJCTg1RjMyQjQxMEFBNjQwMUEwMEZGMzE4NCAvKiBE
T01IVE1MT3B0R3JvdXBFbGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFNjBBQTYzQjg3MDBGRjMxODQgLyog
RE9NSFRNTE9wdEdyb3VwRWxlbWVudC5oICovOyB9OwogCQk4NUYzMkI0MjBBQTY0MDFBMDBGRjMx
ODQgLyogRE9NSFRNTFNlbGVjdEVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RjMyQUU4MEFBNjNCODcwMEZGMzE4
NCAvKiBET01IVE1MU2VsZWN0RWxlbWVudC5oICovOyB9OwotCQk4NUYzMkI0MzBBQTY0MDFBMDBG
RjMxODQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGMzJBRUEwQUE2M0I4NzAw
RkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaCAqLzsgfTsKIAkJODVGNTZBN0EwQTk4
Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGNTZBNzgwQTk4Q0UzNzAwQURCNjBB
IC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKCk7IH07IH07CiAJCTg1RjU2QTdCMEE5OENFMzcwMEFEQjYwQSAvKiBET01Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NUY1NkE3OTBBOThDRTM3MDBBREI2MEEgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9u
Lm1tICovOyB9OwogCQk4NUY3NEUwMTBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTQ2hhcnNldFJ1
bGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg1MDMyREMzMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NDaGFyc2V0UnVsZS5o
ICovOyB9OwpAQCAtMzc1NCw2ICszNzQ5LDEwIEBACiAJCTkzOUIwMkVFMEVBMkRCQzQwMEM1NDU3
MCAvKiBXaWR0aEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzOUIwMkVDMEVBMkRCQzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmNw
cCAqLzsgfTsKIAkJOTM5QjAyRUYwRUEyREJDNDAwQzU0NTcwIC8qIFdpZHRoSXRlcmF0b3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOUIwMkVEMEVB
MkRCQzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmggKi87IH07CiAJCTkzQTM4QjRCMEQwRTU4
MDgwMDY4NzJDMiAvKiBFZGl0b3JDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTM4QjRBMEQwRTU4MDgwMDY4NzJDMiAvKiBFZGl0b3JD
b21tYW5kLmNwcCAqLzsgfTsKKwkJOTNBQUM4QTgxRDREN0U1NDAwOTA5NzkxIC8qIERPTUhUTUxU
ZXh0QXJlYUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQUFDOEE2MUQ0RDdFNTQwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNB
QUM4QTkxRDREN0U1NDAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FBQzhBNzFENEQ3RTU0
MDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbSAqLzsgfTsKKwkJOTNBQUM4QUMx
RDREN0Y2MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQUM4QUExRDREN0Y2
MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oICovOyB9OworCQk5
M0FBQzhBRDFENEQ3RjYzMDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUFDOEFC
MUQ0RDdGNjMwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE2MEY5
OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1
ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJOTNCMkQ4MTgwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9u
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4
MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLm1tICovOyB9OwogCQk5M0I2
QTBFNjBCMEJDQTVDMDBGNTAyN0EgLyogQ29udGV4dE1lbnUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjZBMEU1MEIwQkNBNUMwMEY1MDI3QSAvKiBD
b250ZXh0TWVudS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC00MjExLDggKzQyMTAsNiBAQAogCQlBMUM3OTcxOTE4ODNEREVEMDAwRjVFMUYgLyog
RE9NVG91Y2guaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNTREQ0NEMTg4MEY4NjcwMDNFRURCQiAvKiBET01Ub3VjaC5oICov
OyB9OwogCQlBMUM3OTcxQTE4ODNERTBEMDAwRjVFMUYgLyogRE9NVG91Y2hFdmVudC5oIGluIENv
cHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY1NERDQ0YxODgwRjg2NzAwM0VFREJCIC8qIERPTVRvdWNoRXZlbnQuaCAqLzsgfTsKIAkJQTFD
Nzk3MUIxODgzREUyQjAwMEY1RTFGIC8qIERPTVRvdWNoTGlzdC5oIGluIENvcHkgR2VuZXJhdGVk
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NERDRDMxODgw
Rjg2NzAwM0VFREJCIC8qIERPTVRvdWNoTGlzdC5oICovOyB9OwotCQlBMUM3OTcxRDE4ODNFNTFG
MDAwRjVFMUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQzc5NzFDMTg4M0U1MUYwMDBGNUUx
RiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oICovOyB9OwotCQlBMUM3OTcxRTE4
ODNFNjNGMDAwRjVFMUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBpbiBDb3B5
IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
Qzc5NzFDMTg4M0U1MUYwMDBGNUUxRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5o
ICovOyB9OwogCQlBMUM3RkFBMjEzM0E1RDM1MDBENjczMkQgLyogSlNYUGF0aFJlc3VsdEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUM3
RkFBMTEzM0E1RDM1MDBENjczMkQgLyogSlNYUGF0aFJlc3VsdEN1c3RvbS5jcHAgKi87IH07CiAJ
CUExREU3MTJEMTg2MTJBQzEwMDczNDE5MiAvKiBUb3VjaEV2ZW50cy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURFNzEyQjE4NjEyQUMxMDA3MzQx
OTIgLyogVG91Y2hFdmVudHMuY3BwICovOyB9OwogCQlBMURFNzEzMjE4NjEzMjIyMDA3MzQxOTIg
LyogVG91Y2hDb25zdHJ1Y3RvcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTFERTcxMzAxODYxMzIyMjAwNzM0MTkyIC8qIFRvdWNoQ29uc3RydWN0
b3JzLmNwcCAqLzsgfTsKQEAgLTc0MDYsOSArNzQwMyw2IEBACiAJCQkJODVERjgyNzQwQUE3OEM3
MzAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFk
ZXJzICovLAogCQkJCTg1REY4MjMyMEFBNzg2NjgwMDQ4NkFENyAvKiBET01IVE1MVGFibGVSb3dF
bGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKIAkJCQk4NURGODIzMzBBQTc4
NjY4MDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCBpbiBDb3B5IEdlbmVy
YXRlZCBIZWFkZXJzICovLAotCQkJCTg1RjMyQjQzMEFBNjQwMUEwMEZGMzE4NCAvKiBET01IVE1M
VGV4dEFyZWFFbGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKLQkJCQk2NTk2
RjJDMTBCODczMjVDMDAxMzI2QkQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmgg
aW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKLQkJCQlBMUM3OTcxRTE4ODNFNjNGMDAwRjVF
MUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBI
ZWFkZXJzICovLAogCQkJCTg1NzVERjg3MEFBNjEzMEUwMEY1REJCNSAvKiBET01IVE1MVGl0bGVF
bGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKIAkJCQk4NUJBNEQyRTBBQTY4
ODlGMDA4ODA1MkQgLyogRE9NSFRNTFVMaXN0RWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhl
YWRlcnMgKi8sCiAJCQkJMkQ0NDQ2OTkxQzg0Q0NENzAwMjRDODg5IC8qIERPTUhUTUxWaWRlb0Vs
ZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLApAQCAtMTExOTMsNyArMTExODcs
NiBAQAogCQk4NUU3MTE3QzBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlRWxlbWVudElu
dGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MVGFibGVF
bGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVFNzExN0Qw
QUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUYWJsZVJvd0VsZW1lbnRJbnRlcm5hbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFRhYmxlUm93RWxlbWVudEludGVy
bmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RTcxMTdFMEFDNUQ1MzUwMDUz
MjcwRiAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudEludGVybmFs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg1RTcxMTdGMEFDNUQ1MzUwMDUzMjcw
RiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NUU3MTE4MDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRN
TFRpdGxlRWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBET01IVE1MVGl0bGVFbGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODVFNzExODEwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxVTGlzdEVsZW1lbnRJbnRl
cm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFVMaXN0RWxl
bWVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RTcxMTgyMEFD
NUQ1MzUwMDUzMjcwRiAvKiBET01NZWRpYUxpc3RJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NTWVkaWFMaXN0SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTExMjMxLDggKzExMjI0LDYgQEAKIAkJODVGMzJBRTcwQUE2M0I4NzAw
RkYzMTg0IC8qIERPTUhUTUxPcHRHcm91cEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVGMzJBRTgwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxT
ZWxlY3RFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1M
U2VsZWN0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUYzMkFFOTBB
QTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFNlbGVjdEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTFNlbGVjdEVsZW1lbnQubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg1RjMyQUVBMEFBNjNCODcwMEZGMzE4NCAvKiBET01I
VE1MVGV4dEFyZWFFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01IVE1MVGV4dEFyZWFFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg1
RjMyQUVCMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1l
bnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RjU2QTc4MEE5OENFMzcwMEFE
QjYwQSAvKiBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NUY1NkE3OTBBOThDRTM3MDBBREI2MEEgLyogRE9NUHJvY2Vzc2luZ0lu
c3RydWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERP
TVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODVGRjMxNTgwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUtleWJvYXJkRXZlbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTExNTAxLDYgKzExNDkyLDEwIEBACiAJCTkzOUIwMkVDMEVBMkRC
QzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdpZHRoSXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MzlCMDJFRDBFQTJEQkM0MDBDNTQ1NzAgLyogV2lkdGhJdGVyYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXaWR0aEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTkzQTM4QjRBMEQwRTU4MDgwMDY4NzJDMiAvKiBFZGl0b3JDb21tYW5k
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkaXRvckNvbW1hbmQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0FBQzhBNjFENEQ3RTU0MDA5MDk3
OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01IVE1MVGV4dEFyZWFFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTkzQUFDOEE3MUQ0RDdFNTQwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTFRleHRB
cmVhRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNBQUM4QUExRDRE
N0Y2MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNBQUM4QUIxRDREN0Y2MzAwOTA5Nzkx
IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJt
aW5hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWRkZW5UZXJtaW5h
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyRDgxNzBGOTkyMEVFMDA2
QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCNkEwRTUwQjBCQ0E1QzAwRjUwMjdBIC8qIENvbnRleHRNZW51LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZXh0TWVudS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTIwMTgsNyArMTIwMTMsNiBAQAogCQlBMUI1QjI5RDFBQUE4NDZF
MDA4QjYwNDIgLyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUExQkY2QjgwMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVu
dEZpbHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrQ29u
dGVudEZpbHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQkY2QjgxMUFB
OTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNb2NrQ29udGVudEZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlBMUM3OTcxQzE4ODNFNTFGMDAwRjVFMUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVu
dFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFRleHRB
cmVhRWxlbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDN0ZB
QTExMzNBNUQzNTAwRDY3MzJEIC8qIEpTWFBhdGhSZXN1bHRDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNYUGF0aFJlc3VsdEN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExREU3MTJCMTg2MTJBQzEwMDczNDE5MiAvKiBUb3Vj
aEV2ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUb3VjaEV2
ZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExREU3MTMwMTg2MTMyMjIw
MDczNDE5MiAvKiBUb3VjaENvbnN0cnVjdG9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUb3VjaENvbnN0cnVjdG9ycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xODg4OCw5ICsxODg4Miw2IEBACiAJCQkJODVERjgyMUEwQUE3ODQ5RTAwNDg2
QUQ3IC8qIERPTUhUTUxUYWJsZVJvd0VsZW1lbnQubW0gKi8sCiAJCQkJODVERjgyMUIwQUE3ODQ5
RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmggKi8sCiAJCQkJODVERjgy
MUMwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Lm1tICovLAot
CQkJCTg1RjMyQUVBMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lmgg
Ki8sCi0JCQkJODVGMzJBRUIwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1l
bnQubW0gKi8sCi0JCQkJQTFDNzk3MUMxODgzRTUxRjAwMEY1RTFGIC8qIERPTUhUTUxUZXh0QXJl
YUVsZW1lbnRQcml2YXRlLmggKi8sCiAJCQkJODU5OTJFQjgwQUE1MDY5NTAwQUMwNzg1IC8qIERP
TUhUTUxUaXRsZUVsZW1lbnQuaCAqLywKIAkJCQk4NTk5MkVCOTBBQTUwNjk1MDBBQzA3ODUgLyog
RE9NSFRNTFRpdGxlRWxlbWVudC5tbSAqLywKIAkJCQk4NUJBNEQwOTBBQTY4ODY4MDA4ODA1MkQg
LyogRE9NSFRNTFVMaXN0RWxlbWVudC5oICovLApAQCAtMTkwMDEsNyArMTg5OTIsNiBAQAogCQkJ
CTg1RTcxMTdDMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVFbGVtZW50SW50ZXJuYWwu
aCAqLywKIAkJCQk4NUU3MTE3RDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlUm93RWxl
bWVudEludGVybmFsLmggKi8sCiAJCQkJODVFNzExN0UwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhU
TUxUYWJsZVNlY3Rpb25FbGVtZW50SW50ZXJuYWwuaCAqLywKLQkJCQk4NUU3MTE3RjBBQzVENTM1
MDA1MzI3MEYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmggKi8sCiAJCQkJODVF
NzExODAwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oICov
LAogCQkJCTg1RTcxMTgxMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVUxpc3RFbGVtZW50SW50
ZXJuYWwuaCAqLywKIAkJCQkyREVDNjY0RDFDODJDRkJGMDA5OTg0NkEgLyogRE9NSFRNTFZpZGVv
RWxlbWVudEludGVybmFsLmggKi8sCkBAIC0yMjY1NCw2ICsyMjY0NCwxMCBAQAogCQkJCUJDMUEz
NzlGMDk3QzcxNUYwMDE5RjNEOCAvKiBET01FeHRlbnNpb25zLmggKi8sCiAJCQkJQkMxQTM3QTAw
OTdDNzE1RjAwMTlGM0Q4IC8qIERPTUhUTUwuaCAqLywKIAkJCQlCQzFBMzdBMTA5N0M3MTVGMDAx
OUYzRDggLyogRE9NSFRNTC5tbSAqLywKKwkJCQk5M0FBQzhBNjFENEQ3RTU0MDA5MDk3OTEgLyog
RE9NSFRNTFRleHRBcmVhRWxlbWVudC5oICovLAorCQkJCTkzQUFDOEE3MUQ0RDdFNTQwMDkwOTc5
MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tICovLAorCQkJCTkzQUFDOEFBMUQ0RDdGNjMw
MDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLywKKwkJCQk5M0FB
QzhBQjFENEQ3RjYzMDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCAq
LywKIAkJCQlCQzFBMzdBMzA5N0M3MTVGMDAxOUYzRDggLyogRE9NSW50ZXJuYWwuaCAqLywKIAkJ
CQlCQzFBMzdBNDA5N0M3MTVGMDAxOUYzRDggLyogRE9NSW50ZXJuYWwubW0gKi8sCiAJCQkJQkMx
QTM3QTUwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTVByaXZhdGUuaCAqLywKQEAgLTI2MTQyLDkgKzI2
MTM2LDYgQEAKIAkJCQk4NUU3MTFDQzBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlUm93
RWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NURGODIyNTBBQTc4NDlFMDA0
ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTg1RTcxMUNEMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKLQkJCQk4NUYzMkFGMjBBQTYzQjg3MDBGRjMxODQgLyog
RE9NSFRNTFRleHRBcmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODVFNzExQ0UwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJQTFDNzk3MUQxODgzRTUxRjAwMEY1RTFGIC8qIERPTUhUTUxUZXh0QXJlYUVs
ZW1lbnRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTk5MkVDMDBBQTUwNjk1MDBBQzA3
ODUgLyogRE9NSFRNTFRpdGxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVFNzExQ0Yw
QUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODVCQTREMTcwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxVTGlzdEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjYxNzAsNiArMjYxNjEsNyBAQAogCQkJCTg1QzdGNUJG
MEFBRkI3Q0MwMDQwMTRERCAvKiBET01NdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTk4OURDRTBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTXV0YXRpb25FdmVudEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MkI2QzlDMzE1RTNGNERGMDA2OTBCMDUgLyogRE9NTmFtZWRG
bG93Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNBQUM4QUQxRDREN0Y2MzAwOTA5
NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTE4REQ3ODBBOUNGMzFCMDA5MUI3QTYgLyogRE9NTmFtZWROb2RlTWFwLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NUU3MTFEMjBBQzVENTM1MDA1MzI3MEYgLyogRE9NTmFtZWROb2RlTWFwSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1M0JGNERCMEFCQjZCNTUwMDg2NDdCQiAvKiBE
T01Ob2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTI2NDk0LDYgKzI2NDg2LDcgQEAKIAkJCQk3N0Ex
N0E3QjEyRjI4OTBCMDA0RTAyRjYgLyogR3JhcGhpY3NUeXBlczNELmggaW4gSGVhZGVycyAqLywK
IAkJCQlDRDNFMjUxQzE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZEFyZWEuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNERUY0RkQ3MTdFODVDOEYwMEFFRTI0QiAvKiBHcmlkTGVuZ3RoLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5M0FBQzhBODFENEQ3RTU0MDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyNzA1QzMxNjU2QkQ2NTAwQzJFMjdDIC8qIEdy
aWRQb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNzQ4M0YxOEZFQkNFQzAwMDZFQ0Mw
IC8qIEdyaWRQb3NpdGlvbnNSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQTEwNTAx
NjY0NDRGRDAwOEZBMzExIC8qIEdyaWRUcmFja1NpemUuaCBpbiBIZWFkZXJzICovLApAQCAtMjcz
NDgsNiArMjczNDEsNyBAQAogCQkJCTdFQTMwRjZBMTdFRkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdM
Q29tcHJlc3NlZFRleHR1cmVQVlJUQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDcz
M0Y0MDAwRTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4dEF0dHJp
YnV0ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQUFDOEFDMUQ0RDdGNjMwMDkwOTc5MSAvKiBE
T01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNC
RjRFMTQwRjFBQkQwMDM4NzlCRSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJ
bmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNX
ZWJHTERlYnVnU2hhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTk2NSw3ICsyOTk1OSw2IEBA
CiAJCQkJODVERjgyNzEwQUE3OEI4QjAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQubW0g
aW4gU291cmNlcyAqLywKIAkJCQk4NURGODIyNDBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRh
YmxlUm93RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1REY4MjI2MEFBNzg0OUUwMDQ4
NkFENyAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CTg1RjMyQUYzMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODU5OTJFQzEwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxUaXRs
ZUVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NUJBNEQxODBBQTY4ODY4MDA4ODA1MkQg
LyogRE9NSFRNTFVMaXN0RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJERUM2NjUzMUM4
MkQwMkUwMDk5ODQ2QSAvKiBET01IVE1MVmlkZW9FbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCkBA
IC0zMTgxNSw2ICszMTgwOCw3IEBACiAJCQkJMDc4RTA5MEMxN0QxNENFRTAwNDIwQUExIC8qIFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzNCRTM0RTE3RDE4
MEIyMDAyQkQ0MzEgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwNzhFMDkwRTE3RDE0Q0VFMDA0MjBBQTEgLyogUlRDU3RhdHNSZXBvcnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTNBQUM4QTkxRDREN0U1NDAwOTA5NzkxIC8qIERPTUhU
TUxUZXh0QXJlYUVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzhFMDkxMDE3RDE0Q0VF
MDA0MjBBQTEgLyogUlRDU3RhdHNSZXNwb25zZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1RTJD
NDM2NzFCQ0VFMzc3MDAwMUUyQkMgLyogUlRDVHJhY2tFdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1ODI0QUJBMjFBRTgxMTE2MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxU
ZXh0QXJlYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTFRl
eHRBcmVhRWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkZTQ0YTY1OWIyMDI0MTg0NzIzOTZjOThlMWY1
ZDM2NWMwMWU1MDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA0LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJDb3Jl
L0RPTUhUTUxFbGVtZW50Lmg+CisKK0BjbGFzcyBET01IVE1MRm9ybUVsZW1lbnQ7CisKK1dFQktJ
VF9DTEFTU19BVkFJTEFCTEVfTUFDKDEwXzQpCitXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIERP
TUhUTUxUZXh0QXJlYUVsZW1lbnQgOiBET01IVE1MRWxlbWVudAorQHByb3BlcnR5IEJPT0wgYXV0
b2ZvY3VzIFdFQktJVF9BVkFJTEFCTEVfTUFDKDEwXzYpOworQHByb3BlcnR5IEJPT0wgZGlzYWJs
ZWQ7CitAcHJvcGVydHkgKHJlYWRvbmx5LCBzdHJvbmcpIERPTUhUTUxGb3JtRWxlbWVudCAqZm9y
bTsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKm5hbWU7CitAcHJvcGVydHkgQk9PTCByZWFk
T25seTsKK0Bwcm9wZXJ0eSBpbnQgcm93czsKK0Bwcm9wZXJ0eSBpbnQgY29sczsKK0Bwcm9wZXJ0
eSAocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICp0eXBlOworQHByb3BlcnR5IChjb3B5KSBOU1N0
cmluZyAqZGVmYXVsdFZhbHVlOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqdmFsdWU7CitA
cHJvcGVydHkgKHJlYWRvbmx5KSBCT09MIHdpbGxWYWxpZGF0ZSBXRUJLSVRfQVZBSUxBQkxFX01B
QygxMF82KTsKK0Bwcm9wZXJ0eSBpbnQgc2VsZWN0aW9uU3RhcnQgV0VCS0lUX0FWQUlMQUJMRV9N
QUMoMTBfNSk7CitAcHJvcGVydHkgaW50IHNlbGVjdGlvbkVuZCBXRUJLSVRfQVZBSUxBQkxFX01B
QygxMF81KTsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKmFjY2Vzc0tleSBXRUJLSVRfREVQ
UkVDQVRFRF9NQUMoMTBfNCwgMTBfOCk7CistICh2b2lkKXNlbGVjdDsKKy0gKHZvaWQpc2V0U2Vs
ZWN0aW9uUmFuZ2U6KGludClzdGFydCBlbmQ6KGludCllbmQgV0VCS0lUX0FWQUlMQUJMRV9NQUMo
MTBfNSk7CitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUhUTUxUZXh0QXJlYUVsZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUhUTUxUZXh0QXJlYUVsZW1lbnQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE5MWM2Njk4YjBmNThjOTA1Mzkx
NmJlMmU0MGY1MGM2ZmY5MTE1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbQpAQCAtMCwwICsxLDM4OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJET01IVE1MVGV4dEFyZWFFbGVtZW50LmgiCisKKyNpbXBv
cnQgIkRPTUhUTUxGb3JtRWxlbWVudEludGVybmFsLmgiCisjaW1wb3J0ICJET01IVE1MVGV4dEFy
ZWFFbGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTU5vZGVJbnRlcm5hbC5oIgorI2ltcG9y
dCAiRE9NTm9kZUxpc3RJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NVmFsaWRpdHlTdGF0ZUludGVy
bmFsLmgiCisjaW1wb3J0ICJFeGNlcHRpb25IYW5kbGVycy5oIgorI2ltcG9ydCAiSFRNTFRleHRB
cmVhRWxlbWVudC5oIgorI2ltcG9ydCAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCisjaW1wb3J0
ICJOb2RlTGlzdC5oIgorI2ltcG9ydCAiVGhyZWFkQ2hlY2suaCIKKwordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CisKK3N0YXRpYyBpbmxpbmUgSFRNTFRleHRBcmVhRWxlbWVudCYgd3JhcHBlZCh2
b2lkKiBpbnRlcm5hbCkKK3sKKyAgICBBU1NFUlQoaW50ZXJuYWwpOworICAgIHJldHVybiBkb3du
Y2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Pigqc3RhdGljX2Nhc3Q8Tm9kZSo+KGludGVybmFsKSk7
Cit9CisKK0hUTUxUZXh0QXJlYUVsZW1lbnQqIGNvcmUoRE9NSFRNTFRleHRBcmVhRWxlbWVudCAq
d3JhcHBlcikKK3sKKyAgICByZXR1cm4gd3JhcHBlciA/ICZ3cmFwcGVkKHdyYXBwZXItPl9pbnRl
cm5hbCkgOiBudWxscHRyOworfQorCitET01IVE1MVGV4dEFyZWFFbGVtZW50ICpraXQoSFRNTFRl
eHRBcmVhRWxlbWVudCogdmFsdWUpCit7CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNr
Um91bmRPbmUoKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NSFRNTFRleHRBcmVhRWxlbWVu
dCo+KGtpdChzdGF0aWNfY2FzdDxOb2RlKj4odmFsdWUpKSk7Cit9CisKK0BpbXBsZW1lbnRhdGlv
biBET01IVE1MVGV4dEFyZWFFbGVtZW50CisKKy0gKEJPT0wpYXV0b2ZvY3VzCit7CisgICAgSlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCku
aGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmF1dG9mb2N1c0F0
dHIpOworfQorCistICh2b2lkKXNldEF1dG9mb2N1czooQk9PTCluZXdBdXRvZm9jdXMKK3sKKyAg
ICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNl
dEJvb2xlYW5BdHRyaWJ1dGUoSFRNTE5hbWVzOjphdXRvZm9jdXNBdHRyLCBuZXdBdXRvZm9jdXMp
OworfQorCistIChOU1N0cmluZyAqKWRpck5hbWUKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5nZXRBdHRyaWJ1dGUoSFRN
TE5hbWVzOjpkaXJuYW1lQXR0cik7Cit9CisKKy0gKHZvaWQpc2V0RGlyTmFtZTooTlNTdHJpbmcg
KiluZXdEaXJOYW1lCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdy
YXBwZWQoX2ludGVybmFsKS5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxO
YW1lczo6ZGlybmFtZUF0dHIsIG5ld0Rpck5hbWUpOworfQorCistIChCT09MKWRpc2FibGVkCit7
CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9p
bnRlcm5hbCkuaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmRp
c2FibGVkQXR0cik7Cit9CisKKy0gKHZvaWQpc2V0RGlzYWJsZWQ6KEJPT0wpbmV3RGlzYWJsZWQK
K3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJu
YWwpLnNldEJvb2xlYW5BdHRyaWJ1dGUoSFRNTE5hbWVzOjpkaXNhYmxlZEF0dHIsIG5ld0Rpc2Fi
bGVkKTsKK30KKworLSAoRE9NSFRNTEZvcm1FbGVtZW50ICopZm9ybQoreworICAgIEpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4ga2l0KHdyYXBwZWQoX2ludGVybmFsKS5m
b3JtKCkpOworfQorCistIChpbnQpbWF4TGVuZ3RoCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkubWF4TGVuZ3RoRm9yQmlu
ZGluZ3MoKTsKK30KKworLSAodm9pZClzZXRNYXhMZW5ndGg6KGludCluZXdNYXhMZW5ndGgKK3sK
KyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldE1heExlbmd0aEZvckJpbmRpbmdzKG5ld01h
eExlbmd0aCwgZWMpOworICAgIHJhaXNlT25ET01FcnJvcihlYyk7Cit9CisKKy0gKE5TU3RyaW5n
ICopbmFtZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4g
d3JhcHBlZChfaW50ZXJuYWwpLmdldE5hbWVBdHRyaWJ1dGUoKTsKK30KKworLSAodm9pZClzZXRO
YW1lOihOU1N0cmluZyAqKW5ld05hbWUKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oSFRNTE5hbWVzOjpuYW1lQXR0ciwgbmV3TmFtZSk7Cit9CisKKy0gKE5TU3RyaW5nICop
cGxhY2Vob2xkZXIKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0
dXJuIHdyYXBwZWQoX2ludGVybmFsKS5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpwbGFjZWhvbGRl
ckF0dHIpOworfQorCistICh2b2lkKXNldFBsYWNlaG9sZGVyOihOU1N0cmluZyAqKW5ld1BsYWNl
aG9sZGVyCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQo
X2ludGVybmFsKS5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6
cGxhY2Vob2xkZXJBdHRyLCBuZXdQbGFjZWhvbGRlcik7Cit9CisKKy0gKEJPT0wpcmVhZE9ubHkK
K3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQo
X2ludGVybmFsKS5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6
cmVhZG9ubHlBdHRyKTsKK30KKworLSAodm9pZClzZXRSZWFkT25seTooQk9PTCluZXdSZWFkT25s
eQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRl
cm5hbCkuc2V0Qm9vbGVhbkF0dHJpYnV0ZShIVE1MTmFtZXM6OnJlYWRvbmx5QXR0ciwgbmV3UmVh
ZE9ubHkpOworfQorCistIChCT09MKXJlcXVpcmVkCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuaGFzQXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnJlcXVpcmVkQXR0cik7Cit9CisKKy0gKHZv
aWQpc2V0UmVxdWlyZWQ6KEJPT0wpbmV3UmVxdWlyZWQKK3sKKyAgICBKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEJvb2xlYW5BdHRyaWJ1dGUo
SFRNTE5hbWVzOjpyZXF1aXJlZEF0dHIsIG5ld1JlcXVpcmVkKTsKK30KKworLSAoaW50KXJvd3MK
K3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQo
X2ludGVybmFsKS5yb3dzKCk7Cit9CisKKy0gKHZvaWQpc2V0Um93czooaW50KW5ld1Jvd3MKK3sK
KyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwp
LnNldFJvd3MobmV3Um93cyk7Cit9CisKKy0gKGludCljb2xzCit7CisgICAgSlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuY29scygpOwor
fQorCistICh2b2lkKXNldENvbHM6KGludCluZXdDb2xzCit7CisgICAgSlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXRDb2xzKG5ld0NvbHMpOwor
fQorCistIChOU1N0cmluZyAqKXdyYXAKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVz
Ojp3cmFwQXR0cik7Cit9CisKKy0gKHZvaWQpc2V0V3JhcDooTlNTdHJpbmcgKiluZXdXcmFwCit7
CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFs
KS5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6d3JhcEF0dHIs
IG5ld1dyYXApOworfQorCistIChOU1N0cmluZyAqKXR5cGUKK3sKKyAgICBKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS50eXBlKCk7Cit9
CisKKy0gKE5TU3RyaW5nICopZGVmYXVsdFZhbHVlCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuZGVmYXVsdFZhbHVlKCk7
Cit9CisKKy0gKHZvaWQpc2V0RGVmYXVsdFZhbHVlOihOU1N0cmluZyAqKW5ld0RlZmF1bHRWYWx1
ZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRl
cm5hbCkuc2V0RGVmYXVsdFZhbHVlKG5ld0RlZmF1bHRWYWx1ZSk7Cit9CisKKy0gKE5TU3RyaW5n
ICopdmFsdWUKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJu
IHdyYXBwZWQoX2ludGVybmFsKS52YWx1ZSgpOworfQorCistICh2b2lkKXNldFZhbHVlOihOU1N0
cmluZyAqKW5ld1ZhbHVlCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAg
IHdyYXBwZWQoX2ludGVybmFsKS5zZXRWYWx1ZShuZXdWYWx1ZSk7Cit9CisKKy0gKHVuc2lnbmVk
KXRleHRMZW5ndGgKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0
dXJuIHdyYXBwZWQoX2ludGVybmFsKS50ZXh0TGVuZ3RoKCk7Cit9CisKKy0gKEJPT0wpd2lsbFZh
bGlkYXRlCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3
cmFwcGVkKF9pbnRlcm5hbCkud2lsbFZhbGlkYXRlKCk7Cit9CisKKy0gKERPTVZhbGlkaXR5U3Rh
dGUgKil2YWxpZGl0eQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBy
ZXR1cm4ga2l0KHdyYXBwZWQoX2ludGVybmFsKS52YWxpZGl0eSgpKTsKK30KKworLSAoTlNTdHJp
bmcgKil2YWxpZGF0aW9uTWVzc2FnZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0
ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLnZhbGlkYXRpb25NZXNzYWdlKCk7Cit9
CisKKy0gKERPTU5vZGVMaXN0ICopbGFiZWxzCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOworICAgIHJldHVybiBraXQod3JhcHBlZChfaW50ZXJuYWwpLmxhYmVscygpLmdldCgp
KTsKK30KKworLSAoaW50KXNlbGVjdGlvblN0YXJ0Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuc2VsZWN0aW9uU3RhcnQo
KTsKK30KKworLSAodm9pZClzZXRTZWxlY3Rpb25TdGFydDooaW50KW5ld1NlbGVjdGlvblN0YXJ0
Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVy
bmFsKS5zZXRTZWxlY3Rpb25TdGFydChuZXdTZWxlY3Rpb25TdGFydCk7Cit9CisKKy0gKGludClz
ZWxlY3Rpb25FbmQKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0
dXJuIHdyYXBwZWQoX2ludGVybmFsKS5zZWxlY3Rpb25FbmQoKTsKK30KKworLSAodm9pZClzZXRT
ZWxlY3Rpb25FbmQ6KGludCluZXdTZWxlY3Rpb25FbmQKK3sKKyAgICBKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldFNlbGVjdGlvbkVuZChuZXdT
ZWxlY3Rpb25FbmQpOworfQorCistIChOU1N0cmluZyAqKXNlbGVjdGlvbkRpcmVjdGlvbgorewor
ICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50
ZXJuYWwpLnNlbGVjdGlvbkRpcmVjdGlvbigpOworfQorCistICh2b2lkKXNldFNlbGVjdGlvbkRp
cmVjdGlvbjooTlNTdHJpbmcgKiluZXdTZWxlY3Rpb25EaXJlY3Rpb24KK3sKKyAgICBKU01haW5U
aHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldFNlbGVjdGlv
bkRpcmVjdGlvbihuZXdTZWxlY3Rpb25EaXJlY3Rpb24pOworfQorCistIChOU1N0cmluZyAqKWFj
Y2Vzc0tleQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4g
d3JhcHBlZChfaW50ZXJuYWwpLmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmFjY2Vzc2tleUF0dHIp
OworfQorCistICh2b2lkKXNldEFjY2Vzc0tleTooTlNTdHJpbmcgKiluZXdBY2Nlc3NLZXkKK3sK
KyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwp
LnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjphY2Nlc3NrZXlB
dHRyLCBuZXdBY2Nlc3NLZXkpOworfQorCistIChOU1N0cmluZyAqKWF1dG9jb21wbGV0ZQorewor
ICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50
ZXJuYWwpLmF1dG9jb21wbGV0ZSgpOworfQorCistICh2b2lkKXNldEF1dG9jb21wbGV0ZTooTlNT
dHJpbmcgKiluZXdBdXRvY29tcGxldGUKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEF1dG9jb21wbGV0ZShuZXdBdXRvY29tcGxl
dGUpOworfQorCistIChCT09MKWNoZWNrVmFsaWRpdHkKK3sKKyAgICBKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5jaGVja1ZhbGlkaXR5
KCk7Cit9CisKKy0gKHZvaWQpc2V0Q3VzdG9tVmFsaWRpdHk6KE5TU3RyaW5nICopZXJyb3IKK3sK
KyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwp
LnNldEN1c3RvbVZhbGlkaXR5KGVycm9yKTsKK30KKworLSAodm9pZClzZWxlY3QKK3sKKyAgICBK
U01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNlbGVj
dCgpOworfQorCistICh2b2lkKXNldFJhbmdlVGV4dDooTlNTdHJpbmcgKilyZXBsYWNlbWVudAor
eworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBFeGNlcHRpb25Db2RlIGVj
ID0gMDsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0UmFuZ2VUZXh0KHJlcGxhY2VtZW50LCBl
Yyk7CisgICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKK30KKworLSAodm9pZClzZXRSYW5nZVRleHQ6
KE5TU3RyaW5nICopcmVwbGFjZW1lbnQgc3RhcnQ6KHVuc2lnbmVkKXN0YXJ0IGVuZDoodW5zaWdu
ZWQpZW5kIHNlbGVjdGlvbk1vZGU6KE5TU3RyaW5nICopc2VsZWN0aW9uTW9kZQoreworICAgIEpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAg
ICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0UmFuZ2VUZXh0KHJlcGxhY2VtZW50LCBzdGFydCwgZW5k
LCBzZWxlY3Rpb25Nb2RlLCBlYyk7CisgICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKK30KKworLSAo
dm9pZClzZXRTZWxlY3Rpb25SYW5nZTooaW50KXN0YXJ0IGVuZDooaW50KWVuZAoreworICAgIEpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0U2Vs
ZWN0aW9uUmFuZ2Uoc3RhcnQsIGVuZCk7Cit9CisKKyNpZiBFTkFCTEUoSU9TX0FVVE9DT1JSRUNU
X0FORF9BVVRPQ0FQSVRBTElaRSkKKworLSAoQk9PTClhdXRvY29ycmVjdAoreworICAgIEpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLmF1
dG9jb3JyZWN0KCk7Cit9CisKKy0gKHZvaWQpc2V0QXV0b2NvcnJlY3Q6KEJPT0wpbmV3QXV0b2Nv
cnJlY3QKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChf
aW50ZXJuYWwpLnNldEF1dG9jb3JyZWN0KG5ld0F1dG9jb3JyZWN0KTsKK30KKworLSAoTlNTdHJp
bmcgKilhdXRvY2FwaXRhbGl6ZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsK
KyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLmF1dG9jYXBpdGFsaXplKCk7Cit9CisKKy0g
KHZvaWQpc2V0QXV0b2NhcGl0YWxpemU6KE5TU3RyaW5nICopbmV3QXV0b2NhcGl0YWxpemUKK3sK
KyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwp
LnNldEF1dG9jYXBpdGFsaXplKG5ld0F1dG9jYXBpdGFsaXplKTsKK30KKworI2VuZGlmCisKK0Bl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTFRleHRB
cmVhRWxlbWVudEludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhU
TUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhMDg0YjFhODEzZWNhZjIz
YzZlZTI2M2Y3NWQyNWNhOWQwODBmMTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oCkBAIC0wLDAg
KzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CitjbGFzcyBIVE1MVGV4dEFyZWFFbGVtZW50OworfQorCitXRUJDT1JFX0VY
UE9SVCBXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50KiBjb3JlKERPTUhUTUxUZXh0QXJlYUVs
ZW1lbnQgKik7CitXRUJDT1JFX0VYUE9SVCBET01IVE1MVGV4dEFyZWFFbGVtZW50ICpraXQoV2Vi
Q29yZTo6SFRNTFRleHRBcmVhRWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI4NDQ3Njk3MzYwYWQ1MWM0MzNmOGRhZTY4NzgwYmQ1ZDkxMWQwZWQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxUZXh0QXJlYUVs
ZW1lbnRQcml2YXRlLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
NC0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MVGV4dEFy
ZWFFbGVtZW50Lmg+CisKK0BjbGFzcyBET01Ob2RlTGlzdDsKK0BjbGFzcyBET01WYWxpZGl0eVN0
YXRlOworCitAaW50ZXJmYWNlIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQgKERPTUhUTUxUZXh0QXJl
YUVsZW1lbnRQcml2YXRlKQorQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqZGlyTmFtZTsKK0Bw
cm9wZXJ0eSBpbnQgbWF4TGVuZ3RoOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqcGxhY2Vo
b2xkZXI7CitAcHJvcGVydHkgQk9PTCByZXF1aXJlZDsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJp
bmcgKndyYXA7CitAcHJvcGVydHkgKHJlYWRvbmx5KSB1bnNpZ25lZCB0ZXh0TGVuZ3RoOworQHBy
b3BlcnR5IChyZWFkb25seSwgc3Ryb25nKSBET01WYWxpZGl0eVN0YXRlICp2YWxpZGl0eTsKK0Bw
cm9wZXJ0eSAocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICp2YWxpZGF0aW9uTWVzc2FnZTsKK0Bw
cm9wZXJ0eSAocmVhZG9ubHksIHN0cm9uZykgRE9NTm9kZUxpc3QgKmxhYmVsczsKK0Bwcm9wZXJ0
eSAoY29weSkgTlNTdHJpbmcgKnNlbGVjdGlvbkRpcmVjdGlvbjsKK0Bwcm9wZXJ0eSBCT09MIGF1
dG9jb3JyZWN0OworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqYXV0b2NhcGl0YWxpemU7CitA
cHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICphdXRvY29tcGxldGU7CistIChCT09MKWNoZWNrVmFs
aWRpdHk7CistICh2b2lkKXNldEN1c3RvbVZhbGlkaXR5OihOU1N0cmluZyAqKWVycm9yOworLSAo
dm9pZClzZXRSYW5nZVRleHQ6KE5TU3RyaW5nICopcmVwbGFjZW1lbnQ7CistICh2b2lkKXNldFJh
bmdlVGV4dDooTlNTdHJpbmcgKilyZXBsYWNlbWVudCBzdGFydDoodW5zaWduZWQpc3RhcnQgZW5k
Oih1bnNpZ25lZCllbmQgc2VsZWN0aW9uTW9kZTooTlNTdHJpbmcgKilzZWxlY3Rpb25Nb2RlOwor
QGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284965</attachid>
            <date>2016-07-31 09:41:16 -0700</date>
            <delta_ts>2016-07-31 16:23:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160386-20160731093958.patch</filename>
            <type>text/plain</type>
            <size>43466</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzOTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE4NGZhNGMzMTVjYTUx
YWZmOTYzZmIwYTFlN2UyYjk5MmZkMTUwNC4uNWE3YjUyMDFhYTU5M2UzZjg1ZjY0MzBiZDJhY2Ri
Yjg3ODVhZWQwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTA3LTMwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEZyZWV6ZSBPYmpl
Y3RpdmUtQyBiaW5kaW5ncyBhbmQgc3RvcCBhdXRvZ2VuZXJhdGluZyB0aGVtOiBTdGVwIDEgLSBD
b252ZXJ0IGEgc2luZ2xlIGZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MDM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZSwgbm8gdGVzdHMgY2hhbmdlZC4gSSB0ZXN0
ZWQgdGhpcyBsb2NhbGx5IGJ5IHB1dHRpbmcgIiNlcnJvciIgaW50byB0aGUKKyAgICAgICAgZmls
ZXMgaW4gdGhlIERlcml2ZWRTb3VyY2VzIGRpcmVjdG9yeSB0byBtYWtlIHN1cmUgdGhlIGJ1aWxk
IGRvZXNuJ3QgdXNlIHRob3NlIGZpbGVzIGV2ZW4KKyAgICAgICAgaWYgdGhlcmUgYXJlIHN0YWxl
IGNvcGllcyBzdGlsbCBzaXR0aW5nIHRoZXJlLgorCisgICAgICAgIE1vdmluZyB0aGUgYmluZGlu
Z3MgZnJvbSBXZWJDb3JlIHRvIHRoZSBsZWdhY3kgcGFydCBvZiBXZWJLaXQgaXMgc29tZXRoaW5n
IHdlIGFsc28gd2FudCB0bworICAgICAgICBkbywgYnV0IHRoYXQgaXMgcXVpdGUgY2hhbGxlbmdp
bmcgdG8gZG8gb25lIGZpbGUgYXQgYSB0aW1lLCBzbyB3ZSB3aWxsIGRvIHRoYXQgbGF0ZXIuCisK
KyAgICAgICAgRm9yIHRoaXMgZmlyc3QgZmlsZSwgSSBkaWQgc29tZSBoYW5kIGVkaXRzIHRvIG1h
a2UgdGhlIGNvZGUgaW4gYSB0aGUgZmlsZSBhIGxpdHRsZSBsZXNzCisgICAgICAgIHBlY3VsaWFy
LiBJdCdzIHN0aWxsIGF3a3dhcmQgdG8gaGF2ZSBhbGwgdGhvc2UgSlNNYWluVGhyZWFkTnVsbFN0
YXRlIGluIHRoZXJlOyBzaG91bGQgZG91YmxlCisgICAgICAgIGNoZWNrIHRoYXQgd2UgcmVhbGx5
IG5lZWQgdGhlbS4KKworICAgICAgICBBbiBpbXBvcnRhbnQgZm9sbG93IHVwIHN0ZXAgd2lsbCBi
ZSB0byBjdXQgZG93biBvbiB0aGUgYmluZGluZ3MuIFdlIGhhdmUgbG90cyBvZiBiaW5kaW5ncwor
ICAgICAgICB0aGF0IGFyZSBvbmx5IGluIHRoZSBQcml2YXRlLmggaGVhZGVyLCBhbmQgaXQgd291
bGQgYmUgZ29vZCB0byBmaW5kIGEgd2F5IHRvIGN1dCBkb3duIG9uIHRob3NlLgorICAgICAgICBB
bmQgb24gaU9TIHdlIHdvdWxkIGxpa2UgZWxpbWluYXRlIHRoZXNlIGJpbmRpbmdzIGVudGlyZWx5
IHNpbmNlIHRoZXkgYXJlIG5vdCBBUEkgdGhlcmUuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBNb3ZlZCBIVE1MVGV4dEFyZWFFbGVtZW50IGZyb20gYSBsaXN0IHdlIHVzZSBmb3Ig
Ym90aCBKYXZhU2NyaXB0IGFuZAorICAgICAgICBPYmplY3RpdmUtQyBET00gYmluZGluZ3MgdG8g
YSBsaXN0IHdlIHVzZSBvbmx5IGZvciBKYXZhU2NyaXB0IGJpbmRpbmdzLgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogUmVtb3ZlZCByZWZlcmVuY2VzIHRvIGdl
bmVyYXRlZCBET01IVE1MVGV4dEFyZWFFbGVtZW50CisgICAgICAgIGZpbGVzIGFuZCBpbnN0ZWFk
IHJlZmVyZW5jZSB0aGUgY2hlY2tlZC1pbiBjb3BpZXMuCisgICAgICAgICogYmluZGluZ3Mvb2Jq
Yy9ET01IVE1MVGV4dEFyZWFFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL29i
amMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbTogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mv
b2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaDogQWRkZWQuCisgICAgICAgICog
YmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oOiBBZGRlZC4KKwog
MjAxNi0wNy0zMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJlYmFzZWxpbmUgYmluZGluZ3MgdGVzdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCAzZGRhYTFhMzhhYjYzZTRlZTRlYzIxY2JjMzg1OWNlYTQxZjRlNmRiLi4w
MmMzMThmNGQ2ZjFiYzJmMTZmZTAzMmFhOTFhNTcwMTUyNzgxNzYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTc1LDcgKzc1LDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJDb3Jl
KS93ZWJzb2NrZXRzIFwKICMKIAotTk9OX1NWR19CSU5ESU5HX0lETFMgPSBcCitKU19BTkRfT0JK
Q19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0
UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVu
dC5pZGwgXApAQCAtNDMwLDcgKzQzMCw2IEBAIE5PTl9TVkdfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1s
L0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MVGltZUVsZW1lbnQuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmlkbCBcCkBAIC01NzIsNyArNTcxLDggQEAgTk9O
X1NWR19CSU5ESU5HX0lETFMgPSBcCiAgICAgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwK
ICMKIAotU1ZHX0JJTkRJTkdfSURMUyA9IFwKK0pTX09OTFlfQklORElOR19JRExTID0gXAorICAg
ICQoV2ViQ29yZSkvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9zdmcvU1ZHQUVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdBbHRHbHlwaERl
ZkVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRs
IFwKQEAgLTc5MSw3ICs3OTEsNyBAQCBBRERJVElPTkFMX0VWRU5UX1RBUkdFVF9GQUNUT1JZID0K
IAogLWluY2x1ZGUgV2ViQ29yZURlcml2ZWRTb3VyY2VzQWRkaXRpb25zLm1ha2UKIAotTk9OX1NW
R19CSU5ESU5HX0lETFMgKz0gJChBRERJVElPTkFMX0JJTkRJTkdfSURMUykKK0pTX0FORF9PQkpD
X0JJTkRJTkdfSURMUyArPSAkKEFERElUSU9OQUxfQklORElOR19JRExTKQogCiBhbGwgOiAkKEFE
RElUSU9OQUxfQklORElOR19JRExTOiUuaWRsPUpTJS5oKQogCkBAIC04MDMsNyArODAzLDcgQEAg
JChBRERJVElPTkFMX0JJTkRJTkdfSURMUykgOiAlIDogV2ViS2l0QWRkaXRpb25zLyUKIGVuZGlm
ICMgTUFDT1MKIAogaWZuZXEgKCQoV1RGX1BMQVRGT1JNX0lPUyksIDEpCi1OT05fU1ZHX0JJTkRJ
TkdfSURMUyArPSBcCitKU19BTkRfT0JKQ19CSU5ESU5HX0lETFMgKz0gXAogICAgICQoV2ViQ29y
ZSkvZG9tL1RvdWNoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vVG91Y2hFdmVudC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL1RvdWNoTGlzdC5pZGwKQEAgLTgxMSw5ICs4MTEsOSBAQCBlbmRp
ZgogCiAuUEhPTlkgOiBhbGwKIAotQklORElOR19JRExTID0gJChOT05fU1ZHX0JJTkRJTkdfSURM
UykgJChTVkdfQklORElOR19JRExTKQorSlNfQklORElOR19JRExTID0gJChKU19BTkRfT0JKQ19C
SU5ESU5HX0lETFMpICQoSlNfT05MWV9CSU5ESU5HX0lETFMpCiAKLUpTX0RPTV9DTEFTU0VTPSQo
YmFzZW5hbWUgJChub3RkaXIgJChCSU5ESU5HX0lETFMpKSkKK0pTX0RPTV9DTEFTU0VTPSQoYmFz
ZW5hbWUgJChub3RkaXIgJChKU19CSU5ESU5HX0lETFMpKSkKIAogSlNfRE9NX0hFQURFUlM9JChm
aWx0ZXItb3V0IEpTRXZlbnRMaXN0ZW5lci5oLCAkKEpTX0RPTV9DTEFTU0VTOiU9SlMlLmgpKQog
CkBAIC0xMjM0LDggKzEyMzQsOCBAQCBkZWZpbmUgTkwKIAogZW5kZWYKIAotJChTVVBQTEVNRU5U
QUxfTUFLRUZJTEVfREVQUykgOiAkKFBSRVBST0NFU1NfSURMU19TQ1JJUFRTKSAkKEJJTkRJTkdf
SURMUykgJChQTEFURk9STV9GRUFUVVJFX0RFRklORVMpIERlcml2ZWRTb3VyY2VzLm1ha2UKLQkk
KGZvcmVhY2ggZiwkKEJJTkRJTkdfSURMUyksQGVjaG8gJChmKT4+JChJRExfRklMRVNfVE1QKSQo
TkwpKQorJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVfREVQUykgOiAkKFBSRVBST0NFU1NfSURMU19T
Q1JJUFRTKSAkKEpTX0JJTkRJTkdfSURMUykgJChQTEFURk9STV9GRUFUVVJFX0RFRklORVMpIERl
cml2ZWRTb3VyY2VzLm1ha2UKKwkkKGZvcmVhY2ggZiwkKEpTX0JJTkRJTkdfSURMUyksQGVjaG8g
JChmKT4+JChJRExfRklMRVNfVE1QKSQoTkwpKQogCSQoY2FsbCBwcmVwcm9jZXNzX2lkbHNfc2Ny
aXB0LCAkKFBSRVBST0NFU1NfSURMU19TQ1JJUFRTKSkgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVG
SU5FUykgJChBRERJVElPTkFMX0lETF9ERUZJTkVTKSBMQU5HVUFHRV9KQVZBU0NSSVBUIiAtLWlk
bEZpbGVzTGlzdCAkKElETF9GSUxFU19UTVApIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUg
JChTVVBQTEVNRU5UQUxfREVQRU5ERU5DWV9GSUxFKSAtLXdpbmRvd0NvbnN0cnVjdG9yc0ZpbGUg
JChXSU5ET1dfQ09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cnNGaWxlICQoV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0tZGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNGaWxlICQoREVESUNBVEVEV09SS0VSR0xPQkFM
U0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0tc3VwcGxlbWVudGFsTWFrZWZpbGVEZXBzICRACiAJ
JChERUxFVEUpICQoSURMX0ZJTEVTX1RNUCkKIApAQCAtMTM1Miw3ICsxMzUyLDcgQEAgYWxsIDog
JChub3RkaXIgJChXZWJDb3JlX0JVSUxUSU5TX1NPVVJDRVM6JS5qcz0lQnVpbHRpbnMuaCkpICQo
Zmlyc3R3b3JkICQoV2ViQ28KIAogaWZlcSAoJChPUyksTUFDT1MpCiAKLU9CSkNfRE9NX0NMQVNT
RVM9JChiYXNlbmFtZSAkKG5vdGRpciAkKE5PTl9TVkdfQklORElOR19JRExTKSkpCitPQkpDX0RP
TV9DTEFTU0VTPSQoYmFzZW5hbWUgJChub3RkaXIgJChKU19BTkRfT0JKQ19CSU5ESU5HX0lETFMp
KSkKIAogT0JKQ19ET01fSEVBREVSUz0kKGZpbHRlci1vdXQgRE9NRE9NV2luZG93LmggRE9NRE9N
TWltZVR5cGUuaCBET01ET01QbHVnaW4uaCwkKE9CSkNfRE9NX0NMQVNTRVM6JT1ET00lLmgpKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMThkMmEzZGU4NjU1OGVkY2EzOTIxNDVhYWY2ZGQ3YjZlMzhhZDU3ZS4uOTlmM2FkMzdk
MjdmMWE0MjBmMjY1OGUwOTdlY2ZjYTBkZTEzMzUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjU0MCw3ICsyNTQwLDYgQEAK
IAkJNjU5MzkyMzgwOUFFNDM0NjAwMkM1MzFGIC8qIFVSTC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU5MzkyMzYwOUFFNDM0NjAwMkM1MzFGIC8qIFVS
TC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1
OTM5MjNBMDlBRTQzNUMwMDJDNTMxRiAvKiBVUkxNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTkzOTIzOTA5QUU0MzVDMDAyQzUzMUYgLyogVVJM
TWFjLm1tICovOyB9OwogCQk2NTk2RjJCMzBCODczMURGMDAxMzI2QkQgLyogRE9NSFRNTElucHV0
RWxlbWVudEludGVybmFsLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU3MTE2NDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRN
TElucHV0RWxlbWVudEludGVybmFsLmggKi87IH07Ci0JCTY1OTZGMkMxMEI4NzMyNUMwMDEzMjZC
RCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdGMEFDNUQ1
MzUwMDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJ
NjU5QTdEMTMwQjZEQjREOTAwMTE1NUIzIC8qIFN1YnN0aXR1dGVEYXRhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTlBN0QxMjBCNkRCNEQ5MDAxMTU1
QjMgLyogU3Vic3RpdHV0ZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk2NTlEREM4MjA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTlEREM4
MDA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVudC5jcHAgKi87IH07CiAJCTY1OUREQzgzMDlF
MTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2NTlEREM4MTA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0z
NDU1LDcgKzM0NTQsNiBAQAogCQk4NUU3MTFDQjBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRh
YmxlRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NUU3MTE3QzBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlRWxlbWVu
dEludGVybmFsLmggKi87IH07CiAJCTg1RTcxMUNDMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1M
VGFibGVSb3dFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdEMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVS
b3dFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJODVFNzExQ0QwQUM1RDUzNTAwNTMyNzBGIC8q
IERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdFMEFDNUQ1MzUwMDUzMjcwRiAvKiBE
T01IVE1MVGFibGVTZWN0aW9uRWxlbWVudEludGVybmFsLmggKi87IH07Ci0JCTg1RTcxMUNFMEFD
NUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdGMEFDNUQ1MzUw
MDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJODVF
NzExQ0YwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFNzExODAwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oICovOyB9OwogCQk4
NUU3MTFEMDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFVMaXN0RWxlbWVudEludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU3MTE4MTBB
QzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFVMaXN0RWxlbWVudEludGVybmFsLmggKi87IH07CiAJ
CTg1RTcxMUQxMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01NZWRpYUxpc3RJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFNzExODIwQUM1RDUz
NTAwNTMyNzBGIC8qIERPTU1lZGlhTGlzdEludGVybmFsLmggKi87IH07CkBAIC0zNTA0LDEyICsz
NTAyLDkgQEAKIAkJODVGMzJBRUYwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxPcHRHcm91cEVs
ZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NUYzMkFFNzBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5tbSAqLzsg
fTsKIAkJODVGMzJBRjAwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFODBB
QTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFNlbGVjdEVsZW1lbnQuaCAqLzsgfTsKIAkJODVGMzJB
RjEwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGMzJBRTkwQUE2M0I4NzAwRkYz
MTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50Lm1tICovOyB9OwotCQk4NUYzMkFGMjBBQTYzQjg3
MDBGRjMxODQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGMzJBRUEwQUE2M0I4NzAwRkYzMTg0IC8qIERP
TUhUTUxUZXh0QXJlYUVsZW1lbnQuaCAqLzsgfTsKLQkJODVGMzJBRjMwQUE2M0I4NzAwRkYzMTg0
IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFQjBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFRl
eHRBcmVhRWxlbWVudC5tbSAqLzsgfTsKIAkJODVGMzJCNDAwQUE2NDAxQTAwRkYzMTg0IC8qIERP
TUhUTUxJbnB1dEVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RjMyQUU0MEFBNjNCODcwMEZGMzE4NCAvKiBET01I
VE1MSW5wdXRFbGVtZW50LmggKi87IH07CiAJCTg1RjMyQjQxMEFBNjQwMUEwMEZGMzE4NCAvKiBE
T01IVE1MT3B0R3JvdXBFbGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFNjBBQTYzQjg3MDBGRjMxODQgLyog
RE9NSFRNTE9wdEdyb3VwRWxlbWVudC5oICovOyB9OwogCQk4NUYzMkI0MjBBQTY0MDFBMDBGRjMx
ODQgLyogRE9NSFRNTFNlbGVjdEVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RjMyQUU4MEFBNjNCODcwMEZGMzE4
NCAvKiBET01IVE1MU2VsZWN0RWxlbWVudC5oICovOyB9OwotCQk4NUYzMkI0MzBBQTY0MDFBMDBG
RjMxODQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGMzJBRUEwQUE2M0I4NzAw
RkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaCAqLzsgfTsKIAkJODVGNTZBN0EwQTk4
Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGNTZBNzgwQTk4Q0UzNzAwQURCNjBB
IC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKCk7IH07IH07CiAJCTg1RjU2QTdCMEE5OENFMzcwMEFEQjYwQSAvKiBET01Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NUY1NkE3OTBBOThDRTM3MDBBREI2MEEgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9u
Lm1tICovOyB9OwogCQk4NUY3NEUwMTBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTQ2hhcnNldFJ1
bGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg1MDMyREMzMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NDaGFyc2V0UnVsZS5o
ICovOyB9OwpAQCAtMzc1NCw2ICszNzQ5LDEwIEBACiAJCTkzOUIwMkVFMEVBMkRCQzQwMEM1NDU3
MCAvKiBXaWR0aEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzOUIwMkVDMEVBMkRCQzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmNw
cCAqLzsgfTsKIAkJOTM5QjAyRUYwRUEyREJDNDAwQzU0NTcwIC8qIFdpZHRoSXRlcmF0b3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOUIwMkVEMEVB
MkRCQzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmggKi87IH07CiAJCTkzQTM4QjRCMEQwRTU4
MDgwMDY4NzJDMiAvKiBFZGl0b3JDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTM4QjRBMEQwRTU4MDgwMDY4NzJDMiAvKiBFZGl0b3JD
b21tYW5kLmNwcCAqLzsgfTsKKwkJOTNBQUM4QTgxRDREN0U1NDAwOTA5NzkxIC8qIERPTUhUTUxU
ZXh0QXJlYUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQUFDOEE2MUQ0RDdFNTQwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNB
QUM4QTkxRDREN0U1NDAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FBQzhBNzFENEQ3RTU0
MDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbSAqLzsgfTsKKwkJOTNBQUM4QUMx
RDREN0Y2MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQUM4QUExRDREN0Y2
MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oICovOyB9OworCQk5
M0FBQzhBRDFENEQ3RjYzMDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUFDOEFC
MUQ0RDdGNjMwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE2MEY5
OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1
ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJOTNCMkQ4MTgwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9u
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4
MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLm1tICovOyB9OwogCQk5M0I2
QTBFNjBCMEJDQTVDMDBGNTAyN0EgLyogQ29udGV4dE1lbnUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjZBMEU1MEIwQkNBNUMwMEY1MDI3QSAvKiBD
b250ZXh0TWVudS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC00MjExLDggKzQyMTAsNiBAQAogCQlBMUM3OTcxOTE4ODNEREVEMDAwRjVFMUYgLyog
RE9NVG91Y2guaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNTREQ0NEMTg4MEY4NjcwMDNFRURCQiAvKiBET01Ub3VjaC5oICov
OyB9OwogCQlBMUM3OTcxQTE4ODNERTBEMDAwRjVFMUYgLyogRE9NVG91Y2hFdmVudC5oIGluIENv
cHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY1NERDQ0YxODgwRjg2NzAwM0VFREJCIC8qIERPTVRvdWNoRXZlbnQuaCAqLzsgfTsKIAkJQTFD
Nzk3MUIxODgzREUyQjAwMEY1RTFGIC8qIERPTVRvdWNoTGlzdC5oIGluIENvcHkgR2VuZXJhdGVk
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NERDRDMxODgw
Rjg2NzAwM0VFREJCIC8qIERPTVRvdWNoTGlzdC5oICovOyB9OwotCQlBMUM3OTcxRDE4ODNFNTFG
MDAwRjVFMUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQzc5NzFDMTg4M0U1MUYwMDBGNUUx
RiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oICovOyB9OwotCQlBMUM3OTcxRTE4
ODNFNjNGMDAwRjVFMUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBpbiBDb3B5
IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
Qzc5NzFDMTg4M0U1MUYwMDBGNUUxRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5o
ICovOyB9OwogCQlBMUM3RkFBMjEzM0E1RDM1MDBENjczMkQgLyogSlNYUGF0aFJlc3VsdEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUM3
RkFBMTEzM0E1RDM1MDBENjczMkQgLyogSlNYUGF0aFJlc3VsdEN1c3RvbS5jcHAgKi87IH07CiAJ
CUExREU3MTJEMTg2MTJBQzEwMDczNDE5MiAvKiBUb3VjaEV2ZW50cy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURFNzEyQjE4NjEyQUMxMDA3MzQx
OTIgLyogVG91Y2hFdmVudHMuY3BwICovOyB9OwogCQlBMURFNzEzMjE4NjEzMjIyMDA3MzQxOTIg
LyogVG91Y2hDb25zdHJ1Y3RvcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTFERTcxMzAxODYxMzIyMjAwNzM0MTkyIC8qIFRvdWNoQ29uc3RydWN0
b3JzLmNwcCAqLzsgfTsKQEAgLTc0MDYsOSArNzQwMyw2IEBACiAJCQkJODVERjgyNzQwQUE3OEM3
MzAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFk
ZXJzICovLAogCQkJCTg1REY4MjMyMEFBNzg2NjgwMDQ4NkFENyAvKiBET01IVE1MVGFibGVSb3dF
bGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKIAkJCQk4NURGODIzMzBBQTc4
NjY4MDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCBpbiBDb3B5IEdlbmVy
YXRlZCBIZWFkZXJzICovLAotCQkJCTg1RjMyQjQzMEFBNjQwMUEwMEZGMzE4NCAvKiBET01IVE1M
VGV4dEFyZWFFbGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKLQkJCQk2NTk2
RjJDMTBCODczMjVDMDAxMzI2QkQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmgg
aW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKLQkJCQlBMUM3OTcxRTE4ODNFNjNGMDAwRjVF
MUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBI
ZWFkZXJzICovLAogCQkJCTg1NzVERjg3MEFBNjEzMEUwMEY1REJCNSAvKiBET01IVE1MVGl0bGVF
bGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKIAkJCQk4NUJBNEQyRTBBQTY4
ODlGMDA4ODA1MkQgLyogRE9NSFRNTFVMaXN0RWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhl
YWRlcnMgKi8sCiAJCQkJMkQ0NDQ2OTkxQzg0Q0NENzAwMjRDODg5IC8qIERPTUhUTUxWaWRlb0Vs
ZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLApAQCAtMTExOTMsNyArMTExODcs
NiBAQAogCQk4NUU3MTE3QzBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlRWxlbWVudElu
dGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MVGFibGVF
bGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVFNzExN0Qw
QUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUYWJsZVJvd0VsZW1lbnRJbnRlcm5hbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFRhYmxlUm93RWxlbWVudEludGVy
bmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RTcxMTdFMEFDNUQ1MzUwMDUz
MjcwRiAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudEludGVybmFs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg1RTcxMTdGMEFDNUQ1MzUwMDUzMjcw
RiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NUU3MTE4MDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRN
TFRpdGxlRWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBET01IVE1MVGl0bGVFbGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODVFNzExODEwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxVTGlzdEVsZW1lbnRJbnRl
cm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFVMaXN0RWxl
bWVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RTcxMTgyMEFD
NUQ1MzUwMDUzMjcwRiAvKiBET01NZWRpYUxpc3RJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NTWVkaWFMaXN0SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTExMjMxLDggKzExMjI0LDYgQEAKIAkJODVGMzJBRTcwQUE2M0I4NzAw
RkYzMTg0IC8qIERPTUhUTUxPcHRHcm91cEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVGMzJBRTgwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxT
ZWxlY3RFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1M
U2VsZWN0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUYzMkFFOTBB
QTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFNlbGVjdEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTFNlbGVjdEVsZW1lbnQubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg1RjMyQUVBMEFBNjNCODcwMEZGMzE4NCAvKiBET01I
VE1MVGV4dEFyZWFFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01IVE1MVGV4dEFyZWFFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg1
RjMyQUVCMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1l
bnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RjU2QTc4MEE5OENFMzcwMEFE
QjYwQSAvKiBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NUY1NkE3OTBBOThDRTM3MDBBREI2MEEgLyogRE9NUHJvY2Vzc2luZ0lu
c3RydWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERP
TVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODVGRjMxNTgwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUtleWJvYXJkRXZlbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTExNTAxLDYgKzExNDkyLDEwIEBACiAJCTkzOUIwMkVDMEVBMkRC
QzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdpZHRoSXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MzlCMDJFRDBFQTJEQkM0MDBDNTQ1NzAgLyogV2lkdGhJdGVyYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXaWR0aEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTkzQTM4QjRBMEQwRTU4MDgwMDY4NzJDMiAvKiBFZGl0b3JDb21tYW5k
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkaXRvckNvbW1hbmQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0FBQzhBNjFENEQ3RTU0MDA5MDk3
OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01IVE1MVGV4dEFyZWFFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTkzQUFDOEE3MUQ0RDdFNTQwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTFRleHRB
cmVhRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNBQUM4QUExRDRE
N0Y2MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNBQUM4QUIxRDREN0Y2MzAwOTA5Nzkx
IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJt
aW5hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWRkZW5UZXJtaW5h
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyRDgxNzBGOTkyMEVFMDA2
QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCNkEwRTUwQjBCQ0E1QzAwRjUwMjdBIC8qIENvbnRleHRNZW51LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZXh0TWVudS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTIwMTgsNyArMTIwMTMsNiBAQAogCQlBMUI1QjI5RDFBQUE4NDZF
MDA4QjYwNDIgLyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUExQkY2QjgwMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVu
dEZpbHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrQ29u
dGVudEZpbHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQkY2QjgxMUFB
OTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNb2NrQ29udGVudEZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlBMUM3OTcxQzE4ODNFNTFGMDAwRjVFMUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVu
dFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFRleHRB
cmVhRWxlbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDN0ZB
QTExMzNBNUQzNTAwRDY3MzJEIC8qIEpTWFBhdGhSZXN1bHRDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNYUGF0aFJlc3VsdEN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExREU3MTJCMTg2MTJBQzEwMDczNDE5MiAvKiBUb3Vj
aEV2ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUb3VjaEV2
ZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExREU3MTMwMTg2MTMyMjIw
MDczNDE5MiAvKiBUb3VjaENvbnN0cnVjdG9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUb3VjaENvbnN0cnVjdG9ycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xODg4OCw5ICsxODg4Miw2IEBACiAJCQkJODVERjgyMUEwQUE3ODQ5RTAwNDg2
QUQ3IC8qIERPTUhUTUxUYWJsZVJvd0VsZW1lbnQubW0gKi8sCiAJCQkJODVERjgyMUIwQUE3ODQ5
RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmggKi8sCiAJCQkJODVERjgy
MUMwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Lm1tICovLAot
CQkJCTg1RjMyQUVBMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lmgg
Ki8sCi0JCQkJODVGMzJBRUIwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1l
bnQubW0gKi8sCi0JCQkJQTFDNzk3MUMxODgzRTUxRjAwMEY1RTFGIC8qIERPTUhUTUxUZXh0QXJl
YUVsZW1lbnRQcml2YXRlLmggKi8sCiAJCQkJODU5OTJFQjgwQUE1MDY5NTAwQUMwNzg1IC8qIERP
TUhUTUxUaXRsZUVsZW1lbnQuaCAqLywKIAkJCQk4NTk5MkVCOTBBQTUwNjk1MDBBQzA3ODUgLyog
RE9NSFRNTFRpdGxlRWxlbWVudC5tbSAqLywKIAkJCQk4NUJBNEQwOTBBQTY4ODY4MDA4ODA1MkQg
LyogRE9NSFRNTFVMaXN0RWxlbWVudC5oICovLApAQCAtMTkwMDEsNyArMTg5OTIsNiBAQAogCQkJ
CTg1RTcxMTdDMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVFbGVtZW50SW50ZXJuYWwu
aCAqLywKIAkJCQk4NUU3MTE3RDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlUm93RWxl
bWVudEludGVybmFsLmggKi8sCiAJCQkJODVFNzExN0UwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhU
TUxUYWJsZVNlY3Rpb25FbGVtZW50SW50ZXJuYWwuaCAqLywKLQkJCQk4NUU3MTE3RjBBQzVENTM1
MDA1MzI3MEYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmggKi8sCiAJCQkJODVF
NzExODAwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oICov
LAogCQkJCTg1RTcxMTgxMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVUxpc3RFbGVtZW50SW50
ZXJuYWwuaCAqLywKIAkJCQkyREVDNjY0RDFDODJDRkJGMDA5OTg0NkEgLyogRE9NSFRNTFZpZGVv
RWxlbWVudEludGVybmFsLmggKi8sCkBAIC0yMjY1NCw2ICsyMjY0NCwxMCBAQAogCQkJCUJDMUEz
NzlGMDk3QzcxNUYwMDE5RjNEOCAvKiBET01FeHRlbnNpb25zLmggKi8sCiAJCQkJQkMxQTM3QTAw
OTdDNzE1RjAwMTlGM0Q4IC8qIERPTUhUTUwuaCAqLywKIAkJCQlCQzFBMzdBMTA5N0M3MTVGMDAx
OUYzRDggLyogRE9NSFRNTC5tbSAqLywKKwkJCQk5M0FBQzhBNjFENEQ3RTU0MDA5MDk3OTEgLyog
RE9NSFRNTFRleHRBcmVhRWxlbWVudC5oICovLAorCQkJCTkzQUFDOEE3MUQ0RDdFNTQwMDkwOTc5
MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tICovLAorCQkJCTkzQUFDOEFBMUQ0RDdGNjMw
MDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAqLywKKwkJCQk5M0FB
QzhBQjFENEQ3RjYzMDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCAq
LywKIAkJCQlCQzFBMzdBMzA5N0M3MTVGMDAxOUYzRDggLyogRE9NSW50ZXJuYWwuaCAqLywKIAkJ
CQlCQzFBMzdBNDA5N0M3MTVGMDAxOUYzRDggLyogRE9NSW50ZXJuYWwubW0gKi8sCiAJCQkJQkMx
QTM3QTUwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTVByaXZhdGUuaCAqLywKQEAgLTI2MTQyLDkgKzI2
MTM2LDYgQEAKIAkJCQk4NUU3MTFDQzBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlUm93
RWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NURGODIyNTBBQTc4NDlFMDA0
ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTg1RTcxMUNEMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKLQkJCQk4NUYzMkFGMjBBQTYzQjg3MDBGRjMxODQgLyog
RE9NSFRNTFRleHRBcmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODVFNzExQ0UwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJQTFDNzk3MUQxODgzRTUxRjAwMEY1RTFGIC8qIERPTUhUTUxUZXh0QXJlYUVs
ZW1lbnRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTk5MkVDMDBBQTUwNjk1MDBBQzA3
ODUgLyogRE9NSFRNTFRpdGxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVFNzExQ0Yw
QUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODVCQTREMTcwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxVTGlzdEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjYxNzAsNiArMjYxNjEsNyBAQAogCQkJCTg1QzdGNUJG
MEFBRkI3Q0MwMDQwMTRERCAvKiBET01NdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTk4OURDRTBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTXV0YXRpb25FdmVudEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MkI2QzlDMzE1RTNGNERGMDA2OTBCMDUgLyogRE9NTmFtZWRG
bG93Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNBQUM4QUQxRDREN0Y2MzAwOTA5
NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTE4REQ3ODBBOUNGMzFCMDA5MUI3QTYgLyogRE9NTmFtZWROb2RlTWFwLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NUU3MTFEMjBBQzVENTM1MDA1MzI3MEYgLyogRE9NTmFtZWROb2RlTWFwSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1M0JGNERCMEFCQjZCNTUwMDg2NDdCQiAvKiBE
T01Ob2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTI2NDk0LDYgKzI2NDg2LDcgQEAKIAkJCQk3N0Ex
N0E3QjEyRjI4OTBCMDA0RTAyRjYgLyogR3JhcGhpY3NUeXBlczNELmggaW4gSGVhZGVycyAqLywK
IAkJCQlDRDNFMjUxQzE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZEFyZWEuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNERUY0RkQ3MTdFODVDOEYwMEFFRTI0QiAvKiBHcmlkTGVuZ3RoLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5M0FBQzhBODFENEQ3RTU0MDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyNzA1QzMxNjU2QkQ2NTAwQzJFMjdDIC8qIEdy
aWRQb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNzQ4M0YxOEZFQkNFQzAwMDZFQ0Mw
IC8qIEdyaWRQb3NpdGlvbnNSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQTEwNTAx
NjY0NDRGRDAwOEZBMzExIC8qIEdyaWRUcmFja1NpemUuaCBpbiBIZWFkZXJzICovLApAQCAtMjcz
NDgsNiArMjczNDEsNyBAQAogCQkJCTdFQTMwRjZBMTdFRkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdM
Q29tcHJlc3NlZFRleHR1cmVQVlJUQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDcz
M0Y0MDAwRTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4dEF0dHJp
YnV0ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQUFDOEFDMUQ0RDdGNjMwMDkwOTc5MSAvKiBE
T01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNC
RjRFMTQwRjFBQkQwMDM4NzlCRSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJ
bmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNX
ZWJHTERlYnVnU2hhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTk2NSw3ICsyOTk1OSw2IEBA
CiAJCQkJODVERjgyNzEwQUE3OEI4QjAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQubW0g
aW4gU291cmNlcyAqLywKIAkJCQk4NURGODIyNDBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRh
YmxlUm93RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1REY4MjI2MEFBNzg0OUUwMDQ4
NkFENyAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CTg1RjMyQUYzMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODU5OTJFQzEwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxUaXRs
ZUVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NUJBNEQxODBBQTY4ODY4MDA4ODA1MkQg
LyogRE9NSFRNTFVMaXN0RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJERUM2NjUzMUM4
MkQwMkUwMDk5ODQ2QSAvKiBET01IVE1MVmlkZW9FbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCkBA
IC0zMTgxNSw2ICszMTgwOCw3IEBACiAJCQkJMDc4RTA5MEMxN0QxNENFRTAwNDIwQUExIC8qIFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzNCRTM0RTE3RDE4
MEIyMDAyQkQ0MzEgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwNzhFMDkwRTE3RDE0Q0VFMDA0MjBBQTEgLyogUlRDU3RhdHNSZXBvcnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTNBQUM4QTkxRDREN0U1NDAwOTA5NzkxIC8qIERPTUhU
TUxUZXh0QXJlYUVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzhFMDkxMDE3RDE0Q0VF
MDA0MjBBQTEgLyogUlRDU3RhdHNSZXNwb25zZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1RTJD
NDM2NzFCQ0VFMzc3MDAwMUUyQkMgLyogUlRDVHJhY2tFdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1ODI0QUJBMjFBRTgxMTE2MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxU
ZXh0QXJlYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTFRl
eHRBcmVhRWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkZTQ0YTY1OWIyMDI0MTg0NzIzOTZjOThlMWY1
ZDM2NWMwMWU1MDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA0LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJDb3Jl
L0RPTUhUTUxFbGVtZW50Lmg+CisKK0BjbGFzcyBET01IVE1MRm9ybUVsZW1lbnQ7CisKK1dFQktJ
VF9DTEFTU19BVkFJTEFCTEVfTUFDKDEwXzQpCitXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIERP
TUhUTUxUZXh0QXJlYUVsZW1lbnQgOiBET01IVE1MRWxlbWVudAorQHByb3BlcnR5IEJPT0wgYXV0
b2ZvY3VzIFdFQktJVF9BVkFJTEFCTEVfTUFDKDEwXzYpOworQHByb3BlcnR5IEJPT0wgZGlzYWJs
ZWQ7CitAcHJvcGVydHkgKHJlYWRvbmx5LCBzdHJvbmcpIERPTUhUTUxGb3JtRWxlbWVudCAqZm9y
bTsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKm5hbWU7CitAcHJvcGVydHkgQk9PTCByZWFk
T25seTsKK0Bwcm9wZXJ0eSBpbnQgcm93czsKK0Bwcm9wZXJ0eSBpbnQgY29sczsKK0Bwcm9wZXJ0
eSAocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICp0eXBlOworQHByb3BlcnR5IChjb3B5KSBOU1N0
cmluZyAqZGVmYXVsdFZhbHVlOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqdmFsdWU7CitA
cHJvcGVydHkgKHJlYWRvbmx5KSBCT09MIHdpbGxWYWxpZGF0ZSBXRUJLSVRfQVZBSUxBQkxFX01B
QygxMF82KTsKK0Bwcm9wZXJ0eSBpbnQgc2VsZWN0aW9uU3RhcnQgV0VCS0lUX0FWQUlMQUJMRV9N
QUMoMTBfNSk7CitAcHJvcGVydHkgaW50IHNlbGVjdGlvbkVuZCBXRUJLSVRfQVZBSUxBQkxFX01B
QygxMF81KTsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKmFjY2Vzc0tleSBXRUJLSVRfREVQ
UkVDQVRFRF9NQUMoMTBfNCwgMTBfOCk7CistICh2b2lkKXNlbGVjdDsKKy0gKHZvaWQpc2V0U2Vs
ZWN0aW9uUmFuZ2U6KGludClzdGFydCBlbmQ6KGludCllbmQgV0VCS0lUX0FWQUlMQUJMRV9NQUMo
MTBfNSk7CitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUhUTUxUZXh0QXJlYUVsZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUhUTUxUZXh0QXJlYUVsZW1lbnQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI5NjY0YjgyYzI4NDg3MDZjODAx
ZThmYjFkY2EwNzg1MWQyZjZmYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbQpAQCAtMCwwICsxLDM5MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJET01IVE1MVGV4dEFyZWFFbGVtZW50LmgiCisKKyNpbXBv
cnQgIkRPTUhUTUxGb3JtRWxlbWVudEludGVybmFsLmgiCisjaW1wb3J0ICJET01IVE1MVGV4dEFy
ZWFFbGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTU5vZGVJbnRlcm5hbC5oIgorI2ltcG9y
dCAiRE9NTm9kZUxpc3RJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NVmFsaWRpdHlTdGF0ZUludGVy
bmFsLmgiCisjaW1wb3J0ICJFeGNlcHRpb25IYW5kbGVycy5oIgorI2ltcG9ydCAiSFRNTFRleHRB
cmVhRWxlbWVudC5oIgorI2ltcG9ydCAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCisjaW1wb3J0
ICJOb2RlTGlzdC5oIgorI2ltcG9ydCAiVGhyZWFkQ2hlY2suaCIKKyNpbXBvcnQgIlZhbGlkaXR5
U3RhdGUuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK3N0YXRpYyBpbmxpbmUgSFRN
TFRleHRBcmVhRWxlbWVudCYgd3JhcHBlZCh2b2lkKiBpbnRlcm5hbCkKK3sKKyAgICBBU1NFUlQo
aW50ZXJuYWwpOworICAgIHJldHVybiBkb3duY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Pigqc3Rh
dGljX2Nhc3Q8Tm9kZSo+KGludGVybmFsKSk7Cit9CisKK0hUTUxUZXh0QXJlYUVsZW1lbnQqIGNv
cmUoRE9NSFRNTFRleHRBcmVhRWxlbWVudCAqd3JhcHBlcikKK3sKKyAgICByZXR1cm4gd3JhcHBl
ciA/ICZ3cmFwcGVkKHdyYXBwZXItPl9pbnRlcm5hbCkgOiBudWxscHRyOworfQorCitET01IVE1M
VGV4dEFyZWFFbGVtZW50ICpraXQoSFRNTFRleHRBcmVhRWxlbWVudCogdmFsdWUpCit7CisgICAg
V2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8RE9NSFRNTFRleHRBcmVhRWxlbWVudCo+KGtpdChzdGF0aWNfY2FzdDxOb2RlKj4odmFs
dWUpKSk7Cit9CisKK0BpbXBsZW1lbnRhdGlvbiBET01IVE1MVGV4dEFyZWFFbGVtZW50CisKKy0g
KEJPT0wpYXV0b2ZvY3VzCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAg
IHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXph
dGlvbihIVE1MTmFtZXM6OmF1dG9mb2N1c0F0dHIpOworfQorCistICh2b2lkKXNldEF1dG9mb2N1
czooQk9PTCluZXdBdXRvZm9jdXMKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEJvb2xlYW5BdHRyaWJ1dGUoSFRNTE5hbWVzOjph
dXRvZm9jdXNBdHRyLCBuZXdBdXRvZm9jdXMpOworfQorCistIChOU1N0cmluZyAqKWRpck5hbWUK
K3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQo
X2ludGVybmFsKS5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpkaXJuYW1lQXR0cik7Cit9CisKKy0g
KHZvaWQpc2V0RGlyTmFtZTooTlNTdHJpbmcgKiluZXdEaXJOYW1lCit7CisgICAgSlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXRBdHRyaWJ1dGVX
aXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6ZGlybmFtZUF0dHIsIG5ld0Rpck5hbWUp
OworfQorCistIChCT09MKWRpc2FibGVkCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuaGFzQXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmRpc2FibGVkQXR0cik7Cit9CisKKy0gKHZvaWQpc2V0
RGlzYWJsZWQ6KEJPT0wpbmV3RGlzYWJsZWQKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEJvb2xlYW5BdHRyaWJ1dGUoSFRNTE5h
bWVzOjpkaXNhYmxlZEF0dHIsIG5ld0Rpc2FibGVkKTsKK30KKworLSAoRE9NSFRNTEZvcm1FbGVt
ZW50ICopZm9ybQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1
cm4ga2l0KHdyYXBwZWQoX2ludGVybmFsKS5mb3JtKCkpOworfQorCistIChpbnQpbWF4TGVuZ3Ro
Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVk
KF9pbnRlcm5hbCkubWF4TGVuZ3RoRm9yQmluZGluZ3MoKTsKK30KKworLSAodm9pZClzZXRNYXhM
ZW5ndGg6KGludCluZXdNYXhMZW5ndGgKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNl
dE1heExlbmd0aEZvckJpbmRpbmdzKG5ld01heExlbmd0aCwgZWMpOworICAgIHJhaXNlT25ET01F
cnJvcihlYyk7Cit9CisKKy0gKE5TU3RyaW5nICopbmFtZQoreworICAgIEpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLmdldE5hbWVBdHRy
aWJ1dGUoKTsKK30KKworLSAodm9pZClzZXROYW1lOihOU1N0cmluZyAqKW5ld05hbWUKK3sKKyAg
ICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNl
dEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpuYW1lQXR0ciwgbmV3
TmFtZSk7Cit9CisKKy0gKE5TU3RyaW5nICopcGxhY2Vob2xkZXIKK3sKKyAgICBKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5nZXRBdHRy
aWJ1dGUoSFRNTE5hbWVzOjpwbGFjZWhvbGRlckF0dHIpOworfQorCistICh2b2lkKXNldFBsYWNl
aG9sZGVyOihOU1N0cmluZyAqKW5ld1BsYWNlaG9sZGVyCit7CisgICAgSlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXRBdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6cGxhY2Vob2xkZXJBdHRyLCBuZXdQbGFjZWhvbGRl
cik7Cit9CisKKy0gKEJPT0wpcmVhZE9ubHkKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5oYXNBdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6cmVhZG9ubHlBdHRyKTsKK30KKworLSAodm9pZClz
ZXRSZWFkT25seTooQk9PTCluZXdSZWFkT25seQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0Qm9vbGVhbkF0dHJpYnV0ZShIVE1M
TmFtZXM6OnJlYWRvbmx5QXR0ciwgbmV3UmVhZE9ubHkpOworfQorCistIChCT09MKXJlcXVpcmVk
Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVk
KF9pbnRlcm5hbCkuaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6
OnJlcXVpcmVkQXR0cik7Cit9CisKKy0gKHZvaWQpc2V0UmVxdWlyZWQ6KEJPT0wpbmV3UmVxdWly
ZWQKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50
ZXJuYWwpLnNldEJvb2xlYW5BdHRyaWJ1dGUoSFRNTE5hbWVzOjpyZXF1aXJlZEF0dHIsIG5ld1Jl
cXVpcmVkKTsKK30KKworLSAoaW50KXJvd3MKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5yb3dzKCk7Cit9CisKKy0gKHZv
aWQpc2V0Um93czooaW50KW5ld1Jvd3MKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldFJvd3MobmV3Um93cyk7Cit9CisKKy0gKGlu
dCljb2xzCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3
cmFwcGVkKF9pbnRlcm5hbCkuY29scygpOworfQorCistICh2b2lkKXNldENvbHM6KGludCluZXdD
b2xzCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2lu
dGVybmFsKS5zZXRDb2xzKG5ld0NvbHMpOworfQorCistIChOU1N0cmluZyAqKXdyYXAKK3sKKyAg
ICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVy
bmFsKS5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjp3cmFwQXR0cik7Cit9CisKKy0gKHZvaWQpc2V0
V3JhcDooTlNTdHJpbmcgKiluZXdXcmFwCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKEhUTUxOYW1lczo6d3JhcEF0dHIsIG5ld1dyYXApOworfQorCistIChOU1N0cmluZyAq
KXR5cGUKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdy
YXBwZWQoX2ludGVybmFsKS50eXBlKCk7Cit9CisKKy0gKE5TU3RyaW5nICopZGVmYXVsdFZhbHVl
Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVk
KF9pbnRlcm5hbCkuZGVmYXVsdFZhbHVlKCk7Cit9CisKKy0gKHZvaWQpc2V0RGVmYXVsdFZhbHVl
OihOU1N0cmluZyAqKW5ld0RlZmF1bHRWYWx1ZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0RGVmYXVsdFZhbHVlKG5ld0RlZmF1
bHRWYWx1ZSk7Cit9CisKKy0gKE5TU3RyaW5nICopdmFsdWUKK3sKKyAgICBKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS52YWx1ZSgpOwor
fQorCistICh2b2lkKXNldFZhbHVlOihOU1N0cmluZyAqKW5ld1ZhbHVlCit7CisgICAgSlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXRWYWx1ZShu
ZXdWYWx1ZSk7Cit9CisKKy0gKHVuc2lnbmVkKXRleHRMZW5ndGgKK3sKKyAgICBKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS50ZXh0TGVu
Z3RoKCk7Cit9CisKKy0gKEJPT0wpd2lsbFZhbGlkYXRlCit7CisgICAgSlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkud2lsbFZhbGlkYXRl
KCk7Cit9CisKKy0gKERPTVZhbGlkaXR5U3RhdGUgKil2YWxpZGl0eQoreworICAgIEpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4ga2l0KHdyYXBwZWQoX2ludGVybmFsKS52
YWxpZGl0eSgpKTsKK30KKworLSAoTlNTdHJpbmcgKil2YWxpZGF0aW9uTWVzc2FnZQoreworICAg
IEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJu
YWwpLnZhbGlkYXRpb25NZXNzYWdlKCk7Cit9CisKKy0gKERPTU5vZGVMaXN0ICopbGFiZWxzCit7
CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiBraXQod3JhcHBl
ZChfaW50ZXJuYWwpLmxhYmVscygpLmdldCgpKTsKK30KKworLSAoaW50KXNlbGVjdGlvblN0YXJ0
Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVk
KF9pbnRlcm5hbCkuc2VsZWN0aW9uU3RhcnQoKTsKK30KKworLSAodm9pZClzZXRTZWxlY3Rpb25T
dGFydDooaW50KW5ld1NlbGVjdGlvblN0YXJ0Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXRTZWxlY3Rpb25TdGFydChuZXdTZWxl
Y3Rpb25TdGFydCk7Cit9CisKKy0gKGludClzZWxlY3Rpb25FbmQKK3sKKyAgICBKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5zZWxlY3Rp
b25FbmQoKTsKK30KKworLSAodm9pZClzZXRTZWxlY3Rpb25FbmQ6KGludCluZXdTZWxlY3Rpb25F
bmQKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50
ZXJuYWwpLnNldFNlbGVjdGlvbkVuZChuZXdTZWxlY3Rpb25FbmQpOworfQorCistIChOU1N0cmlu
ZyAqKXNlbGVjdGlvbkRpcmVjdGlvbgoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0
ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLnNlbGVjdGlvbkRpcmVjdGlvbigpOwor
fQorCistICh2b2lkKXNldFNlbGVjdGlvbkRpcmVjdGlvbjooTlNTdHJpbmcgKiluZXdTZWxlY3Rp
b25EaXJlY3Rpb24KK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3Jh
cHBlZChfaW50ZXJuYWwpLnNldFNlbGVjdGlvbkRpcmVjdGlvbihuZXdTZWxlY3Rpb25EaXJlY3Rp
b24pOworfQorCistIChOU1N0cmluZyAqKWFjY2Vzc0tleQoreworICAgIEpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLmdldEF0dHJpYnV0
ZShIVE1MTmFtZXM6OmFjY2Vzc2tleUF0dHIpOworfQorCistICh2b2lkKXNldEFjY2Vzc0tleToo
TlNTdHJpbmcgKiluZXdBY2Nlc3NLZXkKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oSFRNTE5hbWVzOjphY2Nlc3NrZXlBdHRyLCBuZXdBY2Nlc3NLZXkpOworfQorCistIChO
U1N0cmluZyAqKWF1dG9jb21wbGV0ZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0
ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLmF1dG9jb21wbGV0ZSgpOworfQorCist
ICh2b2lkKXNldEF1dG9jb21wbGV0ZTooTlNTdHJpbmcgKiluZXdBdXRvY29tcGxldGUKK3sKKyAg
ICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNl
dEF1dG9jb21wbGV0ZShuZXdBdXRvY29tcGxldGUpOworfQorCistIChCT09MKWNoZWNrVmFsaWRp
dHkKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBw
ZWQoX2ludGVybmFsKS5jaGVja1ZhbGlkaXR5KCk7Cit9CisKKy0gKHZvaWQpc2V0Q3VzdG9tVmFs
aWRpdHk6KE5TU3RyaW5nICopZXJyb3IKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEN1c3RvbVZhbGlkaXR5KGVycm9yKTsKK30K
KworLSAodm9pZClzZWxlY3QKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Cisg
ICAgd3JhcHBlZChfaW50ZXJuYWwpLnNlbGVjdCgpOworfQorCistICh2b2lkKXNldFJhbmdlVGV4
dDooTlNTdHJpbmcgKilyZXBsYWNlbWVudAoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCku
c2V0UmFuZ2VUZXh0KHJlcGxhY2VtZW50LCBlYyk7CisgICAgcmFpc2VPbkRPTUVycm9yKGVjKTsK
K30KKworLSAodm9pZClzZXRSYW5nZVRleHQ6KE5TU3RyaW5nICopcmVwbGFjZW1lbnQgc3RhcnQ6
KHVuc2lnbmVkKXN0YXJ0IGVuZDoodW5zaWduZWQpZW5kIHNlbGVjdGlvbk1vZGU6KE5TU3RyaW5n
ICopc2VsZWN0aW9uTW9kZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0UmFuZ2VU
ZXh0KHJlcGxhY2VtZW50LCBzdGFydCwgZW5kLCBzZWxlY3Rpb25Nb2RlLCBlYyk7CisgICAgcmFp
c2VPbkRPTUVycm9yKGVjKTsKK30KKworLSAodm9pZClzZXRTZWxlY3Rpb25SYW5nZTooaW50KXN0
YXJ0IGVuZDooaW50KWVuZAoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAg
ICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIGVuZCk7Cit9CisK
KyNpZiBFTkFCTEUoSU9TX0FVVE9DT1JSRUNUX0FORF9BVVRPQ0FQSVRBTElaRSkKKworLSAoQk9P
TClhdXRvY29ycmVjdAoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBy
ZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLmF1dG9jb3JyZWN0KCk7Cit9CisKKy0gKHZvaWQpc2V0
QXV0b2NvcnJlY3Q6KEJPT0wpbmV3QXV0b2NvcnJlY3QKK3sKKyAgICBKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEF1dG9jb3JyZWN0KG5ld0F1
dG9jb3JyZWN0KTsKK30KKworLSAoTlNTdHJpbmcgKilhdXRvY2FwaXRhbGl6ZQoreworICAgIEpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwp
LmF1dG9jYXBpdGFsaXplKCk7Cit9CisKKy0gKHZvaWQpc2V0QXV0b2NhcGl0YWxpemU6KE5TU3Ry
aW5nICopbmV3QXV0b2NhcGl0YWxpemUKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEF1dG9jYXBpdGFsaXplKG5ld0F1dG9jYXBp
dGFsaXplKTsKK30KKworI2VuZGlmCisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVhMDg0YjFhODEzZWNhZjIzYzZlZTI2M2Y3NWQyNWNhOWQwODBmMTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxUZXh0QXJl
YUVsZW1lbnRJbnRlcm5hbC5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTFRl
eHRBcmVhRWxlbWVudC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBIVE1MVGV4dEFy
ZWFFbGVtZW50OworfQorCitXRUJDT1JFX0VYUE9SVCBXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVt
ZW50KiBjb3JlKERPTUhUTUxUZXh0QXJlYUVsZW1lbnQgKik7CitXRUJDT1JFX0VYUE9SVCBET01I
VE1MVGV4dEFyZWFFbGVtZW50ICpraXQoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudCopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4dEFyZWFF
bGVtZW50UHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4
dEFyZWFFbGVtZW50UHJpdmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4NDQ3Njk3MzYwYWQ1MWM0MzNmOGRh
ZTY4NzgwYmQ1ZDkxMWQwZWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmgKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCA8V2ViQ29yZS9ET01IVE1MVGV4dEFyZWFFbGVtZW50Lmg+CisKK0BjbGFzcyBET01Ob2Rl
TGlzdDsKK0BjbGFzcyBET01WYWxpZGl0eVN0YXRlOworCitAaW50ZXJmYWNlIERPTUhUTUxUZXh0
QXJlYUVsZW1lbnQgKERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlKQorQHByb3BlcnR5IChj
b3B5KSBOU1N0cmluZyAqZGlyTmFtZTsKK0Bwcm9wZXJ0eSBpbnQgbWF4TGVuZ3RoOworQHByb3Bl
cnR5IChjb3B5KSBOU1N0cmluZyAqcGxhY2Vob2xkZXI7CitAcHJvcGVydHkgQk9PTCByZXF1aXJl
ZDsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKndyYXA7CitAcHJvcGVydHkgKHJlYWRvbmx5
KSB1bnNpZ25lZCB0ZXh0TGVuZ3RoOworQHByb3BlcnR5IChyZWFkb25seSwgc3Ryb25nKSBET01W
YWxpZGl0eVN0YXRlICp2YWxpZGl0eTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHksIGNvcHkpIE5TU3Ry
aW5nICp2YWxpZGF0aW9uTWVzc2FnZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHksIHN0cm9uZykgRE9N
Tm9kZUxpc3QgKmxhYmVsczsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKnNlbGVjdGlvbkRp
cmVjdGlvbjsKK0Bwcm9wZXJ0eSBCT09MIGF1dG9jb3JyZWN0OworQHByb3BlcnR5IChjb3B5KSBO
U1N0cmluZyAqYXV0b2NhcGl0YWxpemU7CitAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICphdXRv
Y29tcGxldGU7CistIChCT09MKWNoZWNrVmFsaWRpdHk7CistICh2b2lkKXNldEN1c3RvbVZhbGlk
aXR5OihOU1N0cmluZyAqKWVycm9yOworLSAodm9pZClzZXRSYW5nZVRleHQ6KE5TU3RyaW5nICop
cmVwbGFjZW1lbnQ7CistICh2b2lkKXNldFJhbmdlVGV4dDooTlNTdHJpbmcgKilyZXBsYWNlbWVu
dCBzdGFydDoodW5zaWduZWQpc3RhcnQgZW5kOih1bnNpZ25lZCllbmQgc2VsZWN0aW9uTW9kZToo
TlNTdHJpbmcgKilzZWxlY3Rpb25Nb2RlOworQGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284972</attachid>
            <date>2016-07-31 16:23:28 -0700</date>
            <delta_ts>2016-08-01 10:51:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160386-20160731162210.patch</filename>
            <type>text/plain</type>
            <size>43534</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzOTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAyYzY3MThjZjdhZTk2
YzNkN2ZhY2Q1MTA0NzgxN2JkZWIzZDUyZS4uMGE4MTNjNjg0ODFmMjI0ZWY2ZTQ4ODg1MTkxM2Q2
NGJiYTczY2ZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTA3LTMwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEZyZWV6ZSBPYmpl
Y3RpdmUtQyBiaW5kaW5ncyBhbmQgc3RvcCBhdXRvZ2VuZXJhdGluZyB0aGVtOiBTdGVwIDEgLSBD
b252ZXJ0IGEgc2luZ2xlIGZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MDM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZSwgbm8gdGVzdHMgY2hhbmdlZC4gSSB0ZXN0
ZWQgdGhpcyBsb2NhbGx5IGJ5IHB1dHRpbmcgIiNlcnJvciIgaW50byB0aGUKKyAgICAgICAgZmls
ZXMgaW4gdGhlIERlcml2ZWRTb3VyY2VzIGRpcmVjdG9yeSB0byBtYWtlIHN1cmUgdGhlIGJ1aWxk
IGRvZXNuJ3QgdXNlIHRob3NlIGZpbGVzIGV2ZW4KKyAgICAgICAgaWYgdGhlcmUgYXJlIHN0YWxl
IGNvcGllcyBzdGlsbCBzaXR0aW5nIHRoZXJlLgorCisgICAgICAgIE1vdmluZyB0aGUgYmluZGlu
Z3MgZnJvbSBXZWJDb3JlIHRvIHRoZSBsZWdhY3kgcGFydCBvZiBXZWJLaXQgaXMgc29tZXRoaW5n
IHdlIGFsc28gd2FudCB0bworICAgICAgICBkbywgYnV0IHRoYXQgaXMgcXVpdGUgY2hhbGxlbmdp
bmcgdG8gZG8gb25lIGZpbGUgYXQgYSB0aW1lLCBzbyB3ZSB3aWxsIGRvIHRoYXQgbGF0ZXIuCisK
KyAgICAgICAgRm9yIHRoaXMgZmlyc3QgZmlsZSwgSSBkaWQgc29tZSBoYW5kIGVkaXRzIHRvIG1h
a2UgdGhlIGNvZGUgaW4gYSB0aGUgZmlsZSBhIGxpdHRsZSBsZXNzCisgICAgICAgIHBlY3VsaWFy
LiBJdCdzIHN0aWxsIGF3a3dhcmQgdG8gaGF2ZSBhbGwgdGhvc2UgSlNNYWluVGhyZWFkTnVsbFN0
YXRlIGluIHRoZXJlOyBzaG91bGQgZG91YmxlCisgICAgICAgIGNoZWNrIHRoYXQgd2UgcmVhbGx5
IG5lZWQgdGhlbS4KKworICAgICAgICBBbiBpbXBvcnRhbnQgZm9sbG93IHVwIHN0ZXAgd2lsbCBi
ZSB0byBjdXQgZG93biBvbiB0aGUgYmluZGluZ3MuIFdlIGhhdmUgbG90cyBvZiBiaW5kaW5ncwor
ICAgICAgICB0aGF0IGFyZSBvbmx5IGluIHRoZSBQcml2YXRlLmggaGVhZGVyLCBhbmQgaXQgd291
bGQgYmUgZ29vZCB0byBmaW5kIGEgd2F5IHRvIGN1dCBkb3duIG9uIHRob3NlLgorICAgICAgICBB
bmQgb24gaU9TIHdlIHdvdWxkIGxpa2UgZWxpbWluYXRlIHRoZXNlIGJpbmRpbmdzIGVudGlyZWx5
IHNpbmNlIHRoZXkgYXJlIG5vdCBBUEkgdGhlcmUuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBNb3ZlZCBIVE1MVGV4dEFyZWFFbGVtZW50IGZyb20gYSBsaXN0IHdlIHVzZSBmb3Ig
Ym90aCBKYXZhU2NyaXB0IGFuZAorICAgICAgICBPYmplY3RpdmUtQyBET00gYmluZGluZ3MgdG8g
YSBsaXN0IHdlIHVzZSBvbmx5IGZvciBKYXZhU2NyaXB0IGJpbmRpbmdzLgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogUmVtb3ZlZCByZWZlcmVuY2VzIHRvIGdl
bmVyYXRlZCBET01IVE1MVGV4dEFyZWFFbGVtZW50CisgICAgICAgIGZpbGVzIGFuZCBpbnN0ZWFk
IHJlZmVyZW5jZSB0aGUgY2hlY2tlZC1pbiBjb3BpZXMuCisgICAgICAgICogYmluZGluZ3Mvb2Jq
Yy9ET01IVE1MVGV4dEFyZWFFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL29i
amMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbTogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mv
b2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaDogQWRkZWQuCisgICAgICAgICog
YmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oOiBBZGRlZC4KKwog
MjAxNi0wNy0zMSAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBB
ZGQgYSBjaGVjayBmb3IgdG91Y2ggZXZlbnQgbGlzdGVuZXIgb24gaU9TIGFjY2Vzc2liaWxpdHkg
b2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAzZGRhYTFhMzhhYjYzZTRl
ZTRlYzIxY2JjMzg1OWNlYTQxZjRlNmRiLi4wMmMzMThmNGQ2ZjFiYzJmMTZmZTAzMmFhOTFhNTcw
MTUyNzgxNzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTc1LDcgKzc1LDcg
QEAgVlBBVEggPSBcCiAgICAgJChXZWJDb3JlKS93ZWJzb2NrZXRzIFwKICMKIAotTk9OX1NWR19C
SU5ESU5HX0lETFMgPSBcCitKU19BTkRfT0JKQ19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVu
dC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRo
b3JpemVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwgXApAQCAtNDMwLDcgKzQzMCw2IEBAIE5P
Tl9TVkdfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MVGFibGVSb3dF
bGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsIFwKLSAg
ICAkKFdlYkNvcmUpL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9IVE1MVGltZUVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTFRp
dGxlRWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MVHJhY2tFbGVtZW50Lmlk
bCBcCkBAIC01NzIsNyArNTcxLDggQEAgTk9OX1NWR19CSU5ESU5HX0lETFMgPSBcCiAgICAgSW50
ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwKICMKIAotU1ZHX0JJTkRJTkdfSURMUyA9IFwKK0pT
X09OTFlfQklORElOR19JRExTID0gXAorICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MVGV4dEFyZWFF
bGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHQUVsZW1lbnQuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRsIFwKQEAgLTc5MSw3ICs3OTEsNyBAQCBBRERJVElP
TkFMX0VWRU5UX1RBUkdFVF9GQUNUT1JZID0KIAogLWluY2x1ZGUgV2ViQ29yZURlcml2ZWRTb3Vy
Y2VzQWRkaXRpb25zLm1ha2UKIAotTk9OX1NWR19CSU5ESU5HX0lETFMgKz0gJChBRERJVElPTkFM
X0JJTkRJTkdfSURMUykKK0pTX0FORF9PQkpDX0JJTkRJTkdfSURMUyArPSAkKEFERElUSU9OQUxf
QklORElOR19JRExTKQogCiBhbGwgOiAkKEFERElUSU9OQUxfQklORElOR19JRExTOiUuaWRsPUpT
JS5oKQogCkBAIC04MDMsNyArODAzLDcgQEAgJChBRERJVElPTkFMX0JJTkRJTkdfSURMUykgOiAl
IDogV2ViS2l0QWRkaXRpb25zLyUKIGVuZGlmICMgTUFDT1MKIAogaWZuZXEgKCQoV1RGX1BMQVRG
T1JNX0lPUyksIDEpCi1OT05fU1ZHX0JJTkRJTkdfSURMUyArPSBcCitKU19BTkRfT0JKQ19CSU5E
SU5HX0lETFMgKz0gXAogICAgICQoV2ViQ29yZSkvZG9tL1RvdWNoLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9kb20vVG91Y2hFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL1RvdWNoTGlzdC5p
ZGwKQEAgLTgxMSw5ICs4MTEsOSBAQCBlbmRpZgogCiAuUEhPTlkgOiBhbGwKIAotQklORElOR19J
RExTID0gJChOT05fU1ZHX0JJTkRJTkdfSURMUykgJChTVkdfQklORElOR19JRExTKQorSlNfQklO
RElOR19JRExTID0gJChKU19BTkRfT0JKQ19CSU5ESU5HX0lETFMpICQoSlNfT05MWV9CSU5ESU5H
X0lETFMpCiAKLUpTX0RPTV9DTEFTU0VTPSQoYmFzZW5hbWUgJChub3RkaXIgJChCSU5ESU5HX0lE
TFMpKSkKK0pTX0RPTV9DTEFTU0VTPSQoYmFzZW5hbWUgJChub3RkaXIgJChKU19CSU5ESU5HX0lE
TFMpKSkKIAogSlNfRE9NX0hFQURFUlM9JChmaWx0ZXItb3V0IEpTRXZlbnRMaXN0ZW5lci5oLCAk
KEpTX0RPTV9DTEFTU0VTOiU9SlMlLmgpKQogCkBAIC0xMjM0LDggKzEyMzQsOCBAQCBkZWZpbmUg
TkwKIAogZW5kZWYKIAotJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVfREVQUykgOiAkKFBSRVBST0NF
U1NfSURMU19TQ1JJUFRTKSAkKEJJTkRJTkdfSURMUykgJChQTEFURk9STV9GRUFUVVJFX0RFRklO
RVMpIERlcml2ZWRTb3VyY2VzLm1ha2UKLQkkKGZvcmVhY2ggZiwkKEJJTkRJTkdfSURMUyksQGVj
aG8gJChmKT4+JChJRExfRklMRVNfVE1QKSQoTkwpKQorJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVf
REVQUykgOiAkKFBSRVBST0NFU1NfSURMU19TQ1JJUFRTKSAkKEpTX0JJTkRJTkdfSURMUykgJChQ
TEFURk9STV9GRUFUVVJFX0RFRklORVMpIERlcml2ZWRTb3VyY2VzLm1ha2UKKwkkKGZvcmVhY2gg
ZiwkKEpTX0JJTkRJTkdfSURMUyksQGVjaG8gJChmKT4+JChJRExfRklMRVNfVE1QKSQoTkwpKQog
CSQoY2FsbCBwcmVwcm9jZXNzX2lkbHNfc2NyaXB0LCAkKFBSRVBST0NFU1NfSURMU19TQ1JJUFRT
KSkgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5FUykgJChBRERJVElPTkFMX0lETF9ERUZJTkVT
KSBMQU5HVUFHRV9KQVZBU0NSSVBUIiAtLWlkbEZpbGVzTGlzdCAkKElETF9GSUxFU19UTVApIC0t
c3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgJChTVVBQTEVNRU5UQUxfREVQRU5ERU5DWV9GSUxF
KSAtLXdpbmRvd0NvbnN0cnVjdG9yc0ZpbGUgJChXSU5ET1dfQ09OU1RSVUNUT1JTX0ZJTEUpIC0t
d29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNGaWxlICQoV09SS0VSR0xPQkFMU0NPUEVfQ09O
U1RSVUNUT1JTX0ZJTEUpIC0tZGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNG
aWxlICQoREVESUNBVEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0tc3Vw
cGxlbWVudGFsTWFrZWZpbGVEZXBzICRACiAJJChERUxFVEUpICQoSURMX0ZJTEVTX1RNUCkKIApA
QCAtMTM1Miw3ICsxMzUyLDcgQEAgYWxsIDogJChub3RkaXIgJChXZWJDb3JlX0JVSUxUSU5TX1NP
VVJDRVM6JS5qcz0lQnVpbHRpbnMuaCkpICQoZmlyc3R3b3JkICQoV2ViQ28KIAogaWZlcSAoJChP
UyksTUFDT1MpCiAKLU9CSkNfRE9NX0NMQVNTRVM9JChiYXNlbmFtZSAkKG5vdGRpciAkKE5PTl9T
VkdfQklORElOR19JRExTKSkpCitPQkpDX0RPTV9DTEFTU0VTPSQoYmFzZW5hbWUgJChub3RkaXIg
JChKU19BTkRfT0JKQ19CSU5ESU5HX0lETFMpKSkKIAogT0JKQ19ET01fSEVBREVSUz0kKGZpbHRl
ci1vdXQgRE9NRE9NV2luZG93LmggRE9NRE9NTWltZVR5cGUuaCBET01ET01QbHVnaW4uaCwkKE9C
SkNfRE9NX0NMQVNTRVM6JT1ET00lLmgpKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMThkMmEzZGU4NjU1OGVkY2EzOTIxNDVh
YWY2ZGQ3YjZlMzhhZDU3ZS4uNzc0ZjRjZmM4MjZhMGEwZGFiYjQ3NjIzYzRmYmQ1NjJmYWI3YTFh
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMjU0MCw3ICsyNTQwLDYgQEAKIAkJNjU5MzkyMzgwOUFFNDM0NjAwMkM1MzFGIC8q
IFVSTC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU5
MzkyMzYwOUFFNDM0NjAwMkM1MzFGIC8qIFVSTC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1OTM5MjNBMDlBRTQzNUMwMDJDNTMxRiAvKiBVUkxN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTkz
OTIzOTA5QUU0MzVDMDAyQzUzMUYgLyogVVJMTWFjLm1tICovOyB9OwogCQk2NTk2RjJCMzBCODcz
MURGMDAxMzI2QkQgLyogRE9NSFRNTElucHV0RWxlbWVudEludGVybmFsLmggaW4gQ29weSBHZW5l
cmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU3MTE2
NDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTElucHV0RWxlbWVudEludGVybmFsLmggKi87IH07
Ci0JCTY1OTZGMkMxMEI4NzMyNUMwMDEzMjZCRCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50
ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg1RTcxMTdGMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFF
bGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJNjU5QTdEMTMwQjZEQjREOTAwMTE1NUIzIC8qIFN1
YnN0aXR1dGVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2NTlBN0QxMjBCNkRCNEQ5MDAxMTU1QjMgLyogU3Vic3RpdHV0ZURhdGEuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2NTlEREM4MjA5RTE5
OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2NTlEREM4MDA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVu
dC5jcHAgKi87IH07CiAJCTY1OUREQzgzMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTlEREM4MTA5
RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDU1LDcgKzM0NTQsNiBAQAogCQk4NUU3MTFDQjBB
QzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU3MTE3QzBBQzVENTM1MDA1
MzI3MEYgLyogRE9NSFRNTFRhYmxlRWxlbWVudEludGVybmFsLmggKi87IH07CiAJCTg1RTcxMUND
MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVSb3dFbGVtZW50SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTcxMTdEMEFDNUQ1
MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVSb3dFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJ
ODVFNzExQ0QwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50SW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
RTcxMTdFMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudEludGVy
bmFsLmggKi87IH07Ci0JCTg1RTcxMUNFMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGV4dEFy
ZWFFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg1RTcxMTdGMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFFbGVt
ZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJODVFNzExQ0YwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhU
TUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODVFNzExODAwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVs
ZW1lbnRJbnRlcm5hbC5oICovOyB9OwogCQk4NUU3MTFEMDBBQzVENTM1MDA1MzI3MEYgLyogRE9N
SFRNTFVMaXN0RWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NUU3MTE4MTBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFVMaXN0
RWxlbWVudEludGVybmFsLmggKi87IH07CiAJCTg1RTcxMUQxMEFDNUQ1MzUwMDUzMjcwRiAvKiBE
T01NZWRpYUxpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODVFNzExODIwQUM1RDUzNTAwNTMyNzBGIC8qIERPTU1lZGlhTGlzdEludGVy
bmFsLmggKi87IH07CkBAIC0zNTA0LDEyICszNTAyLDkgQEAKIAkJODVGMzJBRUYwQUE2M0I4NzAw
RkYzMTg0IC8qIERPTUhUTUxPcHRHcm91cEVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFNzBBQTYzQjg3MDBGRjMxODQgLyogRE9N
SFRNTE9wdEdyb3VwRWxlbWVudC5tbSAqLzsgfTsKIAkJODVGMzJBRjAwQUE2M0I4NzAwRkYzMTg0
IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFODBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFNlbGVj
dEVsZW1lbnQuaCAqLzsgfTsKIAkJODVGMzJBRjEwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxT
ZWxlY3RFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODVGMzJBRTkwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50Lm1t
ICovOyB9OwotCQk4NUYzMkFGMjBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFRleHRBcmVhRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVG
MzJBRUEwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaCAqLzsgfTsK
LQkJODVGMzJBRjMwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFQjBB
QTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbSAqLzsgfTsKIAkJODVG
MzJCNDAwQUE2NDAxQTAwRkYzMTg0IC8qIERPTUhUTUxJbnB1dEVsZW1lbnQuaCBpbiBDb3B5IEdl
bmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RjMy
QUU0MEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MSW5wdXRFbGVtZW50LmggKi87IH07CiAJCTg1
RjMyQjQxMEFBNjQwMUEwMEZGMzE4NCAvKiBET01IVE1MT3B0R3JvdXBFbGVtZW50LmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NUYzMkFFNjBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5oICovOyB9
OwogCQk4NUYzMkI0MjBBQTY0MDFBMDBGRjMxODQgLyogRE9NSFRNTFNlbGVjdEVsZW1lbnQuaCBp
biBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1RjMyQUU4MEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MU2VsZWN0RWxlbWVudC5oICov
OyB9OwotCQk4NUYzMkI0MzBBQTY0MDFBMDBGRjMxODQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVu
dC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODVGMzJBRUEwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1l
bnQuaCAqLzsgfTsKIAkJODVGNTZBN0EwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODVGNTZBNzgwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTg1RjU2QTdCMEE5OENF
MzcwMEFEQjYwQSAvKiBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUY1NkE3OTBBOThDRTM3MDBBREI2MEEg
LyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLm1tICovOyB9OwogCQk4NUY3NEUwMTBBQThERjhD
MDAwREMyODQgLyogRE9NQ1NTQ2hhcnNldFJ1bGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDMyREMzMEFBOEM5QkUwMDdE
M0I3RCAvKiBET01DU1NDaGFyc2V0UnVsZS5oICovOyB9OwpAQCAtMzc1NCw2ICszNzQ5LDEwIEBA
CiAJCTkzOUIwMkVFMEVBMkRCQzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOUIwMkVDMEVBMkRCQzQw
MEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJOTM5QjAyRUYwRUEyREJDNDAw
QzU0NTcwIC8qIFdpZHRoSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzOUIwMkVEMEVBMkRCQzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9y
LmggKi87IH07CiAJCTkzQTM4QjRCMEQwRTU4MDgwMDY4NzJDMiAvKiBFZGl0b3JDb21tYW5kLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTM4QjRB
MEQwRTU4MDgwMDY4NzJDMiAvKiBFZGl0b3JDb21tYW5kLmNwcCAqLzsgfTsKKwkJOTNBQUM4QTgx
RDREN0U1NDAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUFDOEE2MUQ0RDdFNTQwMDkwOTc5
MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNBQUM4QTkxRDREN0U1NDAwOTA5NzkxIC8qIERPTUhU
TUxUZXh0QXJlYUVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5M0FBQzhBNzFENEQ3RTU0MDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxl
bWVudC5tbSAqLzsgfTsKKwkJOTNBQUM4QUMxRDREN0Y2MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0
QXJlYUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNBQUM4QUExRDREN0Y2MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVs
ZW1lbnRJbnRlcm5hbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTkzQUFDOEFEMUQ0RDdGNjMwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVt
ZW50UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNBQUM4QUIxRDREN0Y2MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2
YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
OTNCMkQ4MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyRDgxNTBGOTkyMEQyMDA2
QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0IyRDgxODBGOTkyMEVFMDA2QUU2QjIgLyogU3VkZGVu
VGVybWluYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0IyRDgxNzBGOTkyMEVFMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24ubW0gKi87
IH07CiAJCTkzQjZBMEU2MEIwQkNBNUMwMEY1MDI3QSAvKiBDb250ZXh0TWVudS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNkEwRTUwQjBCQ0E1QzAw
RjUwMjdBIC8qIENvbnRleHRNZW51LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKQEAgLTQyMTEsOCArNDIxMCw2IEBACiAJCUExQzc5NzE5MTg4M0RERUQw
MDBGNUUxRiAvKiBET01Ub3VjaC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NERDQ0QxODgwRjg2NzAwM0VFREJCIC8qIERP
TVRvdWNoLmggKi87IH07CiAJCUExQzc5NzFBMTg4M0RFMEQwMDBGNUUxRiAvKiBET01Ub3VjaEV2
ZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjU0RENDRjE4ODBGODY3MDAzRUVEQkIgLyogRE9NVG91Y2hFdmVudC5oICov
OyB9OwogCQlBMUM3OTcxQjE4ODNERTJCMDAwRjVFMUYgLyogRE9NVG91Y2hMaXN0LmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjU0RENEMzE4ODBGODY3MDAzRUVEQkIgLyogRE9NVG91Y2hMaXN0LmggKi87IH07Ci0JCUExQzc5
NzFEMTg4M0U1MUYwMDBGNUUxRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDNzk3MUMxODgz
RTUxRjAwMEY1RTFGIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmggKi87IH07Ci0J
CUExQzc5NzFFMTg4M0U2M0YwMDBGNUUxRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0
ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFDNzk3MUMxODgzRTUxRjAwMEY1RTFGIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1l
bnRQcml2YXRlLmggKi87IH07CiAJCUExQzdGQUEyMTMzQTVEMzUwMEQ2NzMyRCAvKiBKU1hQYXRo
UmVzdWx0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExQzdGQUExMTMzQTVEMzUwMEQ2NzMyRCAvKiBKU1hQYXRoUmVzdWx0Q3VzdG9tLmNw
cCAqLzsgfTsKIAkJQTFERTcxMkQxODYxMkFDMTAwNzM0MTkyIC8qIFRvdWNoRXZlbnRzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExREU3MTJCMTg2
MTJBQzEwMDczNDE5MiAvKiBUb3VjaEV2ZW50cy5jcHAgKi87IH07CiAJCUExREU3MTMyMTg2MTMy
MjIwMDczNDE5MiAvKiBUb3VjaENvbnN0cnVjdG9ycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURFNzEzMDE4NjEzMjIyMDA3MzQxOTIgLyogVG91
Y2hDb25zdHJ1Y3RvcnMuY3BwICovOyB9OwpAQCAtNzQwNiw5ICs3NDAzLDYgQEAKIAkJCQk4NURG
ODI3NDBBQTc4QzczMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlRWxlbWVudC5oIGluIENvcHkgR2Vu
ZXJhdGVkIEhlYWRlcnMgKi8sCiAJCQkJODVERjgyMzIwQUE3ODY2ODAwNDg2QUQ3IC8qIERPTUhU
TUxUYWJsZVJvd0VsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTg1
REY4MjMzMEFBNzg2NjgwMDQ4NkFENyAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oIGlu
IENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCi0JCQkJODVGMzJCNDMwQUE2NDAxQTAwRkYzMTg0
IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
LAotCQkJCTY1OTZGMkMxMEI4NzMyNUMwMDEzMjZCRCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50
SW50ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAotCQkJCUExQzc5NzFFMTg4
M0U2M0YwMDBGNUUxRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oIGluIENvcHkg
R2VuZXJhdGVkIEhlYWRlcnMgKi8sCiAJCQkJODU3NURGODcwQUE2MTMwRTAwRjVEQkI1IC8qIERP
TUhUTUxUaXRsZUVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTg1
QkE0RDJFMEFBNjg4OUYwMDg4MDUyRCAvKiBET01IVE1MVUxpc3RFbGVtZW50LmggaW4gQ29weSBH
ZW5lcmF0ZWQgSGVhZGVycyAqLywKIAkJCQkyRDQ0NDY5OTFDODRDQ0Q3MDAyNEM4ODkgLyogRE9N
SFRNTFZpZGVvRWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCkBAIC0xMTE5
Myw3ICsxMTE4Nyw2IEBACiAJCTg1RTcxMTdDMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGFi
bGVFbGVtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TUhUTUxUYWJsZUVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NUU3MTE3RDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudEludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MVGFibGVSb3dF
bGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVFNzExN0Uw
QUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50SW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxUYWJsZVNlY3Rpb25FbGVt
ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODVFNzExN0YwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RTcxMTgwMEFDNUQ1MzUwMDUzMjcw
RiAvKiBET01IVE1MVGl0bGVFbGVtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NUU3MTE4MTBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFVMaXN0
RWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01I
VE1MVUxpc3RFbGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODVFNzExODIwQUM1RDUzNTAwNTMyNzBGIC8qIERPTU1lZGlhTGlzdEludGVybmFsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01NZWRpYUxpc3RJbnRlcm5hbC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTEyMzEsOCArMTEyMjQsNiBAQAogCQk4NUYzMkFF
NzBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MT3B0R3JvdXBFbGVtZW50Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUYzMkFFODBBQTYzQjg3MDBGRjMxODQg
LyogRE9NSFRNTFNlbGVjdEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTUhUTUxTZWxlY3RFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg1RjMyQUU5MEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MU2VsZWN0RWxlbWVudC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MU2VsZWN0RWxlbWVu
dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODVGMzJBRUEwQUE2M0I4NzAwRkYz
MTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJODVGMzJBRUIwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVsZW1l
bnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTFRl
eHRBcmVhRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVGNTZBNzgw
QTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RjU2QTc5MEE5OENFMzcwMEFEQjYwQSAvKiBET01Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NUZGMzE1ODBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NS2V5Ym9hcmRFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE1MDEsNiArMTE0OTIsMTAgQEAKIAkJOTM5
QjAyRUMwRUEyREJDNDAwQzU0NTcwIC8qIFdpZHRoSXRlcmF0b3IuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2lkdGhJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTkzOUIwMkVEMEVBMkRCQzQwMEM1NDU3MCAvKiBXaWR0aEl0ZXJhdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpZHRoSXRlcmF0b3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBMzhCNEEwRDBFNTgwODAwNjg3MkMyIC8qIEVk
aXRvckNvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRWRp
dG9yQ29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQUFDOEE2MUQ0
RDdFNTQwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTNBQUM4QTcxRDREN0U1NDAwOTA5NzkxIC8qIERPTUhUTUxUZXh0
QXJlYUVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
T01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0FBQzhBQTFENEQ3RjYzMDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxUZXh0QXJlYUVsZW1l
bnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0FBQzhBQjFENEQ3
RjYzMDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8q
IFN1ZGRlblRlcm1pbmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1
ZGRlblRlcm1pbmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE3
MEY5OTIwRUUwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5M0I2QTBFNTBCMEJDQTVDMDBGNTAyN0EgLyogQ29udGV4dE1l
bnUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRleHRNZW51Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjAxOCw3ICsxMjAxMyw2IEBACiAJCUExQjVC
MjlEMUFBQTg0NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFCRjZCODAxQUE5NkM3RDAwQUY0QThBIC8q
IE1vY2tDb250ZW50RmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1vY2tDb250ZW50RmlsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTFCRjZCODExQUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tDb250ZW50RmlsdGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUExQzc5NzFDMTg4M0U1MUYwMDBGNUUxRiAvKiBET01IVE1MVGV4
dEFyZWFFbGVtZW50UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBMUM3RkFBMTEzM0E1RDM1MDBENjczMkQgLyogSlNYUGF0aFJlc3VsdEN1c3RvbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1hQYXRoUmVzdWx0Q3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFERTcxMkIxODYxMkFDMTAwNzM0
MTkyIC8qIFRvdWNoRXZlbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFRvdWNoRXZlbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFERTcx
MzAxODYxMzIyMjAwNzM0MTkyIC8qIFRvdWNoQ29uc3RydWN0b3JzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRvdWNoQ29uc3RydWN0b3JzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODg4LDkgKzE4ODgyLDYgQEAKIAkJCQk4NURGODIxQTBB
QTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5tbSAqLywKIAkJCQk4NURG
ODIxQjBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCAqLywK
IAkJCQk4NURGODIxQzBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1l
bnQubW0gKi8sCi0JCQkJODVGMzJBRUEwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJl
YUVsZW1lbnQuaCAqLywKLQkJCQk4NUYzMkFFQjBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFRl
eHRBcmVhRWxlbWVudC5tbSAqLywKLQkJCQlBMUM3OTcxQzE4ODNFNTFGMDAwRjVFMUYgLyogRE9N
SFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCAqLywKIAkJCQk4NTk5MkVCODBBQTUwNjk1MDBB
QzA3ODUgLyogRE9NSFRNTFRpdGxlRWxlbWVudC5oICovLAogCQkJCTg1OTkyRUI5MEFBNTA2OTUw
MEFDMDc4NSAvKiBET01IVE1MVGl0bGVFbGVtZW50Lm1tICovLAogCQkJCTg1QkE0RDA5MEFBNjg4
NjgwMDg4MDUyRCAvKiBET01IVE1MVUxpc3RFbGVtZW50LmggKi8sCkBAIC0xOTAwMSw3ICsxODk5
Miw2IEBACiAJCQkJODVFNzExN0MwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUYWJsZUVsZW1l
bnRJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTdEMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1M
VGFibGVSb3dFbGVtZW50SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE3RTBBQzVENTM1MDA1MzI3
MEYgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnRJbnRlcm5hbC5oICovLAotCQkJCTg1RTcx
MTdGMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCAq
LywKIAkJCQk4NUU3MTE4MDBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRpdGxlRWxlbWVudElu
dGVybmFsLmggKi8sCiAJCQkJODVFNzExODEwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxVTGlz
dEVsZW1lbnRJbnRlcm5hbC5oICovLAogCQkJCTJERUM2NjREMUM4MkNGQkYwMDk5ODQ2QSAvKiBE
T01IVE1MVmlkZW9FbGVtZW50SW50ZXJuYWwuaCAqLywKQEAgLTIyNjU0LDYgKzIyNjQ0LDEwIEBA
CiAJCQkJQkMxQTM3OUYwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUV4dGVuc2lvbnMuaCAqLywKIAkJ
CQlCQzFBMzdBMDA5N0M3MTVGMDAxOUYzRDggLyogRE9NSFRNTC5oICovLAogCQkJCUJDMUEzN0Ex
MDk3QzcxNUYwMDE5RjNEOCAvKiBET01IVE1MLm1tICovLAorCQkJCTkzQUFDOEE2MUQ0RDdFNTQw
MDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50LmggKi8sCisJCQkJOTNBQUM4QTcxRDRE
N0U1NDAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQubW0gKi8sCisJCQkJOTNBQUM4
QUExRDREN0Y2MzAwOTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oICov
LAorCQkJCTkzQUFDOEFCMUQ0RDdGNjMwMDkwOTc5MSAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50
UHJpdmF0ZS5oICovLAogCQkJCUJDMUEzN0EzMDk3QzcxNUYwMDE5RjNEOCAvKiBET01JbnRlcm5h
bC5oICovLAogCQkJCUJDMUEzN0E0MDk3QzcxNUYwMDE5RjNEOCAvKiBET01JbnRlcm5hbC5tbSAq
LywKIAkJCQlCQzFBMzdBNTA5N0M3MTVGMDAxOUYzRDggLyogRE9NUHJpdmF0ZS5oICovLApAQCAt
MjYxNDIsOSArMjYxMzYsNiBAQAogCQkJCTg1RTcxMUNDMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01I
VE1MVGFibGVSb3dFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1REY4MjI1
MEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODVFNzExQ0QwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUYWJsZVNlY3Rp
b25FbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAotCQkJCTg1RjMyQUYyMEFBNjNCODcw
MEZGMzE4NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk4
NUU3MTFDRTBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFs
LmggaW4gSGVhZGVycyAqLywKLQkJCQlBMUM3OTcxRDE4ODNFNTFGMDAwRjVFMUYgLyogRE9NSFRN
TFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OTkyRUMwMEFB
NTA2OTUwMEFDMDc4NSAvKiBET01IVE1MVGl0bGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NUU3MTFDRjBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFRpdGxlRWxlbWVudEludGVybmFs
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUJBNEQxNzBBQTY4ODY4MDA4ODA1MkQgLyogRE9NSFRN
TFVMaXN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjE3MCw2ICsyNjE2MSw3IEBACiAJ
CQkJODVDN0Y1QkYwQUFGQjdDQzAwNDAxNEREIC8qIERPTU11dGF0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg1OTg5RENFMEFDQzhCQkQwMEEwQkM1MSAvKiBET01NdXRhdGlvbkV2ZW50
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyQjZDOUMzMTVFM0Y0REYwMDY5MEIwNSAv
KiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0FBQzhBRDFE
NEQ3RjYzMDA5MDk3OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg1MThERDc4MEE5Q0YzMUIwMDkxQjdBNiAvKiBET01OYW1lZE5vZGVNYXAu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg1RTcxMUQyMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01OYW1l
ZE5vZGVNYXBJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUzQkY0REIwQUJCNkI1NTAw
ODY0N0JCIC8qIERPTU5vZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjY0OTQsNiArMjY0ODYsNyBA
QAogCQkJCTc3QTE3QTdCMTJGMjg5MEIwMDRFMDJGNiAvKiBHcmFwaGljc1R5cGVzM0QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNEM0UyNTFDMTgwNDZCMDYwMEUyN0Y1NiAvKiBHcmlkQXJlYS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0RFRjRGRDcxN0U4NUM4RjAwQUVFMjRCIC8qIEdyaWRMZW5ndGgu
aCBpbiBIZWFkZXJzICovLAorCQkJCTkzQUFDOEE4MUQ0RDdFNTQwMDkwOTc5MSAvKiBET01IVE1M
VGV4dEFyZWFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTI3MDVDMzE2NTZCRDY1MDBD
MkUyN0MgLyogR3JpZFBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREY3NDgzRjE4RkVC
Q0VDMDAwNkVDQzAgLyogR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBMTJBMTA1MDE2NjQ0NEZEMDA4RkEzMTEgLyogR3JpZFRyYWNrU2l6ZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzM0OCw2ICsyNzM0MSw3IEBACiAJCQkJN0VBMzBGNkExN0VGRkU3NTAwMjU3RDBC
IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmggaW4gSGVhZGVycyAqLywKIAkJCQk2
RTNGQUQzOTE0NzMzRjQwMDBFNDIzMDYgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNkVFOEE3NzMxMEY4MDNGMzAwNUE0QTI0IC8qIEpTV2ViR0xD
b250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNBQUM4QUMxRDREN0Y2MzAw
OTA5NzkxIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMyQ0JGNEUxNDBGMUFCRDAwMzg3OUJFIC8qIEpTV2ViR0xDb250ZXh0RXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTZFM0ZBRDM5MTQ3MzNGNDAxMUU0MjMwNyAvKiBKU1dlYkdMRGVi
dWdSZW5kZXJlckluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTZFM0ZBRDM5MTQ3MzNGNDAyMkU0
MjMwNyAvKiBKU1dlYkdMRGVidWdTaGFkZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTI5OTY1LDcg
KzI5OTU5LDYgQEAKIAkJCQk4NURGODI3MTBBQTc4QjhCMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxl
RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1REY4MjI0MEFBNzg0OUUwMDQ4NkFENyAv
KiBET01IVE1MVGFibGVSb3dFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODVERjgyMjYw
QUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Lm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJODVGMzJBRjMwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVs
ZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NTk5MkVDMTBBQTUwNjk1MDBBQzA3ODUgLyog
RE9NSFRNTFRpdGxlRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1QkE0RDE4MEFBNjg4
NjgwMDg4MDUyRCAvKiBET01IVE1MVUxpc3RFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkRFQzY2NTMxQzgyRDAyRTAwOTk4NDZBIC8qIERPTUhUTUxWaWRlb0VsZW1lbnQubW0gaW4gU291
cmNlcyAqLywKQEAgLTMxODE1LDYgKzMxODA4LDcgQEAKIAkJCQkwNzhFMDkwQzE3RDE0Q0VFMDA0
MjBBQTEgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3
M0JFMzRFMTdEMTgwQjIwMDJCRDQzMSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OEUwOTBFMTdEMTRDRUUwMDQyMEFBMSAvKiBSVENT
dGF0c1JlcG9ydC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5M0FBQzhBOTFENEQ3RTU0MDA5MDk3
OTEgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTA3OEUw
OTEwMTdEMTRDRUUwMDQyMEFBMSAvKiBSVENTdGF0c1Jlc3BvbnNlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTVFMkM0MzY3MUJDRUUzNzcwMDAxRTJCQyAvKiBSVENUcmFja0V2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTU4MjRBQkEyMUFFODExMTYwMDkwNzRCNyAvKiBSdWJ5RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01IVE1MVGV4dEFyZWFFbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRlNDRhNjU5YjIwMjQxODQ3
MjM5NmM5OGUxZjVkMzY1YzAxZTUwMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oCkBAIC0wLDAgKzEsNDggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgPFdlYkNvcmUvRE9NSFRNTEVsZW1lbnQuaD4KKworQGNsYXNzIERPTUhUTUxGb3JtRWxlbWVu
dDsKKworV0VCS0lUX0NMQVNTX0FWQUlMQUJMRV9NQUMoMTBfNCkKK1dFQkNPUkVfRVhQT1JUIEBp
bnRlcmZhY2UgRE9NSFRNTFRleHRBcmVhRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAcHJvcGVy
dHkgQk9PTCBhdXRvZm9jdXMgV0VCS0lUX0FWQUlMQUJMRV9NQUMoMTBfNik7CitAcHJvcGVydHkg
Qk9PTCBkaXNhYmxlZDsKK0Bwcm9wZXJ0eSAocmVhZG9ubHksIHN0cm9uZykgRE9NSFRNTEZvcm1F
bGVtZW50ICpmb3JtOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqbmFtZTsKK0Bwcm9wZXJ0
eSBCT09MIHJlYWRPbmx5OworQHByb3BlcnR5IGludCByb3dzOworQHByb3BlcnR5IGludCBjb2xz
OworQHByb3BlcnR5IChyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKnR5cGU7CitAcHJvcGVydHkg
KGNvcHkpIE5TU3RyaW5nICpkZWZhdWx0VmFsdWU7CitAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5n
ICp2YWx1ZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIEJPT0wgd2lsbFZhbGlkYXRlIFdFQktJVF9B
VkFJTEFCTEVfTUFDKDEwXzYpOworQHByb3BlcnR5IGludCBzZWxlY3Rpb25TdGFydCBXRUJLSVRf
QVZBSUxBQkxFX01BQygxMF81KTsKK0Bwcm9wZXJ0eSBpbnQgc2VsZWN0aW9uRW5kIFdFQktJVF9B
VkFJTEFCTEVfTUFDKDEwXzUpOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqYWNjZXNzS2V5
IFdFQktJVF9ERVBSRUNBVEVEX01BQygxMF80LCAxMF84KTsKKy0gKHZvaWQpc2VsZWN0OworLSAo
dm9pZClzZXRTZWxlY3Rpb25SYW5nZTooaW50KXN0YXJ0IGVuZDooaW50KWVuZCBXRUJLSVRfQVZB
SUxBQkxFX01BQygxMF81KTsKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL29iamMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL29iamMvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjk2NjRiODJj
Mjg0ODcwNmM4MDFlOGZiMWRjYTA3ODUxZDJmNmZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tCkBAIC0wLDAg
KzEsMzkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkRPTUhUTUxUZXh0QXJlYUVsZW1lbnQu
aCIKKworI2ltcG9ydCAiRE9NSFRNTEZvcm1FbGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRP
TUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NTm9kZUludGVybmFs
LmgiCisjaW1wb3J0ICJET01Ob2RlTGlzdEludGVybmFsLmgiCisjaW1wb3J0ICJET01WYWxpZGl0
eVN0YXRlSW50ZXJuYWwuaCIKKyNpbXBvcnQgIkV4Y2VwdGlvbkhhbmRsZXJzLmgiCisjaW1wb3J0
ICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCisjaW1wb3J0ICJKU01haW5UaHJlYWRFeGVjU3RhdGUu
aCIKKyNpbXBvcnQgIk5vZGVMaXN0LmgiCisjaW1wb3J0ICJUaHJlYWRDaGVjay5oIgorI2ltcG9y
dCAiVmFsaWRpdHlTdGF0ZS5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworc3RhdGlj
IGlubGluZSBIVE1MVGV4dEFyZWFFbGVtZW50JiB3cmFwcGVkKHZvaWQqIGludGVybmFsKQorewor
ICAgIEFTU0VSVChpbnRlcm5hbCk7CisgICAgcmV0dXJuIGRvd25jYXN0PEhUTUxUZXh0QXJlYUVs
ZW1lbnQ+KCpzdGF0aWNfY2FzdDxOb2RlKj4oaW50ZXJuYWwpKTsKK30KKworSFRNTFRleHRBcmVh
RWxlbWVudCogY29yZShET01IVE1MVGV4dEFyZWFFbGVtZW50ICp3cmFwcGVyKQoreworICAgIHJl
dHVybiB3cmFwcGVyID8gJndyYXBwZWQod3JhcHBlci0+X2ludGVybmFsKSA6IG51bGxwdHI7Cit9
CisKK0RPTUhUTUxUZXh0QXJlYUVsZW1lbnQgKmtpdChIVE1MVGV4dEFyZWFFbGVtZW50KiB2YWx1
ZSkKK3sKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOworICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxET01IVE1MVGV4dEFyZWFFbGVtZW50Kj4oa2l0KHN0YXRpY19jYXN0
PE5vZGUqPih2YWx1ZSkpKTsKK30KKworQGltcGxlbWVudGF0aW9uIERPTUhUTUxUZXh0QXJlYUVs
ZW1lbnQKKworLSAoQk9PTClhdXRvZm9jdXMKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5oYXNBdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6YXV0b2ZvY3VzQXR0cik7Cit9CisKKy0gKHZvaWQp
c2V0QXV0b2ZvY3VzOihCT09MKW5ld0F1dG9mb2N1cworeworICAgIEpTTWFpblRocmVhZE51bGxT
dGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0Qm9vbGVhbkF0dHJpYnV0ZShI
VE1MTmFtZXM6OmF1dG9mb2N1c0F0dHIsIG5ld0F1dG9mb2N1cyk7Cit9CisKKy0gKE5TU3RyaW5n
ICopZGlyTmFtZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1
cm4gd3JhcHBlZChfaW50ZXJuYWwpLmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmRpcm5hbWVBdHRy
KTsKK30KKworLSAodm9pZClzZXREaXJOYW1lOihOU1N0cmluZyAqKW5ld0Rpck5hbWUKK3sKKyAg
ICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNl
dEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpkaXJuYW1lQXR0ciwg
bmV3RGlyTmFtZSk7Cit9CisKKy0gKEJPT0wpZGlzYWJsZWQKK3sKKyAgICBKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5oYXNBdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6ZGlzYWJsZWRBdHRyKTsKK30KKwor
LSAodm9pZClzZXREaXNhYmxlZDooQk9PTCluZXdEaXNhYmxlZAoreworICAgIEpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0Qm9vbGVhbkF0dHJp
YnV0ZShIVE1MTmFtZXM6OmRpc2FibGVkQXR0ciwgbmV3RGlzYWJsZWQpOworfQorCistIChET01I
VE1MRm9ybUVsZW1lbnQgKilmb3JtCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OworICAgIHJldHVybiBraXQod3JhcHBlZChfaW50ZXJuYWwpLmZvcm0oKSk7Cit9CisKKy0gKGlu
dCltYXhMZW5ndGgKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0
dXJuIHdyYXBwZWQoX2ludGVybmFsKS5tYXhMZW5ndGhGb3JCaW5kaW5ncygpOworfQorCistICh2
b2lkKXNldE1heExlbmd0aDooaW50KW5ld01heExlbmd0aAoreworICAgIEpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICB3cmFwcGVkKF9p
bnRlcm5hbCkuc2V0TWF4TGVuZ3RoRm9yQmluZGluZ3MobmV3TWF4TGVuZ3RoLCBlYyk7CisgICAg
cmFpc2VPbkRPTUVycm9yKGVjKTsKK30KKworLSAoTlNTdHJpbmcgKiluYW1lCit7CisgICAgSlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCku
Z2V0TmFtZUF0dHJpYnV0ZSgpOworfQorCistICh2b2lkKXNldE5hbWU6KE5TU3RyaW5nICopbmV3
TmFtZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9p
bnRlcm5hbCkuc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6Om5h
bWVBdHRyLCBuZXdOYW1lKTsKK30KKworLSAoTlNTdHJpbmcgKilwbGFjZWhvbGRlcgoreworICAg
IEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJu
YWwpLmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnBsYWNlaG9sZGVyQXR0cik7Cit9CisKKy0gKHZv
aWQpc2V0UGxhY2Vob2xkZXI6KE5TU3RyaW5nICopbmV3UGxhY2Vob2xkZXIKK3sKKyAgICBKU01h
aW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEF0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpwbGFjZWhvbGRlckF0dHIsIG5l
d1BsYWNlaG9sZGVyKTsKK30KKworLSAoQk9PTClyZWFkT25seQoreworICAgIEpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLmhhc0F0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpyZWFkb25seUF0dHIpOworfQor
CistICh2b2lkKXNldFJlYWRPbmx5OihCT09MKW5ld1JlYWRPbmx5Cit7CisgICAgSlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXRCb29sZWFuQXR0
cmlidXRlKEhUTUxOYW1lczo6cmVhZG9ubHlBdHRyLCBuZXdSZWFkT25seSk7Cit9CisKKy0gKEJP
T0wpcmVxdWlyZWQKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0
dXJuIHdyYXBwZWQoX2ludGVybmFsKS5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9u
KEhUTUxOYW1lczo6cmVxdWlyZWRBdHRyKTsKK30KKworLSAodm9pZClzZXRSZXF1aXJlZDooQk9P
TCluZXdSZXF1aXJlZAoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3
cmFwcGVkKF9pbnRlcm5hbCkuc2V0Qm9vbGVhbkF0dHJpYnV0ZShIVE1MTmFtZXM6OnJlcXVpcmVk
QXR0ciwgbmV3UmVxdWlyZWQpOworfQorCistIChpbnQpcm93cworeworICAgIEpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLnJvd3MoKTsK
K30KKworLSAodm9pZClzZXRSb3dzOihpbnQpbmV3Um93cworeworICAgIEpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0Um93cyhuZXdSb3dzKTsK
K30KKworLSAoaW50KWNvbHMKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Cisg
ICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS5jb2xzKCk7Cit9CisKKy0gKHZvaWQpc2V0Q29s
czooaW50KW5ld0NvbHMKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAg
d3JhcHBlZChfaW50ZXJuYWwpLnNldENvbHMobmV3Q29scyk7Cit9CisKKy0gKE5TU3RyaW5nICop
d3JhcAoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3Jh
cHBlZChfaW50ZXJuYWwpLmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OndyYXBBdHRyKTsKK30KKwor
LSAodm9pZClzZXRXcmFwOihOU1N0cmluZyAqKW5ld1dyYXAKK3sKKyAgICBKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldEF0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjp3cmFwQXR0ciwgbmV3V3JhcCk7Cit9CisKKy0g
KE5TU3RyaW5nICopdHlwZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAg
ICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLnR5cGUoKTsKK30KKworLSAoTlNTdHJpbmcgKilk
ZWZhdWx0VmFsdWUKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0
dXJuIHdyYXBwZWQoX2ludGVybmFsKS5kZWZhdWx0VmFsdWUoKTsKK30KKworLSAodm9pZClzZXRE
ZWZhdWx0VmFsdWU6KE5TU3RyaW5nICopbmV3RGVmYXVsdFZhbHVlCit7CisgICAgSlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXREZWZhdWx0VmFs
dWUobmV3RGVmYXVsdFZhbHVlKTsKK30KKworLSAoTlNTdHJpbmcgKil2YWx1ZQoreworICAgIEpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwp
LnZhbHVlKCk7Cit9CisKKy0gKHZvaWQpc2V0VmFsdWU6KE5TU3RyaW5nICopbmV3VmFsdWUKK3sK
KyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwp
LnNldFZhbHVlKG5ld1ZhbHVlKTsKK30KKworLSAodW5zaWduZWQpdGV4dExlbmd0aAoreworICAg
IEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJu
YWwpLnRleHRMZW5ndGgoKTsKK30KKworLSAoQk9PTCl3aWxsVmFsaWRhdGUKK3sKKyAgICBKU01h
aW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHdyYXBwZWQoX2ludGVybmFsKS53
aWxsVmFsaWRhdGUoKTsKK30KKworLSAoRE9NVmFsaWRpdHlTdGF0ZSAqKXZhbGlkaXR5Cit7Cisg
ICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiBraXQod3JhcHBlZChf
aW50ZXJuYWwpLnZhbGlkaXR5KCkpOworfQorCistIChOU1N0cmluZyAqKXZhbGlkYXRpb25NZXNz
YWdlCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFw
cGVkKF9pbnRlcm5hbCkudmFsaWRhdGlvbk1lc3NhZ2UoKTsKK30KKworLSAoRE9NTm9kZUxpc3Qg
KilsYWJlbHMKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJu
IGtpdCh3cmFwcGVkKF9pbnRlcm5hbCkubGFiZWxzKCkuZ2V0KCkpOworfQorCistIChpbnQpc2Vs
ZWN0aW9uU3RhcnQKK3sKKyAgICBKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0
dXJuIHdyYXBwZWQoX2ludGVybmFsKS5zZWxlY3Rpb25TdGFydCgpOworfQorCistICh2b2lkKXNl
dFNlbGVjdGlvblN0YXJ0OihpbnQpbmV3U2VsZWN0aW9uU3RhcnQKK3sKKyAgICBKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CisgICAgd3JhcHBlZChfaW50ZXJuYWwpLnNldFNlbGVjdGlvblN0
YXJ0KG5ld1NlbGVjdGlvblN0YXJ0KTsKK30KKworLSAoaW50KXNlbGVjdGlvbkVuZAoreworICAg
IEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gd3JhcHBlZChfaW50ZXJu
YWwpLnNlbGVjdGlvbkVuZCgpOworfQorCistICh2b2lkKXNldFNlbGVjdGlvbkVuZDooaW50KW5l
d1NlbGVjdGlvbkVuZAoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3
cmFwcGVkKF9pbnRlcm5hbCkuc2V0U2VsZWN0aW9uRW5kKG5ld1NlbGVjdGlvbkVuZCk7Cit9CisK
Ky0gKE5TU3RyaW5nICopc2VsZWN0aW9uRGlyZWN0aW9uCit7CisgICAgSlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuc2VsZWN0aW9uRGly
ZWN0aW9uKCk7Cit9CisKKy0gKHZvaWQpc2V0U2VsZWN0aW9uRGlyZWN0aW9uOihOU1N0cmluZyAq
KW5ld1NlbGVjdGlvbkRpcmVjdGlvbgoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0
ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0U2VsZWN0aW9uRGlyZWN0aW9uKG5ld1NlbGVj
dGlvbkRpcmVjdGlvbik7Cit9CisKKy0gKE5TU3RyaW5nICopYWNjZXNzS2V5Cit7CisgICAgSlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCku
Z2V0QXR0cmlidXRlKEhUTUxOYW1lczo6YWNjZXNza2V5QXR0cik7Cit9CisKKy0gKHZvaWQpc2V0
QWNjZXNzS2V5OihOU1N0cmluZyAqKW5ld0FjY2Vzc0tleQoreworICAgIEpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0QXR0cmlidXRlV2l0aG91
dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmFjY2Vzc2tleUF0dHIsIG5ld0FjY2Vzc0tleSk7
Cit9CisKKy0gKE5TU3RyaW5nICopYXV0b2NvbXBsZXRlCit7CisgICAgSlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuYXV0b2NvbXBsZXRl
KCk7Cit9CisKKy0gKHZvaWQpc2V0QXV0b2NvbXBsZXRlOihOU1N0cmluZyAqKW5ld0F1dG9jb21w
bGV0ZQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9p
bnRlcm5hbCkuc2V0QXV0b2NvbXBsZXRlKG5ld0F1dG9jb21wbGV0ZSk7Cit9CisKKy0gKEJPT0wp
Y2hlY2tWYWxpZGl0eQoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBy
ZXR1cm4gd3JhcHBlZChfaW50ZXJuYWwpLmNoZWNrVmFsaWRpdHkoKTsKK30KKworLSAodm9pZClz
ZXRDdXN0b21WYWxpZGl0eTooTlNTdHJpbmcgKillcnJvcgoreworICAgIEpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0Q3VzdG9tVmFsaWRpdHko
ZXJyb3IpOworfQorCistICh2b2lkKXNlbGVjdAoreworICAgIEpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2VsZWN0KCk7Cit9CisKKy0gKHZvaWQp
c2V0UmFuZ2VUZXh0OihOU1N0cmluZyAqKXJlcGxhY2VtZW50Cit7CisgICAgSlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIHdyYXBwZWQo
X2ludGVybmFsKS5zZXRSYW5nZVRleHQocmVwbGFjZW1lbnQsIGVjKTsKKyAgICByYWlzZU9uRE9N
RXJyb3IoZWMpOworfQorCistICh2b2lkKXNldFJhbmdlVGV4dDooTlNTdHJpbmcgKilyZXBsYWNl
bWVudCBzdGFydDoodW5zaWduZWQpc3RhcnQgZW5kOih1bnNpZ25lZCllbmQgc2VsZWN0aW9uTW9k
ZTooTlNTdHJpbmcgKilzZWxlY3Rpb25Nb2RlCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIHdyYXBwZWQoX2ludGVybmFs
KS5zZXRSYW5nZVRleHQocmVwbGFjZW1lbnQsIHN0YXJ0LCBlbmQsIHNlbGVjdGlvbk1vZGUsIGVj
KTsKKyAgICByYWlzZU9uRE9NRXJyb3IoZWMpOworfQorCistICh2b2lkKXNldFNlbGVjdGlvblJh
bmdlOihpbnQpc3RhcnQgZW5kOihpbnQpZW5kCit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOworICAgIHdyYXBwZWQoX2ludGVybmFsKS5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCwg
ZW5kKTsKK30KKworI2lmIEVOQUJMRShJT1NfQVVUT0NPUlJFQ1RfQU5EX0FVVE9DQVBJVEFMSVpF
KQorCistIChCT09MKWF1dG9jb3JyZWN0Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOworICAgIHJldHVybiB3cmFwcGVkKF9pbnRlcm5hbCkuYXV0b2NvcnJlY3QoKTsKK30KKwor
LSAodm9pZClzZXRBdXRvY29ycmVjdDooQk9PTCluZXdBdXRvY29ycmVjdAoreworICAgIEpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0QXV0b2Nv
cnJlY3QobmV3QXV0b2NvcnJlY3QpOworfQorCistIChOU1N0cmluZyAqKWF1dG9jYXBpdGFsaXpl
Cit7CisgICAgSlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB3cmFwcGVk
KF9pbnRlcm5hbCkuYXV0b2NhcGl0YWxpemUoKTsKK30KKworLSAodm9pZClzZXRBdXRvY2FwaXRh
bGl6ZTooTlNTdHJpbmcgKiluZXdBdXRvY2FwaXRhbGl6ZQoreworICAgIEpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKKyAgICB3cmFwcGVkKF9pbnRlcm5hbCkuc2V0QXV0b2NhcGl0YWxpemUo
bmV3QXV0b2NhcGl0YWxpemUpOworfQorCisjZW5kaWYKKworQGVuZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTFRleHRBcmVhRWxlbWVudElu
dGVybmFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWEwODRiMWE4MTNlY2FmMjNjNmVlMjYzZjc1ZDI1Y2E5ZDA4
MGYxMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
SFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmgKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNC0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViQ29y
ZS9ET01IVE1MVGV4dEFyZWFFbGVtZW50Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IEhUTUxUZXh0QXJlYUVsZW1lbnQ7Cit9CisKK1dFQkNPUkVfRVhQT1JUIFdlYkNvcmU6OkhUTUxU
ZXh0QXJlYUVsZW1lbnQqIGNvcmUoRE9NSFRNTFRleHRBcmVhRWxlbWVudCAqKTsKK1dFQkNPUkVf
RVhQT1JUIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQgKmtpdChXZWJDb3JlOjpIVE1MVGV4dEFyZWFF
bGVtZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhU
TUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpj
L0RPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg0NDc2OTczNjBh
ZDUxYzQzM2Y4ZGFlNjg3ODBiZDVkOTExZDBlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaApAQCAt
MCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnQuaD4KKworQGNs
YXNzIERPTU5vZGVMaXN0OworQGNsYXNzIERPTVZhbGlkaXR5U3RhdGU7CisKK0BpbnRlcmZhY2Ug
RE9NSFRNTFRleHRBcmVhRWxlbWVudCAoRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUpCitA
cHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpkaXJOYW1lOworQHByb3BlcnR5IGludCBtYXhMZW5n
dGg7CitAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpwbGFjZWhvbGRlcjsKK0Bwcm9wZXJ0eSBC
T09MIHJlcXVpcmVkOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqd3JhcDsKK0Bwcm9wZXJ0
eSAocmVhZG9ubHkpIHVuc2lnbmVkIHRleHRMZW5ndGg7CitAcHJvcGVydHkgKHJlYWRvbmx5LCBz
dHJvbmcpIERPTVZhbGlkaXR5U3RhdGUgKnZhbGlkaXR5OworQHByb3BlcnR5IChyZWFkb25seSwg
Y29weSkgTlNTdHJpbmcgKnZhbGlkYXRpb25NZXNzYWdlOworQHByb3BlcnR5IChyZWFkb25seSwg
c3Ryb25nKSBET01Ob2RlTGlzdCAqbGFiZWxzOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAq
c2VsZWN0aW9uRGlyZWN0aW9uOworQHByb3BlcnR5IEJPT0wgYXV0b2NvcnJlY3Q7CitAcHJvcGVy
dHkgKGNvcHkpIE5TU3RyaW5nICphdXRvY2FwaXRhbGl6ZTsKK0Bwcm9wZXJ0eSAoY29weSkgTlNT
dHJpbmcgKmF1dG9jb21wbGV0ZTsKKy0gKEJPT0wpY2hlY2tWYWxpZGl0eTsKKy0gKHZvaWQpc2V0
Q3VzdG9tVmFsaWRpdHk6KE5TU3RyaW5nICopZXJyb3I7CistICh2b2lkKXNldFJhbmdlVGV4dDoo
TlNTdHJpbmcgKilyZXBsYWNlbWVudDsKKy0gKHZvaWQpc2V0UmFuZ2VUZXh0OihOU1N0cmluZyAq
KXJlcGxhY2VtZW50IHN0YXJ0Oih1bnNpZ25lZClzdGFydCBlbmQ6KHVuc2lnbmVkKWVuZCBzZWxl
Y3Rpb25Nb2RlOihOU1N0cmluZyAqKXNlbGVjdGlvbk1vZGU7CitAZW5kCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>