<?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>95411</bug_id>
          
          <creation_ts>2012-08-29 18:08:11 -0700</creation_ts>
          <short_desc>Refactor WrapShape to Shape/BasicShape</short_desc>
          <delta_ts>2012-08-30 06:44:18 -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>CSS</component>
          <version>528+ (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>
          
          <blocked>95389</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>achicu</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>708136</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-08-29 18:08:11 -0700</bug_when>
    <thetext>The CSS3 Exclusion specification calls shapes &quot;Basic Shapes&quot; now. It makes sense to rename the classes and files as well. Especially when the classes are used in other contexts then exclusions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708309</commentid>
    <comment_count>1</comment_count>
      <attachid>161401</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-08-29 22:24:51 -0700</bug_when>
    <thetext>Created attachment 161401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708561</commentid>
    <comment_count>2</comment_count>
      <attachid>161401</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-08-30 06:21:41 -0700</bug_when>
    <thetext>Comment on attachment 161401
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708567</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-08-30 06:44:18 -0700</bug_when>
    <thetext>Committed r127132: &lt;http://trac.webkit.org/changeset/127132&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161401</attachid>
            <date>2012-08-29 22:24:51 -0700</date>
            <delta_ts>2012-08-30 06:21:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95411-20120829222441.patch</filename>
            <type>text/plain</type>
            <size>117116</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFjNGI0NmI0MjYyYjZm
MTZlNzQ5MzdjZGEyYjE2Y2E3NTNiYzlmMS4uNGYxOTZmODQxMjkzYjkyMDUxNmNmOWJkMjQ1MGNh
MGJhNzYwZDM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1MCBAQAorMjAxMi0wOC0yOSAgRGly
ayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZmFjdG9yIFdyYXBTaGFw
ZSB0byBTaGFwZS9CYXNpY1NoYXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTQxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSB3cmFwIHNoYXBlcyBhcmUgY3VycmVudGx5IHNwZWNpZmllZCBieSBD
U1MzIEV4Y2x1c2lvbnMgYnV0IGFyZSB1c2VmdWwgZm9yIG90aGVyCisgICAgICAgIENTUyByZWxh
dGVkIHByb3Bvc2FscyBsaWtlIENTUyBNYXNraW5nIGFzIHdlbGwuIFRoaXMgaXMgdGhlIGZpcnN0
IHBhdGNoIG9uIGEgY2hhaW4KKyAgICAgICAgb2YgcGF0Y2hlcyB0byByZWZhY3RvciBXcmFwU2hh
cGUgdG8gQmFzaWNTaGFwZS4gV2l0aCB0aGlzIHBhdGNoIGFsbCByZWxldmFudCBmaWxlcworICAg
ICAgICBnZXQgcmVuYW1lbmQgYW5kIHRoZSBidWlsZCBzeXN0ZW1zIHVwZGF0ZWQuIFRoZSBjbGFz
c2VzIHdpbGwgYmUgcmVuYW1lbmQgaW4gYSBzZWNvbmQKKyAgICAgICAgc3RlcC4KKworICAgICAg
ICBKdXN0IHJlbmFtaW5nIG9mIGZpbGVzLiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRh
cmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBjc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHA6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvV3JhcFNoYXBlRnVuY3Rpb25zLmNwcC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JXcmFwU2hhcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Y29udmVydFRvTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OndyYXBTaGFw
ZUZvclZhbHVlKToKKyAgICAgICAgKiBjc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvY3NzL1dyYXBTaGFwZUZ1bmN0aW9ucy5oLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogY3NzL0NTU0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBjc3Mv
Q1NTQmFzaWNTaGFwZXMuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL0NTU1dy
YXBTaGFwZXMuY3BwLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NX
cmFwU2hhcGVSZWN0YW5nbGU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNo
YXBlQ2lyY2xlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFwZUVsbGlw
c2U6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlUG9seWdvbjo6Y3Nz
VGV4dCk6CisgICAgICAgICogY3NzL0NTU0Jhc2ljU2hhcGVzLmg6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTV3JhcFNoYXBlcy5oLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChDU1NXcmFwU2hhcGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlOjp+Q1NT
V3JhcFNoYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFwZTo6Q1NTV3JhcFNoYXBl
KToKKyAgICAgICAgKENTU1dyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NXcmFwU2hhcGVSZWN0YW5nbGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFw
U2hhcGVSZWN0YW5nbGU6OngpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlUmVjdGFu
Z2xlOjp5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFwZVJlY3RhbmdsZTo6d2lkdGgp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlUmVjdGFuZ2xlOjpoZWlnaHQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlUmVjdGFuZ2xlOjpyYWRpdXNYKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1dyYXBTaGFwZVJlY3RhbmdsZTo6cmFkaXVzWSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NXcmFwU2hhcGVSZWN0YW5nbGU6OnNldFgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
V3JhcFNoYXBlUmVjdGFuZ2xlOjpzZXRZKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFw
ZVJlY3RhbmdsZTo6c2V0V2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlUmVj
dGFuZ2xlOjpzZXRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlUmVjdGFu
Z2xlOjpzZXRSYWRpdXNYKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFwZVJlY3Rhbmds
ZTo6c2V0UmFkaXVzWSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFwU2hhcGVSZWN0YW5nbGU6
OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlUmVjdGFuZ2xlOjpDU1NXcmFw
U2hhcGVSZWN0YW5nbGUpOgorICAgICAgICAoQ1NTV3JhcFNoYXBlQ2lyY2xlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1dyYXBTaGFwZUNpcmNsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1dyYXBTaGFwZUNpcmNsZTo6Y2VudGVyWCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFw
U2hhcGVDaXJjbGU6OmNlbnRlclkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlQ2ly
Y2xlOjpyYWRpdXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlQ2lyY2xlOjpzZXRD
ZW50ZXJYKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFwZUNpcmNsZTo6c2V0Q2VudGVy
WSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFwU2hhcGVDaXJjbGU6OnNldFJhZGl1cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NXcmFwU2hhcGVDaXJjbGU6OnR5cGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTV3JhcFNoYXBlQ2lyY2xlOjpDU1NXcmFwU2hhcGVDaXJjbGUpOgorICAgICAgICAo
Q1NTV3JhcFNoYXBlRWxsaXBzZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFwU2hhcGVFbGxp
cHNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlRWxsaXBzZTo6Y2Vu
dGVyWCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFwU2hhcGVFbGxpcHNlOjpjZW50ZXJZKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFwZUVsbGlwc2U6OnJhZGl1c1gpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlRWxsaXBzZTo6cmFkaXVzWSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NXcmFwU2hhcGVFbGxpcHNlOjpzZXRDZW50ZXJYKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1dyYXBTaGFwZUVsbGlwc2U6OnNldENlbnRlclkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
V3JhcFNoYXBlRWxsaXBzZTo6c2V0UmFkaXVzWCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFw
U2hhcGVFbGxpcHNlOjpzZXRSYWRpdXNZKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFw
ZUVsbGlwc2U6OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTV3JhcFNoYXBlRWxsaXBzZTo6
Q1NTV3JhcFNoYXBlRWxsaXBzZSk6CisgICAgICAgIChDU1NXcmFwU2hhcGVQb2x5Z29uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFwZVBvbHlnb246OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NXcmFwU2hhcGVQb2x5Z29uOjphcHBlbmRQb2ludCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NXcmFwU2hhcGVQb2x5Z29uOjpnZXRYQXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
V3JhcFNoYXBlUG9seWdvbjo6Z2V0WUF0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFw
ZVBvbHlnb246OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFwU2hhcGVQb2x5Z29u
OjpzZXRXaW5kUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFwU2hhcGVQb2x5Z29uOjp3
aW5kUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NXcmFwU2hhcGVQb2x5Z29uOjp0eXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1dyYXBTaGFwZVBvbHlnb246OkNTU1dyYXBTaGFwZVBvbHln
b24pOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAg
ICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1
ZS5jcHA6CisgICAgICAgICogY3NzL1N0eWxlQnVpbGRlci5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6V3JhcFNoYXBlOjpkZXN0cm95KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvQmFzaWNTaGFwZXMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9XcmFwU2hhcGVzLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdyYXBTaGFw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OmRlcmVmKToKKyAgICAgICAgKFdlYkNv
cmU6OldyYXBTaGFwZTo6dHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OldyYXBT
aGFwZSk6CisgICAgICAgIChXcmFwU2hhcGVSZWN0YW5nbGUpOgorICAgICAgICAoV2ViQ29yZTo6
V3JhcFNoYXBlUmVjdGFuZ2xlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBl
UmVjdGFuZ2xlOjp4KToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFwZVJlY3RhbmdsZTo6eSk6
CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGVSZWN0YW5nbGU6OndpZHRoKToKKyAgICAgICAg
KFdlYkNvcmU6OldyYXBTaGFwZVJlY3RhbmdsZTo6aGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6
OldyYXBTaGFwZVJlY3RhbmdsZTo6Y29ybmVyUmFkaXVzWCk6CisgICAgICAgIChXZWJDb3JlOjpX
cmFwU2hhcGVSZWN0YW5nbGU6OmNvcm5lclJhZGl1c1kpOgorICAgICAgICAoV2ViQ29yZTo6V3Jh
cFNoYXBlUmVjdGFuZ2xlOjpzZXRYKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFwZVJlY3Rh
bmdsZTo6c2V0WSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGVSZWN0YW5nbGU6OnNldFdp
ZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFwZVJlY3RhbmdsZTo6c2V0SGVpZ2h0KToK
KyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFwZVJlY3RhbmdsZTo6c2V0Q29ybmVyUmFkaXVzWCk6
CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGVSZWN0YW5nbGU6OnNldENvcm5lclJhZGl1c1kp
OgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlUmVjdGFuZ2xlOjpXcmFwU2hhcGVSZWN0YW5n
bGUpOgorICAgICAgICAoV3JhcFNoYXBlQ2lyY2xlKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBT
aGFwZUNpcmNsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFwZUNpcmNsZTo6
Y2VudGVyWCk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGVDaXJjbGU6OmNlbnRlclkpOgor
ICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlQ2lyY2xlOjpyYWRpdXMpOgorICAgICAgICAoV2Vi
Q29yZTo6V3JhcFNoYXBlQ2lyY2xlOjpzZXRDZW50ZXJYKToKKyAgICAgICAgKFdlYkNvcmU6Oldy
YXBTaGFwZUNpcmNsZTo6c2V0Q2VudGVyWSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGVD
aXJjbGU6OnNldFJhZGl1cyk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGVDaXJjbGU6Oldy
YXBTaGFwZUNpcmNsZSk6CisgICAgICAgIChXcmFwU2hhcGVFbGxpcHNlKToKKyAgICAgICAgKFdl
YkNvcmU6OldyYXBTaGFwZUVsbGlwc2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFw
U2hhcGVFbGxpcHNlOjpjZW50ZXJYKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFwZUVsbGlw
c2U6OmNlbnRlclkpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlRWxsaXBzZTo6cmFkaXVz
WCk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGVFbGxpcHNlOjpyYWRpdXNZKToKKyAgICAg
ICAgKFdlYkNvcmU6OldyYXBTaGFwZUVsbGlwc2U6OnNldENlbnRlclgpOgorICAgICAgICAoV2Vi
Q29yZTo6V3JhcFNoYXBlRWxsaXBzZTo6c2V0Q2VudGVyWSk6CisgICAgICAgIChXZWJDb3JlOjpX
cmFwU2hhcGVFbGxpcHNlOjpzZXRSYWRpdXNYKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFw
ZUVsbGlwc2U6OnNldFJhZGl1c1kpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlRWxsaXBz
ZTo6V3JhcFNoYXBlRWxsaXBzZSk6CisgICAgICAgIChXcmFwU2hhcGVQb2x5Z29uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldyYXBTaGFwZVBvbHlnb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXcmFwU2hhcGVQb2x5Z29uOjp3aW5kUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hh
cGVQb2x5Z29uOjp2YWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlUG9seWdvbjo6
Z2V0WEF0KToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFwZVBvbHlnb246OmdldFlBdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGVQb2x5Z29uOjpzZXRXaW5kUnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpXcmFwU2hhcGVQb2x5Z29uOjphcHBlbmRQb2ludCk6CisgICAgICAgIChXZWJD
b3JlOjpXcmFwU2hhcGVQb2x5Z29uOjpXcmFwU2hhcGVQb2x5Z29uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oOgorCiAyMDEyLTA4LTI5ICBS
YWZhZWwgQnJhbmRhbyAgPHJhZmFlbC5sb2JvQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgRml4
IGFzc2VydGlvbiBvbiBEb2N1bWVudDo6cmVjYWxjU3R5bGUgdG8gbm90IHJlY2FsYyBzdHlsZSB3
aGlsZSBwYWludGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0MjQ5YjNkNjMxMTUzMDQ3NTBi
NWIwNmE1MmFkZGNlNjcyYWI2YzNmLi4xOGRiMGI1ZDMwZTM4MmVmMWIwZjdhMzNkZjBiN2MyMWRk
NjY0NTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTkxLDcgKzk5MSw5IEBAIFNFVChXZWJD
b3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9nZW5lcmljL0JpbmRpbmdTZWN1cml0eS5jcHAKICAg
ICBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCiAKKyAgICBjc3Mv
QmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAKICAgICBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAK
KyAgICBjc3MvQ1NTQmFzaWNTaGFwZXMuY3BwCiAgICAgY3NzL0NTU0JvcmRlckltYWdlLmNwcAog
ICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwCiAgICAgY3NzL0NTU0NhbGN1bGF0
aW9uVmFsdWUuY3BwCkBAIC0xMDM2LDcgKzEwMzgsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgY3NzL0NTU1ZhbHVlLmNwcAogICAgIGNzcy9DU1NWYWx1ZUxpc3QuY3BwCiAgICAgY3NzL0NT
U1ZhbHVlUG9vbC5jcHAKLSAgICBjc3MvQ1NTV3JhcFNoYXBlcy5jcHAKICAgICBjc3MvRm9udEZl
YXR1cmVWYWx1ZS5jcHAKICAgICBjc3MvRm9udFZhbHVlLmNwcAogICAgIGNzcy9MZW5ndGhGdW5j
dGlvbnMuY3BwCkBAIC0xMDczLDcgKzEwNzQsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
Y3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCiAgICAgY3NzL1dlYktpdENTU1NoYWRl
clZhbHVlLmNwcAogICAgIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKLSAgICBjc3Mv
V3JhcFNoYXBlRnVuY3Rpb25zLmNwcAogCiAgICAgZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAKICAg
ICBkb20vQXR0ci5jcHAKQEAgLTIxMTQsNiArMjExNCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMK
ICAgICByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAKICAgICByZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKIAorICAgIHJlbmRlcmluZy9zdHls
ZS9CYXNpY1NoYXBlcy5jcHAKICAgICByZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuY3BwCiAg
ICAgcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJEaXJlY3RpdmVzLmNwcAogICAgIHJlbmRlcmluZy9z
dHlsZS9GaWxsTGF5ZXIuY3BwCkBAIC0yMTQyLDcgKzIxNDMsNiBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAKICAgICByZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCiAgICAgcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRl
clN0eWxlRGVmcy5jcHAKLSAgICByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHAKIAogICAg
IHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxvY2suY3BwCiAgICAgcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdDb250YWluZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA3N2Ji
OTIwZTZlMmRkZmFjZDMxYmU4NTE0MDlmZDRhZTllZDEwZTUwLi4zNWE1OGI3MzA0MmQ1YmM0NzE0
ZGEwZmE1MWJhYzE3ZGM0N2U4NjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAg
LTI0NTMsOSArMjQ1MywxMyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX3Jvb3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9yb290LmggXAogCVNvdXJjZS9XZWJDb3JlL2NvbmZpZy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9j
c3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9CYXNpY1No
YXBlRnVuY3Rpb25zLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9Db3VudGVyLmggXAogCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2lj
U2hhcGVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmggXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NCb3JkZXJJbWFnZS5jcHAgXApAQCAtMjU0Miw4ICsyNTQ2LDYgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmggXAotCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NXcmFwU2hh
cGVzLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvY3NzL0NTU1dyYXBTaGFwZXMuaCBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtu
b3duUnVsZS5oIFwKQEAgLTI2MjgsOCArMjYzMCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9jc3MvV3JhcFNo
YXBlRnVuY3Rpb25zLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvY3NzL1dyYXBTaGFwZUZ1bmN0aW9u
cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVjdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQXR0
ci5jcHAgXApAQCAtNTA1OSw2ICs1MDU5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAgXAorCVNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQm9yZGVyRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvQm9yZGVyVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0NvbGxhcHNlZEJvcmRlclZhbHVlLmggXApAQCAtNTEzNSw4ICs1MTM3LDYgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVy
U3R5bGVEZWZzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRl
clN0eWxlRGVmcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVy
U3R5bGUuaCBcCi0JU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3Bw
IFwKLQlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdCbG9jay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggOThm
ZWI1MjBjYWZmODcyNTAwNmZlNTNkY2MyZTQyNzYwZjc0MDA5YS4uMTQ2YmQzYjA1YWI0NmIzNjVh
NzY2YWVjZjQxYjkxMDQwMDBhZjc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yNTUsNyArMjU1LDkgQEAg
U09VUkNFUyArPSBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRl
ci5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVy
LmNwcCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRp
b25zLmNwcCBcCisgICAgY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIFwKICAgICBjc3MvQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAorICAgIGNzcy9DU1NCYXNpY1NoYXBlcy5jcHAgXAogICAg
IGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9yZGVySW1h
Z2UuY3BwIFwKICAgICBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAgXApAQCAtMzAwLDcgKzMw
Miw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9DU1NWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NW
YWx1ZUxpc3QuY3BwIFwKICAgICBjc3MvQ1NTVmFsdWVQb29sLmNwcCBcCi0gICAgY3NzL0NTU1dy
YXBTaGFwZXMuY3BwIFwKICAgICBjc3MvRm9udEZlYXR1cmVWYWx1ZS5jcHAgXAogICAgIGNzcy9G
b250VmFsdWUuY3BwIFwKICAgICBjc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcCBcCkBAIC0zMzUsNyAr
MzM2LDYgQEAgU09VUkNFUyArPSBcCiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUu
Y3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwKLSAgICBjc3MvV3JhcFNoYXBlRnVuY3Rpb25zLmNwcCBc
CiAgICAgZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCiAgICAg
ZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCBcCkBAIC0xMTg0LDYgKzExODQsNyBAQCBT
T1VSQ0VTICs9IFwKICAgICByZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAgXAogICAgIHJlbmRl
cmluZy9TY3JvbGxCZWhhdmlvci5jcHAgXAogICAgIHJlbmRlcmluZy9XcmFwU2hhcGVJbmZvLmNw
cCBcCisgICAgcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmNwcCBcCiAgICAgcmVuZGVyaW5n
L3N0eWxlL0NvbnRlbnREYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJEaXJl
Y3RpdmVzLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAgXApAQCAtMTIx
MSw3ICsxMjEyLDYgQEAgU09VUkNFUyArPSBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlU3Vy
cm91bmREYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5j
cHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwIFwKLSAgICByZW5k
ZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHAgXAogICAgIHN0b3JhZ2UvU3RvcmFnZVRhc2suY3Bw
IFwKICAgICBzdG9yYWdlL1N0b3JhZ2VUaHJlYWQuY3BwIFwKICAgICBzdG9yYWdlL1N0b3JhZ2Uu
Y3BwIFwKQEAgLTE0MDMsNyArMTQwMyw5IEBAIEhFQURFUlMgKz0gXAogICAgIE1vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaCBcCiAgICAgTW9kdWxlcy93ZWJk
YXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0YWJhc2UuaCBcCiAgICAgXAorICAgIGNzcy9CYXNp
Y1NoYXBlRnVuY3Rpb25zLmggXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggXAorICAg
IGNzcy9DU1NCYXNpY1NoYXBlcy5oIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
LmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZS5oIFwKICAgICBjc3MvQ1NTQ2FsY3VsYXRpb25W
YWx1ZS5oIFwKQEAgLTE0NTAsNyArMTQ1Miw2IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NW
YWx1ZUxpc3QuaCBcCiAgICAgY3NzL0NTU1ZhbHVlUG9vbC5oIFwKICAgICBjc3MvQ1NTVmFyaWFi
bGVWYWx1ZS5oIFwKLSAgICBjc3MvQ1NTV3JhcFNoYXBlcy5oIFwKICAgICBjc3MvRm9udEZlYXR1
cmVWYWx1ZS5oIFwKICAgICBjc3MvRm9udFZhbHVlLmggXAogICAgIGNzcy9MZW5ndGhGdW5jdGlv
bnMuaCBcCkBAIC0xNDg0LDcgKzE0ODUsNiBAQCBIRUFERVJTICs9IFwKICAgICBjc3MvV2ViS2l0
Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBc
CiAgICAgY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAotICAgIGNzcy9XcmFwU2hhcGVG
dW5jdGlvbnMuaCBcCiAgICAgZG9tL0FjdGl2ZURPTU9iamVjdC5oIFwKICAgICBkb20vQXR0ci5o
IFwKICAgICBkb20vQXR0cmlidXRlLmggXApAQCAtMjM2OSw2ICsyMzY5LDcgQEAgSEVBREVSUyAr
PSBcCiAgICAgcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaCBcCiAgICAgcmVuZGVyaW5nL1Njcm9s
bEJlaGF2aW9yLmggXAogICAgIHJlbmRlcmluZy9XcmFwU2hhcGVJbmZvLmggXAorICAgIHJlbmRl
cmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oIFwKICAgICByZW5kZXJpbmcvc3R5bGUvQ29udGVudERh
dGEuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJEaXJlY3RpdmVzLmggXAogICAgIHJl
bmRlcmluZy9zdHlsZS9DdXJzb3JEYXRhLmggXApAQCAtMjQwMiw3ICsyNDAzLDYgQEAgSEVBREVS
UyArPSBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5oIFwKICAgICByZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmggXAogICAgIHJlbmRlcmluZy9zdHlsZS9T
VkdSZW5kZXJTdHlsZS5oIFwKLSAgICByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oIFwKICAg
ICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmggXAogICAgIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHQ29udGFpbmVyLmggXAogICAgIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHRWxsaXBzZS5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCA5NDZhN2EwYWE4OTc0YTUzZDMwYjY3NDQyNWQ1OTcyNjFk
MzE1MDMzLi4zY2RmNjJmYzAzOTdjYjlmNWM2Mjk2YmY4NGE4MDFkZDMxMmI2M2MyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC04Nyw2ICs4Nyw4IEBACiAgICAgICAgICAgICAnYnJpZGdlL3J1bnRpbWVf
bWV0aG9kLmgnLAogICAgICAgICAgICAgJ2JyaWRnZS9ydW50aW1lX29iamVjdC5oJywKICAgICAg
ICAgICAgICdicmlkZ2UvcnVudGltZV9yb290LmgnLAorICAgICAgICAgICAgJ2Nzcy9CYXNpY1No
YXBlRnVuY3Rpb25zLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NCYXNpY1NoYXBlcy5oJywKICAg
ICAgICAgICAgICdjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgnLAogICAgICAgICAg
ICAgJ2Nzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NIZWxw
ZXIuaCcsCkBAIC0xMDQsMTMgKzEwNiwxMSBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NTdHlsZURl
Y2xhcmF0aW9uLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NWYWx1ZS5oJywKICAgICAgICAgICAg
ICdjc3MvQ1NTVmFsdWVMaXN0LmgnLAotICAgICAgICAgICAgJ2Nzcy9DU1NXcmFwU2hhcGVzLmgn
LAogICAgICAgICAgICAgJ2Nzcy9MZW5ndGhGdW5jdGlvbnMuaCcsCiAgICAgICAgICAgICAnY3Nz
L1BhaXIuaCcsCiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmgnLAogICAg
ICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3Mv
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCcsCi0gICAgICAgICAgICAnY3NzL1dyYXBTaGFwZUZ1
bmN0aW9ucy5oJywKICAgICAgICAgICAgICdlZGl0aW5nL0FwcGx5QmxvY2tFbGVtZW50Q29tbWFu
ZC5oJywKICAgICAgICAgICAgICdlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmgnLAogICAg
ICAgICAgICAgJ2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5oJywKQEAgLTU4NCw2ICs1
ODQsNyBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9TY3JvbGxCZWhhdmlvci5oJywKICAgICAgICAgICAgICdyZW5kZXJp
bmcvV3JhcFNoYXBlSW5mby5oJywKKyAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvQmFzaWNT
aGFwZXMuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL0JvcmRlckRhdGEuaCcsCiAg
ICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL0JvcmRlclZhbHVlLmgnLAogICAgICAgICAgICAg
J3JlbmRlcmluZy9zdHlsZS9Db2xsYXBzZWRCb3JkZXJWYWx1ZS5oJywKQEAgLTYyMiw3ICs2MjMs
NiBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9ybURhdGEuaCcs
CiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFibGVEYXRhLmgnLAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuaCcsCi0gICAgICAgICAg
ICAncmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5n
L3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oJywKICAgICAgICAgICAgICd3b3JrZXJzL1dvcmtlclJ1
bkxvb3AuaCcsCiAgICAgICAgICAgICAnd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCcsCkBAIC0yNDkz
LDggKzI0OTMsMTAgQEAKICAgICAgICAgICAgICdicmlkZ2UvdGVzdGJpbmRpbmdzLm1tJywKICAg
ICAgICAgICAgICdicmlkZ2UvdGVzdHF0YmluZGluZ3MuY3BwJywKICAgICAgICAgICAgICdjb25m
aWcuaCcsCisgICAgICAgICAgICAnY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NCYXNpY1NoYXBlcy5j
cHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJbWFnZS5jcHAnLAogICAgICAgICAgICAg
J2Nzcy9DU1NCb3JkZXJJbWFnZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmNwcCcsCkBAIC0yNTc0LDcgKzI1NzYsNiBAQAogICAgICAgICAgICAgJ2Nzcy9D
U1NWYWx1ZVBvb2wuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTVmFsdWVQb29sLmgnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgnLAotICAgICAgICAgICAgJ2Nzcy9DU1NX
cmFwU2hhcGVzLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NvdW50ZXIuaCcsCiAgICAgICAgICAg
ICAnY3NzL0Rhc2hib2FyZFJlZ2lvbi5oJywKICAgICAgICAgICAgICdjc3MvRm9udEZlYXR1cmVW
YWx1ZS5jcHAnLApAQCAtMjY0Niw3ICsyNjQ3LDYgQEAKICAgICAgICAgICAgICdjc3MvV2ViS2l0
Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NTVkdE
b2N1bWVudFZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5jcHAnLAotICAgICAgICAgICAgJ2Nzcy9XcmFwU2hhcGVGdW5jdGlvbnMuY3BwJywKICAgICAg
ICAgICAgICdlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwJywKICAgICAgICAg
ICAgICdlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAn
ZWRpdGluZy9BcHBlbmROb2RlQ29tbWFuZC5jcHAnLApAQCAtNDg5NCw2ICs0ODk0LDcgQEAKICAg
ICAgICAgICAgICdyZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5oJywKICAgICAg
ICAgICAgICdyZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAnLAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmgnLAorICAg
ICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAnLAogICAgICAgICAgICAg
J3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmlu
Zy9zdHlsZS9Db3VudGVyRGlyZWN0aXZlcy5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9z
dHlsZS9GaWxsTGF5ZXIuY3BwJywKQEAgLTQ5MjksNyArNDkzMCw2IEBACiAgICAgICAgICAgICAn
cmVuZGVyaW5nL3N0eWxlL1N0eWxlU3Vycm91bmREYXRhLmNwcCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5jcHAnLAogICAgICAgICAgICAgJ3JlbmRl
cmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwJywKLSAgICAgICAgICAgICdyZW5kZXJpbmcv
c3R5bGUvV3JhcFNoYXBlcy5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZHSW5s
aW5lRmxvd0JveC5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lRmxv
d0JveC5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
ZmJkOGE1YmE1NjIxZTI3MmY0MzgwYjUzNzdiZGQzNjNhODVkMmFmMy4uYjIxZDk5YmQ1NjczNDNk
Y2NmZjJlZTA4MzA1M2FjM2JiNmNhN2ZlYSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTM3Mjk5LDcgKzM3Mjk5LDcgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1dyYXBTaGFwZXMu
Y3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0Jhc2ljU2hhcGVzLmNwcCIKIAkJCQk+
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgpAQCAtMzcz
NTEsNyArMzczNTEsNyBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1dyYXBTaGFwZXMuaCIKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NCYXNpY1NoYXBlcy5oIgogCQkJCT4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCkBAIC0zODAyNywxMSArMzgwMjcsMTEgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQotCQkJICAgIFJlbGF0aXZlUGF0aD0iLi5cY3NzXFdyYXBTaGFwZUZ1bmN0aW9ucy5j
cHAiCisJCQkgICAgUmVsYXRpdmVQYXRoPSIuLlxjc3NcQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAi
CiAJCQkgICAgPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCSAgICBSZWxhdGl2ZVBhdGg9Ii4u
XGNzc1xXcmFwU2hhcGVGdW5jdGlvbnMuaCIKKwkJCSAgICBSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xC
YXNpY1NoYXBlRnVuY3Rpb25zLmgiCiAJCQkgICAgPgogCQkJPC9GaWxlPgogCQk8L0ZpbHRlcj4K
QEAgLTQ2NTYwLDExICs0NjU2MCwxMSBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxl
Ci0JCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXHN0eWxlXFdyYXBTaGFwZXMuY3BwIgor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xzdHlsZVxCYXNpY1NoYXBlcy5jcHAiCiAJ
CQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5k
ZXJpbmdcc3R5bGVcV3JhcFNoYXBlcy5oIgorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmlu
Z1xzdHlsZVxCYXNpY1NoYXBlcy5oIgogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJPC9GaWx0ZXI+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggY2Y1MjczNWZiNzE2N2Y0YTIxODA0ZmJmMDBkOTg0NjJjYjA2ZDViMS4uYjliNGNlZWMz
N2YwNTE3ODFiN2EzYzIwNjZmNDhiZGQyOTUwZjRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ2Miw3ICsxNDYyLDYgQEAK
IAkJNEZBM0I5MEIxMjVDRDEyMjAwMzAwQkFEIC8qIEluc3BlY3RvclN0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RkEzQjkwOTEyNUNEMTIyMDAz
MDBCQUQgLyogSW5zcGVjdG9yU3RhdGUuaCAqLzsgfTsKIAkJNEZEOEQwRjIxMTlDNzE4QjAwMkZB
ODI1IC8qIFNjcmlwdEdDRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNEZEOEQwRjAxMTlDNzE4QjAwMkZBODI1IC8qIFNjcmlwdEdDRXZlbnQu
Y3BwICovOyB9OwogCQk0RkQ4RDBGMzExOUM3MThCMDAyRkE4MjUgLyogU2NyaXB0R0NFdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEZEOEQwRjEx
MTlDNzE4QjAwMkZBODI1IC8qIFNjcmlwdEdDRXZlbnQuaCAqLzsgfTsKLQkJNTAxQkE5RTIxMzkz
Q0VBMDAwRjdBQ0VCIC8qIENTU1dyYXBTaGFwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMUJBOUUxMTM5M0NFQTAwMEY3QUNFQiAvKiBDU1NXcmFw
U2hhcGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNTAxQkFBQTkxMzk1MEUyQzAwRjdBQ0VCIC8qIFdpbmRSdWxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDFCQUFBODEzOTUwRTJDMDBGN0FDRUIg
LyogV2luZFJ1bGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk1MDM4QkMwNzE0NzExQ0RCMDA5NUUwRDEgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTAzOEJD
MDYxNDcxMUNEQjAwOTVFMEQxIC8qIFdlYktpdENTU1NoYWRlclZhbHVlLmNwcCAqLzsgfTsKIAkJ
NTAzOEJFMkYxNDcyQUQyMzAwOTVFMEQxIC8qIFN0eWxlQ2FjaGVkU2hhZGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMzhCRTJEMTQ3MkFEMjMw
MDk1RTBEMSAvKiBTdHlsZUNhY2hlZFNoYWRlci5jcHAgKi87IH07CkBAIC0xNDkxLDcgKzE0OTAs
NiBAQAogCQk1MEQ0MDYxMjE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQ
cm9ncmFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MEQ0MDYxMDE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgg
Ki87IH07CiAJCTUwRDg4Q0I1MTVCREZEQUEwMDE4MDlGNCAvKiBDdXN0b21GaWx0ZXJQcm9ncmFt
SW5mby5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MEQ4OENCMzE1QkRGREFBMDAxODA5RjQgLyogQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uY3BwICov
OyB9OwogCQk1MEQ4OENCNjE1QkRGREFBMDAxODA5RjQgLyogQ3VzdG9tRmlsdGVyUHJvZ3JhbUlu
Zm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwRDg4
Q0I0MTVCREZEQUEwMDE4MDlGNCAvKiBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oICovOyB9Owot
CQk1MEU1NjZENjEzOUUzOEM1MDAyMTQ0MzMgLyogQ1NTV3JhcFNoYXBlcy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDFCQUFCMTEzOTUxMTRCMDBG
N0FDRUIgLyogQ1NTV3JhcFNoYXBlcy5jcHAgKi87IH07CiAJCTUxMDE4NDY5MEIwODYwMkEwMDRB
ODI1RiAvKiBDYWNoZWRQYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTAxODQ2NzBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMDE4NDZBMEIw
ODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE4NDY4MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQ
YWdlLmNwcCAqLzsgfTsKIAkJNTEwRDRBMzMxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVh
bUVycm9yQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTBENEEyRDEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtRXJyb3JCYXNlLmNw
cCAqLzsgfTsKQEAgLTE2MDUsNiArMTYwMywxNSBAQAogCQk1MUZCNTUwNTExM0UzRTkxMDA4MjEx
NzYgLyogSlNDbG9zZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRkI1NTAzMTEzRTNFOTEwMDgyMTE3NiAvKiBKU0Nsb3NlRXZlbnQuY3Bw
ICovOyB9OwogCQk1MjFENDZGNjExQUVDOTgxMDA1MTQ2MTMgLyogS2lsbFJpbmdNYWMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjFENDZGNTExQUVD
OTgxMDA1MTQ2MTMgLyogS2lsbFJpbmdNYWMubW0gKi87IH07CiAJCTUyMUQ0NkY4MTFBRUM5QjEw
MDUxNDYxMyAvKiBLaWxsUmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTIxRDQ2RjcxMUFFQzlCMTAwNTE0NjEzIC8qIEtpbGxSaW5nLmggKi87IH07
CisJCTUyQjZDOUMyMTVFM0Y0REYwMDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjZDOUJE
MTVFM0Y0REYwMDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCAqLzsgfTsKKwkJ
NTJCNkM5QzMxNUUzRjRERjAwNjkwQjA1IC8qIERPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjZDOUJFMTVFM0Y0
REYwMDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmggKi87IH07CisJCTUyQjZDOUM1
MTVFM0Y0REYwMDY5MEIwNSAvKiBOYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjZDOUMwMTVFM0Y0REYwMDY5MEIw
NSAvKiBOYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCAqLzsgfTsKKwkJNTJCNkM5QzYxNUUzRjRERjAw
NjkwQjA1IC8qIE5hbWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjZDOUMxMTVFM0Y0REYwMDY5MEIwNSAvKiBOYW1lZEZs
b3dDb2xsZWN0aW9uLmggKi87IH07CisJCTUyQ0NBOUUyMTVFM0Y2MkMwMDUzQzc3RiAvKiBKU0RP
TU5hbWVkRmxvd0NvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTJDQ0E5RTAxNUUzRjYyQzAwNTNDNzdGIC8qIEpTRE9NTmFtZWRGbG93
Q29sbGVjdGlvbi5jcHAgKi87IH07CisJCTUyQ0NBOUUzMTVFM0Y2MkMwMDUzQzc3RiAvKiBKU0RP
TU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUyQ0NBOUUxMTVFM0Y2MkMwMDUzQzc3RiAvKiBKU0RPTU5hbWVkRmxvd0Nv
bGxlY3Rpb24uaCAqLzsgfTsKKwkJNTJDQ0E5RTgxNUUzRjY0QzAwNTNDNzdGIC8qIERPTURPTU5h
bWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUyQ0NBOUU1MTVFM0Y2NEMwMDUzQzc3RiAvKiBET01ET01OYW1lZEZsb3dDb2xs
ZWN0aW9uLmggKi87IH07CisJCTUyQ0NBOUU5MTVFM0Y2NEMwMDUzQzc3RiAvKiBET01ET01OYW1l
ZEZsb3dDb2xsZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTJDQ0E5RTYxNUUzRjY0QzAwNTNDNzdGIC8qIERPTURPTU5hbWVkRmxvd0NvbGxl
Y3Rpb24ubW0gKi87IH07CisJCTUyQ0NBOUVBMTVFM0Y2NEMwMDUzQzc3RiAvKiBET01ET01OYW1l
ZEZsb3dDb2xsZWN0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUyQ0NBOUU3MTVFM0Y2NEMwMDUzQzc3RiAvKiBET01ET01OYW1lZEZs
b3dDb2xsZWN0aW9uSW50ZXJuYWwuaCAqLzsgfTsKIAkJNTJGNTJFMTExNEEwMTM0RjAwQUNDMzk3
IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTJGNTJFMTAxNEEwMTM0RjAwQUNDMzk3IC8qIE5TU2Nyb2xsZXJJ
bXBEZXRhaWxzLm1tICovOyB9OwogCQk1MzE3NjEyMjEzQzUxNjY5MDAyNkU0NTQgLyogU3R5bGVG
bGV4aWJsZUJveERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTMxNzYxMjAxM0M1MTY2OTAwMjZFNDU0IC8qIFN0eWxlRmxleGlibGVCb3hEYXRh
LmNwcCAqLzsgfTsKIAkJNTMxNzYxMjMxM0M1MTY2OTAwMjZFNDU0IC8qIFN0eWxlRmxleGlibGVC
b3hEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MzE3NjEyMTEzQzUxNjY5MDAyNkU0NTQgLyogU3R5bGVGbGV4aWJsZUJveERhdGEuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzA2Myw5ICszMDcw
LDYgQEAKIAkJOEExOTU5MzIxNDdFQTE2RTAwRDFFQTYxIC8qIERPTVdlYktpdE5hbWVkRmxvdy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEExOTU5MkYx
NDdFQTE2RTAwRDFFQTYxIC8qIERPTVdlYktpdE5hbWVkRmxvdy5oICovOyB9OwogCQk4QTE5NTkz
MzE0N0VBMTZFMDBEMUVBNjEgLyogRE9NV2ViS2l0TmFtZWRGbG93Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEExOTU5MzAxNDdFQTE2RTAwRDFFQTYx
IC8qIERPTVdlYktpdE5hbWVkRmxvdy5tbSAqLzsgfTsKIAkJOEExOTU5MzQxNDdFQTE2RTAwRDFF
QTYxIC8qIERPTVdlYktpdE5hbWVkRmxvd0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTE5NTkzMTE0N0VBMTZFMDBEMUVBNjEgLyogRE9N
V2ViS2l0TmFtZWRGbG93SW50ZXJuYWwuaCAqLzsgfTsKLQkJNTJDQ0E5RTgxNUUzRjY0QzAwNTND
NzdGIC8qIERPTURPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQ0NBOUU1MTVFM0Y2NEMwMDUzQzc3RiAvKiBET01E
T01OYW1lZEZsb3dDb2xsZWN0aW9uLmggKi87IH07Ci0JCTUyQ0NBOUU5MTVFM0Y2NEMwMDUzQzc3
RiAvKiBET01ET01OYW1lZEZsb3dDb2xsZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTJDQ0E5RTYxNUUzRjY0QzAwNTNDNzdGIC8qIERPTURP
TU5hbWVkRmxvd0NvbGxlY3Rpb24ubW0gKi87IH07Ci0JCTUyQ0NBOUVBMTVFM0Y2NEMwMDUzQzc3
RiAvKiBET01ET01OYW1lZEZsb3dDb2xsZWN0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQ0NBOUU3MTVFM0Y2NEMwMDUzQzc3RiAv
KiBET01ET01OYW1lZEZsb3dDb2xsZWN0aW9uSW50ZXJuYWwuaCAqLzsgfTsKIAkJOEEzMDlDOUYx
MjM5NTBCRTAwQ0I5MjA0IC8qIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTMwOUM5RTEyMzk1MEJFMDBDQjky
MDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCAqLzsgfTsKIAkJOEE0MTNBRTAxMjA3QkJB
NTAwODIwMTZFIC8qIFNjcmlwdFJ1bm5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEE0MTNBREUxMjA3QkJBNTAwODIwMTZFIC8qIFNjcmlwdFJ1bm5l
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCThB
NDEzQUUxMTIwN0JCQTUwMDgyMDE2RSAvKiBTY3JpcHRSdW5uZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE0MTNBREYxMjA3QkJBNTAwODIwMTZF
IC8qIFNjcmlwdFJ1bm5lci5jcHAgKi87IH07CkBAIC01OTQzLDEyICs1OTQ3LDYgQEAKIAkJRDcy
RjZEN0ExNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzJGNkQ3ODE1MzE1OUEzMDAx
RUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuaCAqLzsgfTsKIAkJRDc2MTNBNTAxNDc0RjEz
RjAwREI4NjA2IC8qIFdlYktpdE5hbWVkRmxvdy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzYxM0E0RTE0NzRGMTNGMDBEQjg2MDYgLyogV2ViS2l0
TmFtZWRGbG93LmNwcCAqLzsgfTsKIAkJRDc2MTNBQzQxNDc1M0U1NjAwREI4NjA2IC8qIEpTV2Vi
S2l0TmFtZWRGbG93LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQ3NjEzQUMyMTQ3NTNFNTYwMERCODYwNiAvKiBKU1dlYktpdE5hbWVkRmxvdy5jcHAg
Ki87IH07Ci0JCTUyQjZDOUMyMTVFM0Y0REYwMDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0
aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUy
QjZDOUJEMTVFM0Y0REYwMDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCAqLzsg
fTsKLQkJNTJCNkM5QzMxNUUzRjRERjAwNjkwQjA1IC8qIERPTU5hbWVkRmxvd0NvbGxlY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjZDOUJF
MTVFM0Y0REYwMDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmggKi87IH07Ci0JCTUy
QjZDOUM1MTVFM0Y0REYwMDY5MEIwNSAvKiBOYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjZDOUMwMTVFM0Y0REYw
MDY5MEIwNSAvKiBOYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCAqLzsgfTsKLQkJNTJCNkM5QzYxNUUz
RjRERjAwNjkwQjA1IC8qIE5hbWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyQjZDOUMxMTVFM0Y0REYwMDY5MEIwNSAvKiBO
YW1lZEZsb3dDb2xsZWN0aW9uLmggKi87IH07Ci0JCTUyQ0NBOUUyMTVFM0Y2MkMwMDUzQzc3RiAv
KiBKU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTJDQ0E5RTAxNUUzRjYyQzAwNTNDNzdGIC8qIEpTRE9NTmFt
ZWRGbG93Q29sbGVjdGlvbi5jcHAgKi87IH07Ci0JCTUyQ0NBOUUzMTVFM0Y2MkMwMDUzQzc3RiAv
KiBKU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUyQ0NBOUUxMTVFM0Y2MkMwMDUzQzc3RiAvKiBKU0RPTU5hbWVk
Rmxvd0NvbGxlY3Rpb24uaCAqLzsgfTsKIAkJRDhCNjE1MkYxMDMyNDk1MTAwQzg1NTRBIC8qIENv
b2tpZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDhC
NjE1MkUxMDMyNDk1MTAwQzg1NTRBIC8qIENvb2tpZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCURCMjNDMkNCMEE1MDhEMjkwMDI0ODlFQiAvKiBJ
bmRlbnRPdXRkZW50Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBEQjIzQzJDOTBBNTA4RDI5MDAyNDg5RUIgLyogSW5kZW50T3V0ZGVudENv
bW1hbmQuY3BwICovOyB9OwogCQlEQjIzQzJDQzBBNTA4RDI5MDAyNDg5RUIgLyogSW5kZW50T3V0
ZGVudENvbW1hbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IERCMjNDMkNBMEE1MDhEMjkwMDI0ODlFQiAvKiBJbmRlbnRPdXRkZW50Q29tbWFuZC5oICov
OyB9OwpAQCAtNjIxOCw3ICs2MjE2LDYgQEAKIAkJRjUyQUQ1RTQxNTM0MjQ1RjAwNTlGQkU2IC8q
IEVtcHR5Q2xpZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNTJBRDVFMzE1MzQyNDVGMDA1OUZCRTYgLyogRW1wdHlDbGllbnRzLmNwcCAqLzsg
fTsKIAkJRjU0NEY3ODgxNUNGQjJBODAwQUYzM0E4IC8qIE51bWJlckxvY2FsaXplci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTQ0Rjc4NjE1Q0ZC
MkE4MDBBRjMzQTggLyogTnVtYmVyTG9jYWxpemVyLmNwcCAqLzsgfTsKIAkJRjU0NEY3ODkxNUNG
QjJBODAwQUYzM0E4IC8qIE51bWJlckxvY2FsaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjU0NEY3ODcxNUNGQjJBODAwQUYzM0E4IC8qIE51bWJl
ckxvY2FsaXplci5oICovOyB9OwotCQlGNTUzQjg5MzE1QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNo
YXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NTUzQjg5MjE1QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgKi87IH07CiAJCUY1NUIz
REFEMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTVCM0Q3OTEyNTFGMTJEMDAzRUYy
NjkgLyogQmFzZVRleHRJbnB1dFR5cGUuY3BwICovOyB9OwogCQlGNTVCM0RBRTEyNTFGMTJEMDAz
RUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY1NUIzRDdBMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElu
cHV0VHlwZS5oICovOyB9OwogCQlGNTVCM0RBRjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9uSW5w
dXRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY1NUIzRDdCMTI1MUYxMkQwMDNFRjI2OSAvKiBCdXR0b25JbnB1dFR5cGUuY3BwICovOyB9OwpA
QCAtNjMwMSw2ICs2Mjk4LDEyIEBACiAJCUZBQkU3MkZFMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRo
TUxOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGQUJFNzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwICovOyB9OwogCQlG
Qjc4QUQyRTE1MUJGNUU2MDBGRTU0RDMgLyogQ1NTUGFyc2VyTW9kZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI3OEFEMkMxNTFCRjVEMjAwRkU1NEQz
IC8qIENTU1BhcnNlck1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlGQkMyMjBERjEyMzdGQkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0
M0RPcGVuR0wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNw
cCAqLzsgfTsKKwkJRkJENkFGODgxNUVGMjVDOTAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkQ2QUY4NzE1
RUYyMUQ0MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuaCAqLzsgfTsKKwkJRkJENkFGODkxNUVG
MjVEQjAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODQxNUVGMjFENDAwOEI3MTEwIC8q
IEJhc2ljU2hhcGVGdW5jdGlvbnMuY3BwICovOyB9OworCQlGQkQ2QUY4QTE1RUYyNURGMDA4Qjcx
MTAgLyogQmFzaWNTaGFwZUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODUxNUVGMjFENDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVG
dW5jdGlvbnMuaCAqLzsgfTsKKwkJRkJENkFGOEIxNUVGMjVFNTAwOEI3MTEwIC8qIENTU0Jhc2lj
U2hhcGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZCRDZBRjg2MTVFRjIxRDQwMDhCNzExMCAvKiBDU1NCYXNpY1NoYXBlcy5jcHAgKi87IH07CisJ
CUZCRDZBRjhDMTVFRjI2MDQwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODMxNUVGMjFBMzAwOEI3MTEw
IC8qIEJhc2ljU2hhcGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRkJENkFGOEQxNUVGMjYwQTAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCRDZBRjgyMTVF
RjIxQTMwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5jcHAgKi87IH07CiAJCUZEMDBEN0E0MTRBM0Y2
MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMDBEN0EyMTRBM0Y2MTkwMDczNDAxMSAvKiBTaW5jUmVz
YW1wbGVyLmNwcCAqLzsgfTsKIAkJRkQwMEQ3QTUxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNh
bXBsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZE
MDBEN0EzMTRBM0Y2MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmggKi87IH07CiAJCUZEMDZE
RkE1MTM0QTRERUYwMDZGNUQ3RCAvKiBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQwNkRGQTMxMzRB
NERFRjAwNkY1RDdEIC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi87IH07CkBA
IC02NTExLDkgKzY1MTQsNiBAQAogCQlGREM1NEYwNDEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFk
RmlsdGVyTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGREM1NEYwMTEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5jcHAgKi87
IH07CiAJCUZEQzU0RjA1MTM5OUIwREEwMDhEOTExNyAvKiBCaXF1YWRGaWx0ZXJOb2RlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREM1NEYwMjEzOTlC
MERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5oICovOyB9OwogCQlGREUyRDU1QjE1OUU2
NkVCMDBEQ0NDRjggLyogQXVkaW9JT0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREUyRDU1QTE1OUU2NkVCMDBEQ0NDRjggLyogQXVkaW9J
T0NhbGxiYWNrLmggKi87IH07Ci0JCUZERTY4NjAyMTVCMEE5M0IwMEJCNDgwQyAvKiBXcmFwU2hh
cGVGdW5jdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkQ3RTk1QTIxNUFDRDYwOTAwMzlFM0QwIC8qIFdyYXBTaGFwZUZ1bmN0aW9ucy5jcHAg
Ki87IH07Ci0JCUZERTY4NjAzMTVCMEE5NjEwMEJCNDgwQyAvKiBXcmFwU2hhcGVGdW5jdGlvbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEN0U5NUEw
MTVBQ0Q1NjIwMDM5RTNEMCAvKiBXcmFwU2hhcGVGdW5jdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlGREU2ODYwNDE1QjBBOTYxMDBCQjQ4
MEMgLyogV3JhcFNoYXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkRCNTFDRjQxNTlDRDcwMzAwRTIyN0M1IC8qIFdyYXBTaGFwZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGREVBNjI0MjE1MjEw
MkUyMDA0NzlERjAgLyogSlNPc2NpbGxhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZERUE2MjQwMTUyMTAyRTIwMDQ3OURGMCAvKiBKU09zY2ls
bGF0b3IuY3BwICovOyB9OwogCQlGREVBNjI0MzE1MjEwMkUyMDA0NzlERjAgLyogSlNPc2NpbGxh
dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREVB
NjI0MTE1MjEwMkUyMDA0NzlERjAgLyogSlNPc2NpbGxhdG9yLmggKi87IH07CiAJCUZERUE2MjQ2
MTUyMTAyRkMwMDQ3OURGMCAvKiBKU1dhdmVUYWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREVBNjI0NDE1MjEwMkZDMDA0NzlERjAgLyogSlNX
YXZlVGFibGUuY3BwICovOyB9OwpAQCAtODYxMyw5ICs4NjEzLDcgQEAKIAkJNEZBM0I5MDkxMjVD
RDEyMjAwMzAwQkFEIC8qIEluc3BlY3RvclN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEluc3BlY3RvclN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTRGRDhEMEYwMTE5QzcxOEIwMDJGQTgyNSAvKiBTY3JpcHRHQ0V2ZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdEdDRXZlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0RkQ4RDBGMTExOUM3MThCMDAyRkE4MjUgLyogU2NyaXB0R0NF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRHQ0V2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUwMUJBOUUxMTM5M0NFQTAwMEY3QUNFQiAv
KiBDU1NXcmFwU2hhcGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1dy
YXBTaGFwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTAxQkFBQTgxMzk1MEUy
QzAwRjdBQ0VCIC8qIFdpbmRSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdpbmRSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUwMUJBQUIxMTM5NTEx
NEIwMEY3QUNFQiAvKiBDU1NXcmFwU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU1dyYXBTaGFwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MDM4QkMwNjE0NzExQ0RCMDA5NUUwRDEgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTU2hhZGVyVmFs
dWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDM4QkUyRDE0NzJBRDIzMDA5
NUUwRDEgLyogU3R5bGVDYWNoZWRTaGFkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gU3R5bGVDYWNoZWRTaGFkZXIuY3BwOyBwYXRoID0gc3R5bGUvU3R5bGVDYWNo
ZWRTaGFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDM4QkUyRTE0NzJB
RDIzMDA5NUUwRDEgLyogU3R5bGVDYWNoZWRTaGFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gU3R5bGVDYWNoZWRTaGFkZXIuaDsgcGF0aCA9IHN0eWxlL1N0eWxlQ2FjaGVk
U2hhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NzY3LDYgKzg3NjUsMTYg
QEAKIAkJNTFGQjU1MDMxMTNFM0U5MTAwODIxMTc2IC8qIEpTQ2xvc2VFdmVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Nsb3NlRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MjFENDZGNTExQUVDOTgxMDA1MTQ2MTMgLyogS2lsbFJp
bmdNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBLaWxsUmlu
Z01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIxRDQ2RjcxMUFFQzlCMTAw
NTE0NjEzIC8qIEtpbGxSaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtp
bGxSaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyQjZDOUJEMTVFM0Y0REYw
MDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IERPTU5hbWVkRmxvd0NvbGxlY3Rpb24uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1MkI2QzlCRTE1RTNGNERGMDA2OTBCMDUgLyogRE9NTmFtZWRG
bG93Q29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01OYW1l
ZEZsb3dDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyQjZDOUJG
MTVFM0Y0REYwMDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNTJCNkM5QzAxNUUzRjRERjAwNjkwQjA1IC8qIE5hbWVkRmxvd0NvbGxl
Y3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmFtZWRGbG93
Q29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyQjZDOUMxMTVF
M0Y0REYwMDY5MEIwNSAvKiBOYW1lZEZsb3dDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE5hbWVkRmxvd0NvbGxlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTJDQ0E5RTAxNUUzRjYyQzAwNTNDNzdGIC8qIEpTRE9NTmFtZWRGbG93Q29s
bGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTU5h
bWVkRmxvd0NvbGxlY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MkND
QTlFMTE1RTNGNjJDMDA1M0M3N0YgLyogSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MkNDQTlFNTE1RTNGNjRDMDA1M0M3N0YgLyog
RE9NRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01ET01OYW1lZEZsb3dDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTUyQ0NBOUU2MTVFM0Y2NEMwMDUzQzc3RiAvKiBET01ET01OYW1lZEZsb3dDb2xsZWN0
aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NRE9NTmFt
ZWRGbG93Q29sbGVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTJDQ0E5
RTcxNUUzRjY0QzAwNTNDNzdGIC8qIERPTURPTU5hbWVkRmxvd0NvbGxlY3Rpb25JbnRlcm5hbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01ET01OYW1lZEZsb3dDb2xsZWN0
aW9uSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTJGNTJFMTAxNEEw
MTM0RjAwQUNDMzk3IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gTlNTY3JvbGxlckltcERldGFpbHMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzMTc2MTIwMTNDNTE2NjkwMDI2RTQ1NCAvKiBTdHlsZUZs
ZXhpYmxlQm94RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBT
dHlsZUZsZXhpYmxlQm94RGF0YS5jcHA7IHBhdGggPSBzdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0
YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzMTc2MTIxMTNDNTE2NjkwMDI2
RTQ1NCAvKiBTdHlsZUZsZXhpYmxlQm94RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBTdHlsZUZsZXhpYmxlQm94RGF0YS5oOyBwYXRoID0gc3R5bGUvU3R5bGVGbGV4aWJs
ZUJveERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMjE1LDkgKzEwMjIz
LDYgQEAKIAkJOEExOTU5MkYxNDdFQTE2RTAwRDFFQTYxIC8qIERPTVdlYktpdE5hbWVkRmxvdy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXROYW1lZEZsb3cuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEExOTU5MzAxNDdFQTE2RTAwRDFFQTYxIC8q
IERPTVdlYktpdE5hbWVkRmxvdy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IERPTVdlYktpdE5hbWVkRmxvdy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOEExOTU5MzExNDdFQTE2RTAwRDFFQTYxIC8qIERPTVdlYktpdE5hbWVkRmxvd0ludGVybmFs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdE5hbWVkRmxvd0lu
dGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUyQ0NBOUU1MTVFM0Y2NEMw
MDUzQzc3RiAvKiBET01ET01OYW1lZEZsb3dDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERPTURPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaDsgcGF0aCA9IERPTURP
TU5hbWVkRmxvd0NvbGxlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTJD
Q0E5RTYxNUUzRjY0QzAwNTNDNzdGIC8qIERPTURPTU5hbWVkRmxvd0NvbGxlY3Rpb24ubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBET01ET01OYW1lZEZsb3dDb2xs
ZWN0aW9uLm1tOyBwYXRoID0gRE9NRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTJDQ0E5RTcxNUUzRjY0QzAwNTNDNzdGIC8qIERPTURPTU5h
bWVkRmxvd0NvbGxlY3Rpb25JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBET01ET01OYW1lZEZsb3dDb2xsZWN0aW9uSW50ZXJuYWwuaDsgcGF0aCA9IERPTURPTU5h
bWVkRmxvd0NvbGxlY3Rpb25JbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4QTMwOUM5RTEyMzk1MEJFMDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIu
aDsgcGF0aCA9IHBhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4QTQxM0FERTEyMDdCQkE1MDA4MjAxNkUgLyogU2NyaXB0UnVubmVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdFJ1bm5lci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTQxM0FERjEyMDdCQkE1MDA4MjAxNkUgLyogU2Ny
aXB0UnVubmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlw
dFJ1bm5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzI3MiwxMyArMTMy
NzcsNiBAQAogCQlENzYxM0E0RTE0NzRGMTNGMDBEQjg2MDYgLyogV2ViS2l0TmFtZWRGbG93LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYktpdE5hbWVkRmxvdy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3NjEzQUMyMTQ3NTNFNTYwMERCODYw
NiAvKiBKU1dlYktpdE5hbWVkRmxvdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1dlYktpdE5hbWVkRmxvdy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUQ3NjEzQUMzMTQ3NTNFNTYwMERCODYwNiAvKiBKU1dlYktpdE5hbWVkRmxvdy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdE5hbWVkRmxvdy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk1MkI2QzlCRDE1RTNGNERGMDA2OTBCMDUgLyogRE9NTmFt
ZWRGbG93Q29sbGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNTJCNkM5QkUxNUUzRjRERjAwNjkwQjA1IC8qIERPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MkI2QzlCRjE1RTNGNERGMDA2OTBCMDUg
LyogRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9N
TmFtZWRGbG93Q29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUy
QjZDOUMwMTVFM0Y0REYwMDY5MEIwNSAvKiBOYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hbWVkRmxvd0NvbGxlY3Rpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MkI2QzlDMTE1RTNGNERGMDA2OTBCMDUgLyog
TmFtZWRGbG93Q29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
YW1lZEZsb3dDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUyQ0NB
OUUwMTVFM0Y2MkMwMDUzQzc3RiAvKiBKU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNET01OYW1lZEZsb3dDb2xsZWN0aW9u
LmNwcDsgcGF0aCA9IEpTRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTUyQ0NBOUUxMTVFM0Y2MkMwMDUzQzc3RiAvKiBKU0RPTU5hbWVkRmxv
d0NvbGxlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNET01OYW1l
ZEZsb3dDb2xsZWN0aW9uLmg7IHBhdGggPSBKU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDhCNjE1MkUxMDMyNDk1MTAwQzg1NTRBIC8qIENv
b2tpZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29raWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREIyM0MyQzkwQTUwOEQyOTAwMjQ4OUVCIC8qIEluZGVu
dE91dGRlbnRDb21tYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbmRlbnRPdXRkZW50Q29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CURCMjNDMkNBMEE1MDhEMjkwMDI0ODlFQiAvKiBJbmRlbnRPdXRkZW50Q29tbWFuZC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5kZW50T3V0ZGVudENvbW1hbmQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTk1LDcgKzEzNTkzLDYgQEAKIAkJRjUyQUQ1
RTMxNTM0MjQ1RjAwNTlGQkU2IC8qIEVtcHR5Q2xpZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBFbXB0eUNsaWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNTQ0Rjc4NjE1Q0ZCMkE4MDBBRjMzQTggLyogTnVtYmVyTG9jYWxpemVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE51bWJlckxvY2FsaXplci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY1NDRGNzg3MTVDRkIyQTgwMEFGMzNB
OCAvKiBOdW1iZXJMb2NhbGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TnVtYmVyTG9jYWxpemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUY1NTNCODky
MTVCRTI2QzAwMEIxMzRDOSAvKiBXcmFwU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IFdyYXBTaGFwZXMuY3BwOyBwYXRoID0gc3R5bGUvV3JhcFNoYXBlcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY1NUIzRDc5MTI1MUYxMkQwMDNFRjI2
OSAvKiBCYXNlVGV4dElucHV0VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBCYXNlVGV4dElucHV0VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY1NUIzRDdBMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCYXNlVGV4dElucHV0VHlwZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGNTVCM0Q3QjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9u
SW5wdXRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJ1dHRv
bklucHV0VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzY5NCw2ICsx
MzY5MSwxMiBAQAogCQlGQUJFNzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MTmFtZXMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjc4QUQyQzE1MUJGNUQyMDBGRTU0RDMgLyog
Q1NTUGFyc2VyTW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NQYXJz
ZXJNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCQzIyMERFMTIzN0ZCRUIw
MEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCRDZBRjgyMTVFRjIxQTMwMDhCNzExMCAvKiBCYXNpY1No
YXBlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCYXNpY1NoYXBl
cy5jcHA7IHBhdGggPSBzdHlsZS9CYXNpY1NoYXBlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUZCRDZBRjgzMTVFRjIxQTMwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBCYXNpY1NoYXBlcy5oOyBwYXRoID0gc3R5bGUv
QmFzaWNTaGFwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkJENkFGODQxNUVG
MjFENDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUZCRDZBRjg1MTVFRjIxRDQwMDhCNzExMCAvKiBCYXNpY1NoYXBl
RnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhc2ljU2hhcGVG
dW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkJENkFGODYxNUVGMjFE
NDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU0Jhc2ljU2hhcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkJENkFGODcxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0Jhc2ljU2hhcGVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUZEMDBEN0EyMTRBM0Y2MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1w
bGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbmNSZXNhbXBs
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDAwRDdBMzE0QTNGNjE5MDA3
MzQwMTEgLyogU2luY1Jlc2FtcGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTaW5jUmVzYW1wbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEMDZERkEz
MTM0QTRERUYwMDZGNUQ3RCAvKiBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25O
b2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzODY3LDggKzEzODcwLDYg
QEAKIAkJRkQ3NDhBQkUxNUJGNzRFRDAwNTlDRjBEIC8qIFdyYXBTaGFwZUluZm8uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV3JhcFNoYXBlSW5mby5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGRDc4NjhCNzEzNkI5OTkyMDBENDAzREYgLyogSlNEeW5hbWljc0Nv
bXByZXNzb3JOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
RHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUZENzg2OEI4MTM2Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEeW5hbWljc0NvbXByZXNzb3JOb2Rl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZEN0U5NUEwMTVBQ0Q1NjIwMDM5RTNE
MCAvKiBXcmFwU2hhcGVGdW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV3JhcFNoYXBlRnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZE
N0U5NUEyMTVBQ0Q2MDkwMDM5RTNEMCAvKiBXcmFwU2hhcGVGdW5jdGlvbnMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV3JhcFNoYXBlRnVuY3Rpb25zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQ3RjI5OEExM0Q0QzBDQjAwQUQ5NTM1IC8qIFdh
dmVTaGFwZXJEU1BLZXJuZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2F2ZVNoYXBlckRTUEtlcm5lbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUZEN0YyOThCMTNENEMwQ0IwMEFEOTUzNSAvKiBXYXZlU2hhcGVyRFNQS2VybmVsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhdmVTaGFwZXJEU1BLZXJuZWwuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQ3RjI5OEMxM0Q0QzBDQjAwQUQ5NTM1IC8qIFdhdmVT
aGFwZXJOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhdmVT
aGFwZXJOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzOTI3LDcgKzEz
OTI4LDYgQEAKIAkJRkRCMDUyREUxNTYxQTQyQzAwQjUwMEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvU3VtbWluZ0p1bmN0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQjE3MDAzMTRBMkJBQjIwMEEy
QjVEOSAvKiBNdWx0aUNoYW5uZWxSZXNhbXBsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTXVsdGlDaGFubmVsUmVzYW1wbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkRCMTcwMDQxNEEyQkFCMjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJl
c2FtcGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdWx0aUNoYW5uZWxS
ZXNhbXBsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkRCNTFDRjQxNTlDRDcw
MzAwRTIyN0M1IC8qIFdyYXBTaGFwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gV3JhcFNoYXBlcy5oOyBwYXRoID0gc3R5bGUvV3JhcFNoYXBlcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGREJENDgwQTE1OUJDNjg3MDA5M0VCNEYgLyogSlNNZWRpYVN0cmVh
bUF1ZGlvU291cmNlTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkRCRDQ4MEIxNTlCQzY4NzAwOTNFQjRGIC8qIEpTTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYVN0cmVh
bUF1ZGlvU291cmNlTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGREM1NEYw
MTEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCaXF1YWRGaWx0ZXJOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNDA4LDYgKzIwNDA4LDggQEAKIAkJQkM4QzhGQUEwRERDRDJG
MjAwQjU5MkY0IC8qIHN0eWxlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQlGQkQ2QUY4MjE1RUYyMUEzMDA4QjcxMTAgLyogQmFzaWNTaGFwZXMuY3BwICov
LAorCQkJCUZCRDZBRjgzMTVFRjIxQTMwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5oICovLAogCQkJ
CUJDNUVCNUUwMEU4MUJFODcwMEIyNTk2NSAvKiBCb3JkZXJEYXRhLmggKi8sCiAJCQkJQkM1RUI1
REEwRTgxQjdFQTAwQjI1OTY1IC8qIEJvcmRlclZhbHVlLmggKi8sCiAJCQkJQkM1RUI1REUwRTgx
QjlBQjAwQjI1OTY1IC8qIENvbGxhcHNlZEJvcmRlclZhbHVlLmggKi8sCkBAIC0yMDQ4Miw4ICsy
MDQ4NCw2IEBACiAJCQkJQkMyMjc0NzUwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxl
LmggKi8sCiAJCQkJQkMyMjc0NzYwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlRGVm
cy5jcHAgKi8sCiAJCQkJQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxl
RGVmcy5oICovLAotCQkJCUY1NTNCODkyMTVCRTI2QzAwMEIxMzRDOSAvKiBXcmFwU2hhcGVzLmNw
cCAqLywKLQkJCQlGREI1MUNGNDE1OUNENzAzMDBFMjI3QzUgLyogV3JhcFNoYXBlcy5oICovLAog
CQkJKTsKIAkJCW5hbWUgPSBzdHlsZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0y
MTAzMSwxMSArMjEwMzEsMTUgQEAKIAkJRjUyM0QxODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAq
LyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRkJENkFGODQx
NUVGMjFENDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuY3BwICovLAorCQkJCUZCRDZB
Rjg1MTVFRjIxRDQwMDhCNzExMCAvKiBCYXNpY1NoYXBlRnVuY3Rpb25zLmggKi8sCiAJCQkJOTND
QTRDOUMwOURGOTNGQTAwREY4Njc3IC8qIG1ha2V0b2tlbml6ZXIgKi8sCiAJCQkJQTgwRTZDREEw
QTE5ODlDQTAwN0ZCOEM1IC8qIENvdW50ZXIuaCAqLywKIAkJCQk5MzA3MDVDNzA5RTBDOTVGMDBC
MTdGRTQgLyogQ291bnRlci5pZGwgKi8sCiAJCQkJQ0FFOUY5MEQxNDY0NDFGMDAwQzI0NUIwIC8q
IENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwICovLAogCQkJCUNBRTlGOTBFMTQ2NDQxRjAwMEMyNDVC
MCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi8sCisJCQkJRkJENkFGODYxNUVGMjFENDAwOEI3
MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmNwcCAqLywKKwkJCQlGQkQ2QUY4NzE1RUYyMUQ0MDA4Qjcx
MTAgLyogQ1NTQmFzaWNTaGFwZXMuaCAqLywKIAkJCQlFMTZBODRGNzE0Qzg1Q0NDMDAyOTc3REYg
LyogQ1NTQm9yZGVySW1hZ2UuY3BwICovLAogCQkJCUUxNkE4NEY4MTRDODVDQ0MwMDI5NzdERiAv
KiBDU1NCb3JkZXJJbWFnZS5oICovLAogCQkJCUJDMjc0QjMwMTQwRUJFRDgwMEVBREZBNiAvKiBD
U1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwICovLApAQCAtMjExNDksOCArMjExNTMsNiBAQAog
CQkJCUU0OUJEQTBBMTMxRkQzRTUwMDNDNTZGMCAvKiBDU1NWYWx1ZVBvb2wuY3BwICovLAogCQkJ
CUU0OUJEOUY5MTMxRkQyRUQwMDNDNTZGMCAvKiBDU1NWYWx1ZVBvb2wuaCAqLywKIAkJCQlDQUU5
RjkwRTE0NjQ0MUYwMDBDMjQ1QjEgLyogQ1NTVmFyaWFibGVWYWx1ZS5oICovLAotCQkJCTUwMUJB
QUIxMTM5NTExNEIwMEY3QUNFQiAvKiBDU1NXcmFwU2hhcGVzLmNwcCAqLywKLQkJCQk1MDFCQTlF
MTEzOTNDRUEwMDBGN0FDRUIgLyogQ1NTV3JhcFNoYXBlcy5oICovLAogCQkJCUE4MEU2Q0UxMEEx
OTg5Q0EwMDdGQjhDNSAvKiBEYXNoYm9hcmRSZWdpb24uaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3
RDFEMDA0NkE3RjggLyogRm9udEZlYXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0Mx
N0QxRDAwNDZBN0Y4IC8qIEZvbnRGZWF0dXJlVmFsdWUuaCAqLywKQEAgLTIxMjUzLDggKzIxMjU1
LDYgQEAKIAkJCQlCQzlBREQ3RjBDQzQwOTIyMDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuY3BwICovLAogCQkJCUJDOUFERDIyMENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZS5oICovLAogCQkJCTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwgKi8sCi0JCQkJRkQ3RTk1QTIxNUFDRDYwOTAwMzlFM0Qw
IC8qIFdyYXBTaGFwZUZ1bmN0aW9ucy5jcHAgKi8sCi0JCQkJRkQ3RTk1QTAxNUFDRDU2MjAwMzlF
M0QwIC8qIFdyYXBTaGFwZUZ1bmN0aW9ucy5oICovLAogCQkJKTsKIAkJCXBhdGggPSBjc3M7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjI1MTksNyArMjI1MTksNiBAQAogCQkJCUE4
MEU2Q0U5MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NWYWx1ZUxpc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU0OUJEOUZBMTMxRkQyRUQwMDNDNTZGMCAvKiBDU1NWYWx1ZVBvb2wuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNBRTlGOTEwMTQ2NDQxRjAwMEMyNDVCMSAvKiBDU1NWYXJpYWJsZVZhbHVlLmgg
aW4gSGVhZGVycyAqLywKLQkJCQk1MDFCQTlFMjEzOTNDRUEwMDBGN0FDRUIgLyogQ1NTV3JhcFNo
YXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5MkYwODI0NUU1OTAwMUU5QUJDIC8qIEN1
cnNvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMjcyQTIwRTgyRTg3QzAwRTdGOTc1IC8qIEN1
cnNvckRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjI3MkFEMEU4MkU4RjMwMEU3Rjk3NSAv
KiBDdXJzb3JMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NDM3LDkgKzI1NDM2LDcgQEAKIAkJ
CQkwQjkwNTZGOTBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTdBQUJEMkQxNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUyNDA5OUU2
NDkyMDA1NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21tYW5kLmggaW4gSGVhZGVy
cyAqLywKLQkJCQlGREU2ODYwMzE1QjBBOTYxMDBCQjQ4MEMgLyogV3JhcFNoYXBlRnVuY3Rpb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDc0OEFDMDE1QkY3NEVEMDA1OUNGMEQgLyogV3JhcFNo
YXBlSW5mby5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRkRFNjg2MDQxNUIwQTk2MTAwQkI0ODBDIC8q
IFdyYXBTaGFwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCQUYzQjI0MTJDMUEzOTgwMDAxNEJG
MSAvKiBXcml0aW5nRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTY1ODIwMjA5RDE1
MDhEMDAwRTYxRDcgLyogWExpbmtOYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDBEMDQ2NEIx
M0M0RDE0NTAwMzI2RkNDIC8qIFhNTENoYXJhY3RlclJlZmVyZW5jZVBhcnNlci5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNTQ4NCw2ICsyNTQ4MSw5IEBACiAJCQkJOTM3N0FCQTAxNURFRkVFRjAwMzFG
RDA0IC8qIFBhZ2luYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTE0NDc2QUE4MTVEQzRCQjEw
MDMwNURCMiAvKiBXcml0aW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFCODAxQkIxNUVD
NThDNzAwQ0U2NDNEIC8qIExheW91dFR5cGVzSW5saW5lTWV0aG9kcy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRkJENkFGODgxNUVGMjVDOTAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlGQkQ2QUY4QTE1RUYyNURGMDA4QjcxMTAgLyogQmFzaWNTaGFwZUZ1bmN0
aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkJENkFGOEMxNUVGMjYwNDAwOEI3MTEwIC8qIEJh
c2ljU2hhcGVzLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI1NjM2LDcgKzI1NjM2LDYgQEAKIAkJCQk4
NTEzNkNBODBBRUQ2NjU5MDBGOTBBM0QgLyogd2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3Vy
Y2VzICovLAogCQkJCTFBQjFBRTdBMEMwNTFGREUwMDEzOUY0RiAvKiB6b29tSW5DdXJzb3IucG5n
IGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYgLyogem9vbU91
dEN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAotCQkJCTUyQjZDOUM0MTVFM0Y0REYwMDY5MEIw
NSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmlkbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNjA5
Niw3ICsyNjA5NSw2IEBACiAJCQkJMUFCQTc2Q0IxMUQyMEU1NzAwNEMyMDFDIC8qIENTU1ZhbHVl
S2V5d29yZHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRTQwQTE5ODlDQTAwN0ZCOEM1
IC8qIENTU1ZhbHVlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDlCREEwQjEzMUZEM0U1
MDAzQzU2RjAgLyogQ1NTVmFsdWVQb29sLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUwRTU2NkQ2
MTM5RTM4QzUwMDIxNDQzMyAvKiBDU1NXcmFwU2hhcGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxMUFGMTUxMTFCOUExQTMwMDgwNTEwMyAvKiBDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMjY1NTQxNTIxNDg5QjIzMzAwMERGQzVEIC8qIEN1cnNvcklPUy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5M0YxOUEyNjA4MjQ1RTU5MDAxRTlBQkMgLyogQ3Vyc29yTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCkBAIC0yODUyNSw5ICsyODUyMyw3IEBACiAJCQkJMEI5MDU2RjgwRjI2ODVGMzAwOTVG
RjZBIC8qIFdvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdB
QUJEMkMxNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5RTIzMDk5RTY0OTIwMDU2RTU4MSAvKiBXcmFw
Q29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRkRFNjg2
MDIxNUIwQTkzQjAwQkI0ODBDIC8qIFdyYXBTaGFwZUZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGRDc0OEFCRjE1QkY3NEVEMDA1OUNGMEQgLyogV3JhcFNoYXBlSW5mby5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQlGNTUzQjg5MzE1QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBODMzQzdDQzBBMkNGMDc0MDBENTc2NjQgLyogWExpbmtO
YW1lcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwMEQwNDY0QTEzQzREMTQ1MDAzMjZGQ0MgLyog
WE1MQ2hhcmFjdGVyUmVmZXJlbmNlUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTAwQjkz
MTg3MTNCQThEQjMwMDM1QTk0OCAvKiBYTUxEb2N1bWVudFBhcnNlci5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTI4NTcyLDYgKzI4NTY4LDkgQEAKIAkJCQk1MkI2QzlDNTE1RTNGNERGMDA2OTBCMDUg
LyogTmFtZWRGbG93Q29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MkNDQTlFMjE1
RTNGNjJDMDA1M0M3N0YgLyogSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUyQ0NBOUU5MTVFM0Y2NEMwMDUzQzc3RiAvKiBET01ET01OYW1lZEZsb3dDb2xs
ZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRkJENkFGODkxNUVGMjVEQjAwOEI3MTEwIC8q
IEJhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkJENkFGOEIxNUVG
MjVFNTAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZC
RDZBRjhEMTVFRjI2MEEwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
OGQ1MGVjNjMyZDg3NTUyOGI1NzgwZGRkMGMwOTJmZDg0N2UxOTFjCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwCkBAIC0wLDAgKzEs
MTY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3Jh
dGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCc
QVMgSVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUK
KyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiQmFzaWNTaGFwZUZ1bmN0aW9ucy5oIgorCisjaW5jbHVkZSAiQmFzaWNT
aGFwZXMuaCIKKyNpbmNsdWRlICJDU1NCYXNpY1NoYXBlcy5oIgorI2luY2x1ZGUgIkNTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZVBvb2wuaCIKKyNpbmNsdWRl
ICJTdHlsZVJlc29sdmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gdmFsdWVGb3JXcmFwU2hhcGUoY29uc3QgV3JhcFNoYXBlKiB3cmFwU2hhcGUpCit7
CisgICAgUmVmUHRyPENTU1dyYXBTaGFwZT4gd3JhcFNoYXBlVmFsdWU7CisgICAgc3dpdGNoICh3
cmFwU2hhcGUtPnR5cGUoKSkgeworICAgIGNhc2UgV3JhcFNoYXBlOjpXUkFQX1NIQVBFX1JFQ1RB
TkdMRTogeworICAgICAgICBjb25zdCBXcmFwU2hhcGVSZWN0YW5nbGUqIHJlY3RhbmdsZSA9IHN0
YXRpY19jYXN0PGNvbnN0IFdyYXBTaGFwZVJlY3RhbmdsZSo+KHdyYXBTaGFwZSk7CisgICAgICAg
IFJlZlB0cjxDU1NXcmFwU2hhcGVSZWN0YW5nbGU+IHJlY3RhbmdsZVZhbHVlID0gQ1NTV3JhcFNo
YXBlUmVjdGFuZ2xlOjpjcmVhdGUoKTsKKworICAgICAgICByZWN0YW5nbGVWYWx1ZS0+c2V0WChj
c3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShyZWN0YW5nbGUtPngoKSkpOworICAgICAgICByZWN0
YW5nbGVWYWx1ZS0+c2V0WShjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShyZWN0YW5nbGUtPnko
KSkpOworICAgICAgICByZWN0YW5nbGVWYWx1ZS0+c2V0V2lkdGgoY3NzVmFsdWVQb29sKCkuY3Jl
YXRlVmFsdWUocmVjdGFuZ2xlLT53aWR0aCgpKSk7CisgICAgICAgIHJlY3RhbmdsZVZhbHVlLT5z
ZXRIZWlnaHQoY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUocmVjdGFuZ2xlLT5oZWlnaHQoKSkp
OworICAgICAgICBpZiAoIXJlY3RhbmdsZS0+Y29ybmVyUmFkaXVzWCgpLmlzVW5kZWZpbmVkKCkp
IHsKKyAgICAgICAgICAgIHJlY3RhbmdsZVZhbHVlLT5zZXRSYWRpdXNYKGNzc1ZhbHVlUG9vbCgp
LmNyZWF0ZVZhbHVlKHJlY3RhbmdsZS0+Y29ybmVyUmFkaXVzWCgpKSk7CisgICAgICAgICAgICBp
ZiAoIXJlY3RhbmdsZS0+Y29ybmVyUmFkaXVzWSgpLmlzVW5kZWZpbmVkKCkpCisgICAgICAgICAg
ICAgICAgcmVjdGFuZ2xlVmFsdWUtPnNldFJhZGl1c1koY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFs
dWUocmVjdGFuZ2xlLT5jb3JuZXJSYWRpdXNZKCkpKTsKKyAgICAgICAgfQorCisgICAgICAgIHdy
YXBTaGFwZVZhbHVlID0gcmVjdGFuZ2xlVmFsdWUucmVsZWFzZSgpOworICAgICAgICBicmVhazsK
KyAgICB9CisgICAgY2FzZSBXcmFwU2hhcGU6OldSQVBfU0hBUEVfQ0lSQ0xFOiB7CisgICAgICAg
IGNvbnN0IFdyYXBTaGFwZUNpcmNsZSogY2lyY2xlID0gc3RhdGljX2Nhc3Q8Y29uc3QgV3JhcFNo
YXBlQ2lyY2xlKj4od3JhcFNoYXBlKTsKKyAgICAgICAgUmVmUHRyPENTU1dyYXBTaGFwZUNpcmNs
ZT4gY2lyY2xlVmFsdWUgPSBDU1NXcmFwU2hhcGVDaXJjbGU6OmNyZWF0ZSgpOworCisgICAgICAg
IGNpcmNsZVZhbHVlLT5zZXRDZW50ZXJYKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKGNpcmNs
ZS0+Y2VudGVyWCgpKSk7CisgICAgICAgIGNpcmNsZVZhbHVlLT5zZXRDZW50ZXJZKGNzc1ZhbHVl
UG9vbCgpLmNyZWF0ZVZhbHVlKGNpcmNsZS0+Y2VudGVyWSgpKSk7CisgICAgICAgIGNpcmNsZVZh
bHVlLT5zZXRSYWRpdXMoY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoY2lyY2xlLT5yYWRpdXMo
KSkpOworCisgICAgICAgIHdyYXBTaGFwZVZhbHVlID0gY2lyY2xlVmFsdWUucmVsZWFzZSgpOwor
ICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBXcmFwU2hhcGU6OldSQVBfU0hBUEVfRUxM
SVBTRTogeworICAgICAgICBjb25zdCBXcmFwU2hhcGVFbGxpcHNlKiBlbGxpcHNlID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgV3JhcFNoYXBlRWxsaXBzZSo+KHdyYXBTaGFwZSk7CisgICAgICAgIFJlZlB0
cjxDU1NXcmFwU2hhcGVFbGxpcHNlPiBlbGxpcHNlVmFsdWUgPSBDU1NXcmFwU2hhcGVFbGxpcHNl
OjpjcmVhdGUoKTsKKworICAgICAgICBlbGxpcHNlVmFsdWUtPnNldENlbnRlclgoY3NzVmFsdWVQ
b29sKCkuY3JlYXRlVmFsdWUoZWxsaXBzZS0+Y2VudGVyWCgpKSk7CisgICAgICAgIGVsbGlwc2VW
YWx1ZS0+c2V0Q2VudGVyWShjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShlbGxpcHNlLT5jZW50
ZXJZKCkpKTsKKyAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRSYWRpdXNYKGNzc1ZhbHVlUG9vbCgp
LmNyZWF0ZVZhbHVlKGVsbGlwc2UtPnJhZGl1c1goKSkpOworICAgICAgICBlbGxpcHNlVmFsdWUt
PnNldFJhZGl1c1koY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoZWxsaXBzZS0+cmFkaXVzWSgp
KSk7CisKKyAgICAgICAgd3JhcFNoYXBlVmFsdWUgPSBlbGxpcHNlVmFsdWUucmVsZWFzZSgpOwor
ICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBXcmFwU2hhcGU6OldSQVBfU0hBUEVfUE9M
WUdPTjogeworICAgICAgICBjb25zdCBXcmFwU2hhcGVQb2x5Z29uKiBwb2x5Z29uID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgV3JhcFNoYXBlUG9seWdvbio+KHdyYXBTaGFwZSk7CisgICAgICAgIFJlZlB0
cjxDU1NXcmFwU2hhcGVQb2x5Z29uPiBwb2x5Z29uVmFsdWUgPSBDU1NXcmFwU2hhcGVQb2x5Z29u
OjpjcmVhdGUoKTsKKworICAgICAgICBwb2x5Z29uVmFsdWUtPnNldFdpbmRSdWxlKHBvbHlnb24t
PndpbmRSdWxlKCkpOworICAgICAgICBjb25zdCBWZWN0b3I8TGVuZ3RoPiYgdmFsdWVzID0gcG9s
eWdvbi0+dmFsdWVzKCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZXMu
c2l6ZSgpOyBpICs9IDIpCisgICAgICAgICAgICBwb2x5Z29uVmFsdWUtPmFwcGVuZFBvaW50KGNz
c1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHZhbHVlcy5hdChpKSksIGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZVZhbHVlKHZhbHVlcy5hdChpICsgMSkpKTsKKworICAgICAgICB3cmFwU2hhcGVWYWx1ZSA9
IHBvbHlnb25WYWx1ZS5yZWxlYXNlKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBkZWZh
dWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZVZhbHVlPFBhc3NSZWZQdHI8Q1NTV3JhcFNoYXBlPiA+KHdyYXBTaGFwZVZhbHVlLnJlbGVh
c2UoKSk7Cit9CisKK3N0YXRpYyBMZW5ndGggY29udmVydFRvTGVuZ3RoKGNvbnN0IFN0eWxlUmVz
b2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkKK3sKKyAgICBy
ZXR1cm4gdmFsdWUtPmNvbnZlcnRUb0xlbmd0aDxGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgRml4
ZWRGbG9hdENvbnZlcnNpb24gfCBQZXJjZW50Q29udmVyc2lvbiB8IFZpZXdwb3J0UGVyY2VudGFn
ZUNvbnZlcnNpb24+KHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RF
bGVtZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsK
K30KKworUGFzc1JlZlB0cjxXcmFwU2hhcGU+IHdyYXBTaGFwZUZvclZhbHVlKGNvbnN0IFN0eWxl
UmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIGNvbnN0IENTU1dyYXBTaGFwZSogd3JhcFNoYXBlVmFs
dWUpCit7CisgICAgUmVmUHRyPFdyYXBTaGFwZT4gd3JhcFNoYXBlOworCisgICAgc3dpdGNoICh3
cmFwU2hhcGVWYWx1ZS0+dHlwZSgpKSB7CisgICAgY2FzZSBDU1NXcmFwU2hhcGU6OkNTU19XUkFQ
X1NIQVBFX1JFQ1RBTkdMRTogeworICAgICAgICBjb25zdCBDU1NXcmFwU2hhcGVSZWN0YW5nbGUq
IHJlY3RWYWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0IENTU1dyYXBTaGFwZVJlY3RhbmdsZSAqPih3
cmFwU2hhcGVWYWx1ZSk7CisgICAgICAgIFJlZlB0cjxXcmFwU2hhcGVSZWN0YW5nbGU+IHJlY3Qg
PSBXcmFwU2hhcGVSZWN0YW5nbGU6OmNyZWF0ZSgpOworCisgICAgICAgIHJlY3QtPnNldFgoY29u
dmVydFRvTGVuZ3RoKHN0eWxlUmVzb2x2ZXIsIHJlY3RWYWx1ZS0+eCgpKSk7CisgICAgICAgIHJl
Y3QtPnNldFkoY29udmVydFRvTGVuZ3RoKHN0eWxlUmVzb2x2ZXIsIHJlY3RWYWx1ZS0+eSgpKSk7
CisgICAgICAgIHJlY3QtPnNldFdpZHRoKGNvbnZlcnRUb0xlbmd0aChzdHlsZVJlc29sdmVyLCBy
ZWN0VmFsdWUtPndpZHRoKCkpKTsKKyAgICAgICAgcmVjdC0+c2V0SGVpZ2h0KGNvbnZlcnRUb0xl
bmd0aChzdHlsZVJlc29sdmVyLCByZWN0VmFsdWUtPmhlaWdodCgpKSk7CisgICAgICAgIGlmIChy
ZWN0VmFsdWUtPnJhZGl1c1goKSkgeworICAgICAgICAgICAgcmVjdC0+c2V0Q29ybmVyUmFkaXVz
WChjb252ZXJ0VG9MZW5ndGgoc3R5bGVSZXNvbHZlciwgcmVjdFZhbHVlLT5yYWRpdXNYKCkpKTsK
KyAgICAgICAgICAgIGlmIChyZWN0VmFsdWUtPnJhZGl1c1koKSkKKyAgICAgICAgICAgICAgICBy
ZWN0LT5zZXRDb3JuZXJSYWRpdXNZKGNvbnZlcnRUb0xlbmd0aChzdHlsZVJlc29sdmVyLCByZWN0
VmFsdWUtPnJhZGl1c1koKSkpOworICAgICAgICB9CisgICAgICAgIHdyYXBTaGFwZSA9IHJlY3Qu
cmVsZWFzZSgpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBDU1NXcmFwU2hhcGU6
OkNTU19XUkFQX1NIQVBFX0NJUkNMRTogeworICAgICAgICBjb25zdCBDU1NXcmFwU2hhcGVDaXJj
bGUqIGNpcmNsZVZhbHVlID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTV3JhcFNoYXBlQ2lyY2xlICo+
KHdyYXBTaGFwZVZhbHVlKTsKKyAgICAgICAgUmVmUHRyPFdyYXBTaGFwZUNpcmNsZT4gY2lyY2xl
ID0gV3JhcFNoYXBlQ2lyY2xlOjpjcmVhdGUoKTsKKworICAgICAgICBjaXJjbGUtPnNldENlbnRl
clgoY29udmVydFRvTGVuZ3RoKHN0eWxlUmVzb2x2ZXIsIGNpcmNsZVZhbHVlLT5jZW50ZXJYKCkp
KTsKKyAgICAgICAgY2lyY2xlLT5zZXRDZW50ZXJZKGNvbnZlcnRUb0xlbmd0aChzdHlsZVJlc29s
dmVyLCBjaXJjbGVWYWx1ZS0+Y2VudGVyWSgpKSk7CisgICAgICAgIGNpcmNsZS0+c2V0UmFkaXVz
KGNvbnZlcnRUb0xlbmd0aChzdHlsZVJlc29sdmVyLCBjaXJjbGVWYWx1ZS0+cmFkaXVzKCkpKTsK
KworICAgICAgICB3cmFwU2hhcGUgPSBjaXJjbGUucmVsZWFzZSgpOworICAgICAgICBicmVhazsK
KyAgICB9CisgICAgY2FzZSBDU1NXcmFwU2hhcGU6OkNTU19XUkFQX1NIQVBFX0VMTElQU0U6IHsK
KyAgICAgICAgY29uc3QgQ1NTV3JhcFNoYXBlRWxsaXBzZSogZWxsaXBzZVZhbHVlID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgQ1NTV3JhcFNoYXBlRWxsaXBzZSAqPih3cmFwU2hhcGVWYWx1ZSk7CisgICAg
ICAgIFJlZlB0cjxXcmFwU2hhcGVFbGxpcHNlPiBlbGxpcHNlID0gV3JhcFNoYXBlRWxsaXBzZTo6
Y3JlYXRlKCk7CisKKyAgICAgICAgZWxsaXBzZS0+c2V0Q2VudGVyWChjb252ZXJ0VG9MZW5ndGgo
c3R5bGVSZXNvbHZlciwgZWxsaXBzZVZhbHVlLT5jZW50ZXJYKCkpKTsKKyAgICAgICAgZWxsaXBz
ZS0+c2V0Q2VudGVyWShjb252ZXJ0VG9MZW5ndGgoc3R5bGVSZXNvbHZlciwgZWxsaXBzZVZhbHVl
LT5jZW50ZXJZKCkpKTsKKyAgICAgICAgZWxsaXBzZS0+c2V0UmFkaXVzWChjb252ZXJ0VG9MZW5n
dGgoc3R5bGVSZXNvbHZlciwgZWxsaXBzZVZhbHVlLT5yYWRpdXNYKCkpKTsKKyAgICAgICAgZWxs
aXBzZS0+c2V0UmFkaXVzWShjb252ZXJ0VG9MZW5ndGgoc3R5bGVSZXNvbHZlciwgZWxsaXBzZVZh
bHVlLT5yYWRpdXNZKCkpKTsKKworICAgICAgICB3cmFwU2hhcGUgPSBlbGxpcHNlLnJlbGVhc2Uo
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgQ1NTV3JhcFNoYXBlOjpDU1NfV1JB
UF9TSEFQRV9QT0xZR09OOiB7CisgICAgICAgIGNvbnN0IENTU1dyYXBTaGFwZVBvbHlnb24qIHBv
bHlnb25WYWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0IENTU1dyYXBTaGFwZVBvbHlnb24gKj4od3Jh
cFNoYXBlVmFsdWUpOworICAgICAgICBSZWZQdHI8V3JhcFNoYXBlUG9seWdvbj4gcG9seWdvbiA9
IFdyYXBTaGFwZVBvbHlnb246OmNyZWF0ZSgpOworCisgICAgICAgIHBvbHlnb24tPnNldFdpbmRS
dWxlKHBvbHlnb25WYWx1ZS0+d2luZFJ1bGUoKSk7CisgICAgICAgIGNvbnN0IFZlY3RvcjxSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+ID4mIHZhbHVlcyA9IHBvbHlnb25WYWx1ZS0+dmFsdWVzKCk7
CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZXMuc2l6ZSgpOyBpICs9IDIp
CisgICAgICAgICAgICBwb2x5Z29uLT5hcHBlbmRQb2ludChjb252ZXJ0VG9MZW5ndGgoc3R5bGVS
ZXNvbHZlciwgdmFsdWVzLmF0KGkpLmdldCgpKSwgY29udmVydFRvTGVuZ3RoKHN0eWxlUmVzb2x2
ZXIsIHZhbHVlcy5hdChpICsgMSkuZ2V0KCkpKTsKKworICAgICAgICB3cmFwU2hhcGUgPSBwb2x5
Z29uLnJlbGVhc2UoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAg
ICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gd3JhcFNoYXBlLnJlbGVhc2UoKTsKK30KK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwYzI5
MzQ2Zjg5OTMzNDRlNDFlZDMwZGU0ODE1ZTI1ZTdkYTM3NWEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsNDYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxBUyBJU+KA
nSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisg
KiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQmFzaWNTaGFwZUZ1bmN0
aW9uc19oCisjZGVmaW5lIEJhc2ljU2hhcGVGdW5jdGlvbnNfaAorCisjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NWYWx1ZTsKK2Ns
YXNzIENTU1dyYXBTaGFwZTsKK2NsYXNzIFN0eWxlUmVzb2x2ZXI7CitjbGFzcyBXcmFwU2hhcGU7
CisKK1Bhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yV3JhcFNoYXBlKGNvbnN0IFdyYXBTaGFw
ZSopOworUGFzc1JlZlB0cjxXcmFwU2hhcGU+IHdyYXBTaGFwZUZvclZhbHVlKGNvbnN0IFN0eWxl
UmVzb2x2ZXIqLCBjb25zdCBDU1NXcmFwU2hhcGUqKTsKKworfQorI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0FsbEluT25lLmNwcAppbmRleCAyY2UxZTM2ZGQxNDJkODAyNWExYTI1MWM5NDIzMGM5Yjll
MWE4MWFjLi4xOTNiN2FmYzQ4YWUwMTgzNWY0OTViMGFjMzBlMDVkZWFlNGM2NzNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKIC8vIFRoaXMgYWxsLWlu
LW9uZSBjcHAgZmlsZSBjdXRzIGRvd24gb24gdGVtcGxhdGUgYmxvYXQgdG8gYWxsb3cgdXMgdG8g
YnVpbGQgb3VyIFdpbmRvd3MgcmVsZWFzZSBidWlsZC4KICAKICNpbmNsdWRlICJDU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcCIKKyNpbmNsdWRlICJDU1NCYXNpY1NoYXBlcy5jcHAiCiAjaW5jbHVkZSAi
Q1NTQm9yZGVySW1hZ2UuY3BwIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5j
cHAiCiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUuY3BwIgpAQCAtNjUsNyArNjYsNiBAQAogI2lu
Y2x1ZGUgIkNTU1ZhbHVlLmNwcCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuY3BwIgogI2luY2x1
ZGUgIkNTU1ZhbHVlUG9vbC5jcHAiCi0jaW5jbHVkZSAiQ1NTV3JhcFNoYXBlcy5jcHAiCiAjaW5j
bHVkZSAiU3R5bGVCdWlsZGVyLmNwcCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmNwcCIK
ICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
QmFzaWNTaGFwZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MWJkMGIwODMyYjM3MGE3ZmI1M2U2ODBmYjUx
Mzk0YjZkYWMxYTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFz
aWNTaGFwZXMuY3BwCkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJDU1NCYXNpY1NoYXBlcy5o
IgorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCit1c2luZyBuYW1lc3Bh
Y2UgV1RGOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1N0cmluZyBDU1NXcmFwU2hhcGVSZWN0
YW5nbGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAg
IHJlc3VsdC5yZXNlcnZlQ2FwYWNpdHkoMzIpOworCisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwo
InJlY3RhbmdsZSgiKTsKKworICAgIHJlc3VsdC5hcHBlbmQobV94LT5jc3NUZXh0KCkpOworICAg
IHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIsICIpOworCisgICAgcmVzdWx0LmFwcGVuZChtX3ktPmNz
c1RleHQoKSk7CisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiwgIik7CisKKyAgICByZXN1bHQu
YXBwZW5kKG1fd2lkdGgtPmNzc1RleHQoKSk7CisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiwg
Iik7CisKKyAgICByZXN1bHQuYXBwZW5kKG1faGVpZ2h0LT5jc3NUZXh0KCkpOworCisgICAgaWYg
KG1fcmFkaXVzWC5nZXQoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiLCAiKTsK
KyAgICAgICAgcmVzdWx0LmFwcGVuZChtX3JhZGl1c1gtPmNzc1RleHQoKSk7CisKKyAgICAgICAg
aWYgKG1fcmFkaXVzWS5nZXQoKSkgeworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwo
IiwgIik7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKG1fcmFkaXVzWS0+Y3NzVGV4dCgpKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIHJlc3VsdC5hcHBlbmQoJyknKTsKKworICAgIHJldHVy
biByZXN1bHQudG9TdHJpbmcoKTsKK30KKworU3RyaW5nIENTU1dyYXBTaGFwZUNpcmNsZTo6Y3Nz
VGV4dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAgcmVzdWx0LnJl
c2VydmVDYXBhY2l0eSgzMik7CisKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiY2lyY2xlKCIp
OworCisgICAgcmVzdWx0LmFwcGVuZChtX2NlbnRlclgtPmNzc1RleHQoKSk7CisgICAgcmVzdWx0
LmFwcGVuZExpdGVyYWwoIiwgIik7CisKKyAgICByZXN1bHQuYXBwZW5kKG1fY2VudGVyWS0+Y3Nz
VGV4dCgpKTsKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiLCAiKTsKKworICAgIHJlc3VsdC5h
cHBlbmQobV9yYWRpdXMtPmNzc1RleHQoKSk7CisgICAgcmVzdWx0LmFwcGVuZCgnKScpOworCisg
ICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworfQorCitTdHJpbmcgQ1NTV3JhcFNoYXBlRWxs
aXBzZTo6Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAg
cmVzdWx0LnJlc2VydmVDYXBhY2l0eSgzMik7CisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoImVs
bGlwc2UoIik7CisKKyAgICByZXN1bHQuYXBwZW5kKG1fY2VudGVyWC0+Y3NzVGV4dCgpKTsKKyAg
ICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiLCAiKTsKKworICAgIHJlc3VsdC5hcHBlbmQobV9jZW50
ZXJZLT5jc3NUZXh0KCkpOworICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIsICIpOworCisgICAg
cmVzdWx0LmFwcGVuZChtX3JhZGl1c1gtPmNzc1RleHQoKSk7CisgICAgcmVzdWx0LmFwcGVuZExp
dGVyYWwoIiwgIik7CisKKyAgICByZXN1bHQuYXBwZW5kKG1fcmFkaXVzWS0+Y3NzVGV4dCgpKTsK
KyAgICByZXN1bHQuYXBwZW5kKCcpJyk7CisKKyAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7
Cit9CisKK1N0cmluZyBDU1NXcmFwU2hhcGVQb2x5Z29uOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAg
ICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQucmVzZXJ2ZUNhcGFjaXR5KDMyKTsK
KworICAgIGlmIChtX3dpbmRSdWxlID09IFJVTEVfRVZFTk9ERCkKKyAgICAgICAgcmVzdWx0LmFw
cGVuZExpdGVyYWwoInBvbHlnb24oZXZlbm9kZCwgIik7CisgICAgZWxzZQorICAgICAgICByZXN1
bHQuYXBwZW5kTGl0ZXJhbCgicG9seWdvbihub256ZXJvLCAiKTsKKworICAgIEFTU0VSVCghKG1f
dmFsdWVzLnNpemUoKSAlIDIpKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3Zh
bHVlcy5zaXplKCk7IGkgKz0gMikgeworICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgIHJlc3Vs
dC5hcHBlbmRMaXRlcmFsKCIsICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKG1fdmFsdWVzLmF0
KGkpLT5jc3NUZXh0KCkpOworICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CisgICAgICAgIHJl
c3VsdC5hcHBlbmQobV92YWx1ZXMuYXQoaSArIDEpLT5jc3NUZXh0KCkpOworICAgIH0KKworICAg
IHJlc3VsdC5hcHBlbmQoJyknKTsKKworICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQmFzaWNTaGFwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg2NWJhYjVhZmNmODY5NjA2MGVjZmM1YmIzNGZmODcxN2M4YzRkZTUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuaApAQCAt
MCwwICsxLDE3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBZG9iZSBTeXN0ZW1zIElu
Y29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9M
REVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisg
KiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBD
U1NCYXNpY1NoYXBlc19oCisjZGVmaW5lIENTU0Jhc2ljU2hhcGVzX2gKKworI2luY2x1ZGUgIkNT
U1ByaW1pdGl2ZVZhbHVlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRl
ICJXaW5kUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTV3JhcFNoYXBlIDogcHVi
bGljIFJlZkNvdW50ZWQ8Q1NTV3JhcFNoYXBlPiB7CitwdWJsaWM6CisgICAgZW51bSBUeXBlIHsK
KyAgICAgICAgQ1NTX1dSQVBfU0hBUEVfUkVDVEFOR0xFID0gMSwKKyAgICAgICAgQ1NTX1dSQVBf
U0hBUEVfQ0lSQ0xFID0gMiwKKyAgICAgICAgQ1NTX1dSQVBfU0hBUEVfRUxMSVBTRSA9IDMsCisg
ICAgICAgIENTU19XUkFQX1NIQVBFX1BPTFlHT04gPSA0CisgICAgfTsKKworICAgIHZpcnR1YWwg
VHlwZSB0eXBlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25z
dCA9IDA7CisKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5DU1NXcmFwU2hhcGUoKSB7IH0KKworcHJv
dGVjdGVkOgorICAgIENTU1dyYXBTaGFwZSgpIHsgfQorfTsKKworY2xhc3MgQ1NTV3JhcFNoYXBl
UmVjdGFuZ2xlIDogcHVibGljIENTU1dyYXBTaGFwZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTV3JhcFNoYXBlUmVjdGFuZ2xlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgQ1NTV3JhcFNoYXBlUmVjdGFuZ2xlKTsgfQorCisgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IHgoKSBjb25zdCB7IHJldHVybiBtX3guZ2V0KCk7IH0KKyAgICBDU1NQcmltaXRpdmVWYWx1ZSog
eSgpIGNvbnN0IHsgcmV0dXJuIG1feS5nZXQoKTsgfQorICAgIENTU1ByaW1pdGl2ZVZhbHVlKiB3
aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGguZ2V0KCk7IH0KKyAgICBDU1NQcmltaXRpdmVW
YWx1ZSogaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9oZWlnaHQuZ2V0KCk7IH0KKyAgICBDU1NQ
cmltaXRpdmVWYWx1ZSogcmFkaXVzWCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzWC5nZXQoKTsg
fQorICAgIENTU1ByaW1pdGl2ZVZhbHVlKiByYWRpdXNZKCkgY29uc3QgeyByZXR1cm4gbV9yYWRp
dXNZLmdldCgpOyB9CisKKyAgICB2b2lkIHNldFgoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1
ZT4geCkgeyBtX3ggPSB4OyB9CisgICAgdm9pZCBzZXRZKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IHkpIHsgbV95ID0geTsgfQorICAgIHZvaWQgc2V0V2lkdGgoUGFzc1JlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gd2lkdGgpIHsgbV93aWR0aCA9IHdpZHRoOyB9CisgICAgdm9pZCBzZXRI
ZWlnaHQoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gaGVpZ2h0KSB7IG1faGVpZ2h0ID0g
aGVpZ2h0OyB9CisgICAgdm9pZCBzZXRSYWRpdXNYKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IHJhZGl1c1gpIHsgbV9yYWRpdXNYID0gcmFkaXVzWDsgfQorICAgIHZvaWQgc2V0UmFkaXVz
WShQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiByYWRpdXNZKSB7IG1fcmFkaXVzWSA9IHJh
ZGl1c1k7IH0KKworICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gQ1NTX1dS
QVBfU0hBUEVfUkVDVEFOR0xFOyB9CisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0
OworCitwcml2YXRlOgorICAgIENTU1dyYXBTaGFwZVJlY3RhbmdsZSgpIHsgfQorCisgICAgUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX3k7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBtX3g7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX3dpZHRoOworICAgIFJlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9oZWlnaHQ7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBtX3JhZGl1c1g7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX3JhZGl1c1k7
Cit9OworCitjbGFzcyBDU1NXcmFwU2hhcGVDaXJjbGUgOiBwdWJsaWMgQ1NTV3JhcFNoYXBlIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NXcmFwU2hhcGVDaXJjbGU+IGNyZWF0
ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NXcmFwU2hhcGVDaXJjbGUpOyB9CisKKyAgICBD
U1NQcmltaXRpdmVWYWx1ZSogY2VudGVyWCgpIGNvbnN0IHsgcmV0dXJuIG1fY2VudGVyWC5nZXQo
KTsgfQorICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBjZW50ZXJZKCkgY29uc3QgeyByZXR1cm4gbV9j
ZW50ZXJZLmdldCgpOyB9CisgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHJhZGl1cygpIGNvbnN0IHsg
cmV0dXJuIG1fcmFkaXVzLmdldCgpOyB9CisKKyAgICB2b2lkIHNldENlbnRlclgoUGFzc1JlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gY2VudGVyWCkgeyBtX2NlbnRlclggPSBjZW50ZXJYOyB9Cisg
ICAgdm9pZCBzZXRDZW50ZXJZKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNlbnRlclkp
IHsgbV9jZW50ZXJZID0gY2VudGVyWTsgfQorICAgIHZvaWQgc2V0UmFkaXVzKFBhc3NSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IHJhZGl1cykgeyBtX3JhZGl1cyA9IHJhZGl1czsgfQorCisgICAg
dmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBDU1NfV1JBUF9TSEFQRV9DSVJDTEU7
IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAg
Q1NTV3JhcFNoYXBlQ2lyY2xlKCkgeyB9CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IG1fY2VudGVyWTsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fY2VudGVyWDsKKyAg
ICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fcmFkaXVzOworfTsKKworY2xhc3MgQ1NTV3Jh
cFNoYXBlRWxsaXBzZSA6IHB1YmxpYyBDU1NXcmFwU2hhcGUgeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPENTU1dyYXBTaGFwZUVsbGlwc2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NXcmFwU2hhcGVFbGxpcHNlKTsgfQorCisgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IGNlbnRlclgoKSBjb25zdCB7IHJldHVybiBtX2NlbnRlclguZ2V0KCk7IH0KKyAgICBDU1NQcmlt
aXRpdmVWYWx1ZSogY2VudGVyWSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VudGVyWS5nZXQoKTsgfQor
ICAgIENTU1ByaW1pdGl2ZVZhbHVlKiByYWRpdXNYKCkgY29uc3QgeyByZXR1cm4gbV9yYWRpdXNY
LmdldCgpOyB9CisgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHJhZGl1c1koKSBjb25zdCB7IHJldHVy
biBtX3JhZGl1c1kuZ2V0KCk7IH0KKworICAgIHZvaWQgc2V0Q2VudGVyWChQYXNzUmVmUHRyPENT
U1ByaW1pdGl2ZVZhbHVlPiBjZW50ZXJYKSB7IG1fY2VudGVyWCA9IGNlbnRlclg7IH0KKyAgICB2
b2lkIHNldENlbnRlclkoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY2VudGVyWSkgeyBt
X2NlbnRlclkgPSBjZW50ZXJZOyB9CisgICAgdm9pZCBzZXRSYWRpdXNYKFBhc3NSZWZQdHI8Q1NT
UHJpbWl0aXZlVmFsdWU+IHJhZGl1c1gpIHsgbV9yYWRpdXNYID0gcmFkaXVzWDsgfQorICAgIHZv
aWQgc2V0UmFkaXVzWShQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiByYWRpdXNZKSB7IG1f
cmFkaXVzWSA9IHJhZGl1c1k7IH0KKworICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyBy
ZXR1cm4gQ1NTX1dSQVBfU0hBUEVfRUxMSVBTRTsgfQorICAgIHZpcnR1YWwgU3RyaW5nIGNzc1Rl
eHQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NXcmFwU2hhcGVFbGxpcHNlKCkgeyB9CisK
KyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fY2VudGVyWDsKKyAgICBSZWZQdHI8Q1NT
UHJpbWl0aXZlVmFsdWU+IG1fY2VudGVyWTsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IG1fcmFkaXVzWDsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fcmFkaXVzWTsKK307
CisKK2NsYXNzIENTU1dyYXBTaGFwZVBvbHlnb24gOiBwdWJsaWMgQ1NTV3JhcFNoYXBlIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NXcmFwU2hhcGVQb2x5Z29uPiBjcmVhdGUo
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTV3JhcFNoYXBlUG9seWdvbik7IH0KKworICAgIHZv
aWQgYXBwZW5kUG9pbnQoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4geCwgUGFzc1JlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4geSkKKyAgICB7CisgICAgICAgIG1fdmFsdWVzLmFwcGVuZCh4
KTsKKyAgICAgICAgbV92YWx1ZXMuYXBwZW5kKHkpOworICAgIH0KKworICAgIFBhc3NSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IGdldFhBdCh1bnNpZ25lZCBpKSBjb25zdCB7IHJldHVybiBtX3Zh
bHVlcy5hdChpICogMik7IH0KKyAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBnZXRZ
QXQodW5zaWduZWQgaSkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXMuYXQoaSAqIDIgKyAxKTsgfQor
ICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+ID4mIHZhbHVlcygpIGNv
bnN0IHsgcmV0dXJuIG1fdmFsdWVzOyB9CisKKyAgICB2b2lkIHNldFdpbmRSdWxlKFdpbmRSdWxl
IHcpIHsgbV93aW5kUnVsZSA9IHc7IH0KKyAgICBXaW5kUnVsZSB3aW5kUnVsZSgpIGNvbnN0IHsg
cmV0dXJuIG1fd2luZFJ1bGU7IH0KKworICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyBy
ZXR1cm4gQ1NTX1dSQVBfU0hBUEVfUE9MWUdPTjsgfQorICAgIHZpcnR1YWwgU3RyaW5nIGNzc1Rl
eHQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NXcmFwU2hhcGVQb2x5Z29uKCkKKyAgICAg
ICAgOiBtX3dpbmRSdWxlKFJVTEVfTk9OWkVSTykKKyAgICB7CisgICAgfQorCisgICAgVmVjdG9y
PFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gPiBtX3ZhbHVlczsKKyAgICBXaW5kUnVsZSBtX3dp
bmRSdWxlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQmFz
aWNTaGFwZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcAppbmRleCA1YmM3OTlmN2Y0MzZiNzFlMTI0MWU3NGI1NGI1NDI2MTk1MmUw
ZjNiLi4xYzc4NjI0YWIyZDc3OWE1OGY3NWUyY2NkNGJlNGUzNmZhZTRkNzkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAt
NjEsOSArNjEsOSBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogI2lm
IEVOQUJMRShDU1NfRVhDTFVTSU9OUykKLSNpbmNsdWRlICJDU1NXcmFwU2hhcGVzLmgiCi0jaW5j
bHVkZSAiV3JhcFNoYXBlRnVuY3Rpb25zLmgiCi0jaW5jbHVkZSAiV3JhcFNoYXBlcy5oIgorI2lu
Y2x1ZGUgIkJhc2ljU2hhcGVGdW5jdGlvbnMuaCIKKyNpbmNsdWRlICJCYXNpY1NoYXBlcy5oIgor
I2luY2x1ZGUgIkNTU0Jhc2ljU2hhcGVzLmgiCiAjZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfU0hB
REVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOGNhMDM0YWZkMTBiNTBmYzJkZTI4
M2FjNDg5ZWM1ZTY3ZDM3ZDhmMC4uN2E5MTBjM2E0MjVlMTc2MDVjNWQ4ODkxYTE5ZTczZDhlOGFh
ODYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNs
dWRlICJDU1NQYXJzZXIuaCIKIAogI2luY2x1ZGUgIkNTU0FzcGVjdFJhdGlvVmFsdWUuaCIKKyNp
bmNsdWRlICJDU1NCYXNpY1NoYXBlcy5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlLmgiCiAj
aW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDcm9zc2ZhZGVWYWx1ZS5o
IgpAQCAtNTYsNyArNTcsNiBAQAogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogI2luY2x1ZGUg
IkNTU1ZhcmlhYmxlVmFsdWUuaCIKICNlbmRpZgotI2luY2x1ZGUgIkNTU1dyYXBTaGFwZXMuaCIK
ICNpbmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJG
bG9hdENvbnZlcnNpb24uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
CmluZGV4IGM0MzNmMjA5NGVjMThjNDE5NDQyMjIyNDQ3ZjY3ODZiNDk1OWE1OTMuLjMxYmQwNTY2
MjA5ZTNiMDQ3MWViODEwN2I1ZmQ1Nzk4ZGY0NzQxMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtMjEsMTIgKzIxLDEyIEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKIAorI2luY2x1ZGUgIkNTU0Jhc2lj
U2hhcGVzLmgiCiAjaW5jbHVkZSAiQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U0hlbHBlci5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
TmFtZXMuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCi0jaW5jbHVkZSAiQ1NTV3Jh
cFNoYXBlcy5oIgogI2luY2x1ZGUgIkNhbGN1bGF0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDb2xv
ci5oIgogI2luY2x1ZGUgIkNvdW50ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NXcmFwU2hhcGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NXcmFwU2hhcGVzLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc1MGYyZWY4ODdiNGQxNTFiZTdhODdi
MzhhNGZiZjZkMzIxNTBjYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTV3JhcFNoYXBlcy5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSwxMzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBZG9iZSBTeXN0
ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCi0gKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotICogICAgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKLSAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKLSAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgSE9MREVSIEJFCi0gKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCi0gKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SCi0gKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YKLSAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAiQ1NTV3JhcFNoYXBlcy5oIgotCi0jaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgotCi11c2luZyBuYW1lc3BhY2UgV1RGOwotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVN0cmluZyBDU1NXcmFwU2hhcGVSZWN0YW5nbGU6OmNzc1Rl
eHQoKSBjb25zdAotewotICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotICAgIHJlc3VsdC5yZXNl
cnZlQ2FwYWNpdHkoMzIpOwotCi0gICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoInJlY3RhbmdsZSgi
KTsKLQotICAgIHJlc3VsdC5hcHBlbmQobV94LT5jc3NUZXh0KCkpOwotICAgIHJlc3VsdC5hcHBl
bmRMaXRlcmFsKCIsICIpOwotCi0gICAgcmVzdWx0LmFwcGVuZChtX3ktPmNzc1RleHQoKSk7Ci0g
ICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiwgIik7Ci0KLSAgICByZXN1bHQuYXBwZW5kKG1fd2lk
dGgtPmNzc1RleHQoKSk7Ci0gICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiwgIik7Ci0KLSAgICBy
ZXN1bHQuYXBwZW5kKG1faGVpZ2h0LT5jc3NUZXh0KCkpOwotCi0gICAgaWYgKG1fcmFkaXVzWC5n
ZXQoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiLCAiKTsKLSAgICAgICAgcmVz
dWx0LmFwcGVuZChtX3JhZGl1c1gtPmNzc1RleHQoKSk7Ci0KLSAgICAgICAgaWYgKG1fcmFkaXVz
WS5nZXQoKSkgewotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiwgIik7Ci0gICAg
ICAgICAgICByZXN1bHQuYXBwZW5kKG1fcmFkaXVzWS0+Y3NzVGV4dCgpKTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIHJlc3VsdC5hcHBlbmQoJyknKTsKLQotICAgIHJldHVybiByZXN1bHQudG9T
dHJpbmcoKTsKLX0KLQotU3RyaW5nIENTU1dyYXBTaGFwZUNpcmNsZTo6Y3NzVGV4dCgpIGNvbnN0
Ci17Ci0gICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7Ci0gICAgcmVzdWx0LnJlc2VydmVDYXBhY2l0
eSgzMik7Ci0KLSAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiY2lyY2xlKCIpOwotCi0gICAgcmVz
dWx0LmFwcGVuZChtX2NlbnRlclgtPmNzc1RleHQoKSk7Ci0gICAgcmVzdWx0LmFwcGVuZExpdGVy
YWwoIiwgIik7Ci0KLSAgICByZXN1bHQuYXBwZW5kKG1fY2VudGVyWS0+Y3NzVGV4dCgpKTsKLSAg
ICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiLCAiKTsKLQotICAgIHJlc3VsdC5hcHBlbmQobV9yYWRp
dXMtPmNzc1RleHQoKSk7Ci0gICAgcmVzdWx0LmFwcGVuZCgnKScpOwotCi0gICAgcmV0dXJuIHJl
c3VsdC50b1N0cmluZygpOwotfQotCi1TdHJpbmcgQ1NTV3JhcFNoYXBlRWxsaXBzZTo6Y3NzVGV4
dCgpIGNvbnN0Ci17Ci0gICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7Ci0gICAgcmVzdWx0LnJlc2Vy
dmVDYXBhY2l0eSgzMik7Ci0gICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoImVsbGlwc2UoIik7Ci0K
LSAgICByZXN1bHQuYXBwZW5kKG1fY2VudGVyWC0+Y3NzVGV4dCgpKTsKLSAgICByZXN1bHQuYXBw
ZW5kTGl0ZXJhbCgiLCAiKTsKLQotICAgIHJlc3VsdC5hcHBlbmQobV9jZW50ZXJZLT5jc3NUZXh0
KCkpOwotICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIsICIpOwotCi0gICAgcmVzdWx0LmFwcGVu
ZChtX3JhZGl1c1gtPmNzc1RleHQoKSk7Ci0gICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiwgIik7
Ci0KLSAgICByZXN1bHQuYXBwZW5kKG1fcmFkaXVzWS0+Y3NzVGV4dCgpKTsKLSAgICByZXN1bHQu
YXBwZW5kKCcpJyk7Ci0KLSAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7Ci19Ci0KLVN0cmlu
ZyBDU1NXcmFwU2hhcGVQb2x5Z29uOjpjc3NUZXh0KCkgY29uc3QKLXsKLSAgICBTdHJpbmdCdWls
ZGVyIHJlc3VsdDsKLSAgICByZXN1bHQucmVzZXJ2ZUNhcGFjaXR5KDMyKTsKLQotICAgIGlmICht
X3dpbmRSdWxlID09IFJVTEVfRVZFTk9ERCkKLSAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwo
InBvbHlnb24oZXZlbm9kZCwgIik7Ci0gICAgZWxzZQotICAgICAgICByZXN1bHQuYXBwZW5kTGl0
ZXJhbCgicG9seWdvbihub256ZXJvLCAiKTsKLQotICAgIEFTU0VSVCghKG1fdmFsdWVzLnNpemUo
KSAlIDIpKTsKLQotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3ZhbHVlcy5zaXplKCk7
IGkgKz0gMikgewotICAgICAgICBpZiAoaSkKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRl
cmFsKCIsICIpOwotICAgICAgICByZXN1bHQuYXBwZW5kKG1fdmFsdWVzLmF0KGkpLT5jc3NUZXh0
KCkpOwotICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQo
bV92YWx1ZXMuYXQoaSArIDEpLT5jc3NUZXh0KCkpOwotICAgIH0KLQotICAgIHJlc3VsdC5hcHBl
bmQoJyknKTsKLQotICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTV3JhcFNo
YXBlcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1dyYXBTaGFwZXMuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMzQ3YmIzNDEwNTI4M2Y4YTE1YmFmNTNhMTU0MjI4MWM4NzU3MmMz
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTV3JhcFNoYXBlcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTczICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZQotICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAqICAgIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZwotICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzCi0gKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxBUyBJ
U+KAnSBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQotICog
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLAotICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgotICogVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
Ci0gKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ1NTV3JhcFNoYXBl
c19oCi0jZGVmaW5lIENTU1dyYXBTaGFwZXNfaAotCi0jaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFs
dWUuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgIldpbmRSdWxlLmgi
Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBDU1NXcmFwU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxDU1NXcmFwU2hhcGU+IHsKLXB1YmxpYzoKLSAgICBlbnVtIFR5cGUgewotICAgICAgICBDU1Nf
V1JBUF9TSEFQRV9SRUNUQU5HTEUgPSAxLAotICAgICAgICBDU1NfV1JBUF9TSEFQRV9DSVJDTEUg
PSAyLAotICAgICAgICBDU1NfV1JBUF9TSEFQRV9FTExJUFNFID0gMywKLSAgICAgICAgQ1NTX1dS
QVBfU0hBUEVfUE9MWUdPTiA9IDQKLSAgICB9OwotCi0gICAgdmlydHVhbCBUeXBlIHR5cGUoKSBj
b25zdCA9IDA7Ci0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0ID0gMDsKLQotcHVi
bGljOgotICAgIHZpcnR1YWwgfkNTU1dyYXBTaGFwZSgpIHsgfQotCi1wcm90ZWN0ZWQ6Ci0gICAg
Q1NTV3JhcFNoYXBlKCkgeyB9Ci19OwotCi1jbGFzcyBDU1NXcmFwU2hhcGVSZWN0YW5nbGUgOiBw
dWJsaWMgQ1NTV3JhcFNoYXBlIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NX
cmFwU2hhcGVSZWN0YW5nbGU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NXcmFw
U2hhcGVSZWN0YW5nbGUpOyB9Ci0KLSAgICBDU1NQcmltaXRpdmVWYWx1ZSogeCgpIGNvbnN0IHsg
cmV0dXJuIG1feC5nZXQoKTsgfQotICAgIENTU1ByaW1pdGl2ZVZhbHVlKiB5KCkgY29uc3QgeyBy
ZXR1cm4gbV95LmdldCgpOyB9Ci0gICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV93aWR0aC5nZXQoKTsgfQotICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBoZWlnaHQo
KSBjb25zdCB7IHJldHVybiBtX2hlaWdodC5nZXQoKTsgfQotICAgIENTU1ByaW1pdGl2ZVZhbHVl
KiByYWRpdXNYKCkgY29uc3QgeyByZXR1cm4gbV9yYWRpdXNYLmdldCgpOyB9Ci0gICAgQ1NTUHJp
bWl0aXZlVmFsdWUqIHJhZGl1c1koKSBjb25zdCB7IHJldHVybiBtX3JhZGl1c1kuZ2V0KCk7IH0K
LQotICAgIHZvaWQgc2V0WChQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB4KSB7IG1feCA9
IHg7IH0KLSAgICB2b2lkIHNldFkoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4geSkgeyBt
X3kgPSB5OyB9Ci0gICAgdm9pZCBzZXRXaWR0aChQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiB3aWR0aCkgeyBtX3dpZHRoID0gd2lkdGg7IH0KLSAgICB2b2lkIHNldEhlaWdodChQYXNzUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBoZWlnaHQpIHsgbV9oZWlnaHQgPSBoZWlnaHQ7IH0KLSAg
ICB2b2lkIHNldFJhZGl1c1goUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gcmFkaXVzWCkg
eyBtX3JhZGl1c1ggPSByYWRpdXNYOyB9Ci0gICAgdm9pZCBzZXRSYWRpdXNZKFBhc3NSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gcmFkaXVzWTsgfQotCi0g
ICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBDU1NfV1JBUF9TSEFQRV9SRUNU
QU5HTEU7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7Ci0KLXByaXZhdGU6
Ci0gICAgQ1NTV3JhcFNoYXBlUmVjdGFuZ2xlKCkgeyB9Ci0KLSAgICBSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IG1feTsKLSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1feDsKLSAgICBS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fd2lkdGg7Ci0gICAgUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBtX2hlaWdodDsKLSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fcmFkaXVz
WDsKLSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fcmFkaXVzWTsKLX07Ci0KLWNsYXNz
IENTU1dyYXBTaGFwZUNpcmNsZSA6IHB1YmxpYyBDU1NXcmFwU2hhcGUgewotcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU1dyYXBTaGFwZUNpcmNsZT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IENTU1dyYXBTaGFwZUNpcmNsZSk7IH0KLQotICAgIENTU1ByaW1pdGl2ZVZh
bHVlKiBjZW50ZXJYKCkgY29uc3QgeyByZXR1cm4gbV9jZW50ZXJYLmdldCgpOyB9Ci0gICAgQ1NT
UHJpbWl0aXZlVmFsdWUqIGNlbnRlclkoKSBjb25zdCB7IHJldHVybiBtX2NlbnRlclkuZ2V0KCk7
IH0KLSAgICBDU1NQcmltaXRpdmVWYWx1ZSogcmFkaXVzKCkgY29uc3QgeyByZXR1cm4gbV9yYWRp
dXMuZ2V0KCk7IH0KLQotICAgIHZvaWQgc2V0Q2VudGVyWChQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBjZW50ZXJYKSB7IG1fY2VudGVyWCA9IGNlbnRlclg7IH0KLSAgICB2b2lkIHNldENl
bnRlclkoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY2VudGVyWSkgeyBtX2NlbnRlclkg
PSBjZW50ZXJZOyB9Ci0gICAgdm9pZCBzZXRSYWRpdXMoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gcmFkaXVzKSB7IG1fcmFkaXVzID0gcmFkaXVzOyB9Ci0KLSAgICB2aXJ0dWFsIFR5cGUg
dHlwZSgpIGNvbnN0IHsgcmV0dXJuIENTU19XUkFQX1NIQVBFX0NJUkNMRTsgfQotICAgIHZpcnR1
YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBDU1NXcmFwU2hhcGVD
aXJjbGUoKSB7IH0KLQotICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9jZW50ZXJZOwot
ICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9jZW50ZXJYOwotICAgIFJlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gbV9yYWRpdXM7Ci19OwotCi1jbGFzcyBDU1NXcmFwU2hhcGVFbGxpcHNl
IDogcHVibGljIENTU1dyYXBTaGFwZSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
Q1NTV3JhcFNoYXBlRWxsaXBzZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU1dy
YXBTaGFwZUVsbGlwc2UpOyB9Ci0KLSAgICBDU1NQcmltaXRpdmVWYWx1ZSogY2VudGVyWCgpIGNv
bnN0IHsgcmV0dXJuIG1fY2VudGVyWC5nZXQoKTsgfQotICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBj
ZW50ZXJZKCkgY29uc3QgeyByZXR1cm4gbV9jZW50ZXJZLmdldCgpOyB9Ci0gICAgQ1NTUHJpbWl0
aXZlVmFsdWUqIHJhZGl1c1goKSBjb25zdCB7IHJldHVybiBtX3JhZGl1c1guZ2V0KCk7IH0KLSAg
ICBDU1NQcmltaXRpdmVWYWx1ZSogcmFkaXVzWSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzWS5n
ZXQoKTsgfQotCi0gICAgdm9pZCBzZXRDZW50ZXJYKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IGNlbnRlclgpIHsgbV9jZW50ZXJYID0gY2VudGVyWDsgfQotICAgIHZvaWQgc2V0Q2VudGVy
WShQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjZW50ZXJZKSB7IG1fY2VudGVyWSA9IGNl
bnRlclk7IH0KLSAgICB2b2lkIHNldFJhZGl1c1goUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1
ZT4gcmFkaXVzWCkgeyBtX3JhZGl1c1ggPSByYWRpdXNYOyB9Ci0gICAgdm9pZCBzZXRSYWRpdXNZ
KFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gcmFk
aXVzWTsgfQotCi0gICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBDU1NfV1JB
UF9TSEFQRV9FTExJUFNFOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0Owot
Ci1wcml2YXRlOgotICAgIENTU1dyYXBTaGFwZUVsbGlwc2UoKSB7IH0KLQotICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gbV9jZW50ZXJYOwotICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1
ZT4gbV9jZW50ZXJZOwotICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9yYWRpdXNYOwot
ICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9yYWRpdXNZOwotfTsKLQotY2xhc3MgQ1NT
V3JhcFNoYXBlUG9seWdvbiA6IHB1YmxpYyBDU1NXcmFwU2hhcGUgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU1dyYXBTaGFwZVBvbHlnb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBDU1NXcmFwU2hhcGVQb2x5Z29uKTsgfQotCi0gICAgdm9pZCBhcHBlbmRQb2lu
dChQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB4LCBQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiB5KQotICAgIHsKLSAgICAgICAgbV92YWx1ZXMuYXBwZW5kKHgpOwotICAgICAgICBt
X3ZhbHVlcy5hcHBlbmQoeSk7Ci0gICAgfQotCi0gICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gZ2V0WEF0KHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWVzLmF0KGkgKiAy
KTsgfQotICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGdldFlBdCh1bnNpZ25lZCBp
KSBjb25zdCB7IHJldHVybiBtX3ZhbHVlcy5hdChpICogMiArIDEpOyB9Ci0gICAgY29uc3QgVmVj
dG9yPFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gPiYgdmFsdWVzKCkgY29uc3QgeyByZXR1cm4g
bV92YWx1ZXM7IH0KLQotICAgIHZvaWQgc2V0V2luZFJ1bGUoV2luZFJ1bGUgdykgeyBtX3dpbmRS
dWxlID0gdzsgfQotICAgIFdpbmRSdWxlIHdpbmRSdWxlKCkgY29uc3QgeyByZXR1cm4gbV93aW5k
UnVsZTsgfQotCi0gICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBDU1NfV1JB
UF9TSEFQRV9QT0xZR09OOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0Owot
Ci1wcml2YXRlOgotICAgIENTU1dyYXBTaGFwZVBvbHlnb24oKQotICAgICAgICA6IG1fd2luZFJ1
bGUoUlVMRV9OT05aRVJPKQotICAgIHsKLSAgICB9Ci0KLSAgICBWZWN0b3I8UmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiA+IG1fdmFsdWVzOwotICAgIFdpbmRSdWxlIG1fd2luZFJ1bGU7Ci19Owot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBDU1NXcmFwU2hhcGVzX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKaW5kZXggNDg2YTRkYmI4MWMxYzVkY2Y5OWEzZGFi
MGQ2OTJjNDA4NjAxY2NjMS4uM2ZiM2YyOWQ5NTAwMmQ3NmRmY2M3ZjU5MjA2YjhkODYxNDNhOTY5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKQEAgLTQ1LDggKzQ1LDggQEAKICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykK
LSNpbmNsdWRlICJXcmFwU2hhcGVGdW5jdGlvbnMuaCIKLSNpbmNsdWRlICJXcmFwU2hhcGVzLmgi
CisjaW5jbHVkZSAiQmFzaWNTaGFwZUZ1bmN0aW9ucy5oIgorI2luY2x1ZGUgIkJhc2ljU2hhcGVz
LmgiCiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XcmFwU2hhcGVGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dy
YXBTaGFwZUZ1bmN0aW9ucy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjYTYz
NDE2OWM0NmI3MDUyMGI3NzRjZjViYTFmOWU5OTJjOTExZTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dyYXBTaGFwZUZ1
bmN0aW9ucy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNjkgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
Ci0gKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZwotICogICAgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKLSAqICAg
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCi0gKiBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCi0gKiBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCi0gKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKLSAqIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICog
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldyYXBT
aGFwZUZ1bmN0aW9ucy5oIgotCi0jaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5o
IgotI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgotI2luY2x1ZGUgIkNTU1dyYXBTaGFwZXMuaCIK
LSNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCi0jaW5jbHVkZSAiV3JhcFNoYXBlcy5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yV3JhcFNo
YXBlKGNvbnN0IFdyYXBTaGFwZSogd3JhcFNoYXBlKQotewotICAgIFJlZlB0cjxDU1NXcmFwU2hh
cGU+IHdyYXBTaGFwZVZhbHVlOwotICAgIHN3aXRjaCAod3JhcFNoYXBlLT50eXBlKCkpIHsKLSAg
ICBjYXNlIFdyYXBTaGFwZTo6V1JBUF9TSEFQRV9SRUNUQU5HTEU6IHsKLSAgICAgICAgY29uc3Qg
V3JhcFNoYXBlUmVjdGFuZ2xlKiByZWN0YW5nbGUgPSBzdGF0aWNfY2FzdDxjb25zdCBXcmFwU2hh
cGVSZWN0YW5nbGUqPih3cmFwU2hhcGUpOwotICAgICAgICBSZWZQdHI8Q1NTV3JhcFNoYXBlUmVj
dGFuZ2xlPiByZWN0YW5nbGVWYWx1ZSA9IENTU1dyYXBTaGFwZVJlY3RhbmdsZTo6Y3JlYXRlKCk7
Ci0KLSAgICAgICAgcmVjdGFuZ2xlVmFsdWUtPnNldFgoY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFs
dWUocmVjdGFuZ2xlLT54KCkpKTsKLSAgICAgICAgcmVjdGFuZ2xlVmFsdWUtPnNldFkoY3NzVmFs
dWVQb29sKCkuY3JlYXRlVmFsdWUocmVjdGFuZ2xlLT55KCkpKTsKLSAgICAgICAgcmVjdGFuZ2xl
VmFsdWUtPnNldFdpZHRoKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHJlY3RhbmdsZS0+d2lk
dGgoKSkpOwotICAgICAgICByZWN0YW5nbGVWYWx1ZS0+c2V0SGVpZ2h0KGNzc1ZhbHVlUG9vbCgp
LmNyZWF0ZVZhbHVlKHJlY3RhbmdsZS0+aGVpZ2h0KCkpKTsKLSAgICAgICAgaWYgKCFyZWN0YW5n
bGUtPmNvcm5lclJhZGl1c1goKS5pc1VuZGVmaW5lZCgpKSB7Ci0gICAgICAgICAgICByZWN0YW5n
bGVWYWx1ZS0+c2V0UmFkaXVzWChjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShyZWN0YW5nbGUt
PmNvcm5lclJhZGl1c1goKSkpOwotICAgICAgICAgICAgaWYgKCFyZWN0YW5nbGUtPmNvcm5lclJh
ZGl1c1koKS5pc1VuZGVmaW5lZCgpKQotICAgICAgICAgICAgICAgIHJlY3RhbmdsZVZhbHVlLT5z
ZXRSYWRpdXNZKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHJlY3RhbmdsZS0+Y29ybmVyUmFk
aXVzWSgpKSk7Ci0gICAgICAgIH0KLQotICAgICAgICB3cmFwU2hhcGVWYWx1ZSA9IHJlY3Rhbmds
ZVZhbHVlLnJlbGVhc2UoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgV3JhcFNo
YXBlOjpXUkFQX1NIQVBFX0NJUkNMRTogewotICAgICAgICBjb25zdCBXcmFwU2hhcGVDaXJjbGUq
IGNpcmNsZSA9IHN0YXRpY19jYXN0PGNvbnN0IFdyYXBTaGFwZUNpcmNsZSo+KHdyYXBTaGFwZSk7
Ci0gICAgICAgIFJlZlB0cjxDU1NXcmFwU2hhcGVDaXJjbGU+IGNpcmNsZVZhbHVlID0gQ1NTV3Jh
cFNoYXBlQ2lyY2xlOjpjcmVhdGUoKTsKLQotICAgICAgICBjaXJjbGVWYWx1ZS0+c2V0Q2VudGVy
WChjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShjaXJjbGUtPmNlbnRlclgoKSkpOwotICAgICAg
ICBjaXJjbGVWYWx1ZS0+c2V0Q2VudGVyWShjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShjaXJj
bGUtPmNlbnRlclkoKSkpOwotICAgICAgICBjaXJjbGVWYWx1ZS0+c2V0UmFkaXVzKGNzc1ZhbHVl
UG9vbCgpLmNyZWF0ZVZhbHVlKGNpcmNsZS0+cmFkaXVzKCkpKTsKLQotICAgICAgICB3cmFwU2hh
cGVWYWx1ZSA9IGNpcmNsZVZhbHVlLnJlbGVhc2UoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQot
ICAgIGNhc2UgV3JhcFNoYXBlOjpXUkFQX1NIQVBFX0VMTElQU0U6IHsKLSAgICAgICAgY29uc3Qg
V3JhcFNoYXBlRWxsaXBzZSogZWxsaXBzZSA9IHN0YXRpY19jYXN0PGNvbnN0IFdyYXBTaGFwZUVs
bGlwc2UqPih3cmFwU2hhcGUpOwotICAgICAgICBSZWZQdHI8Q1NTV3JhcFNoYXBlRWxsaXBzZT4g
ZWxsaXBzZVZhbHVlID0gQ1NTV3JhcFNoYXBlRWxsaXBzZTo6Y3JlYXRlKCk7Ci0KLSAgICAgICAg
ZWxsaXBzZVZhbHVlLT5zZXRDZW50ZXJYKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKGVsbGlw
c2UtPmNlbnRlclgoKSkpOwotICAgICAgICBlbGxpcHNlVmFsdWUtPnNldENlbnRlclkoY3NzVmFs
dWVQb29sKCkuY3JlYXRlVmFsdWUoZWxsaXBzZS0+Y2VudGVyWSgpKSk7Ci0gICAgICAgIGVsbGlw
c2VWYWx1ZS0+c2V0UmFkaXVzWChjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShlbGxpcHNlLT5y
YWRpdXNYKCkpKTsKLSAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRSYWRpdXNZKGNzc1ZhbHVlUG9v
bCgpLmNyZWF0ZVZhbHVlKGVsbGlwc2UtPnJhZGl1c1koKSkpOwotCi0gICAgICAgIHdyYXBTaGFw
ZVZhbHVlID0gZWxsaXBzZVZhbHVlLnJlbGVhc2UoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQot
ICAgIGNhc2UgV3JhcFNoYXBlOjpXUkFQX1NIQVBFX1BPTFlHT046IHsKLSAgICAgICAgY29uc3Qg
V3JhcFNoYXBlUG9seWdvbiogcG9seWdvbiA9IHN0YXRpY19jYXN0PGNvbnN0IFdyYXBTaGFwZVBv
bHlnb24qPih3cmFwU2hhcGUpOwotICAgICAgICBSZWZQdHI8Q1NTV3JhcFNoYXBlUG9seWdvbj4g
cG9seWdvblZhbHVlID0gQ1NTV3JhcFNoYXBlUG9seWdvbjo6Y3JlYXRlKCk7Ci0KLSAgICAgICAg
cG9seWdvblZhbHVlLT5zZXRXaW5kUnVsZShwb2x5Z29uLT53aW5kUnVsZSgpKTsKLSAgICAgICAg
Y29uc3QgVmVjdG9yPExlbmd0aD4mIHZhbHVlcyA9IHBvbHlnb24tPnZhbHVlcygpOwotICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWVzLnNpemUoKTsgaSArPSAyKQotICAgICAg
ICAgICAgcG9seWdvblZhbHVlLT5hcHBlbmRQb2ludChjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1
ZSh2YWx1ZXMuYXQoaSkpLCBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZSh2YWx1ZXMuYXQoaSAr
IDEpKSk7Ci0KLSAgICAgICAgd3JhcFNoYXBlVmFsdWUgPSBwb2x5Z29uVmFsdWUucmVsZWFzZSgp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgYnJlYWs7Ci0g
ICAgfQotICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZTxQYXNzUmVmUHRyPENT
U1dyYXBTaGFwZT4gPih3cmFwU2hhcGVWYWx1ZS5yZWxlYXNlKCkpOwotfQotCi1zdGF0aWMgTGVu
Z3RoIGNvbnZlcnRUb0xlbmd0aChjb25zdCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBD
U1NQcmltaXRpdmVWYWx1ZSogdmFsdWUpCi17Ci0gICAgcmV0dXJuIHZhbHVlLT5jb252ZXJ0VG9M
ZW5ndGg8Rml4ZWRJbnRlZ2VyQ29udmVyc2lvbiB8IEZpeGVkRmxvYXRDb252ZXJzaW9uIHwgUGVy
Y2VudENvbnZlcnNpb24gfCBWaWV3cG9ydFBlcmNlbnRhZ2VDb252ZXJzaW9uPihzdHlsZVJlc29s
dmVyLT5zdHlsZSgpLCBzdHlsZVJlc29sdmVyLT5yb290RWxlbWVudFN0eWxlKCksIHN0eWxlUmVz
b2x2ZXItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7Ci19Ci0KLVBhc3NSZWZQdHI8V3JhcFNo
YXBlPiB3cmFwU2hhcGVGb3JWYWx1ZShjb25zdCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVy
LCBjb25zdCBDU1NXcmFwU2hhcGUqIHdyYXBTaGFwZVZhbHVlKQotewotICAgIFJlZlB0cjxXcmFw
U2hhcGU+IHdyYXBTaGFwZTsKLQotICAgIHN3aXRjaCAod3JhcFNoYXBlVmFsdWUtPnR5cGUoKSkg
ewotICAgIGNhc2UgQ1NTV3JhcFNoYXBlOjpDU1NfV1JBUF9TSEFQRV9SRUNUQU5HTEU6IHsKLSAg
ICAgICAgY29uc3QgQ1NTV3JhcFNoYXBlUmVjdGFuZ2xlKiByZWN0VmFsdWUgPSBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NXcmFwU2hhcGVSZWN0YW5nbGUgKj4od3JhcFNoYXBlVmFsdWUpOwotICAgICAg
ICBSZWZQdHI8V3JhcFNoYXBlUmVjdGFuZ2xlPiByZWN0ID0gV3JhcFNoYXBlUmVjdGFuZ2xlOjpj
cmVhdGUoKTsKLQotICAgICAgICByZWN0LT5zZXRYKGNvbnZlcnRUb0xlbmd0aChzdHlsZVJlc29s
dmVyLCByZWN0VmFsdWUtPngoKSkpOwotICAgICAgICByZWN0LT5zZXRZKGNvbnZlcnRUb0xlbmd0
aChzdHlsZVJlc29sdmVyLCByZWN0VmFsdWUtPnkoKSkpOwotICAgICAgICByZWN0LT5zZXRXaWR0
aChjb252ZXJ0VG9MZW5ndGgoc3R5bGVSZXNvbHZlciwgcmVjdFZhbHVlLT53aWR0aCgpKSk7Ci0g
ICAgICAgIHJlY3QtPnNldEhlaWdodChjb252ZXJ0VG9MZW5ndGgoc3R5bGVSZXNvbHZlciwgcmVj
dFZhbHVlLT5oZWlnaHQoKSkpOwotICAgICAgICBpZiAocmVjdFZhbHVlLT5yYWRpdXNYKCkpIHsK
LSAgICAgICAgICAgIHJlY3QtPnNldENvcm5lclJhZGl1c1goY29udmVydFRvTGVuZ3RoKHN0eWxl
UmVzb2x2ZXIsIHJlY3RWYWx1ZS0+cmFkaXVzWCgpKSk7Ci0gICAgICAgICAgICBpZiAocmVjdFZh
bHVlLT5yYWRpdXNZKCkpCi0gICAgICAgICAgICAgICAgcmVjdC0+c2V0Q29ybmVyUmFkaXVzWShj
b252ZXJ0VG9MZW5ndGgoc3R5bGVSZXNvbHZlciwgcmVjdFZhbHVlLT5yYWRpdXNZKCkpKTsKLSAg
ICAgICAgfQotICAgICAgICB3cmFwU2hhcGUgPSByZWN0LnJlbGVhc2UoKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgfQotICAgIGNhc2UgQ1NTV3JhcFNoYXBlOjpDU1NfV1JBUF9TSEFQRV9DSVJDTEU6
IHsKLSAgICAgICAgY29uc3QgQ1NTV3JhcFNoYXBlQ2lyY2xlKiBjaXJjbGVWYWx1ZSA9IHN0YXRp
Y19jYXN0PGNvbnN0IENTU1dyYXBTaGFwZUNpcmNsZSAqPih3cmFwU2hhcGVWYWx1ZSk7Ci0gICAg
ICAgIFJlZlB0cjxXcmFwU2hhcGVDaXJjbGU+IGNpcmNsZSA9IFdyYXBTaGFwZUNpcmNsZTo6Y3Jl
YXRlKCk7Ci0KLSAgICAgICAgY2lyY2xlLT5zZXRDZW50ZXJYKGNvbnZlcnRUb0xlbmd0aChzdHls
ZVJlc29sdmVyLCBjaXJjbGVWYWx1ZS0+Y2VudGVyWCgpKSk7Ci0gICAgICAgIGNpcmNsZS0+c2V0
Q2VudGVyWShjb252ZXJ0VG9MZW5ndGgoc3R5bGVSZXNvbHZlciwgY2lyY2xlVmFsdWUtPmNlbnRl
clkoKSkpOwotICAgICAgICBjaXJjbGUtPnNldFJhZGl1cyhjb252ZXJ0VG9MZW5ndGgoc3R5bGVS
ZXNvbHZlciwgY2lyY2xlVmFsdWUtPnJhZGl1cygpKSk7Ci0KLSAgICAgICAgd3JhcFNoYXBlID0g
Y2lyY2xlLnJlbGVhc2UoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgQ1NTV3Jh
cFNoYXBlOjpDU1NfV1JBUF9TSEFQRV9FTExJUFNFOiB7Ci0gICAgICAgIGNvbnN0IENTU1dyYXBT
aGFwZUVsbGlwc2UqIGVsbGlwc2VWYWx1ZSA9IHN0YXRpY19jYXN0PGNvbnN0IENTU1dyYXBTaGFw
ZUVsbGlwc2UgKj4od3JhcFNoYXBlVmFsdWUpOwotICAgICAgICBSZWZQdHI8V3JhcFNoYXBlRWxs
aXBzZT4gZWxsaXBzZSA9IFdyYXBTaGFwZUVsbGlwc2U6OmNyZWF0ZSgpOwotCi0gICAgICAgIGVs
bGlwc2UtPnNldENlbnRlclgoY29udmVydFRvTGVuZ3RoKHN0eWxlUmVzb2x2ZXIsIGVsbGlwc2VW
YWx1ZS0+Y2VudGVyWCgpKSk7Ci0gICAgICAgIGVsbGlwc2UtPnNldENlbnRlclkoY29udmVydFRv
TGVuZ3RoKHN0eWxlUmVzb2x2ZXIsIGVsbGlwc2VWYWx1ZS0+Y2VudGVyWSgpKSk7Ci0gICAgICAg
IGVsbGlwc2UtPnNldFJhZGl1c1goY29udmVydFRvTGVuZ3RoKHN0eWxlUmVzb2x2ZXIsIGVsbGlw
c2VWYWx1ZS0+cmFkaXVzWCgpKSk7Ci0gICAgICAgIGVsbGlwc2UtPnNldFJhZGl1c1koY29udmVy
dFRvTGVuZ3RoKHN0eWxlUmVzb2x2ZXIsIGVsbGlwc2VWYWx1ZS0+cmFkaXVzWSgpKSk7Ci0KLSAg
ICAgICAgd3JhcFNoYXBlID0gZWxsaXBzZS5yZWxlYXNlKCk7Ci0gICAgICAgIGJyZWFrOwotICAg
IH0KLSAgICBjYXNlIENTU1dyYXBTaGFwZTo6Q1NTX1dSQVBfU0hBUEVfUE9MWUdPTjogewotICAg
ICAgICBjb25zdCBDU1NXcmFwU2hhcGVQb2x5Z29uKiBwb2x5Z29uVmFsdWUgPSBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NXcmFwU2hhcGVQb2x5Z29uICo+KHdyYXBTaGFwZVZhbHVlKTsKLSAgICAgICAg
UmVmUHRyPFdyYXBTaGFwZVBvbHlnb24+IHBvbHlnb24gPSBXcmFwU2hhcGVQb2x5Z29uOjpjcmVh
dGUoKTsKLQotICAgICAgICBwb2x5Z29uLT5zZXRXaW5kUnVsZShwb2x5Z29uVmFsdWUtPndpbmRS
dWxlKCkpOwotICAgICAgICBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiA+
JiB2YWx1ZXMgPSBwb2x5Z29uVmFsdWUtPnZhbHVlcygpOwotICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgdmFsdWVzLnNpemUoKTsgaSArPSAyKQotICAgICAgICAgICAgcG9seWdvbi0+
YXBwZW5kUG9pbnQoY29udmVydFRvTGVuZ3RoKHN0eWxlUmVzb2x2ZXIsIHZhbHVlcy5hdChpKS5n
ZXQoKSksIGNvbnZlcnRUb0xlbmd0aChzdHlsZVJlc29sdmVyLCB2YWx1ZXMuYXQoaSArIDEpLmdl
dCgpKSk7Ci0KLSAgICAgICAgd3JhcFNoYXBlID0gcG9seWdvbi5yZWxlYXNlKCk7Ci0gICAgICAg
IGJyZWFrOwotICAgIH0KLSAgICBkZWZhdWx0OgotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAg
cmV0dXJuIHdyYXBTaGFwZS5yZWxlYXNlKCk7Ci19Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV3JhcFNoYXBlRnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV3JhcFNo
YXBlRnVuY3Rpb25zLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzYjk1M2M2MTAz
YTI0NmE5Mzk4ZGEwYjg0MTRmNWU5MzYyOGQ0ZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dyYXBTaGFwZUZ1bmN0aW9u
cy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCi0gKiAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZwotICogICAgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKLSAqICAgIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCi0gKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCi0gKiBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SCi0gKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKLSAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2lmbmRlZiBXcmFwU2hhcGVGdW5jdGlvbnNfaAotI2RlZmluZSBXcmFwU2hh
cGVGdW5jdGlvbnNfaAotCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBDU1NWYWx1ZTsKLWNsYXNzIENTU1dyYXBTaGFwZTsKLWNsYXNz
IFN0eWxlUmVzb2x2ZXI7Ci1jbGFzcyBXcmFwU2hhcGU7Ci0KLVBhc3NSZWZQdHI8Q1NTVmFsdWU+
IHZhbHVlRm9yV3JhcFNoYXBlKGNvbnN0IFdyYXBTaGFwZSopOwotUGFzc1JlZlB0cjxXcmFwU2hh
cGU+IHdyYXBTaGFwZUZvclZhbHVlKGNvbnN0IFN0eWxlUmVzb2x2ZXIqLCBjb25zdCBDU1NXcmFw
U2hhcGUqKTsKLQotfQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0Jhc2ljU2hhcGVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGFjZmQyNzUwN2MxNmFhY2M3Y2ExZmQ2ZDkw
ZjJiNWE2OWRkOWI5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0Jhc2ljU2hhcGVzLmNwcApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAq
ICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkJhc2ljU2hhcGVz
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBXcmFwU2hhcGU6OmRlc3Ryb3koKQor
eworICAgIHN3aXRjaCAobV90eXBlKSB7CisgICAgY2FzZSBXUkFQX1NIQVBFX1JFQ1RBTkdMRToK
KyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZVJlY3RhbmdsZSo+KHRoaXMpOwor
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBXUkFQX1NIQVBFX0NJUkNMRToKKyAgICAgICAgZGVs
ZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZUNpcmNsZSo+KHRoaXMpOworICAgICAgICByZXR1cm47
CisgICAgY2FzZSBXUkFQX1NIQVBFX0VMTElQU0U6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2Fz
dDxXcmFwU2hhcGVFbGxpcHNlKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFdS
QVBfU0hBUEVfUE9MWUdPTjoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZVBv
bHlnb24qPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0Jhc2ljU2hhcGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNT
aGFwZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YjIyMWY4YjQ3NTQyY2U2YzZiYjk4N2FkMjRlNTc0M2ZhNDg2
NzgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jh
c2ljU2hhcGVzLmgKQEAgLTAsMCArMSwxNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
QWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAq
ICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUiAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBCYXNpY1NoYXBlc19oCisjZGVmaW5lIEJhc2ljU2hhcGVzX2gKKworI2luY2x1
ZGUgIkxlbmd0aC5oIgorI2luY2x1ZGUgIldpbmRSdWxlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdyYXBTaGFwZSA6IHB1YmxpYyBXVEY6
OlJlZkNvdW50ZWRCYXNlIHsKK3B1YmxpYzoKKyAgICBlbnVtIFR5cGUgeworICAgICAgICBXUkFQ
X1NIQVBFX1JFQ1RBTkdMRSA9IDEsCisgICAgICAgIFdSQVBfU0hBUEVfQ0lSQ0xFID0gMiwKKyAg
ICAgICAgV1JBUF9TSEFQRV9FTExJUFNFID0gMywKKyAgICAgICAgV1JBUF9TSEFQRV9QT0xZR09O
ID0gNAorICAgIH07CisgICAgCisgICAgdm9pZCBkZXJlZigpIAorICAgIHsKKyAgICAgICAgaWYg
KGRlcmVmQmFzZSgpKQorICAgICAgICAgICAgZGVzdHJveSgpOworICAgIH0KKworICAgIFR5cGUg
dHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgV3JhcFNo
YXBlKFR5cGUgdHlwZSkKKyAgICAgICAgOiBtX3R5cGUodHlwZSkKKyAgICB7IH0KKyAgICAKK3By
aXZhdGU6CisgICAgdm9pZCBkZXN0cm95KCk7CisgICAgVHlwZSBtX3R5cGU7Cit9OworCitjbGFz
cyBXcmFwU2hhcGVSZWN0YW5nbGUgOiBwdWJsaWMgV3JhcFNoYXBlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxXcmFwU2hhcGVSZWN0YW5nbGU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBXcmFwU2hhcGVSZWN0YW5nbGUpOyB9CisKKyAgICBMZW5ndGggeCgpIGNvbnN0
IHsgcmV0dXJuIG1feDsgfQorICAgIExlbmd0aCB5KCkgY29uc3QgeyByZXR1cm4gbV95OyB9Cisg
ICAgTGVuZ3RoIHdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV93aWR0aDsgfQorICAgIExlbmd0aCBo
ZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodDsgfQorICAgIExlbmd0aCBjb3JuZXJSYWRp
dXNYKCkgY29uc3QgeyByZXR1cm4gbV9jb3JuZXJSYWRpdXNYOyB9CisgICAgTGVuZ3RoIGNvcm5l
clJhZGl1c1koKSBjb25zdCB7IHJldHVybiBtX2Nvcm5lclJhZGl1c1k7IH0KKworICAgIHZvaWQg
c2V0WChMZW5ndGggeCkgeyBtX3ggPSB4OyB9CisgICAgdm9pZCBzZXRZKExlbmd0aCB5KSB7IG1f
eSA9IHk7IH0KKyAgICB2b2lkIHNldFdpZHRoKExlbmd0aCB3aWR0aCkgeyBtX3dpZHRoID0gd2lk
dGg7IH0KKyAgICB2b2lkIHNldEhlaWdodChMZW5ndGggaGVpZ2h0KSB7IG1faGVpZ2h0ID0gaGVp
Z2h0OyB9CisgICAgdm9pZCBzZXRDb3JuZXJSYWRpdXNYKExlbmd0aCByYWRpdXNYKSB7IG1fY29y
bmVyUmFkaXVzWCA9IHJhZGl1c1g7IH0KKyAgICB2b2lkIHNldENvcm5lclJhZGl1c1koTGVuZ3Ro
IHJhZGl1c1kpIHsgbV9jb3JuZXJSYWRpdXNZID0gcmFkaXVzWTsgfQorICAgIAorcHJpdmF0ZToK
KyAgICBXcmFwU2hhcGVSZWN0YW5nbGUoKQorICAgICAgICA6IFdyYXBTaGFwZShXUkFQX1NIQVBF
X1JFQ1RBTkdMRSkKKyAgICAgICAgLCBtX2Nvcm5lclJhZGl1c1goVW5kZWZpbmVkKQorICAgICAg
ICAsIG1fY29ybmVyUmFkaXVzWShVbmRlZmluZWQpCisgICAgeyB9CisKKyAgICBMZW5ndGggbV95
OworICAgIExlbmd0aCBtX3g7CisgICAgTGVuZ3RoIG1fd2lkdGg7CisgICAgTGVuZ3RoIG1faGVp
Z2h0OworICAgIExlbmd0aCBtX2Nvcm5lclJhZGl1c1g7CisgICAgTGVuZ3RoIG1fY29ybmVyUmFk
aXVzWTsKK307CisKK2NsYXNzIFdyYXBTaGFwZUNpcmNsZSA6IHB1YmxpYyBXcmFwU2hhcGUgewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdyYXBTaGFwZUNpcmNsZT4gY3JlYXRlKCkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IFdyYXBTaGFwZUNpcmNsZSk7IH0KKworICAgIExlbmd0aCBj
ZW50ZXJYKCkgY29uc3QgeyByZXR1cm4gbV9jZW50ZXJYOyB9CisgICAgTGVuZ3RoIGNlbnRlclko
KSBjb25zdCB7IHJldHVybiBtX2NlbnRlclk7IH0KKyAgICBMZW5ndGggcmFkaXVzKCkgY29uc3Qg
eyByZXR1cm4gbV9yYWRpdXM7IH0KKworICAgIHZvaWQgc2V0Q2VudGVyWChMZW5ndGggY2VudGVy
WCkgeyBtX2NlbnRlclggPSBjZW50ZXJYOyB9CisgICAgdm9pZCBzZXRDZW50ZXJZKExlbmd0aCBj
ZW50ZXJZKSB7IG1fY2VudGVyWSA9IGNlbnRlclk7IH0KKyAgICB2b2lkIHNldFJhZGl1cyhMZW5n
dGggcmFkaXVzKSB7IG1fcmFkaXVzID0gcmFkaXVzOyB9CisKK3ByaXZhdGU6CisgICAgV3JhcFNo
YXBlQ2lyY2xlKCkgCisgICAgICAgIDogV3JhcFNoYXBlKFdSQVBfU0hBUEVfQ0lSQ0xFKQorICAg
IHsgfQorCisgICAgTGVuZ3RoIG1fY2VudGVyWDsKKyAgICBMZW5ndGggbV9jZW50ZXJZOworICAg
IExlbmd0aCBtX3JhZGl1czsKK307CisKK2NsYXNzIFdyYXBTaGFwZUVsbGlwc2UgOiBwdWJsaWMg
V3JhcFNoYXBlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXcmFwU2hhcGVFbGxp
cHNlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV3JhcFNoYXBlRWxsaXBzZSk7IH0K
KworICAgIExlbmd0aCBjZW50ZXJYKCkgY29uc3QgeyByZXR1cm4gbV9jZW50ZXJYOyB9CisgICAg
TGVuZ3RoIGNlbnRlclkoKSBjb25zdCB7IHJldHVybiBtX2NlbnRlclk7IH0KKyAgICBMZW5ndGgg
cmFkaXVzWCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzWDsgfQorICAgIExlbmd0aCByYWRpdXNZ
KCkgY29uc3QgeyByZXR1cm4gbV9yYWRpdXNZOyB9CisKKyAgICB2b2lkIHNldENlbnRlclgoTGVu
Z3RoIGNlbnRlclgpIHsgbV9jZW50ZXJYID0gY2VudGVyWDsgfQorICAgIHZvaWQgc2V0Q2VudGVy
WShMZW5ndGggY2VudGVyWSkgeyBtX2NlbnRlclkgPSBjZW50ZXJZOyB9CisgICAgdm9pZCBzZXRS
YWRpdXNYKExlbmd0aCByYWRpdXNYKSB7IG1fcmFkaXVzWCA9IHJhZGl1c1g7IH0KKyAgICB2b2lk
IHNldFJhZGl1c1koTGVuZ3RoIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gcmFkaXVzWTsgfQorCitw
cml2YXRlOgorICAgIFdyYXBTaGFwZUVsbGlwc2UoKSAKKyAgICAgICAgOiBXcmFwU2hhcGUoV1JB
UF9TSEFQRV9FTExJUFNFKQorICAgIHsgfQorCisgICAgTGVuZ3RoIG1fY2VudGVyWDsKKyAgICBM
ZW5ndGggbV9jZW50ZXJZOworICAgIExlbmd0aCBtX3JhZGl1c1g7CisgICAgTGVuZ3RoIG1fcmFk
aXVzWTsKK307CisKK2NsYXNzIFdyYXBTaGFwZVBvbHlnb24gOiBwdWJsaWMgV3JhcFNoYXBlIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXcmFwU2hhcGVQb2x5Z29uPiBjcmVhdGUo
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgV3JhcFNoYXBlUG9seWdvbik7IH0KKworICAgIFdpbmRS
dWxlIHdpbmRSdWxlKCkgY29uc3QgeyByZXR1cm4gbV93aW5kUnVsZTsgfQorICAgIGNvbnN0IFZl
Y3RvcjxMZW5ndGg+JiB2YWx1ZXMoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlczsgfQorICAgIExl
bmd0aCBnZXRYQXQodW5zaWduZWQgaSkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXMuYXQoMiAqIGkp
OyB9CisgICAgTGVuZ3RoIGdldFlBdCh1bnNpZ25lZCBpKSBjb25zdCB7IHJldHVybiBtX3ZhbHVl
cy5hdCgyICogaSArIDEpOyB9CisKKyAgICB2b2lkIHNldFdpbmRSdWxlKFdpbmRSdWxlIHdpbmRS
dWxlKSB7IG1fd2luZFJ1bGUgPSB3aW5kUnVsZTsgfQorICAgIHZvaWQgYXBwZW5kUG9pbnQoTGVu
Z3RoIHgsIExlbmd0aCB5KSB7IG1fdmFsdWVzLmFwcGVuZCh4KTsgbV92YWx1ZXMuYXBwZW5kKHkp
OyB9CisKK3ByaXZhdGU6CisgICAgV3JhcFNoYXBlUG9seWdvbigpCisgICAgICAgIDogV3JhcFNo
YXBlKFdSQVBfU0hBUEVfUE9MWUdPTikKKyAgICAgICAgLCBtX3dpbmRSdWxlKFJVTEVfTk9OWkVS
TykKKyAgICB7IH0KKworICAgIFdpbmRSdWxlIG1fd2luZFJ1bGU7CisgICAgVmVjdG9yPExlbmd0
aD4gbV92YWx1ZXM7Cit9OworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCBlNmY0
YTE4YmU4NGE5ODkwMDkwOTM2MDAzN2RlMzYxMGEwZmZlNmRiLi4wODlmNmE2YmVjMzU2NTcwZjhl
MDRlYjRhOWIzMThiNTYyMmZhYzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAgLTI1LDEzICsy
NSwxMyBAQAogI2lmbmRlZiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhX2gKICNkZWZpbmUgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YV9oCiAKKyNpbmNsdWRlICJCYXNpY1NoYXBlcy5oIgogI2lu
Y2x1ZGUgIkNvdW50ZXJEaXJlY3RpdmVzLmgiCiAjaW5jbHVkZSAiQ3Vyc29yRGF0YS5oIgogI2lu
Y2x1ZGUgIkRhdGFSZWYuaCIKICNpbmNsdWRlICJGaWxsTGF5ZXIuaCIKICNpbmNsdWRlICJMaW5l
Q2xhbXBWYWx1ZS5oIgogI2luY2x1ZGUgIk5pbmVQaWVjZUltYWdlLmgiCi0jaW5jbHVkZSAiV3Jh
cFNoYXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjFhMmM5ZmJmZGZiM2I4NjAwN2VlMTQxYjg2MjBhMzhhOWIyNWNmNi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvV3JhcFNoYXBlcy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUKLSAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogICAgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAq
ICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cwotICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQotICogTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAotICog
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgotICogVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCi0gKiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YK
LSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2luY2x1ZGUg
IldyYXBTaGFwZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi12b2lkIFdyYXBTaGFwZTo6
ZGVzdHJveSgpCi17Ci0gICAgc3dpdGNoIChtX3R5cGUpIHsKLSAgICBjYXNlIFdSQVBfU0hBUEVf
UkVDVEFOR0xFOgotICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V3JhcFNoYXBlUmVjdGFuZ2xl
Kj4odGhpcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIFdSQVBfU0hBUEVfQ0lSQ0xFOgot
ICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V3JhcFNoYXBlQ2lyY2xlKj4odGhpcyk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICBjYXNlIFdSQVBfU0hBUEVfRUxMSVBTRToKLSAgICAgICAgZGVsZXRl
IHN0YXRpY19jYXN0PFdyYXBTaGFwZUVsbGlwc2UqPih0aGlzKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIGNhc2UgV1JBUF9TSEFQRV9QT0xZR09OOgotICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8
V3JhcFNoYXBlUG9seWdvbio+KHRoaXMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1dyYXBTaGFwZXMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGIyNjZjMmMx
YjhiNjdjMmE0YjcxNmRmZTI4MDQ5MmFiZDVmZmYxNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3Jh
cFNoYXBlcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTcwICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQot
ICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcKLSAqICAgIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotICogICAgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCi0gKiAgICBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCi0gKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCi0gKiBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SCi0gKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKLSAqIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXcmFwU2hhcGVzX2gKLSNkZWZpbmUgV3JhcFNoYXBlc19o
Ci0KLSNpbmNsdWRlICJMZW5ndGguaCIKLSNpbmNsdWRlICJXaW5kUnVsZS5oIgotI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXcmFwU2hhcGUgOiBw
dWJsaWMgV1RGOjpSZWZDb3VudGVkQmFzZSB7Ci1wdWJsaWM6Ci0gICAgZW51bSBUeXBlIHsKLSAg
ICAgICAgV1JBUF9TSEFQRV9SRUNUQU5HTEUgPSAxLAotICAgICAgICBXUkFQX1NIQVBFX0NJUkNM
RSA9IDIsCi0gICAgICAgIFdSQVBfU0hBUEVfRUxMSVBTRSA9IDMsCi0gICAgICAgIFdSQVBfU0hB
UEVfUE9MWUdPTiA9IDQKLSAgICB9OwotICAgIAotICAgIHZvaWQgZGVyZWYoKSAKLSAgICB7Ci0g
ICAgICAgIGlmIChkZXJlZkJhc2UoKSkKLSAgICAgICAgICAgIGRlc3Ryb3koKTsKLSAgICB9Ci0K
LSAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KLQotcHJvdGVjdGVkOgot
ICAgIFdyYXBTaGFwZShUeXBlIHR5cGUpCi0gICAgICAgIDogbV90eXBlKHR5cGUpCi0gICAgeyB9
Ci0gICAgCi1wcml2YXRlOgotICAgIHZvaWQgZGVzdHJveSgpOwotICAgIFR5cGUgbV90eXBlOwot
fTsKLQotY2xhc3MgV3JhcFNoYXBlUmVjdGFuZ2xlIDogcHVibGljIFdyYXBTaGFwZSB7Ci1wdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V3JhcFNoYXBlUmVjdGFuZ2xlPiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZihuZXcgV3JhcFNoYXBlUmVjdGFuZ2xlKTsgfQotCi0gICAgTGVuZ3Ro
IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KLSAgICBMZW5ndGggeSgpIGNvbnN0IHsgcmV0dXJu
IG1feTsgfQotICAgIExlbmd0aCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGg7IH0KLSAg
ICBMZW5ndGggaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9oZWlnaHQ7IH0KLSAgICBMZW5ndGgg
Y29ybmVyUmFkaXVzWCgpIGNvbnN0IHsgcmV0dXJuIG1fY29ybmVyUmFkaXVzWDsgfQotICAgIExl
bmd0aCBjb3JuZXJSYWRpdXNZKCkgY29uc3QgeyByZXR1cm4gbV9jb3JuZXJSYWRpdXNZOyB9Ci0K
LSAgICB2b2lkIHNldFgoTGVuZ3RoIHgpIHsgbV94ID0geDsgfQotICAgIHZvaWQgc2V0WShMZW5n
dGggeSkgeyBtX3kgPSB5OyB9Ci0gICAgdm9pZCBzZXRXaWR0aChMZW5ndGggd2lkdGgpIHsgbV93
aWR0aCA9IHdpZHRoOyB9Ci0gICAgdm9pZCBzZXRIZWlnaHQoTGVuZ3RoIGhlaWdodCkgeyBtX2hl
aWdodCA9IGhlaWdodDsgfQotICAgIHZvaWQgc2V0Q29ybmVyUmFkaXVzWChMZW5ndGggcmFkaXVz
WCkgeyBtX2Nvcm5lclJhZGl1c1ggPSByYWRpdXNYOyB9Ci0gICAgdm9pZCBzZXRDb3JuZXJSYWRp
dXNZKExlbmd0aCByYWRpdXNZKSB7IG1fY29ybmVyUmFkaXVzWSA9IHJhZGl1c1k7IH0KLSAgICAK
LXByaXZhdGU6Ci0gICAgV3JhcFNoYXBlUmVjdGFuZ2xlKCkKLSAgICAgICAgOiBXcmFwU2hhcGUo
V1JBUF9TSEFQRV9SRUNUQU5HTEUpCi0gICAgICAgICwgbV9jb3JuZXJSYWRpdXNYKFVuZGVmaW5l
ZCkKLSAgICAgICAgLCBtX2Nvcm5lclJhZGl1c1koVW5kZWZpbmVkKQotICAgIHsgfQotCi0gICAg
TGVuZ3RoIG1feTsKLSAgICBMZW5ndGggbV94OwotICAgIExlbmd0aCBtX3dpZHRoOwotICAgIExl
bmd0aCBtX2hlaWdodDsKLSAgICBMZW5ndGggbV9jb3JuZXJSYWRpdXNYOwotICAgIExlbmd0aCBt
X2Nvcm5lclJhZGl1c1k7Ci19OwotCi1jbGFzcyBXcmFwU2hhcGVDaXJjbGUgOiBwdWJsaWMgV3Jh
cFNoYXBlIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXcmFwU2hhcGVDaXJjbGU+
IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXcmFwU2hhcGVDaXJjbGUpOyB9Ci0KLSAg
ICBMZW5ndGggY2VudGVyWCgpIGNvbnN0IHsgcmV0dXJuIG1fY2VudGVyWDsgfQotICAgIExlbmd0
aCBjZW50ZXJZKCkgY29uc3QgeyByZXR1cm4gbV9jZW50ZXJZOyB9Ci0gICAgTGVuZ3RoIHJhZGl1
cygpIGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzOyB9Ci0KLSAgICB2b2lkIHNldENlbnRlclgoTGVu
Z3RoIGNlbnRlclgpIHsgbV9jZW50ZXJYID0gY2VudGVyWDsgfQotICAgIHZvaWQgc2V0Q2VudGVy
WShMZW5ndGggY2VudGVyWSkgeyBtX2NlbnRlclkgPSBjZW50ZXJZOyB9Ci0gICAgdm9pZCBzZXRS
YWRpdXMoTGVuZ3RoIHJhZGl1cykgeyBtX3JhZGl1cyA9IHJhZGl1czsgfQotCi1wcml2YXRlOgot
ICAgIFdyYXBTaGFwZUNpcmNsZSgpIAotICAgICAgICA6IFdyYXBTaGFwZShXUkFQX1NIQVBFX0NJ
UkNMRSkKLSAgICB7IH0KLQotICAgIExlbmd0aCBtX2NlbnRlclg7Ci0gICAgTGVuZ3RoIG1fY2Vu
dGVyWTsKLSAgICBMZW5ndGggbV9yYWRpdXM7Ci19OwotCi1jbGFzcyBXcmFwU2hhcGVFbGxpcHNl
IDogcHVibGljIFdyYXBTaGFwZSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V3Jh
cFNoYXBlRWxsaXBzZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdyYXBTaGFwZUVs
bGlwc2UpOyB9Ci0KLSAgICBMZW5ndGggY2VudGVyWCgpIGNvbnN0IHsgcmV0dXJuIG1fY2VudGVy
WDsgfQotICAgIExlbmd0aCBjZW50ZXJZKCkgY29uc3QgeyByZXR1cm4gbV9jZW50ZXJZOyB9Ci0g
ICAgTGVuZ3RoIHJhZGl1c1goKSBjb25zdCB7IHJldHVybiBtX3JhZGl1c1g7IH0KLSAgICBMZW5n
dGggcmFkaXVzWSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzWTsgfQotCi0gICAgdm9pZCBzZXRD
ZW50ZXJYKExlbmd0aCBjZW50ZXJYKSB7IG1fY2VudGVyWCA9IGNlbnRlclg7IH0KLSAgICB2b2lk
IHNldENlbnRlclkoTGVuZ3RoIGNlbnRlclkpIHsgbV9jZW50ZXJZID0gY2VudGVyWTsgfQotICAg
IHZvaWQgc2V0UmFkaXVzWChMZW5ndGggcmFkaXVzWCkgeyBtX3JhZGl1c1ggPSByYWRpdXNYOyB9
Ci0gICAgdm9pZCBzZXRSYWRpdXNZKExlbmd0aCByYWRpdXNZKSB7IG1fcmFkaXVzWSA9IHJhZGl1
c1k7IH0KLQotcHJpdmF0ZToKLSAgICBXcmFwU2hhcGVFbGxpcHNlKCkgCi0gICAgICAgIDogV3Jh
cFNoYXBlKFdSQVBfU0hBUEVfRUxMSVBTRSkKLSAgICB7IH0KLQotICAgIExlbmd0aCBtX2NlbnRl
clg7Ci0gICAgTGVuZ3RoIG1fY2VudGVyWTsKLSAgICBMZW5ndGggbV9yYWRpdXNYOwotICAgIExl
bmd0aCBtX3JhZGl1c1k7Ci19OwotCi1jbGFzcyBXcmFwU2hhcGVQb2x5Z29uIDogcHVibGljIFdy
YXBTaGFwZSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V3JhcFNoYXBlUG9seWdv
bj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdyYXBTaGFwZVBvbHlnb24pOyB9Ci0K
LSAgICBXaW5kUnVsZSB3aW5kUnVsZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2luZFJ1bGU7IH0KLSAg
ICBjb25zdCBWZWN0b3I8TGVuZ3RoPiYgdmFsdWVzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXM7
IH0KLSAgICBMZW5ndGggZ2V0WEF0KHVuc2lnbmVkIGkpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWVz
LmF0KDIgKiBpKTsgfQotICAgIExlbmd0aCBnZXRZQXQodW5zaWduZWQgaSkgY29uc3QgeyByZXR1
cm4gbV92YWx1ZXMuYXQoMiAqIGkgKyAxKTsgfQotCi0gICAgdm9pZCBzZXRXaW5kUnVsZShXaW5k
UnVsZSB3aW5kUnVsZSkgeyBtX3dpbmRSdWxlID0gd2luZFJ1bGU7IH0KLSAgICB2b2lkIGFwcGVu
ZFBvaW50KExlbmd0aCB4LCBMZW5ndGggeSkgeyBtX3ZhbHVlcy5hcHBlbmQoeCk7IG1fdmFsdWVz
LmFwcGVuZCh5KTsgfQotCi1wcml2YXRlOgotICAgIFdyYXBTaGFwZVBvbHlnb24oKQotICAgICAg
ICA6IFdyYXBTaGFwZShXUkFQX1NIQVBFX1BPTFlHT04pCi0gICAgICAgICwgbV93aW5kUnVsZShS
VUxFX05PTlpFUk8pCi0gICAgeyB9Ci0KLSAgICBXaW5kUnVsZSBtX3dpbmRSdWxlOwotICAgIFZl
Y3RvcjxMZW5ndGg+IG1fdmFsdWVzOwotfTsKLX0KLSNlbmRpZgo=
</data>
<flag name="review"
          id="172197"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>