<?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>211270</bug_id>
          
          <creation_ts>2020-04-30 18:26:01 -0700</creation_ts>
          <short_desc>WebKit Swift Overlay</short_desc>
          <delta_ts>2020-05-22 17:52:05 -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>WebKit API</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Savage">james.savage</reporter>
          <assigned_to name="James Savage">james.savage</assigned_to>
          <cc>beidson</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1647691</commentid>
    <comment_count>0</comment_count>
    <who name="James Savage">james.savage</who>
    <bug_when>2020-04-30 18:26:01 -0700</bug_when>
    <thetext>Create Swift overlay for WebKit framework.
&lt;rdar://problem/60549174&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647704</commentid>
    <comment_count>1</comment_count>
      <attachid>398136</attachid>
    <who name="James Savage">james.savage</who>
    <bug_when>2020-04-30 18:56:53 -0700</bug_when>
    <thetext>Created attachment 398136
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651131</commentid>
    <comment_count>2</comment_count>
      <attachid>398136</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-10 15:46:50 -0700</bug_when>
    <thetext>Comment on attachment 398136
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Create Swift overlay for WebKit framework

This change log says a lot, but it doesn’t way why we are doing this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655345</commentid>
    <comment_count>3</comment_count>
      <attachid>398136</attachid>
    <who name="James Savage">james.savage</who>
    <bug_when>2020-05-22 10:20:49 -0700</bug_when>
    <thetext>Comment on attachment 398136
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:3
&gt;&gt; +        Create Swift overlay for WebKit framework
&gt; 
&gt; This change log says a lot, but it doesn’t way why we are doing this!

Such as why do a Swift overlay at all? I thought I explained that with my explanation of individual changes, but to step back this is about providing APIs that use Swift-native idioms that cannot be expressed in Objective-C. For example, Swift can have optional scalar types like Optional&lt;CGRect&gt;, where in Objective-C a similar concept is CGRectNull. The former provides compile-type type correctness while the latter is just a magic value. Result&lt;T, Error&gt; is the async equivalent of a throwing function, and enforces mutual exclusion for functions that return either a value or an error. Without it, using the direct Objective-C import of (T?, Error?) you end up with four possible states, two of which are invalid (ex: (nil, nil) and (T(), Error())). Without getting in to future plans, we could do a lot more with this too. I&apos;m really proposing some light polish with these changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655538</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-22 17:52:04 -0700</bug_when>
    <thetext>Committed r262089: &lt;https://trac.webkit.org/changeset/262089&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398136.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398136</attachid>
            <date>2020-04-30 18:56:53 -0700</date>
            <delta_ts>2020-05-22 17:52:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211270-20200430185653.patch</filename>
            <type>text/plain</type>
            <size>53750</size>
            <attacher name="James Savage">james.savage</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA5NjVjNWQwMGUzZDY1ODYw
YmY5NDRiYzFmZTQyOTNiZTBhYmNkOTguLmRiMWI5ODI5NjM5M2ZjODU5MzgwZDczNjI5ODUyYjI3
ZDhkMGI1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTcgQEAKKzIwMjAtMDQtMzAgIEphbWVzIFNh
dmFnZSAgPGphbWVzLnNhdmFnZUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3JlYXRlIFN3aWZ0IG92
ZXJsYXkgZm9yIFdlYktpdCBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMTI3MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjA1NDkx
NzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJv
dmlkZXMgU3dpZnQtb25seSBvdmVybGF5IG1ldGhvZHMgZm9yIG91ciBOU19SRUZJTkVEX0ZPUl9T
V0lGVCBBUEkuCisgICAgICAgIFRoZSBvdmVybGF5IGRvZXMgbm90IHByb3ZpZGUgZGlmZmVyZW50
IEFQSSB0aGFuIGl0cyBPYmplY3RpdmUtQyBjb3VudGVycGFydHMsCisgICAgICAgIHNvIG92ZXJs
YXkgdGVzdGluZyBmb2N1c2VzIG9uIGVuc3VyaW5nIHRoYXQgdGhlIG92ZXJsYXkgcHJvZHVjZXMg
dGhlCisgICAgICAgIGV4cGVjdGVkIGludGVyZmFjZSwgYW5kIHByb3ZpZGVzIHRoZSBleHBlY3Rl
ZCBtYXBwaW5ncyB0byBhbmQgZnJvbSBPYmpDLgorCisgICAgICAgIFRoZSBvdmVybGF5IGlzIGRl
ZmluZWQgaW4gYSBzZXBhcmF0ZSBYY29kZSBwcm9qZWN0IChmcm9tIFdlYktpdCkgYnkKKyAgICAg
ICAgcmVjb21tZW5kYXRpb24gZnJvbSB0aGUgU3dpZnQgdGVhbS4gRHVlIHRvIGJ1aWxkIHN5c3Rl
bSBjb25zdHJhaW50cyB0aGlzCisgICAgICAgIHByb2plY3QgY2Fubm90IGJlIGEgc2liYmxpbmcg
b2YgV2ViS2l0Lnhjb2RlcHJvaiwgYW5kIG11c3QgbGl2ZSBpbiBhCisgICAgICAgIHN1YmRpcmVj
dG9yeS4gSG93ZXZlciwgYmVjYXVzZSBpdCBnZW5lcmFsbHkgYWN0cyBhcyBwYXJ0IG9mIHRoZSBX
ZWJLaXQKKyAgICAgICAgZnJhbWV3b3JrLCBpdCBzdGlsbCB1c2VzIHRoZSBzYW1lIFZlcnNpb24u
eGNjb25maWcgYW5kIHNvdXJjZSBmaWxlCisgICAgICAgIGxvY2F0aW9ucyBhcyBzdGFuZGFyZCBX
ZWJLaXQgc291cmNlcy4KKworICAgICAgICAqIFN3aWZ0T3ZlcmxheS9Db25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnOiBBZGRlZC4gU2V0IHNvbWUgZGVmYXVsdAorICAgICAgICAgICAgd2Fybmlu
Z3MgYW5kIHByb2R1Y3QgY29uZmlndXJhdGlvbi4KKyAgICAgICAgKiBTd2lmdE92ZXJsYXkvQ29u
ZmlndXJhdGlvbnMvV2ViS2l0U3dpZnRPdmVybGF5LW1hY2NhdGFseXN0LnhjY29uZmlnOiBBZGRl
ZC4KKyAgICAgICAgICAgIE92ZXJyaWRlIFNESyBjb25maWd1cmF0aW9ucyB0byBidWlsZCBmb3Ig
Q2F0YWx5c3QuCisgICAgICAgICogU3dpZnRPdmVybGF5L0NvbmZpZ3VyYXRpb25zL1dlYktpdFN3
aWZ0T3ZlcmxheS54Y2NvbmZpZzogQWRkZWQuCisgICAgICAgICAgICBUaGVzZSBmbGFncyB3ZXJl
IGFsbCBwcm92aWRlZCBieSB0aGUgWGNvZGUgdGVtcGxhdGUuCisgICAgICAgICogU3dpZnRPdmVy
bGF5L0NvbmZpZ3VyYXRpb25zL1dlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLW1hY2NhdGFseXN0Lnhj
Y29uZmlnOiBBZGRlZC4KKyAgICAgICAgICAgIFNlZSBhYm92ZS4KKyAgICAgICAgKiBTd2lmdE92
ZXJsYXkvQ29uZmlndXJhdGlvbnMvV2ViS2l0U3dpZnRPdmVybGF5VGVzdHMueGNjb25maWc6IEFk
ZGVkLgorICAgICAgICAgICAgU2VlIGFib3ZlLgorICAgICAgICAqIFN3aWZ0T3ZlcmxheS9Td2lm
dE92ZXJsYXkvaW5zdGFsbC1zd2lmdG1vZHVsZXMuc2g6IEFkZGVkLiBQcm92aWRlZCBieSB0aGUK
KyAgICAgICAgICAgIFN3aWZ0IHRlYW0uCisgICAgICAgICogU3dpZnRPdmVybGF5L1Rlc3RzL1dl
YktpdFN3aWZ0T3ZlcmxheVRlc3RzLUluZm8ucGxpc3Q6IEFkZGVkLgorICAgICAgICAqIFN3aWZ0
T3ZlcmxheS9UZXN0cy9XZWJLaXRUZXN0cy5zd2lmdDogQWRkZWQuCisgICAgICAgIChXZWJLaXRU
ZXN0cy50ZXN0QVBJKTogVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGZ1bmN0aW9uIG5hbWVzIGNvbWUg
dGhyb3VnaCBhcyB3ZQorICAgICAgICAgICAgZXhwZWN0IHRoZW0gdG8uIEl0IGFsc28gZW5zdXJl
cyB0aGF0IHRoZSBmdW5jdGlvbnMgd2VyZSBjb3JyZWN0bHkgc2V0IHRvCisgICAgICAgICAgICBw
dWJsaWMgdmlzaWJsaXR5LgorICAgICAgICAoV2ViS2l0VGVzdHMudGVzdFdLUERGQ29uZmlndXJh
dGlvblJlY3QpOiBUaGlzIGRvZXMgdGhlIHNhbWUgYXMgdGhlIGFib3ZlLCBidXQKKyAgICAgICAg
ICAgIGFsc28gZXhlcmNpc2VzIHRoZSBudWxsIDwtPiBuaWwgY29udmVyc2lvbiwgYW5kIHRoYXQg
cmVndWxhciB2YWx1ZXMgYXJlCisgICAgICAgICAgICBjb3JyZWN0bHkgcm91bmQgdHJpcHBlZCB0
byBPYmplY3RpdmUtQy4KKyAgICAgICAgKiBTd2lmdE92ZXJsYXkvV2ViS2l0U3dpZnRPdmVybGF5
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkLgorICAgICAgICAqIFN3aWZ0T3Zlcmxh
eS9XZWJLaXRTd2lmdE92ZXJsYXkueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvRXZl
cnl0aGluZyAoQ2F0YWx5c3QpLnhjc2NoZW1lOiBBZGRlZC4KKyAgICAgICAgKiBTd2lmdE92ZXJs
YXkvV2ViS2l0U3dpZnRPdmVybGF5Lnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0V2
ZXJ5dGhpbmcueGNzY2hlbWU6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V2ViS2l0U3dpZnRPdmVybGF5LnN3aWZ0OiBBZGRlZC4KKyAgICAgICAgKFdLUERGQ29uZmlndXJh
dGlvbi5yZWN0KTogUHJvdmlkZSBtYXBwaW5nIG9mIENHUmVjdC5udWxsIHRvIG5pbCBmb3IgU3dp
ZnQuCisgICAgICAgIChXS1dlYlZpZXcuY2FsbEFzeW5jSmF2YVNjcmlwdChfOmFyZ3VtZW50czpp
bjpjb21wbGV0aW9uOikpOiBQcm92aWRlIGEgUmVzdWx0CisgICAgICAgIGluIHRoZSBjb21wbGV0
aW9uIGhhbmRsZXIsIGFuZCBkZWZhdWx0IHZhbHVlIGZvciBhcmd1bWVudHMuCisgICAgICAgIChX
S1dlYlZpZXcuZXZhbHVhdGVKYXZhU2NyaXB0KF86aW46Y29tcGxldGlvbjopKTogRGl0dG8uCisg
ICAgICAgIChXS1dlYlZpZXcuY3JlYXRlUERGKGNvbmZpZ3VyYXRpb246Y29tcGxldGlvbkhhbmRs
ZXI6KSk6IFByb3ZpZGUgYSBTd2lmdCBmdW5jdGlvbgorICAgICAgICAgICAgdGhhdCB0YWtlcyBh
IFJlc3VsdDxEYXRhLCBFcnJvcj4gaW5zdGVhZCBvZiAoRGF0YT8sIEVycm9yPykgdHVwbGUuIFBy
b3ZpZGUKKyAgICAgICAgICAgIGEgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvbmZpZ3VyYXRpb24u
CisgICAgICAgIChXS1dlYlZpZXcuY3JlYXRlV2ViQXJjaGl2ZURhdGEoY29tcGxldGlvbkhhbmRs
ZXI6KSk6IFNlZSBhYm92ZS4KKyAgICAgICAgKFdLV2ViVmlldy5maW5kKF86Y29uZmlndXJhdGlv
bjpjb21wbGV0aW9uSGFuZGxlcjopKTogU2VlIGFib3ZlLgorCiAyMDIwLTA0LTMwICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNjA5
MzIpOiBBU1NFUlRJT04gRkFJTEVEOiBvayBpbiB3ZWJraXQ6OlNhbmRib3hFeHRlbnNpb246OmNv
bnN1bWVQZXJtYW5lbnRseSBmb3IgMyB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
d2lmdE92ZXJsYXkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQv
U3dpZnRPdmVybGF5L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgw
MGZkZDI5ZTU3MWUwY2Y2YzhhOTAwYjg5NWI4NmI0MDI0NGVkOQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvU3dpZnRPdmVybGF5L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcK
QEAgLTAsMCArMSw0OCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLy8gYXJlIG1l
dDoKKy8vIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorLy8gICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKy8vIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKy8vIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisvLyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKy8vIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKy8vIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorLy8g
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorLy8gT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKy8vIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNp
bmNsdWRlICIuLi9Db25maWd1cmF0aW9ucy9TREtWYXJpYW50LnhjY29uZmlnIgorI2luY2x1ZGUg
Ii4uL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24ueGNjb25maWciCisKK0FMV0FZU19TRUFSQ0hfVVNF
Ul9QQVRIUyA9IE5POworQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CitDTEFOR19FTkFCTEVf
T0JKQ19BUkMgPSBZRVM7CitDTEFOR19FTkFCTEVfT0JKQ19XRUFLID0gWUVTOworRU5BQkxFX1RF
U1RBQklMSVRZW2NvbmZpZz1EZWJ1Z10gPSBZRVM7CitPTkxZX0FDVElWRV9BUkNIW2NvbmZpZz1E
ZWJ1Z10gPSBZRVM7CitTV0lGVF9DT01QSUxBVElPTl9NT0RFW2NvbmZpZz1SZWxlYXNlXSA9IHdo
b2xlbW9kdWxlOworU1dJRlRfVkVSU0lPTiA9IDUuMDsKKworU1dJRlRfT1BUSU1JWkFUSU9OX0xF
VkVMW2NvbmZpZz1EZWJ1Z10gPSAtT25vbmU7CitTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUxbY29u
ZmlnPVJlbGVhc2VdID0gLU87CisKK0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVFtjb25maWc9RGVi
dWddID0gZHdhcmY7CitERUJVR19JTkZPUk1BVElPTl9GT1JNQVRbY29uZmlnPVJlbGVhc2VdID0g
ZHdhcmYtd2l0aC1kc3ltOworCitPTkxZX0FDVElWRV9BUkNIW2NvbmZpZz1EZWJ1Z10gPSBZRVM7
CitPTkxZX0FDVElWRV9BUkNIW2NvbmZpZz1SZWxlYXNlXSA9IE5POworCitTREtST09UID0gbWFj
b3N4LmludGVybmFsOworU0RLUk9PVFtzZGs9aXBob25lb3MqXSA9IGlwaG9uZW9zLmludGVybmFs
OworU0RLUk9PVFtzZGs9YXBwbGV0dipdID0gYXBwbGV0dm9zLmludGVybmFsOworU0RLUk9PVFtz
ZGs9d2F0Y2hvcypdID0gd2F0Y2hvcy5pbnRlcm5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU3dpZnRPdmVybGF5L0NvbmZpZ3VyYXRpb25zL1dlYktpdFN3aWZ0T3ZlcmxheS1tYWNjYXRh
bHlzdC54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvU3dpZnRPdmVybGF5L0NvbmZpZ3VyYXRpb25z
L1dlYktpdFN3aWZ0T3ZlcmxheS1tYWNjYXRhbHlzdC54Y2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTMy
NzRiMmY4ZDk3ZmM3N2E0MjU1NmYwNDg3ODI2NDQ3YjdkODJmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9Td2lmdE92ZXJsYXkvQ29uZmlndXJhdGlvbnMvV2ViS2l0U3dpZnRPdmVy
bGF5LW1hY2NhdGFseXN0LnhjY29uZmlnCkBAIC0wLDAgKzEsMjcgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8g
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8g
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisvLyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisvLyBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8gKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaW5jbHVkZSAiV2ViS2l0U3dpZnRPdmVybGF5LnhjY29u
ZmlnIgorCitTREtfVkFSSUFOVFtzZGs9bWFjKl0gPSBpb3NtYWM7CitTVVBQT1JURURfUExBVEZP
Uk1TID0gbWFjb3N4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Td2lmdE92ZXJsYXkvQ29u
ZmlndXJhdGlvbnMvV2ViS2l0U3dpZnRPdmVybGF5LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9T
d2lmdE92ZXJsYXkvQ29uZmlndXJhdGlvbnMvV2ViS2l0U3dpZnRPdmVybGF5LnhjY29uZmlnCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkxYTQxMzhjZGNhMmMxNzZiNWEyZDMyZGU4ZWU4MTdjYzU3Yzc5N2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1N3aWZ0T3ZlcmxheS9Db25maWd1cmF0aW9ucy9X
ZWJLaXRTd2lmdE92ZXJsYXkueGNjb25maWcKQEAgLTAsMCArMSw2MCBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworLy8gYXJlIG1ldDoKKy8vIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisv
LyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy8vCisv
LyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKy8vIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy8vIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisvLyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKy8vIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKy8vIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorLy8gUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorLy8gT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisvLyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKy8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK0JVSUxEX0xJQlJBUllfRk9SX0RJU1RSSUJVVElPTiA9
IFlFUzsKK0NMQU5HX0xJTktfT0JKQ19SVU5USU1FID0gTk87CitFWEVDVVRBQkxFX1BSRUZJWCA9
IGxpYnN3aWZ0OworR0VORVJBVEVfVEVYVF9CQVNFRF9TVFVCUyA9IFlFUzsKK0lTX1pJUFBFUkVE
ID0gTk87CitPVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpIC13ZWFrX2ZyYW1ld29yayBXZWJL
aXQ7CitQUk9EVUNUX05BTUUgPSBXZWJLaXQ7CitTVFJJUF9TV0lGVF9TWU1CT0xTID0gTk87CitT
VVBQT1JURURfUExBVEZPUk1TID0gbWFjb3N4IGlwaG9uZW9zIGlwaG9uZXNpbXVsYXRvcjsKK1NV
UFBPUlRTX1RFWFRfQkFTRURfQVBJID0gWUVTOworU1dJRlRfSVNfT1ZFUkxBWSA9IFlFUzsKK1NX
SUZUX0xJTktfT0JKQ19SVU5USU1FID0gTk87CitTV0lGVF9PVkVSTEFZX0lOU1RBTExfUEFUSD0v
dXNyL2xpYi9zd2lmdDsKKworRFlMSUJfQ1VSUkVOVF9WRVJTSU9OID0gJChGVUxMX1ZFUlNJT04p
OworTU9EVUxFX1ZFUlNJT04gPSAkKEZVTExfVkVSU0lPTik7CisKKy8vIERpc2FibGUgY29kZSBz
aWduaW5nCitDT1BZX1BIQVNFX1NUUklQID0gTk87CitDT0RFX1NJR05fSURFTlRJVFkgPSAtOwor
Q09ERV9TSUdOX1NUWUxFID0gTWFudWFsOworCisvLyBXZSBuZWVkIHRvIHJ1biBpbnN0YWxsLXN3
aWZ0bW9kdWxlcy5zaCBkdXJpbmcgdGhlIGluc3RhbGxhcGkgYWN0aW9uLgorSU5TVEFMTEhEUlNf
U0NSSVBUX1BIQVNFID0gWUVTOworCisvLyBUaGUgaW5zdGFsbCBwYXRoIGlzIC91c3IvbGliL3N3
aWZ0IGV4Y2VwdCBpZiB3ZSdyZSBidWlsZGluZyB1c2luZyB0aGUgaW9zbWFjCisvLyBTREsgdmFy
aWFudCBvbiBtYWNPUywgaW4gd2hpY2ggY2FzZSBpdCdzIC9TeXN0ZW0vaU9TU3VwcG9ydC91c3Iv
bGliL3N3aWZ0LgorSU5TVEFMTF9QQVRIID0gJChXS19BTFRFUk5BVEVfRlJBTUVXT1JLU19ESVIp
JChTV0lGVF9PVkVSTEFZX0lOU1RBTExfUEFUSCk7CisKK09USEVSX1NXSUZUX0ZMQUdTID0gLW1v
ZHVsZS1saW5rLW5hbWUgJChTV0lGVF9NT0RVTEVfTElOS19OQU1FKSAtYXV0b2xpbmstZm9yY2Ut
bG9hZCAtcnVudGltZS1jb21wYXRpYmlsaXR5LXZlcnNpb24gbm9uZSAtZGlzYWJsZS1hdXRvbGlu
a2luZy1ydW50aW1lLWNvbXBhdGliaWxpdHktZHluYW1pYy1yZXBsYWNlbWVudHM7CitTV0lGVF9N
T0RVTEVfTElOS19OQU1FID0gc3dpZnQkKFBST0RVQ1RfTkFNRSk7CisKK1NXSUZUX0VOQUJMRV9J
TkNSRU1FTlRBTF9DT01QSUxBVElPTiA9IE5POyAvLyBZRVMgY29uZmxpY3RzIHdpdGggLWF1dG9s
aW5rLWZvcmNlLWxvYWQKKworLy8gQ3VzdG9tIGJ1aWxkIHNldHRpbmdzIGZvciBpbnN0YWxsLXN3
aWZ0bW9kdWxlcy5zaC4KK1NXSUZUX0lOU1RBTExfTU9EVUxFUyA9IFlFUzsKK1NXSUZUX01PRFVM
RV9JTlNUQUxMX1BBVEggPSAkKElOU1RBTExfUEFUSCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1N3aWZ0T3ZlcmxheS9Db25maWd1cmF0aW9ucy9XZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy1t
YWNjYXRhbHlzdC54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvU3dpZnRPdmVybGF5L0NvbmZpZ3Vy
YXRpb25zL1dlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLW1hY2NhdGFseXN0LnhjY29uZmlnCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRkZTlmOTE3ZDNiZjA3M2IwZmI3NWRjYzE4ZDZjZWUzNTM5MjAzMDAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1N3aWZ0T3ZlcmxheS9Db25maWd1cmF0aW9ucy9XZWJL
aXRTd2lmdE92ZXJsYXlUZXN0cy1tYWNjYXRhbHlzdC54Y2NvbmZpZwpAQCAtMCwwICsxLDI5IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
Ky8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorLy8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8vIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorLy8gRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisvLyBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKy8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2luY2x1ZGUgIldlYktpdFN3
aWZ0T3ZlcmxheVRlc3RzLnhjY29uZmlnIgorCitTREtfVkFSSUFOVFtzZGs9bWFjKl0gPSBpb3Nt
YWM7CitTVVBQT1JURURfUExBVEZPUk1TID0gbWFjb3N4OworVEFSR0VURURfREVWSUNFX0ZBTUlM
WVtzZGs9bWFjKl0gPSAyOworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N3aWZ0T3Zlcmxh
eS9Db25maWd1cmF0aW9ucy9XZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJLaXQvU3dpZnRPdmVybGF5L0NvbmZpZ3VyYXRpb25zL1dlYktpdFN3aWZ0T3ZlcmxheVRl
c3RzLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhNTE3NTRhMjVlNzk4ZTY5YmU0YWEwMmQ3Nzg0NzIy
YjQzM2JjNWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1N3aWZ0T3ZlcmxheS9D
b25maWd1cmF0aW9ucy9XZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy54Y2NvbmZpZwpAQCAtMCwwICsx
LDQ2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorLy8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8v
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorLy8gRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisvLyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKy8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworQUxXQVlTX0VNQkVE
X1NXSUZUX1NUQU5EQVJEX0xJQlJBUklFUyA9IFlFUzsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFO
REFSRCA9IGdudSsrMTQ7CitDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKK0NPREVfU0lHTl9T
VFlMRSA9IEF1dG9tYXRpYzsKK0NPUFlfUEhBU0VfU1RSSVAgPSBOTzsKK0VOQUJMRV9OU19BU1NF
UlRJT05TID0gTk87CitFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKK0dDQ19DX0xB
TkdVQUdFX1NUQU5EQVJEID0gZ251MTE7CitHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKK0dDQ19O
T19DT01NT05fQkxPQ0tTID0gWUVTOworR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CitHQ0Nf
UFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gREVCVUc9MSAkKGluaGVyaXRlZCk7CitJTkZPUExJ
U1RfRklMRSA9IFRlc3RzL1dlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLUluZm8ucGxpc3Q7CitQUk9E
VUNUX0JVTkRMRV9JREVOVElGSUVSID0gY29tLmFwcGxlLldlYktpdFRlc3RzLW1hY09TOworUFJP
RFVDVF9OQU1FID0gJChUQVJHRVRfTkFNRSk7CitTVVBQT1JURURfUExBVEZPUk1TID0gbWFjb3N4
IGlwaG9uZW9zIGlwaG9uZXNpbXVsYXRvcjsKK1NXSUZUX0FDVElWRV9DT01QSUxBVElPTl9DT05E
SVRJT05TW2NvbmZpZz1EZWJ1Z10gPSBERUJVRzsKK1NXSUZUX0NPTVBJTEFUSU9OX01PREUgPSB3
aG9sZW1vZHVsZTsKKworU0RLUk9PVCA9IG1hY29zeC5pbnRlcm5hbAorU0RLUk9PVFtzZGs9aXBo
b25lb3MqXSA9IGlwaG9uZW9zLmludGVybmFsCitTREtST09UW3Nkaz1hcHBsZXR2Kl0gPSBhcHBs
ZXR2b3MuaW50ZXJuYWwKK1NES1JPT1Rbc2RrPXdhdGNob3MqXSA9IHdhdGNob3MuaW50ZXJuYWwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3dpZnRPdmVybGF5L1N3aWZ0T3ZlcmxheS9pbnN0
YWxsLXN3aWZ0bW9kdWxlcy5zaCBiL1NvdXJjZS9XZWJLaXQvU3dpZnRPdmVybGF5L1N3aWZ0T3Zl
cmxheS9pbnN0YWxsLXN3aWZ0bW9kdWxlcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZGZiYzdhN2YyZTUwNDM5
ZjIyNjFhZTE1NzFlODI5ZWUyYWVmMDBkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9Td2lmdE92ZXJsYXkvU3dpZnRPdmVybGF5L2luc3RhbGwtc3dpZnRtb2R1bGVzLnNoCkBAIC0w
LDAgKzEsNDQgQEAKKyMhL2Jpbi9zaAorCisjIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJl
IG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorIyBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisjIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitzZXQgLWUKKyNzZXQgLXh2
CisKKyMgVGhpcyBvbmx5IG5lZWRzIHRvIHJ1biBkdXJpbmcgaW5zdGFsbGF0aW9uLCBidXQgdGhh
dCBpbmNsdWRlcyAiaW5zdGFsbGFwaSIuCitbICIkQUNUSU9OIiA9ICJpbnN0YWxsYXBpIiAtbyAi
JEFDVElPTiIgPSAiaW5zdGFsbCIgXSB8fCBleGl0IDAKKworWyAiJFNLSVBfSU5TVEFMTCIgIT0g
IllFUyIgXSB8fCBleGl0IDAKK1sgIiRTV0lGVF9JTlNUQUxMX01PRFVMRVMiID0gIllFUyIgXSB8
fCBleGl0IDAKKworc3JjbW9kdWxlPSIke0JVSUxUX1BST0RVQ1RTX0RJUn0vJHtQUk9EVUNUX05B
TUV9LnN3aWZ0bW9kdWxlIgorZHN0cGF0aD0iJHtJTlNUQUxMX1JPT1R9LyR7SU5TVEFMTF9QQVRI
fS8iCisKK2lmIFsgISAtZCAiJHNyY21vZHVsZSIgXTsgdGhlbgorICAgIGVjaG8gIkNhbm5vdCBm
aW5kIFN3aWZ0IG1vZHVsZSBhdCAkc3JjbW9kdWxlIiA+JjIKKyAgICBleGl0IDEKK2ZpCisKK21r
ZGlyIC1wICIkZHN0cGF0aCIKK2NwIC1yICIkc3JjbW9kdWxlIiAiJGRzdHBhdGgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1N3aWZ0T3ZlcmxheS9UZXN0cy9XZWJLaXRTd2lmdE92ZXJsYXlU
ZXN0cy1JbmZvLnBsaXN0IGIvU291cmNlL1dlYktpdC9Td2lmdE92ZXJsYXkvVGVzdHMvV2ViS2l0
U3dpZnRPdmVybGF5VGVzdHMtSW5mby5wbGlzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGQ2NWNhNDk1NzcwYmRj
OTYwMGU1ODY4Nzg2NWI3M2EzNmJlZDNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9Td2lmdE92ZXJsYXkvVGVzdHMvV2ViS2l0U3dpZnRPdmVybGF5VGVzdHMtSW5mby5wbGlzdApA
QCAtMCwwICsxLDIyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgor
PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0
cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Cis8cGxpc3QgdmVy
c2lvbj0iMS4wIj4KKzxkaWN0PgorCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5
PgorCTxzdHJpbmc+JChERVZFTE9QTUVOVF9MQU5HVUFHRSk8L3N0cmluZz4KKwk8a2V5PkNGQnVu
ZGxlRXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+JChFWEVDVVRBQkxFX05BTUUpPC9zdHJpbmc+
CisJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KKwk8c3RyaW5nPiQoUFJPRFVDVF9CVU5E
TEVfSURFTlRJRklFUik8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJz
aW9uPC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlTmFtZTwva2V5
PgorCTxzdHJpbmc+JChQUk9EVUNUX05BTUUpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVBhY2th
Z2VUeXBlPC9rZXk+CisJPHN0cmluZz4kKFBST0RVQ1RfQlVORExFX1BBQ0tBR0VfVFlQRSk8L3N0
cmluZz4KKwk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+CisJPHN0cmluZz4x
LjA8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgorCTxzdHJpbmc+MTwvc3Ry
aW5nPgorPC9kaWN0PgorPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3dpZnRP
dmVybGF5L1Rlc3RzL1dlYktpdFRlc3RzLnN3aWZ0IGIvU291cmNlL1dlYktpdC9Td2lmdE92ZXJs
YXkvVGVzdHMvV2ViS2l0VGVzdHMuc3dpZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzc3YmJiMmMxNjQ1NmY4M2I0
Nzk4NDE0NjlkZDYzMWU5NmQxYmQxMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
U3dpZnRPdmVybGF5L1Rlc3RzL1dlYktpdFRlc3RzLnN3aWZ0CkBAIC0wLDAgKzEsNTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitpbXBvcnQgWENUZXN0CitpbXBvcnQgV2ViS2l0CisKK2NsYXNzIFdlYktpdFRl
c3RzOiBYQ1Rlc3RDYXNlIHsKKyAgICAvLy8gVGhpcyBpcyBhIGNvbXBpbGUtdGltZSB0ZXN0IHRo
YXQgZW5zdXJlcyB0aGUgZnVuY3Rpb24gbmFtZXMgYXJlIHdoYXQgd2UgZXhwZWN0LgorICAgIGZ1
bmMgdGVzdEFQSSgpIHsKKyAgICAgICAgXyA9IFdLQ29udGVudFdvcmxkLndvcmxkKG5hbWU6KQor
ICAgICAgICBfID0gV0tXZWJWaWV3LmNhbGxBc3luY0phdmFTY3JpcHQoXzphcmd1bWVudHM6aW46
Y29tcGxldGlvbjopCisgICAgICAgIF8gPSBXS1dlYlZpZXcuY3JlYXRlUERGKGNvbmZpZ3VyYXRp
b246Y29tcGxldGlvbkhhbmRsZXI6KQorICAgICAgICBfID0gV0tXZWJWaWV3LmNyZWF0ZVdlYkFy
Y2hpdmVEYXRhKGNvbXBsZXRpb25IYW5kbGVyOikKKyAgICAgICAgXyA9IFdLV2ViVmlldy5ldmFs
dWF0ZUphdmFTY3JpcHQoXzppbjpjb21wbGV0aW9uOikKKyAgICAgICAgXyA9IFdLV2ViVmlldy5m
aW5kKF86Y29uZmlndXJhdGlvbjpjb21wbGV0aW9uSGFuZGxlcjopCisgICAgfQorCisgICAgZnVu
YyB0ZXN0V0tQREZDb25maWd1cmF0aW9uUmVjdCgpIHsKKyAgICAgICAgbGV0IGNvbmZpZ3VyYXRp
b24gPSBXS1BERkNvbmZpZ3VyYXRpb24oKQorCisgICAgICAgIFhDVEFzc2VydCh0eXBlKG9mOiBj
b25maWd1cmF0aW9uLnJlY3QpID09IE9wdGlvbmFsPENHUmVjdD4uc2VsZikKKworICAgICAgICBj
b25maWd1cmF0aW9uLnJlY3QgPSBuaWwKKyAgICAgICAgWENUQXNzZXJ0RXF1YWwoY29uZmlndXJh
dGlvbi5yZWN0LCBuaWwpCisKKyAgICAgICAgY29uZmlndXJhdGlvbi5yZWN0ID0gLm51bGwKKyAg
ICAgICAgWENUQXNzZXJ0RXF1YWwoY29uZmlndXJhdGlvbi5yZWN0LCBuaWwpCisKKyAgICAgICAg
Y29uZmlndXJhdGlvbi5yZWN0ID0gQ0dSZWN0Lnplcm8KKyAgICAgICAgWENUQXNzZXJ0RXF1YWwo
Y29uZmlndXJhdGlvbi5yZWN0LCAuemVybykKKworICAgICAgICBsZXQgb3JpZ2luYWxQaG9uZUJv
dW5kcyA9IENHUmVjdCh4OiAwLCB5OiAwLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDQ4MCkKKyAgICAg
ICAgY29uZmlndXJhdGlvbi5yZWN0ID0gb3JpZ2luYWxQaG9uZUJvdW5kcworICAgICAgICBYQ1RB
c3NlcnRFcXVhbChjb25maWd1cmF0aW9uLnJlY3QsIG9yaWdpbmFsUGhvbmVCb3VuZHMpCisgICAg
fQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Td2lmdE92ZXJsYXkvV2ViS2l0U3dpZnRP
dmVybGF5Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1N3aWZ0T3Zl
cmxheS9XZWJLaXRTd2lmdE92ZXJsYXkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41MjAxNzU2MWJhNWFlNTYyNjA3NTM0MGIyMzU5NDM5ZWE1ZjA1MDdmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9Td2lmdE92ZXJsYXkvV2ViS2l0U3dpZnRPdmVybGF5Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTAsMCArMSw1MTIgQEAKKy8vICEkKlVURjgqJCEK
K3sKKwlhcmNoaXZlVmVyc2lvbiA9IDE7CisJY2xhc3NlcyA9IHsKKwl9OworCW9iamVjdFZlcnNp
b24gPSA1MDsKKwlvYmplY3RzID0geworCisvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAq
LworCQk3RDIwMDcwQzIyRjRFQjcyMDA4REY2NDAgLyogbGlic3dpZnRXZWJLaXQuZHlsaWIgaW4g
RnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RDIwMDY3NTIy
RjI2NTJFMDA4REY2NDAgLyogbGlic3dpZnRXZWJLaXQuZHlsaWIgKi87IH07CisJCTdEMjAwNzFC
MjJGNEVDQ0EwMDhERjY0MCAvKiBsaWJzd2lmdFdlYktpdC5keWxpYiBpbiBGcmFtZXdvcmtzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdEMjAwNjg3MjJGMjY3MjEwMDhERjY0
MCAvKiBsaWJzd2lmdFdlYktpdC5keWxpYiAqLzsgfTsKKwkJQjNBNUQzOEYyM0Y3OEY1NDAwQjE3
NzI3IC8qIFdlYktpdFRlc3RzLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjNBNUQzODgyM0Y3OEY1NDAwQjE3NzI3IC8qIFdlYktpdFRlc3RzLnN3
aWZ0ICovOyB9OworCQlCM0E1RDM5MDIzRjc4RjU0MDBCMTc3MjcgLyogV2ViS2l0VGVzdHMuc3dp
ZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCM0E1RDM4
ODIzRjc4RjU0MDBCMTc3MjcgLyogV2ViS2l0VGVzdHMuc3dpZnQgKi87IH07CisJCUIzQTVEMzky
MjNGNzkwREIwMEIxNzcyNyAvKiBXZWJLaXRTd2lmdE92ZXJsYXkuc3dpZnQgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCM0E1RDM5MTIzRjc5MERCMDBCMTc3
MjcgLyogV2ViS2l0U3dpZnRPdmVybGF5LnN3aWZ0ICovOyB9OworCQlCM0E1RDM5MzIzRjc5MERC
MDBCMTc3MjcgLyogV2ViS2l0U3dpZnRPdmVybGF5LnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjNBNUQzOTEyM0Y3OTBEQjAwQjE3NzI3IC8qIFdl
YktpdFN3aWZ0T3ZlcmxheS5zd2lmdCAqLzsgfTsKKy8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlv
biAqLworCisvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLworCQk3RDIw
MDcwRDIyRjRFQjcyMDA4REY2NDAgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJ
aXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFsID0gN0Q4MUE4
RDUyMkU5MzZFNzAwNzM5QkI5IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0g
MTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gN0QyMDA2NzQyMkYyNjUyRTAwOERGNjQwOwor
CQkJcmVtb3RlSW5mbyA9ICJXZWJLaXQtbWFjT1MiOworCQl9OworCQk3RDIwMDcxQzIyRjRFQ0NB
MDA4REY2NDAgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29u
dGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFsID0gN0Q4MUE4RDUyMkU5MzZFNzAw
NzM5QkI5IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90
ZUdsb2JhbElEU3RyaW5nID0gN0QyMDA2ODYyMkYyNjcyMTAwOERGNjQwOworCQkJcmVtb3RlSW5m
byA9ICJXZWJLaXQtaU9TIjsKKwkJfTsKKy8qIEVuZCBQQlhDb250YWluZXJJdGVtUHJveHkgc2Vj
dGlvbiAqLworCisvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwkJN0QyMDA2
NzUyMkYyNjUyRTAwOERGNjQwIC8qIGxpYnN3aWZ0V2ViS2l0LmR5bGliICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGli
IjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGlic3dpZnRXZWJLaXQuZHlsaWI7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTdEMjAwNjg3MjJGMjY3MjEwMDhERjY0
MCAvKiBsaWJzd2lmdFdlYktpdC5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBl
eHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7IGluY2x1ZGVJbkluZGV4
ID0gMDsgcGF0aCA9IGxpYnN3aWZ0V2ViS2l0LmR5bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OworCQk3RDIwMDcwNzIyRjRFQjcyMDA4REY2NDAgLyogV2ViS2l0U3dpZnRP
dmVybGF5VGVzdHMueGN0ZXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0
RmlsZVR5cGUgPSB3cmFwcGVyLmNmYnVuZGxlOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBX
ZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy54Y3Rlc3Q7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07CisJCTdEMjAwNzE2MjJGNEVDQ0EwMDhERjY0MCAvKiBXZWJLaXRTd2lmdE92ZXJs
YXlUZXN0cy1tYWNjYXRhbHlzdC54Y3Rlc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuY2ZidW5kbGU7IGluY2x1ZGVJbkluZGV4ID0gMDsg
cGF0aCA9ICJXZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy1tYWNjYXRhbHlzdC54Y3Rlc3QiOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlCM0E1RDM4ODIzRjc4RjU0MDBCMTc3
MjcgLyogV2ViS2l0VGVzdHMuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRo
ID0gV2ViS2l0VGVzdHMuc3dpZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIzQTVE
MzkxMjNGNzkwREIwMEIxNzcyNyAvKiBXZWJLaXRTd2lmdE92ZXJsYXkuc3dpZnQgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLnN3aWZ0OyBuYW1lID0gV2ViS2l0U3dpZnRPdmVybGF5LnN3aWZ0OyBwYXRo
ID0gLi4vVUlQcm9jZXNzL0FQSS9Db2NvYS9XZWJLaXRTd2lmdE92ZXJsYXkuc3dpZnQ7IHNvdXJj
ZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJQjNBNUQzOTQyM0Y3OTBFMTAwQjE3NzI3IC8qIFdl
YktpdFN3aWZ0T3ZlcmxheS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJLaXRTd2lmdE92ZXJs
YXkueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIzQTVEMzk1MjNGNzkw
RTEwMEIxNzcyNyAvKiBCYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJhc2UueGNjb25maWc7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIzQTVEMzk2MjNGNzkwRTEwMEIxNzcyNyAv
KiBXZWJLaXRTd2lmdE92ZXJsYXktbWFjY2F0YWx5c3QueGNjb25maWcgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0g
IldlYktpdFN3aWZ0T3ZlcmxheS1tYWNjYXRhbHlzdC54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIzQTVEMzk3MjNGNzkwRTEwMEIxNzcyNyAvKiBXZWJLaXRTd2lmdE92
ZXJsYXlUZXN0cy1tYWNjYXRhbHlzdC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSAiV2ViS2l0U3dp
ZnRPdmVybGF5VGVzdHMtbWFjY2F0YWx5c3QueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCM0E1RDM5ODIzRjc5MEUxMDBCMTc3MjcgLyogV2ViS2l0U3dpZnRPdmVybGF5
VGVzdHMueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gV2ViS2l0U3dpZnRPdmVybGF5VGVzdHMueGNj
b25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIzQTVEMzk5MjNGNzkwRTEwMEIx
NzcyNyAvKiBpbnN0YWxsLXN3aWZ0bW9kdWxlcy5zaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnNoOyBwYXRoID0gImluc3RhbGwt
c3dpZnRtb2R1bGVzLnNoIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjNBNUQzOUEy
M0Y3OTBFNzAwQjE3NzI3IC8qIFdlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLUluZm8ucGxpc3QgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0
LnhtbDsgcGF0aCA9ICJXZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy1JbmZvLnBsaXN0Ijsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKy8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8K
KworLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQk3RDIwMDY3
MzIyRjI2NTJFMDA4REY2NDAgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1l
d29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OworCQl9OworCQk3RDIwMDY4NTIyRjI2NzIxMDA4REY2NDAgLyogRnJhbWV3b3JrcyAqLyA9IHsK
KwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworCQk3RDIwMDcwNDIyRjRFQjcyMDA4REY2NDAgLyog
RnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJ
YnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTdEMjAwNzBD
MjJGNEVCNzIwMDhERjY0MCAvKiBsaWJzd2lmdFdlYktpdC5keWxpYiBpbiBGcmFtZXdvcmtzICov
LAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OworCQk3RDIwMDcxMzIyRjRFQ0NBMDA4REY2NDAgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTdEMjAwNzFCMjJGNEVDQ0EwMDhERjY0MCAvKiBsaWJz
d2lmdFdlYktpdC5keWxpYiBpbiBGcmFtZXdvcmtzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWEZyYW1ld29ya3NC
dWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLworCQk3
RDIwMDY3NjIyRjI2NTJFMDA4REY2NDAgLyogU3dpZnQgT3ZlcmxheSAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQjNBNUQzOTkyM0Y3OTBFMTAwQjE3NzI3
IC8qIGluc3RhbGwtc3dpZnRtb2R1bGVzLnNoICovLAorCQkJCUIzQTVEMzkxMjNGNzkwREIwMEIx
NzcyNyAvKiBXZWJLaXRTd2lmdE92ZXJsYXkuc3dpZnQgKi8sCisJCQkpOworCQkJbmFtZSA9ICJT
d2lmdCBPdmVybGF5IjsKKwkJCXBhdGggPSBTd2lmdE92ZXJsYXk7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OworCQk3RDIwMDZENjIyRjNEM0RBMDA4REY2NDAgLyogRnJhbWV3b3Jr
cyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkpOworCQkJ
bmFtZSA9IEZyYW1ld29ya3M7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk3
RDIwMDcwODIyRjRFQjcyMDA4REY2NDAgLyogVGVzdHMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91
cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUIzQTVEMzlBMjNGNzkwRTcwMEIxNzcyNyAvKiBXZWJL
aXRTd2lmdE92ZXJsYXlUZXN0cy1JbmZvLnBsaXN0ICovLAorCQkJCUIzQTVEMzg4MjNGNzhGNTQw
MEIxNzcyNyAvKiBXZWJLaXRUZXN0cy5zd2lmdCAqLywKKwkJCSk7CisJCQlwYXRoID0gVGVzdHM7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk3RDgxQThENDIyRTkzNkU3MDA3
MzlCQjkgPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTdERjAy
Q0JFMjJGNERGMUEwMEM2NkE3NiAvKiBDb25maWd1cmF0aW9ucyAqLywKKwkJCQk3RDIwMDY3NjIy
RjI2NTJFMDA4REY2NDAgLyogU3dpZnQgT3ZlcmxheSAqLywKKwkJCQk3RDIwMDcwODIyRjRFQjcy
MDA4REY2NDAgLyogVGVzdHMgKi8sCisJCQkJN0Q4MUE4REUyMkU5MzZFNzAwNzM5QkI5IC8qIFBy
b2R1Y3RzICovLAorCQkJCTdEMjAwNkQ2MjJGM0QzREEwMDhERjY0MCAvKiBGcmFtZXdvcmtzICov
LAorCQkJKTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTdEODFBOERFMjJF
OTM2RTcwMDczOUJCOSAvKiBQcm9kdWN0cyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJN0QyMDA2NzUyMkYyNjUyRTAwOERGNjQwIC8qIGxpYnN3aWZ0V2Vi
S2l0LmR5bGliICovLAorCQkJCTdEMjAwNjg3MjJGMjY3MjEwMDhERjY0MCAvKiBsaWJzd2lmdFdl
YktpdC5keWxpYiAqLywKKwkJCQk3RDIwMDcxNjIyRjRFQ0NBMDA4REY2NDAgLyogV2ViS2l0U3dp
ZnRPdmVybGF5VGVzdHMtbWFjY2F0YWx5c3QueGN0ZXN0ICovLAorCQkJCTdEMjAwNzA3MjJGNEVC
NzIwMDhERjY0MCAvKiBXZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy54Y3Rlc3QgKi8sCisJCQkpOwor
CQkJbmFtZSA9IFByb2R1Y3RzOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJ
N0RGMDJDQkUyMkY0REYxQTAwQzY2QTc2IC8qIENvbmZpZ3VyYXRpb25zICovID0geworCQkJaXNh
ID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlCM0E1RDM5NTIzRjc5MEUxMDBCMTc3
MjcgLyogQmFzZS54Y2NvbmZpZyAqLywKKwkJCQlCM0E1RDM5NjIzRjc5MEUxMDBCMTc3MjcgLyog
V2ViS2l0U3dpZnRPdmVybGF5LW1hY2NhdGFseXN0LnhjY29uZmlnICovLAorCQkJCUIzQTVEMzk0
MjNGNzkwRTEwMEIxNzcyNyAvKiBXZWJLaXRTd2lmdE92ZXJsYXkueGNjb25maWcgKi8sCisJCQkJ
QjNBNUQzOTcyM0Y3OTBFMTAwQjE3NzI3IC8qIFdlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLW1hY2Nh
dGFseXN0LnhjY29uZmlnICovLAorCQkJCUIzQTVEMzk4MjNGNzkwRTEwMEIxNzcyNyAvKiBXZWJL
aXRTd2lmdE92ZXJsYXlUZXN0cy54Y2NvbmZpZyAqLywKKwkJCSk7CisJCQlwYXRoID0gQ29uZmln
dXJhdGlvbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworLyogRW5kIFBCWEdy
b3VwIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCQk3RDIwMDY3MTIyRjI2NTJFMDA4REY2NDAgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9
IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OworCQk3RDIwMDY4MzIyRjI2NzIxMDA4REY2NDAgLyogSGVhZGVycyAqLyA9
IHsKKwkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNl
Y3Rpb24gKi8KKworLyogQmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJN0QyMDA2
NzQyMkYyNjUyRTAwOERGNjQwIC8qIFdlYktpdFN3aWZ0T3ZlcmxheSAqLyA9IHsKKwkJCWlzYSA9
IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA3RDIwMDY3QjIy
RjI2NTJFMDA4REY2NDAgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVU
YXJnZXQgIldlYktpdFN3aWZ0T3ZlcmxheSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk3
RDIwMDY3MTIyRjI2NTJFMDA4REY2NDAgLyogSGVhZGVycyAqLywKKwkJCQk3RDIwMDY3MjIyRjI2
NTJFMDA4REY2NDAgLyogU291cmNlcyAqLywKKwkJCQk3RDIwMDY3MzIyRjI2NTJFMDA4REY2NDAg
LyogRnJhbWV3b3JrcyAqLywKKwkJCQk3RDIwMDY5MTIyRjI2Nzg3MDA4REY2NDAgLyogSW5zdGFs
bCBTd2lmdCBNb2R1bGUgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlk
ZXBlbmRlbmNpZXMgPSAoCisJCQkpOworCQkJbmFtZSA9IFdlYktpdFN3aWZ0T3ZlcmxheTsKKwkJ
CXByb2R1Y3ROYW1lID0gU2FmYXJpU2VydmljZXM7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gN0Qy
MDA2NzUyMkYyNjUyRTAwOERGNjQwIC8qIGxpYnN3aWZ0V2ViS2l0LmR5bGliICovOworCQkJcHJv
ZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LmR5bmFtaWMiOworCQl9
OworCQk3RDIwMDY4NjIyRjI2NzIxMDA4REY2NDAgLyogV2ViS2l0U3dpZnRPdmVybGF5LW1hY2Nh
dGFseXN0ICovID0geworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1
cmF0aW9uTGlzdCA9IDdEMjAwNjhEMjJGMjY3MjEwMDhERjY0MCAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiV2ViS2l0U3dpZnRPdmVybGF5LW1hY2NhdGFs
eXN0IiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTdEMjAwNjgzMjJGMjY3MjEwMDhERjY0
MCAvKiBIZWFkZXJzICovLAorCQkJCTdEMjAwNjg0MjJGMjY3MjEwMDhERjY0MCAvKiBTb3VyY2Vz
ICovLAorCQkJCTdEMjAwNjg1MjJGMjY3MjEwMDhERjY0MCAvKiBGcmFtZXdvcmtzICovLAorCQkJ
CTdEMjAwNjkyMjJGMjY3OUIwMDhERjY0MCAvKiBJbnN0YWxsIFN3aWZ0IE1vZHVsZSAqLywKKwkJ
CSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7
CisJCQluYW1lID0gIldlYktpdFN3aWZ0T3ZlcmxheS1tYWNjYXRhbHlzdCI7CisJCQlwcm9kdWN0
TmFtZSA9ICJXZWJLaXQtaU9TIjsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSA3RDIwMDY4NzIyRjI2
NzIxMDA4REY2NDAgLyogbGlic3dpZnRXZWJLaXQuZHlsaWIgKi87CisJCQlwcm9kdWN0VHlwZSA9
ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7CisJCX07CisJCTdEMjAw
NzA2MjJGNEVCNzIwMDhERjY0MCAvKiBXZWJLaXRTd2lmdE92ZXJsYXlUZXN0cyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA3RDIw
MDcwRjIyRjRFQjcyMDA4REY2NDAgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhO
YXRpdmVUYXJnZXQgIldlYktpdFN3aWZ0T3ZlcmxheVRlc3RzIiAqLzsKKwkJCWJ1aWxkUGhhc2Vz
ID0gKAorCQkJCTdEMjAwNzAzMjJGNEVCNzIwMDhERjY0MCAvKiBTb3VyY2VzICovLAorCQkJCTdE
MjAwNzA0MjJGNEVCNzIwMDhERjY0MCAvKiBGcmFtZXdvcmtzICovLAorCQkJCTdEMjAwNzA1MjJG
NEVCNzIwMDhERjY0MCAvKiBSZXNvdXJjZXMgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgK
KwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJN0QyMDA3MEUyMkY0RUI3MjAwOERGNjQw
IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IFdlYktpdFN3aWZ0
T3ZlcmxheVRlc3RzOworCQkJcHJvZHVjdE5hbWUgPSBXZWJLaXRUZXN0czsKKwkJCXByb2R1Y3RS
ZWZlcmVuY2UgPSA3RDIwMDcwNzIyRjRFQjcyMDA4REY2NDAgLyogV2ViS2l0U3dpZnRPdmVybGF5
VGVzdHMueGN0ZXN0ICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlw
ZS5idW5kbGUudW5pdC10ZXN0IjsKKwkJfTsKKwkJN0QyMDA3MTUyMkY0RUNDQTAwOERGNjQwIC8q
IFdlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLW1hY2NhdGFseXN0ICovID0geworCQkJaXNhID0gUEJY
TmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDdEMjAwNzFFMjJGNEVD
Q0EwMDhERjY0MCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdl
dCAiV2ViS2l0U3dpZnRPdmVybGF5VGVzdHMtbWFjY2F0YWx5c3QiICovOworCQkJYnVpbGRQaGFz
ZXMgPSAoCisJCQkJN0QyMDA3MTIyMkY0RUNDQTAwOERGNjQwIC8qIFNvdXJjZXMgKi8sCisJCQkJ
N0QyMDA3MTMyMkY0RUNDQTAwOERGNjQwIC8qIEZyYW1ld29ya3MgKi8sCisJCQkJN0QyMDA3MTQy
MkY0RUNDQTAwOERGNjQwIC8qIFJlc291cmNlcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0g
KAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQk3RDIwMDcxRDIyRjRFQ0NBMDA4REY2
NDAgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gIldlYktpdFN3
aWZ0T3ZlcmxheVRlc3RzLW1hY2NhdGFseXN0IjsKKwkJCXByb2R1Y3ROYW1lID0gIldlYktpdFRl
c3RzLWlPUyI7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gN0QyMDA3MTYyMkY0RUNDQTAwOERGNjQw
IC8qIFdlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLW1hY2NhdGFseXN0LnhjdGVzdCAqLzsKKwkJCXBy
b2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuYnVuZGxlLnVuaXQtdGVzdCI7CisJ
CX07CisvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYUHJv
amVjdCBzZWN0aW9uICovCisJCTdEODFBOEQ1MjJFOTM2RTcwMDczOUJCOSAvKiBQcm9qZWN0IG9i
amVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWFByb2plY3Q7CisJCQlhdHRyaWJ1dGVzID0geworCQkJ
CUxhc3RTd2lmdFVwZGF0ZUNoZWNrID0gMTEwMDsKKwkJCQlMYXN0VXBncmFkZUNoZWNrID0gMTEw
MDsKKwkJCQlPUkdBTklaQVRJT05OQU1FID0gQXBwbGU7CisJCQkJVGFyZ2V0QXR0cmlidXRlcyA9
IHsKKwkJCQkJN0QyMDA2NzQyMkYyNjUyRTAwOERGNjQwID0geworCQkJCQkJQ3JlYXRlZE9uVG9v
bHNWZXJzaW9uID0gMTEuMDsKKwkJCQkJCUxhc3RTd2lmdE1pZ3JhdGlvbiA9IDEyMDA7CisJCQkJ
CX07CisJCQkJCTdEMjAwNjg2MjJGMjY3MjEwMDhERjY0MCA9IHsKKwkJCQkJCUNyZWF0ZWRPblRv
b2xzVmVyc2lvbiA9IDExLjA7CisJCQkJCQlMYXN0U3dpZnRNaWdyYXRpb24gPSAxMjAwOworCQkJ
CQl9OworCQkJCQk3RDIwMDcwNjIyRjRFQjcyMDA4REY2NDAgPSB7CisJCQkJCQlDcmVhdGVkT25U
b29sc1ZlcnNpb24gPSAxMS4wOworCQkJCQkJTGFzdFN3aWZ0TWlncmF0aW9uID0gMTIwMDsKKwkJ
CQkJfTsKKwkJCQkJN0QyMDA3MTUyMkY0RUNDQTAwOERGNjQwID0geworCQkJCQkJQ3JlYXRlZE9u
VG9vbHNWZXJzaW9uID0gMTEuMDsKKwkJCQkJCUxhc3RTd2lmdE1pZ3JhdGlvbiA9IDEyMDA7CisJ
CQkJCX07CisJCQkJfTsKKwkJCX07CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gN0Q4MUE4
RDgyMkU5MzZFNzAwNzM5QkI5IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJv
amVjdCAiV2ViS2l0U3dpZnRPdmVybGF5IiAqLzsKKwkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0g
Ilhjb2RlIDkuMyI7CisJCQlkZXZlbG9wbWVudFJlZ2lvbiA9IGVuOworCQkJaGFzU2Nhbm5lZEZv
ckVuY29kaW5ncyA9IDA7CisJCQlrbm93blJlZ2lvbnMgPSAoCisJCQkJZW4sCisJCQkJQmFzZSwK
KwkJCSk7CisJCQltYWluR3JvdXAgPSA3RDgxQThENDIyRTkzNkU3MDA3MzlCQjk7CisJCQlwcm9k
dWN0UmVmR3JvdXAgPSA3RDgxQThERTIyRTkzNkU3MDA3MzlCQjkgLyogUHJvZHVjdHMgKi87CisJ
CQlwcm9qZWN0RGlyUGF0aCA9ICIiOworCQkJcHJvamVjdFJvb3QgPSAiIjsKKwkJCXRhcmdldHMg
PSAoCisJCQkJN0QyMDA2NzQyMkYyNjUyRTAwOERGNjQwIC8qIFdlYktpdFN3aWZ0T3ZlcmxheSAq
LywKKwkJCQk3RDIwMDY4NjIyRjI2NzIxMDA4REY2NDAgLyogV2ViS2l0U3dpZnRPdmVybGF5LW1h
Y2NhdGFseXN0ICovLAorCQkJCTdEMjAwNzA2MjJGNEVCNzIwMDhERjY0MCAvKiBXZWJLaXRTd2lm
dE92ZXJsYXlUZXN0cyAqLywKKwkJCQk3RDIwMDcxNTIyRjRFQ0NBMDA4REY2NDAgLyogV2ViS2l0
U3dpZnRPdmVybGF5VGVzdHMtbWFjY2F0YWx5c3QgKi8sCisJCQkpOworCQl9OworLyogRW5kIFBC
WFByb2plY3Qgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNl
Y3Rpb24gKi8KKwkJN0QyMDA3MDUyMkY0RUI3MjAwOERGNjQwIC8qIFJlc291cmNlcyAqLyA9IHsK
KwkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAy
MTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisJCTdEMjAwNzE0MjJGNEVDQ0EwMDhERjY0MCAvKiBS
ZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWFJlc291
cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhTaGVsbFNjcmlwdEJ1aWxk
UGhhc2Ugc2VjdGlvbiAqLworCQk3RDIwMDY5MTIyRjI2Nzg3MDA4REY2NDAgLyogSW5zdGFsbCBT
d2lmdCBNb2R1bGUgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJ
CQlidWlsZEFjdGlvbk1hc2sgPSAxMjsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCWlucHV0Rmls
ZUxpc3RQYXRocyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJKTsKKwkJCW5hbWUg
PSAiSW5zdGFsbCBTd2lmdCBNb2R1bGUiOworCQkJb3V0cHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJ
CSk7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlw
dCA9ICJleGVjIFwiJHtTT1VSQ0VfUk9PVH0vU3dpZnRPdmVybGF5L2luc3RhbGwtc3dpZnRtb2R1
bGVzLnNoXCJcbiI7CisJCX07CisJCTdEMjAwNjkyMjJGMjY3OUIwMDhERjY0MCAvKiBJbnN0YWxs
IFN3aWZ0IE1vZHVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsK
KwkJCWJ1aWxkQWN0aW9uTWFzayA9IDEyOworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5wdXRG
aWxlTGlzdFBhdGhzID0gKAorCQkJKTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkpOworCQkJbmFt
ZSA9ICJJbnN0YWxsIFN3aWZ0IE1vZHVsZSI7CisJCQlvdXRwdXRGaWxlTGlzdFBhdGhzID0gKAor
CQkJKTsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2Ny
aXB0ID0gImV4ZWMgXCIke1NPVVJDRV9ST09UfS9Td2lmdE92ZXJsYXkvaW5zdGFsbC1zd2lmdG1v
ZHVsZXMuc2hcIlxuIjsKKwkJfTsKKy8qIEVuZCBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2Vj
dGlvbiAqLworCisvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTdE
MjAwNjcyMjJGMjY1MkUwMDhERjY0MCAvKiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291
cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmls
ZXMgPSAoCisJCQkJQjNBNUQzOTIyM0Y3OTBEQjAwQjE3NzI3IC8qIFdlYktpdFN3aWZ0T3Zlcmxh
eS5zd2lmdCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOworCQl9OworCQk3RDIwMDY4NDIyRjI2NzIxMDA4REY2NDAgLyogU291
cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rp
b25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUIzQTVEMzkzMjNGNzkwREIw
MEIxNzcyNyAvKiBXZWJLaXRTd2lmdE92ZXJsYXkuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCSk7
CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJN0Qy
MDA3MDMyMkY0RUI3MjAwOERGNjQwIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3Vy
Y2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxl
cyA9ICgKKwkJCQlCM0E1RDM4RjIzRjc4RjU0MDBCMTc3MjcgLyogV2ViS2l0VGVzdHMuc3dpZnQg
aW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJfTsKKwkJN0QyMDA3MTIyMkY0RUNDQTAwOERGNjQwIC8qIFNvdXJjZXMgKi8g
PSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQlCM0E1RDM5MDIzRjc4RjU0MDBCMTc3Mjcg
LyogV2ViS2l0VGVzdHMuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhTb3VyY2VzQnVp
bGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlv
biAqLworCQk3RDIwMDcwRTIyRjRFQjcyMDA4REY2NDAgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAq
LyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA3RDIwMDY3
NDIyRjI2NTJFMDA4REY2NDAgLyogV2ViS2l0U3dpZnRPdmVybGF5ICovOworCQkJdGFyZ2V0UHJv
eHkgPSA3RDIwMDcwRDIyRjRFQjcyMDA4REY2NDAgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
OworCQl9OworCQk3RDIwMDcxRDIyRjRFQ0NBMDA4REY2NDAgLyogUEJYVGFyZ2V0RGVwZW5kZW5j
eSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA3RDIw
MDY4NjIyRjI2NzIxMDA4REY2NDAgLyogV2ViS2l0U3dpZnRPdmVybGF5LW1hY2NhdGFseXN0ICov
OworCQkJdGFyZ2V0UHJveHkgPSA3RDIwMDcxQzIyRjRFQ0NBMDA4REY2NDAgLyogUEJYQ29udGFp
bmVySXRlbVByb3h5ICovOworCQl9OworLyogRW5kIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlv
biAqLworCisvKiBCZWdpbiBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCisJCTdEMjAw
NjdDMjJGMjY1MkUwMDhERjY0MCAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25m
aWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCM0E1RDM5NDIzRjc5
MEUxMDBCMTc3MjcgLyogV2ViS2l0U3dpZnRPdmVybGF5LnhjY29uZmlnICovOworCQkJYnVpbGRT
ZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTdEMjAwNjdEMjJG
MjY1MkUwMDhERjY0MCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3Vy
YXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEIzQTVEMzk0MjNGNzkwRTEw
MEIxNzcyNyAvKiBXZWJLaXRTd2lmdE92ZXJsYXkueGNjb25maWcgKi87CisJCQlidWlsZFNldHRp
bmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQk3RDIwMDY4RTIyRjI2
NzIxMDA4REY2NDAgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQjNBNUQzOTYyM0Y3OTBFMTAwQjE3
NzI3IC8qIFdlYktpdFN3aWZ0T3ZlcmxheS1tYWNjYXRhbHlzdC54Y2NvbmZpZyAqLzsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQk3RDIwMDY4
RjIyRjI2NzIxMDA4REY2NDAgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25m
aWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCM0E1RDM5NjIzRjc5
MEUxMDBCMTc3MjcgLyogV2ViS2l0U3dpZnRPdmVybGF5LW1hY2NhdGFseXN0LnhjY29uZmlnICov
OworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsK
KwkJN0QyMDA3MTAyMkY0RUI3MjAwOERGNjQwIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEIzQTVE
Mzk4MjNGNzkwRTEwMEIxNzcyNyAvKiBXZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy54Y2NvbmZpZyAq
LzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9Owor
CQk3RDIwMDcxMTIyRjRFQjcyMDA4REY2NDAgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhD
QnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCM0E1
RDM5ODIzRjc5MEUxMDBCMTc3MjcgLyogV2ViS2l0U3dpZnRPdmVybGF5VGVzdHMueGNjb25maWcg
Ki87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9
OworCQk3RDIwMDcxRjIyRjRFQ0NBMDA4REY2NDAgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBY
Q0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQjNB
NUQzOTcyM0Y3OTBFMTAwQjE3NzI3IC8qIFdlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLW1hY2NhdGFs
eXN0LnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0g
RGVidWc7CisJCX07CisJCTdEMjAwNzIwMjJGNEVDQ0EwMDhERjY0MCAvKiBSZWxlYXNlICovID0g
eworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJl
ZmVyZW5jZSA9IEIzQTVEMzk3MjNGNzkwRTEwMEIxNzcyNyAvKiBXZWJLaXRTd2lmdE92ZXJsYXlU
ZXN0cy1tYWNjYXRhbHlzdC54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9
OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTdEODFBOEU0MjJFOTM2RTcwMDczOUJCOSAv
KiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNv
bmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCM0E1RDM5NTIzRjc5MEUxMDBCMTc3MjcgLyogQmFzZS54
Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVn
OworCQl9OworCQk3RDgxQThFNTIyRTkzNkU3MDA3MzlCQjkgLyogUmVsZWFzZSAqLyA9IHsKKwkJ
CWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVu
Y2UgPSBCM0E1RDM5NTIzRjc5MEUxMDBCMTc3MjcgLyogQmFzZS54Y2NvbmZpZyAqLzsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBFbmQg
WENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCisvKiBCZWdpbiBYQ0NvbmZpZ3VyYXRp
b25MaXN0IHNlY3Rpb24gKi8KKwkJN0QyMDA2N0IyMkYyNjUyRTAwOERGNjQwIC8qIEJ1aWxkIGNv
bmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJLaXRTd2lmdE92ZXJsYXki
ICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJh
dGlvbnMgPSAoCisJCQkJN0QyMDA2N0MyMkYyNjUyRTAwOERGNjQwIC8qIERlYnVnICovLAorCQkJ
CTdEMjAwNjdEMjJGMjY1MkUwMDhERjY0MCAvKiBSZWxlYXNlICovLAorCQkJKTsKKwkJCWRlZmF1
bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFt
ZSA9IFJlbGVhc2U7CisJCX07CisJCTdEMjAwNjhEMjJGMjY3MjEwMDhERjY0MCAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiV2ViS2l0U3dpZnRPdmVybGF5
LW1hY2NhdGFseXN0IiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTdEMjAwNjhFMjJGMjY3MjEwMDhERjY0MCAvKiBE
ZWJ1ZyAqLywKKwkJCQk3RDIwMDY4RjIyRjI2NzIxMDA4REY2NDAgLyogUmVsZWFzZSAqLywKKwkJ
CSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29u
ZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworCQk3RDIwMDcwRjIyRjRFQjcyMDA4REY2
NDAgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYktp
dFN3aWZ0T3ZlcmxheVRlc3RzIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7
CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTdEMjAwNzEwMjJGNEVCNzIwMDhERjY0
MCAvKiBEZWJ1ZyAqLywKKwkJCQk3RDIwMDcxMTIyRjRFQjcyMDA4REY2NDAgLyogUmVsZWFzZSAq
LywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZh
dWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworCQk3RDIwMDcxRTIyRjRFQ0NB
MDA4REY2NDAgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQg
IldlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLW1hY2NhdGFseXN0IiAqLyA9IHsKKwkJCWlzYSA9IFhD
Q29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTdEMjAw
NzFGMjJGNEVDQ0EwMDhERjY0MCAvKiBEZWJ1ZyAqLywKKwkJCQk3RDIwMDcyMDIyRjRFQ0NBMDA4
REY2NDAgLyogUmVsZWFzZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlz
aWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9Owor
CQk3RDgxQThEODIyRTkzNkU3MDA3MzlCQjkgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZv
ciBQQlhQcm9qZWN0ICJXZWJLaXRTd2lmdE92ZXJsYXkiICovID0geworCQkJaXNhID0gWENDb25m
aWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJN0Q4MUE4RTQy
MkU5MzZFNzAwNzM5QkI5IC8qIERlYnVnICovLAorCQkJCTdEODFBOEU1MjJFOTM2RTcwMDczOUJC
OSAvKiBSZWxlYXNlICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxl
ID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBF
bmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJfTsKKwlyb290T2JqZWN0ID0gN0Q4
MUE4RDUyMkU5MzZFNzAwNzM5QkI5IC8qIFByb2plY3Qgb2JqZWN0ICovOworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Td2lmdE92ZXJsYXkvV2ViS2l0U3dpZnRPdmVybGF5Lnhjb2RlcHJv
ai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0V2ZXJ5dGhpbmcgKENhdGFseXN0KS54Y3NjaGVtZSBi
L1NvdXJjZS9XZWJLaXQvU3dpZnRPdmVybGF5L1dlYktpdFN3aWZ0T3ZlcmxheS54Y29kZXByb2ov
eGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9FdmVyeXRoaW5nIChDYXRhbHlzdCkueGNzY2hlbWUKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTU1MzkzZmU3NWI4MDdkOWQ2YmNlYjg1YzVjNGM4MjllM2Y2YmNjMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU3dpZnRPdmVybGF5L1dlYktpdFN3aWZ0T3Zlcmxh
eS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9FdmVyeXRoaW5nIChDYXRhbHlzdCku
eGNzY2hlbWUJCkBAIC0wLDAgKzEsODAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
IlVURi04Ij8+Cis8U2NoZW1lCisgICBMYXN0VXBncmFkZVZlcnNpb24gPSAiMTIwMCIKKyAgIHZl
cnNpb24gPSAiMS43Ij4KKyAgIDxCdWlsZEFjdGlvbgorICAgICAgcGFyYWxsZWxpemVCdWlsZGFi
bGVzID0gIllFUyIKKyAgICAgIGJ1aWxkSW1wbGljaXREZXBlbmRlbmNpZXMgPSAiTk8iPgorICAg
ICAgPEJ1aWxkQWN0aW9uRW50cmllcz4KKyAgICAgICAgIDxCdWlsZEFjdGlvbkVudHJ5CisgICAg
ICAgICAgICBidWlsZEZvclRlc3RpbmcgPSAiWUVTIgorICAgICAgICAgICAgYnVpbGRGb3JSdW5u
aW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yUHJvZmlsaW5nID0gIllFUyIKKyAgICAg
ICAgICAgIGJ1aWxkRm9yQXJjaGl2aW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yQW5h
bHl6aW5nID0gIllFUyI+CisgICAgICAgICAgICA8QnVpbGRhYmxlUmVmZXJlbmNlCisgICAgICAg
ICAgICAgICBCdWlsZGFibGVJZGVudGlmaWVyID0gInByaW1hcnkiCisgICAgICAgICAgICAgICBC
bHVlcHJpbnRJZGVudGlmaWVyID0gIjdEMjAwNjg2MjJGMjY3MjEwMDhERjY0MCIKKyAgICAgICAg
ICAgICAgIEJ1aWxkYWJsZU5hbWUgPSAibGlic3dpZnRXZWJLaXQuZHlsaWIiCisgICAgICAgICAg
ICAgICBCbHVlcHJpbnROYW1lID0gIldlYktpdFN3aWZ0T3ZlcmxheS1tYWNjYXRhbHlzdCIKKyAg
ICAgICAgICAgICAgIFJlZmVyZW5jZWRDb250YWluZXIgPSAiY29udGFpbmVyOldlYktpdFN3aWZ0
T3ZlcmxheS54Y29kZXByb2oiPgorICAgICAgICAgICAgPC9CdWlsZGFibGVSZWZlcmVuY2U+Cisg
ICAgICAgICA8L0J1aWxkQWN0aW9uRW50cnk+CisgICAgICA8L0J1aWxkQWN0aW9uRW50cmllcz4K
KyAgIDwvQnVpbGRBY3Rpb24+CisgICA8VGVzdEFjdGlvbgorICAgICAgYnVpbGRDb25maWd1cmF0
aW9uID0gIkRlYnVnIgorICAgICAgc2VsZWN0ZWREZWJ1Z2dlcklkZW50aWZpZXIgPSAiWGNvZGUu
RGVidWdnZXJGb3VuZGF0aW9uLkRlYnVnZ2VyLkxMREIiCisgICAgICBzZWxlY3RlZExhdW5jaGVy
SWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRpb24uTGF1bmNoZXIuTExEQiIKKyAg
ICAgIHNob3VsZFVzZUxhdW5jaFNjaGVtZUFyZ3NFbnYgPSAiWUVTIj4KKyAgICAgIDxUZXN0YWJs
ZXM+CisgICAgICAgICA8VGVzdGFibGVSZWZlcmVuY2UKKyAgICAgICAgICAgIHNraXBwZWQgPSAi
Tk8iPgorICAgICAgICAgICAgPEJ1aWxkYWJsZVJlZmVyZW5jZQorICAgICAgICAgICAgICAgQnVp
bGRhYmxlSWRlbnRpZmllciA9ICJwcmltYXJ5IgorICAgICAgICAgICAgICAgQmx1ZXByaW50SWRl
bnRpZmllciA9ICI3RDIwMDcxNTIyRjRFQ0NBMDA4REY2NDAiCisgICAgICAgICAgICAgICBCdWls
ZGFibGVOYW1lID0gIldlYktpdFN3aWZ0T3ZlcmxheVRlc3RzLW1hY2NhdGFseXN0LnhjdGVzdCIK
KyAgICAgICAgICAgICAgIEJsdWVwcmludE5hbWUgPSAiV2ViS2l0U3dpZnRPdmVybGF5VGVzdHMt
bWFjY2F0YWx5c3QiCisgICAgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRh
aW5lcjpXZWJLaXRTd2lmdE92ZXJsYXkueGNvZGVwcm9qIj4KKyAgICAgICAgICAgIDwvQnVpbGRh
YmxlUmVmZXJlbmNlPgorICAgICAgICAgPC9UZXN0YWJsZVJlZmVyZW5jZT4KKyAgICAgIDwvVGVz
dGFibGVzPgorICAgPC9UZXN0QWN0aW9uPgorICAgPExhdW5jaEFjdGlvbgorICAgICAgYnVpbGRD
b25maWd1cmF0aW9uID0gIkRlYnVnIgorICAgICAgc2VsZWN0ZWREZWJ1Z2dlcklkZW50aWZpZXIg
PSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkRlYnVnZ2VyLkxMREIiCisgICAgICBzZWxlY3Rl
ZExhdW5jaGVySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRpb24uTGF1bmNoZXIu
TExEQiIKKyAgICAgIGxhdW5jaFN0eWxlID0gIjAiCisgICAgICB1c2VDdXN0b21Xb3JraW5nRGly
ZWN0b3J5ID0gIk5PIgorICAgICAgaWdub3Jlc1BlcnNpc3RlbnRTdGF0ZU9uTGF1bmNoID0gIk5P
IgorICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIgorICAgICAgZGVidWdTZXJ2
aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgorICAgICAgYWxsb3dMb2NhdGlvblNpbXVsYXRpb24g
PSAiWUVTIj4KKyAgIDwvTGF1bmNoQWN0aW9uPgorICAgPFByb2ZpbGVBY3Rpb24KKyAgICAgIGJ1
aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIgorICAgICAgc2hvdWxkVXNlTGF1bmNoU2NoZW1l
QXJnc0VudiA9ICJZRVMiCisgICAgICBzYXZlZFRvb2xJZGVudGlmaWVyID0gIiIKKyAgICAgIHVz
ZUN1c3RvbVdvcmtpbmdEaXJlY3RvcnkgPSAiTk8iCisgICAgICBkZWJ1Z0RvY3VtZW50VmVyc2lv
bmluZyA9ICJZRVMiPgorICAgICAgPE1hY3JvRXhwYW5zaW9uPgorICAgICAgICAgPEJ1aWxkYWJs
ZVJlZmVyZW5jZQorICAgICAgICAgICAgQnVpbGRhYmxlSWRlbnRpZmllciA9ICJwcmltYXJ5Igor
ICAgICAgICAgICAgQmx1ZXByaW50SWRlbnRpZmllciA9ICI3RDIwMDY4NjIyRjI2NzIxMDA4REY2
NDAiCisgICAgICAgICAgICBCdWlsZGFibGVOYW1lID0gImxpYnN3aWZ0V2ViS2l0LmR5bGliIgor
ICAgICAgICAgICAgQmx1ZXByaW50TmFtZSA9ICJXZWJLaXRTd2lmdE92ZXJsYXktbWFjY2F0YWx5
c3QiCisgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRhaW5lcjpXZWJLaXRT
d2lmdE92ZXJsYXkueGNvZGVwcm9qIj4KKyAgICAgICAgIDwvQnVpbGRhYmxlUmVmZXJlbmNlPgor
ICAgICAgPC9NYWNyb0V4cGFuc2lvbj4KKyAgIDwvUHJvZmlsZUFjdGlvbj4KKyAgIDxBbmFseXpl
QWN0aW9uCisgICAgICBidWlsZENvbmZpZ3VyYXRpb24gPSAiRGVidWciPgorICAgPC9BbmFseXpl
QWN0aW9uPgorICAgPEFyY2hpdmVBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJS
ZWxlYXNlIgorICAgICAgcmV2ZWFsQXJjaGl2ZUluT3JnYW5pemVyID0gIllFUyI+CisgICA8L0Fy
Y2hpdmVBY3Rpb24+CisgICA8SW5zdGFsbEFjdGlvbgorICAgICAgYnVpbGRDb25maWd1cmF0aW9u
ID0gIlJlbGVhc2UiPgorICAgPC9JbnN0YWxsQWN0aW9uPgorPC9TY2hlbWU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1N3aWZ0T3ZlcmxheS9XZWJLaXRTd2lmdE92ZXJsYXkueGNvZGVwcm9q
L3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvRXZlcnl0aGluZy54Y3NjaGVtZSBiL1NvdXJjZS9XZWJL
aXQvU3dpZnRPdmVybGF5L1dlYktpdFN3aWZ0T3ZlcmxheS54Y29kZXByb2oveGNzaGFyZWRkYXRh
L3hjc2NoZW1lcy9FdmVyeXRoaW5nLnhjc2NoZW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMmM5OTNkMmY1NWYy
NWM2OTllNjRkZDQ5MDgyOTdjMTc3ZGJiN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1N3aWZ0T3ZlcmxheS9XZWJLaXRTd2lmdE92ZXJsYXkueGNvZGVwcm9qL3hjc2hhcmVkZGF0
YS94Y3NjaGVtZXMvRXZlcnl0aGluZy54Y3NjaGVtZQpAQCAtMCwwICsxLDk0IEBACis8P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFNjaGVtZQorICAgTGFzdFVwZ3JhZGVW
ZXJzaW9uID0gIjEyMDAiCisgICB2ZXJzaW9uID0gIjEuNyI+CisgICA8QnVpbGRBY3Rpb24KKyAg
ICAgIHBhcmFsbGVsaXplQnVpbGRhYmxlcyA9ICJZRVMiCisgICAgICBidWlsZEltcGxpY2l0RGVw
ZW5kZW5jaWVzID0gIk5PIj4KKyAgICAgIDxCdWlsZEFjdGlvbkVudHJpZXM+CisgICAgICAgICA8
QnVpbGRBY3Rpb25FbnRyeQorICAgICAgICAgICAgYnVpbGRGb3JUZXN0aW5nID0gIllFUyIKKyAg
ICAgICAgICAgIGJ1aWxkRm9yUnVubmluZyA9ICJZRVMiCisgICAgICAgICAgICBidWlsZEZvclBy
b2ZpbGluZyA9ICJZRVMiCisgICAgICAgICAgICBidWlsZEZvckFyY2hpdmluZyA9ICJZRVMiCisg
ICAgICAgICAgICBidWlsZEZvckFuYWx5emluZyA9ICJZRVMiPgorICAgICAgICAgICAgPEJ1aWxk
YWJsZVJlZmVyZW5jZQorICAgICAgICAgICAgICAgQnVpbGRhYmxlSWRlbnRpZmllciA9ICJwcmlt
YXJ5IgorICAgICAgICAgICAgICAgQmx1ZXByaW50SWRlbnRpZmllciA9ICI3RDIwMDY3NDIyRjI2
NTJFMDA4REY2NDAiCisgICAgICAgICAgICAgICBCdWlsZGFibGVOYW1lID0gImxpYnN3aWZ0V2Vi
S2l0LmR5bGliIgorICAgICAgICAgICAgICAgQmx1ZXByaW50TmFtZSA9ICJXZWJLaXRTd2lmdE92
ZXJsYXkiCisgICAgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRhaW5lcjpX
ZWJLaXRTd2lmdE92ZXJsYXkueGNvZGVwcm9qIj4KKyAgICAgICAgICAgIDwvQnVpbGRhYmxlUmVm
ZXJlbmNlPgorICAgICAgICAgPC9CdWlsZEFjdGlvbkVudHJ5PgorICAgICAgICAgPEJ1aWxkQWN0
aW9uRW50cnkKKyAgICAgICAgICAgIGJ1aWxkRm9yVGVzdGluZyA9ICJZRVMiCisgICAgICAgICAg
ICBidWlsZEZvclJ1bm5pbmcgPSAiTk8iCisgICAgICAgICAgICBidWlsZEZvclByb2ZpbGluZyA9
ICJOTyIKKyAgICAgICAgICAgIGJ1aWxkRm9yQXJjaGl2aW5nID0gIk5PIgorICAgICAgICAgICAg
YnVpbGRGb3JBbmFseXppbmcgPSAiTk8iPgorICAgICAgICAgICAgPEJ1aWxkYWJsZVJlZmVyZW5j
ZQorICAgICAgICAgICAgICAgQnVpbGRhYmxlSWRlbnRpZmllciA9ICJwcmltYXJ5IgorICAgICAg
ICAgICAgICAgQmx1ZXByaW50SWRlbnRpZmllciA9ICI3RDIwMDcwNjIyRjRFQjcyMDA4REY2NDAi
CisgICAgICAgICAgICAgICBCdWlsZGFibGVOYW1lID0gIldlYktpdFN3aWZ0T3ZlcmxheVRlc3Rz
LnhjdGVzdCIKKyAgICAgICAgICAgICAgIEJsdWVwcmludE5hbWUgPSAiV2ViS2l0U3dpZnRPdmVy
bGF5VGVzdHMiCisgICAgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRhaW5l
cjpXZWJLaXRTd2lmdE92ZXJsYXkueGNvZGVwcm9qIj4KKyAgICAgICAgICAgIDwvQnVpbGRhYmxl
UmVmZXJlbmNlPgorICAgICAgICAgPC9CdWlsZEFjdGlvbkVudHJ5PgorICAgICAgPC9CdWlsZEFj
dGlvbkVudHJpZXM+CisgICA8L0J1aWxkQWN0aW9uPgorICAgPFRlc3RBY3Rpb24KKyAgICAgIGJ1
aWxkQ29uZmlndXJhdGlvbiA9ICJEZWJ1ZyIKKyAgICAgIHNlbGVjdGVkRGVidWdnZXJJZGVudGlm
aWVyID0gIlhjb2RlLkRlYnVnZ2VyRm91bmRhdGlvbi5EZWJ1Z2dlci5MTERCIgorICAgICAgc2Vs
ZWN0ZWRMYXVuY2hlcklkZW50aWZpZXIgPSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkxhdW5j
aGVyLkxMREIiCisgICAgICBzaG91bGRVc2VMYXVuY2hTY2hlbWVBcmdzRW52ID0gIllFUyI+Cisg
ICAgICA8VGVzdGFibGVzPgorICAgICAgICAgPFRlc3RhYmxlUmVmZXJlbmNlCisgICAgICAgICAg
ICBza2lwcGVkID0gIk5PIj4KKyAgICAgICAgICAgIDxCdWlsZGFibGVSZWZlcmVuY2UKKyAgICAg
ICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFyeSIKKyAgICAgICAgICAgICAg
IEJsdWVwcmludElkZW50aWZpZXIgPSAiN0QyMDA3MDYyMkY0RUI3MjAwOERGNjQwIgorICAgICAg
ICAgICAgICAgQnVpbGRhYmxlTmFtZSA9ICJXZWJLaXRTd2lmdE92ZXJsYXlUZXN0cy54Y3Rlc3Qi
CisgICAgICAgICAgICAgICBCbHVlcHJpbnROYW1lID0gIldlYktpdFN3aWZ0T3ZlcmxheVRlc3Rz
IgorICAgICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5lciA9ICJjb250YWluZXI6V2ViS2l0
U3dpZnRPdmVybGF5Lnhjb2RlcHJvaiI+CisgICAgICAgICAgICA8L0J1aWxkYWJsZVJlZmVyZW5j
ZT4KKyAgICAgICAgIDwvVGVzdGFibGVSZWZlcmVuY2U+CisgICAgICA8L1Rlc3RhYmxlcz4KKyAg
IDwvVGVzdEFjdGlvbj4KKyAgIDxMYXVuY2hBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmlndXJhdGlv
biA9ICJEZWJ1ZyIKKyAgICAgIHNlbGVjdGVkRGVidWdnZXJJZGVudGlmaWVyID0gIlhjb2RlLkRl
YnVnZ2VyRm91bmRhdGlvbi5EZWJ1Z2dlci5MTERCIgorICAgICAgc2VsZWN0ZWRMYXVuY2hlcklk
ZW50aWZpZXIgPSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkxhdW5jaGVyLkxMREIiCisgICAg
ICBsYXVuY2hTdHlsZSA9ICIwIgorICAgICAgdXNlQ3VzdG9tV29ya2luZ0RpcmVjdG9yeSA9ICJO
TyIKKyAgICAgIGlnbm9yZXNQZXJzaXN0ZW50U3RhdGVPbkxhdW5jaCA9ICJOTyIKKyAgICAgIGRl
YnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllFUyIKKyAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lv
biA9ICJpbnRlcm5hbCIKKyAgICAgIGFsbG93TG9jYXRpb25TaW11bGF0aW9uID0gIllFUyI+Cisg
ICA8L0xhdW5jaEFjdGlvbj4KKyAgIDxQcm9maWxlQWN0aW9uCisgICAgICBidWlsZENvbmZpZ3Vy
YXRpb24gPSAiUmVsZWFzZSIKKyAgICAgIHNob3VsZFVzZUxhdW5jaFNjaGVtZUFyZ3NFbnYgPSAi
WUVTIgorICAgICAgc2F2ZWRUb29sSWRlbnRpZmllciA9ICIiCisgICAgICB1c2VDdXN0b21Xb3Jr
aW5nRGlyZWN0b3J5ID0gIk5PIgorICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVT
Ij4KKyAgICAgIDxNYWNyb0V4cGFuc2lvbj4KKyAgICAgICAgIDxCdWlsZGFibGVSZWZlcmVuY2UK
KyAgICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFyeSIKKyAgICAgICAgICAg
IEJsdWVwcmludElkZW50aWZpZXIgPSAiN0QyMDA2NzQyMkYyNjUyRTAwOERGNjQwIgorICAgICAg
ICAgICAgQnVpbGRhYmxlTmFtZSA9ICJsaWJzd2lmdFdlYktpdC5keWxpYiIKKyAgICAgICAgICAg
IEJsdWVwcmludE5hbWUgPSAiV2ViS2l0U3dpZnRPdmVybGF5IgorICAgICAgICAgICAgUmVmZXJl
bmNlZENvbnRhaW5lciA9ICJjb250YWluZXI6V2ViS2l0U3dpZnRPdmVybGF5Lnhjb2RlcHJvaiI+
CisgICAgICAgICA8L0J1aWxkYWJsZVJlZmVyZW5jZT4KKyAgICAgIDwvTWFjcm9FeHBhbnNpb24+
CisgICA8L1Byb2ZpbGVBY3Rpb24+CisgICA8QW5hbHl6ZUFjdGlvbgorICAgICAgYnVpbGRDb25m
aWd1cmF0aW9uID0gIkRlYnVnIj4KKyAgIDwvQW5hbHl6ZUFjdGlvbj4KKyAgIDxBcmNoaXZlQWN0
aW9uCisgICAgICBidWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSIKKyAgICAgIHJldmVhbEFy
Y2hpdmVJbk9yZ2FuaXplciA9ICJZRVMiPgorICAgPC9BcmNoaXZlQWN0aW9uPgorICAgPEluc3Rh
bGxBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIj4KKyAgIDwvSW5z
dGFsbEFjdGlvbj4KKzwvU2NoZW1lPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dlYktpdFN3aWZ0T3ZlcmxheS5zd2lmdCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XZWJLaXRTd2lmdE92ZXJsYXkuc3dpZnQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA1
NzY4ZDcwYWNjODNjM2RlYzkyOTgyZTg3OWM2NDk4MWZmOGE1NQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XZWJLaXRTd2lmdE92ZXJsYXkuc3dp
ZnQKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK0BfZXhwb3J0ZWQgaW1wb3J0IFdlYktp
dAorCitAYXZhaWxhYmxlKGlPUyAxNC4wLCBtYWNPUyAxMC4xNiwgKikKK2V4dGVuc2lvbiBXS1BE
RkNvbmZpZ3VyYXRpb24geworICAgIHB1YmxpYyB2YXIgcmVjdDogQ0dSZWN0PyB7CisgICAgICAg
IGdldCB7IF9fcmVjdCA9PSAubnVsbCA/IG5pbCA6IF9fcmVjdCB9CisgICAgICAgIHNldCB7IF9f
cmVjdCA9IG5ld1ZhbHVlID09IG5pbCA/IC5udWxsIDogbmV3VmFsdWUhIH0KKyAgICB9Cit9CisK
K0BhdmFpbGFibGUoaU9TIDE0LjAsIG1hY09TIDEwLjE2LCAqKQorZXh0ZW5zaW9uIFdLV2ViVmll
dyB7CisgICAgcHVibGljIGZ1bmMgY2FsbEFzeW5jSmF2YVNjcmlwdChfIGZ1bmN0aW9uQm9keTog
U3RyaW5nLCBhcmd1bWVudHM6IFtTdHJpbmc6QW55XSA9IFs6XSwgaW4gY29udGVudFdvcmxkOiBX
S0NvbnRlbnRXb3JsZCwgY29tcGxldGlvbjogQGVzY2FwaW5nKFJlc3VsdDxBbnksIEVycm9yPikg
LT4gVm9pZCkgeworICAgICAgICBfX2NhbGxBc3luY0phdmFTY3JpcHQoZnVuY3Rpb25Cb2R5LCBh
cmd1bWVudHM6IGFyZ3VtZW50cywgaW46IGNvbnRlbnRXb3JsZCwgY29tcGxldGlvbkhhbmRsZXI6
IG1ha2VSZXN1bHRIYW5kbGVyKGNvbXBsZXRpb24pKQorICAgIH0KKworICAgIHB1YmxpYyBmdW5j
IGNyZWF0ZVBERihjb25maWd1cmF0aW9uOiBXS1BERkNvbmZpZ3VyYXRpb24gPSAuaW5pdCgpLCBj
b21wbGV0aW9uSGFuZGxlcjogQGVzY2FwaW5nIChSZXN1bHQ8RGF0YSwgRXJyb3I+KSAtPiBWb2lk
KSB7CisgICAgICAgIF9fY3JlYXRlUERGKHdpdGg6IGNvbmZpZ3VyYXRpb24sIGNvbXBsZXRpb25I
YW5kbGVyOiBtYWtlUmVzdWx0SGFuZGxlcihjb21wbGV0aW9uSGFuZGxlcikpCisgICAgfQorCisg
ICAgcHVibGljIGZ1bmMgY3JlYXRlV2ViQXJjaGl2ZURhdGEoY29tcGxldGlvbkhhbmRsZXI6IEBl
c2NhcGluZyAoUmVzdWx0PERhdGEsIEVycm9yPikgLT4gVm9pZCkgeworICAgICAgICBfX2NyZWF0
ZVdlYkFyY2hpdmVEYXRhKGNvbXBsZXRpb25IYW5kbGVyOiBtYWtlUmVzdWx0SGFuZGxlcihjb21w
bGV0aW9uSGFuZGxlcikpCisgICAgfQorCisgICAgcHVibGljIGZ1bmMgZXZhbHVhdGVKYXZhU2Ny
aXB0KF8gamF2YVNjcmlwdDogU3RyaW5nLCBpbiBjb250ZW50V29ybGQ6IFdLQ29udGVudFdvcmxk
LCBjb21wbGV0aW9uOiBAZXNjYXBpbmcgKFJlc3VsdDxBbnksIEVycm9yPikgLT4gVm9pZCkgewor
ICAgICAgICBfX2V2YWx1YXRlSmF2YVNjcmlwdChqYXZhU2NyaXB0LCBpbjogY29udGVudFdvcmxk
LCBjb21wbGV0aW9uSGFuZGxlcjogbWFrZVJlc3VsdEhhbmRsZXIoY29tcGxldGlvbikpCisgICAg
fQorCisgICAgcHVibGljIGZ1bmMgZmluZChfIHN0cmluZzogU3RyaW5nLCBjb25maWd1cmF0aW9u
OiBXS0ZpbmRDb25maWd1cmF0aW9uID0gLmluaXQoKSwgY29tcGxldGlvbkhhbmRsZXI6IEBlc2Nh
cGluZyAoV0tGaW5kUmVzdWx0KSAtPiBWb2lkKSB7CisgICAgICAgIF9fZmluZChzdHJpbmcsIHdp
dGg6IGNvbmZpZ3VyYXRpb24sIGNvbXBsZXRpb25IYW5kbGVyOiBjb21wbGV0aW9uSGFuZGxlcikK
KyAgICB9Cit9CisKK2Z1bmMgbWFrZVJlc3VsdEhhbmRsZXI8U3VjY2VzcywgRmFpbHVyZT4oXyBo
YW5kbGVyOiBAZXNjYXBpbmcgKFJlc3VsdDxTdWNjZXNzLCBGYWlsdXJlPikgLT4gVm9pZCkgLT4g
KFN1Y2Nlc3M/LCBGYWlsdXJlPykgLT4gVm9pZCB7CisgICAgcmV0dXJuIHsgc3VjY2VzcywgZmFp
bHVyZSBpbgorICAgICAgICBpZiBsZXQgc3VjY2VzcyA9IHN1Y2Nlc3MgeworICAgICAgICAgICAg
aGFuZGxlciguc3VjY2VzcyhzdWNjZXNzKSkKKyAgICAgICAgfSBlbHNlIGlmIGxldCBmYWlsdXJl
ID0gZmFpbHVyZSB7CisgICAgICAgICAgICBoYW5kbGVyKC5mYWlsdXJlKGZhaWx1cmUpKQorICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgZmF0YWxFcnJvcigiQnVnIGluIFdlYktpdDogUmVj
ZWl2ZWQgbmVpdGhlciByZXN1bHQgb3IgZmFpbHVyZS4iKQorICAgICAgICB9CisgICAgfQorfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>