<?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>117418</bug_id>
          
          <creation_ts>2013-06-10 13:32:30 -0700</creation_ts>
          <short_desc>Upstream WebKit Nightly’s WebKitLauncher</short_desc>
          <delta_ts>2013-06-28 13:39:35 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Farler">dfarler</reporter>
          <assigned_to name="David Farler">dfarler</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>mrowe</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>898710</commentid>
    <comment_count>0</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2013-06-10 13:32:30 -0700</bug_when>
    <thetext>It looks like WebKitLauncher is a bit old compared to what is used for the WebKit Nightly builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904410</commentid>
    <comment_count>1</comment_count>
      <attachid>205653</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2013-06-27 17:59:51 -0700</bug_when>
    <thetext>Created attachment 205653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904504</commentid>
    <comment_count>2</comment_count>
      <attachid>205653</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2013-06-28 02:06:25 -0700</bug_when>
    <thetext>Comment on attachment 205653
Patch

Please separate out upstreaming from any changes beyond that which you feel like making.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904670</commentid>
    <comment_count>3</comment_count>
      <attachid>205719</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2013-06-28 09:45:09 -0700</bug_when>
    <thetext>Created attachment 205719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904747</commentid>
    <comment_count>4</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2013-06-28 13:39:35 -0700</bug_when>
    <thetext>Committed r152186: &lt;http://trac.webkit.org/changeset/152186&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205653</attachid>
            <date>2013-06-27 17:59:51 -0700</date>
            <delta_ts>2013-06-28 09:45:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117418-20130627175752.patch</filename>
            <type>text/plain</type>
            <size>37651</size>
            <attacher name="David Farler">dfarler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTQzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGY0MWI1MGEwMzRiOGIzZDFkNjhhMjY0ZjkwY2RmYjA4
MzM4MzM3ZS4uMzJmODQ2NzE0OGE5NjYwNzA4MDVmZjNjY2I5N2I2N2VlYzE0OWY0MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2
IEBACisyMDEzLTA2LTI3ICBEYXZpZCBGYXJsZXIgIDxkZmFybGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBVcHN0cmVhbSBXZWJLaXQgTmlnaHRseeKAmXMgV2ViS2l0TGF1bmNoZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzQxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwc3RyZWFtIGNoYW5nZXMg
d2l0aCBhIGZldyBjbGVhbnVwcy4KKyAgICAgICAgUmVtb3ZlIGNvZGUgdGhhdCB3YXMgYSByZWFj
dGlvbiB0byAxMC40IFRpZ2VyLgorICAgICAgICBVcGRhdGUgZGVwbG95bWVudCB0YXJnZXQgdG8g
MTAuNy4KKyAgICAgICAgRW5hYmxlIEFSQy4KKworICAgICAgICAqIFdlYktpdExhdW5jaGVyL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6CisgICAgICAgICogV2ViS2l0TGF1bmNoZXIvQ29u
ZmlndXJhdGlvbnMvV2ViS2l0TGF1bmNoZXIueGNjb25maWc6CisgICAgICAgICogV2ViS2l0TGF1
bmNoZXIvQ29uZmlndXJhdGlvbnMvV2ViS2l0TmlnaHRseUVuYWJsZXIueGNjb25maWc6CisgICAg
ICAgICogV2ViS2l0TGF1bmNoZXIvSW5mby5wbGlzdDoKKyAgICAgICAgKiBXZWJLaXRMYXVuY2hl
ci9XZWJLaXRMYXVuY2hlci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YktpdExhdW5jaGVyL1dlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wubToKKyAgICAgICAgKiBXZWJL
aXRMYXVuY2hlci9XZWJLaXROaWdodGx5RW5hYmxlci5tOgorICAgICAgICAobXlCdW5kbGVEaWRM
b2FkKToKKyAgICAgICAgKG15QXBwbGljYXRpb25XaWxsRmluaXNoTGF1bmNoaW5nKToKKyAgICAg
ICAgKHBvc2VBc1dlYktpdEFwcCk6CisgICAgICAgIChlbmFibGVXZWJLaXROaWdodGx5QmVoYXZp
b3VyKToKKyAgICAgICAgKiBXZWJLaXRMYXVuY2hlci9XZWJLaXROaWdodGx5RW5hYmxlclNwYXJr
bGUubToKKyAgICAgICAgKGluaXRpYWxpemVTcGFya2xlKToKKyAgICAgICAgKiBXZWJLaXRMYXVu
Y2hlci9tYWluLm06CisgICAgICAgIChteUV4ZWN2ZSk6CisgICAgICAgIChsb2NhdGVTYWZhcmlC
dW5kbGUpOgorICAgICAgICAoZGV0ZXJtaW5lRXhlY3V0YWJsZVBhdGgpOgorICAgICAgICAoY3Vy
cmVudE1hY09TWFZlcnNpb24pOgorICAgICAgICAobWFpbik6CisgICAgICAgICogV2ViS2l0TGF1
bmNoZXIvc3RhcnQuaHRtbDoKKwogMjAxMy0wNi0yNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgogCiAgICAgICAgIEdldCByaWQgb2YgdGhlIGxhc3QgdXNlcyBvZiBkZXBy
ZWNhdGVkQ2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL1dlYktp
dExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggMTQ5ZWI4MjA1MGUw
MmYzYjUwNGIzMWNjM2Q0YTYxNGU2MDMzNzUwNi4uOTUxOGRiM2VmNGFmYzUzZmI0ZTI5ODlhMTZm
ZmE0NDk3ZDJjYmZkZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJh
dGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9XZWJLaXRMYXVuY2hlci9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yMSwxOSArMjEsMTUgQEAKIC8vIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQog
Ly8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCiAKLUFSQ0hTID0gJChBUkNIU19TVEFOREFSRF8zMl82NF9CSVQpOwor
QVJDSFMgPSAkKEFSQ0hTX1NUQU5EQVJEXzY0X0JJVCk7CitDTEFOR19FTkFCTEVfT0JKQ19BUkMg
PSBZRVM7CiBERUFEX0NPREVfU1RSSVBQSU5HID0gWUVTOwogREVCVUdfSU5GT1JNQVRJT05fRk9S
TUFUID0gZHdhcmYtd2l0aC1kc3ltOwogR0NDX0RFQlVHR0lOR19TWU1CT0xTID0gZnVsbDsKLUdD
Q19NT0RFTF9UVU5JTkcgPSBHNTsKIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSBFTkFC
TEVfU1BBUktMRT0kKEVOQUJMRV9TUEFSS0xFKTsKIEdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJP
UlMgPSBZRVM7Ci1HQ0NfVkVSU0lPTiA9IDQuMDsKLUdDQ19WRVJTSU9OW2FyY2g9eDg2XzY0XSA9
IDQuMjsKLU1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9IDEwLjQ7Ci1NQUNPU1hfREVQTE9ZTUVO
VF9UQVJHRVRbYXJjaD14ODZfNjRdID0gMTAuNTsKK01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9
IDEwLjc7CiBQUkVCSU5ESU5HID0gTk87Ci1TREtST09UID0gbWFjb3N4MTAuNTsKIFdBUk5JTkdf
Q0ZMQUdTID0gLVdhbGw7CiAKIEVOQUJMRV9TUEFSS0xFID0gMDsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdExhdW5jaGVyLnhjY29uZmlnIGIv
VG9vbHMvV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGF1bmNoZXIueGNjb25m
aWcKaW5kZXggYzRkZGUzNmZlZmNmMGIwOTAyYThjODUxMjYyY2QwMDU3MTM3OGY4Mi4uZmQwMTI0
ZTk4ZTkzZmFkNGJlOTUzNjJhYTFhN2U5Yzk1YzVjMDZmMyAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGF1bmNoZXIueGNjb25maWcKKysrIGIv
VG9vbHMvV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGF1bmNoZXIueGNjb25m
aWcKQEAgLTI0LDQgKzI0LDMgQEAKIElORk9QTElTVF9GSUxFID0gSW5mby5wbGlzdDsKIFBST0RV
Q1RfTkFNRSA9IFdlYktpdDsKIFdSQVBQRVJfRVhURU5TSU9OID0gYXBwOwotTUFDT1NYX0RFUExP
WU1FTlRfVEFSR0VUW2FyY2g9cHBjXSA9IDEwLjI7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRM
YXVuY2hlci9Db25maWd1cmF0aW9ucy9XZWJLaXROaWdodGx5RW5hYmxlci54Y2NvbmZpZyBiL1Rv
b2xzL1dlYktpdExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdE5pZ2h0bHlFbmFibGVyLnhj
Y29uZmlnCmluZGV4IGZmMzUyZTY2YTllOTdkOWNlZDk5NzljMTM2NTFjOTZjNGQwODZkNDkuLjY5
ZTI5ZGNiMjk5MWFhYTA2YzdjMzRmZGRiMDUyZTdiNGQ1NTZkYjkgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdE5pZ2h0bHlFbmFibGVyLnhjY29u
ZmlnCisrKyBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdE5pZ2h0
bHlFbmFibGVyLnhjY29uZmlnCkBAIC0yMyw3ICsyMywzIEBACiAKIFBST0RVQ1RfTkFNRSA9IFdl
YktpdE5pZ2h0bHlFbmFibGVyOwogSU5TVEFMTF9QQVRIID0gQGV4ZWN1dGFibGVfcGF0aC8uLi9S
ZXNvdXJjZXM7Ci0KLU9USEVSX0xERkxBR1MgPSAkKE9USEVSX0xERkxBR1NfJChFTkFCTEVfU1BB
UktMRSkpOwotT1RIRVJfTERGTEFHU18wID0gOwotT1RIRVJfTERGTEFHU18xID0gLWZyYW1ld29y
ayBTcGFya2xlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvSW5mby5wbGlzdCBi
L1Rvb2xzL1dlYktpdExhdW5jaGVyL0luZm8ucGxpc3QKaW5kZXggODM1NjRhN2Y5MmQ1MzhhZDY1
Y2RjZjNmZTMxMGEzMTNhYTU5MTYxYi4uMTg2NGViZDM4NzhiZDk1YjViNTc5MWIyY2I3NmY2YTZk
OTc1ZWFjMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvSW5mby5wbGlzdAorKysg
Yi9Ub29scy9XZWJLaXRMYXVuY2hlci9JbmZvLnBsaXN0CkBAIC00MjgsMTMgKzQyOCw5IEBACiAJ
PGFycmF5PgogCQk8c3RyaW5nPng4Nl82NDwvc3RyaW5nPgogCQk8c3RyaW5nPmkzODY8L3N0cmlu
Zz4KLQkJPHN0cmluZz5wcGM8L3N0cmluZz4KIAk8L2FycmF5PgotCTxrZXk+TFNNaW5pbXVtU3lz
dGVtVmVyc2lvbkJ5QXJjaGl0ZWN0dXJlPC9rZXk+Ci0JPGRpY3Q+Ci0JCTxrZXk+eDg2XzY0PC9r
ZXk+Ci0JCTxzdHJpbmc+MTAuNjwvc3RyaW5nPgotCTwvZGljdD4KKwk8a2V5PkxTTWluaW11bVN5
c3RlbVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjEwLjc8L3N0cmluZz4KIAk8a2V5PlNVRmVlZFVS
TDwva2V5PgogCTxzdHJpbmc+aHR0cDovL25pZ2h0bHkud2Via2l0Lm9yZy9idWlsZHMvdHJ1bmsv
bWFjL3Jzczwvc3RyaW5nPgogCTxrZXk+U1VTaG93UmVsZWFzZU5vdGVzPC9rZXk+CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRMYXVuY2hlci9XZWJLaXRMYXVuY2hlci54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvVG9vbHMvV2ViS2l0TGF1bmNoZXIvV2ViS2l0TGF1bmNoZXIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA0Y2YyZjEyZTgwOWNiZjgwNTBmZjFiMzhjOTI3M2MwNzg0
NTYxYjlhLi45YjFiNjQ3OTVkNDExMzM2MDAwZTc1ZGI1ODcyMDZjOGM1NzJjMjhlIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRMYXVuY2hlci9XZWJLaXRMYXVuY2hlci54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL1dlYktpdExhdW5jaGVyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxLDggKzIxLDggQEAKIC8qIEVuZCBQQlhBZ2dyZWdh
dGVUYXJnZXQgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwor
CQkyRTU5MTI5MTE3NzhDREIxMDA0NDJBMDcgLyogV2ViS2l0TGF1bmNoZXJVUkxQcm90b2NvbC5t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQxMDY3NjMw
RkU2Mzc1ODAwMkEyODY4IC8qIFdlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wubSAqLzsgfTsKIAkJ
NUQxMDY3NjQwRkU2Mzc1ODAwMkEyODY4IC8qIFdlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMTA2NzYyMEZF
NjM3NTgwMDJBMjg2OCAvKiBXZWJLaXRMYXVuY2hlclVSTFByb3RvY29sLmggKi87IH07Ci0JCTVE
MTA2NzY1MEZFNjM3NTgwMDJBMjg2OCAvKiBXZWJLaXRMYXVuY2hlclVSTFByb3RvY29sLm0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDEwNjc2MzBGRTYz
NzU4MDAyQTI4NjggLyogV2ViS2l0TGF1bmNoZXJVUkxQcm90b2NvbC5tICovOyB9OwogCQk1RDE4
QTFGRjEwM0ZFMjU1MDA2Q0E3QzcgLyogbmlnaHRseS53ZWJraXQub3JnLnB1YmxpYy5wZW0gaW4g
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMThBMUZFMTAz
RkUyNTUwMDZDQTdDNyAvKiBuaWdodGx5LndlYmtpdC5vcmcucHVibGljLnBlbSAqLzsgfTsKIAkJ
NUQ0MTE0MUMwQTUwQTlERTAwQzg0Q0YwIC8qIFZFUlNJT04gaW4gUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVENDExNDFCMEE1MEE5REUwMEM4NENGMCAvKiBW
RVJTSU9OICovOyB9OwogCQk1RDRERjk4MjA5N0Y4OUZCMDA4M0Q1RTUgLyogc3RhcnQuaHRtbCBp
biBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQ0REY5ODEw
OTdGODlGQjAwODNENUU1IC8qIHN0YXJ0Lmh0bWwgKi87IH07CkBAIC0zMyw2ICszMyw3IEBACiAJ
CTVEQTg4RjZFMEZDODEzNjAwMEFCMkY2MiAvKiBXZWJLaXROaWdodGx5RW5hYmxlclNwYXJrbGUu
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEQTg4RjZD
MEZDODEzNjAwMEFCMkY2MiAvKiBXZWJLaXROaWdodGx5RW5hYmxlclNwYXJrbGUubSAqLzsgfTsK
IAkJNURBODhGN0EwRkM4MTNFQjAwQUIyRjYyIC8qIFdlYktpdE5pZ2h0bHlFbmFibGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1REE4OEY3OTBGQzgx
M0VCMDBBQjJGNjIgLyogV2ViS2l0TmlnaHRseUVuYWJsZXIuaCAqLzsgfTsKIAkJNURCNzA1MjUw
OTdCOTRDRDAwOTg3NUVDIC8qIHdlYmtpdC5pY25zIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1REI3MDUyNDA5N0I5NENEMDA5ODc1RUMgLyogd2Via2l0
LmljbnMgKi87IH07CisJCTVERTA4NTM4MTVBRTBBQTAwMDBBMjdCNCAvKiBTZWN1cml0eS5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
REUwODUzNzE1QUUwQUEwMDAwQTI3QjQgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovOyB9OwogCQk4
RDExMDcyRDA0ODZDRUI4MDBFNDcwOTAgLyogbWFpbi5tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlCOTczMTZGRENGQTM5NDExQ0EyQ0VBIC8qIG1haW4u
bSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OwogCQk4RDExMDcyRjA0ODZD
RUI4MDBFNDcwOTAgLyogQ29jb2EuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTA1OEM3QTFGRUE1NEYwMTExQ0EyQ0JCIC8qIENvY29h
LmZyYW1ld29yayAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwpAQCAtNzgs
NiArNzksNyBAQAogCQk1REE4OEY3RjBGQzgxNzYxMDBBQjJGNjIgLyogV2ViS2l0TGF1bmNoZXIu
eGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gV2ViS2l0TGF1bmNoZXIu
eGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQTg4RjgwMEZDODE3NjEw
MEFCMkY2MiAvKiBXZWJLaXROaWdodGx5RW5hYmxlci54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
eGNjb25maWc7IHBhdGggPSBXZWJLaXROaWdodGx5RW5hYmxlci54Y2NvbmZpZzsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCNzA1MjQwOTdCOTRDRDAwOTg3NUVDIC8qIHdlYmtpdC5p
Y25zICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1h
Z2UuaWNuczsgcGF0aCA9IHdlYmtpdC5pY25zOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1REUwODUzNzE1QUUwQUEwMDAwQTI3QjQgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdv
cms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCTVE
RTc5QkVCMEYxQzYzQ0MwMDY3QkUwOCAvKiBTcGFya2xlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBw
YXRoID0gU3BhcmtsZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CiAJCThEMTEwNzMxMDQ4NkNFQjgwMEU0NzA5MCAvKiBJbmZvLnBsaXN0ICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5wbGlzdDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCThEMTEwNzMyMDQ4NkNFQjgwMEU0NzA5MCAvKiBXZWJLaXQuYXBwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0aW9uOyBp
bmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBXZWJLaXQuYXBwOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OwpAQCAtOTYsNiArOTgsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jr
c0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMg
PSAoCisJCQkJNURFMDg1MzgxNUFFMEFBMDAwMEEyN0I0IC8qIFNlY3VyaXR5LmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovLAogCQkJCThEMTEwNzJGMDQ4NkNFQjgwMEU0NzA5MCAvKiBDb2NvYS5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKQEAgLTEyNCw2ICsxMjcsNyBAQAogCQkyOUI5NzMxNEZEQ0ZB
Mzk0MTFDQTJDRUEgLyogV2ViS2l0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQk1REUwODUzNzE1QUUwQUEwMDAwQTI3QjQgLyogU2VjdXJpdHkuZnJhbWV3
b3JrICovLAogCQkJCTI5Qjk3MzE1RkRDRkEzOTQxMUNBMkNFQSAvKiBTb3VyY2UgKi8sCiAJCQkJ
NURBODhGN0QwRkM4MTc0RTAwQUIyRjYyIC8qIENvbmZpZ3VyYXRpb25zICovLAogCQkJCTI5Qjk3
MzE3RkRDRkEzOTQxMUNBMkNFQSAvKiBSZXNvdXJjZXMgKi8sCkBAIC0yMzcsNiArMjQxLDkgQEAK
IC8qIEJlZ2luIFBCWFByb2plY3Qgc2VjdGlvbiAqLwogCQkyOUI5NzMxM0ZEQ0ZBMzk0MTFDQTJD
RUEgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhQcm9qZWN0OworCQkJYXR0
cmlidXRlcyA9IHsKKwkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDQyMDsKKwkJCX07CiAJCQlidWls
ZENvbmZpZ3VyYXRpb25MaXN0ID0gQzAxRkNGNEUwOEE5NTQ1NDAwNTQyNDdCIC8qIEJ1aWxkIGNv
bmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViS2l0TGF1bmNoZXIiICovOwogCQkJ
Y29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgMy4xIjsKIAkJCWRldmVsb3BtZW50UmVnaW9u
ID0gRW5nbGlzaDsKQEAgLTMxMCw4ICszMTcsOCBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxk
UGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0J
CQkJNUQxMDY3NjUwRkU2Mzc1ODAwMkEyODY4IC8qIFdlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wu
bSBpbiBTb3VyY2VzICovLAogCQkJCTVENjUwRjM2MDlEQjhCMzcwMDc1RTlBOCAvKiBXZWJLaXRO
aWdodGx5RW5hYmxlci5tIGluIFNvdXJjZXMgKi8sCisJCQkJMkU1OTEyOTExNzc4Q0RCMTAwNDQy
QTA3IC8qIFdlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wubSBpbiBTb3VyY2VzICovLAogCQkJCTVE
QTg4RjZFMEZDODEzNjAwMEFCMkY2MiAvKiBXZWJLaXROaWdodGx5RW5hYmxlclNwYXJrbGUubSBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwpAQCAtMzc3LDYgKzM4NCw3IEBACiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNURBODhGN0YwRkM4MTc2MTAwQUIy
RjYyIC8qIFdlYktpdExhdW5jaGVyLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsK
KwkJCQlBUkNIUyA9ICIkKEFSQ0hTX1NUQU5EQVJEXzY0X0JJVCkiOwogCQkJfTsKIAkJCW5hbWUg
PSBEZWJ1ZzsKIAkJfTsKQEAgLTM4NCw2ICszOTIsNyBAQAogCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDVEQTg4RjdGMEZDODE3
NjEwMEFCMkY2MiAvKiBXZWJLaXRMYXVuY2hlci54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGlu
Z3MgPSB7CisJCQkJQVJDSFMgPSAiJChBUkNIU19TVEFOREFSRF82NF9CSVQpIjsKIAkJCX07CiAJ
CQluYW1lID0gUmVsZWFzZTsKIAkJfTsKQEAgLTM5Miw3ICs0MDEsNiBAQAogCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSA1REE4OEY3RTBGQzgxNzYxMDBBQjJGNjIgLyogQmFzZS54Y2Nv
bmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7CiAJCQkJR0NDX09QVElNSVpBVElPTl9MRVZF
TCA9IDA7Ci0JCQkJT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKIAkJCX07CiAJCQluYW1lID0gRGVi
dWc7CiAJCX07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRMYXVuY2hlci9XZWJLaXRMYXVuY2hl
clVSTFByb3RvY29sLm0gYi9Ub29scy9XZWJLaXRMYXVuY2hlci9XZWJLaXRMYXVuY2hlclVSTFBy
b3RvY29sLm0KaW5kZXggOWU1Njg1Nzc0NTZlY2Y5NmY1NGM2NDUzMTVmYzFjN2I3NWJlNTRlNC4u
NTJiMTU0NTk4MTc3MTk3ZGNhYzBjZDBkZjA2ZjM0Y2EyYmQ0NTY5MiAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0TGF1bmNoZXIvV2ViS2l0TGF1bmNoZXJVUkxQcm90b2NvbC5tCisrKyBiL1Rvb2xz
L1dlYktpdExhdW5jaGVyL1dlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wubQpAQCAtMzEsNiArMzEs
MTAgQEAKICNpbXBvcnQgPFNwYXJrbGUvU3BhcmtsZS5oPgogI2VuZGlmCiAKK0BpbnRlcmZhY2Ug
TlNPYmplY3QgKFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlck1ldGhvZHMpCisrICh2b2lkKXJl
Z2lzdGVyU2NoZW1lRm9yQ3VzdG9tUHJvdG9jb2w6KE5TU3RyaW5nICopc2NoZW1lOworQGVuZAor
CiBAaW50ZXJmYWNlIFdlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wgKEltcGxlbWVudGF0aW9uRGV0
YWlscykKIC0odm9pZCloYW5kbGVJc1dlYktpdExhdW5jaGVyQXZhaWxhYmxlSlM7CiAtKHZvaWQp
aGFuZGxlQ2hlY2tGb3JVcGRhdGVzOwpAQCAtMzgsOSArNDIsOSBAQCAtKHZvaWQpcmVzb3VyY2VO
b3RGb3VuZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYktpdExhdW5jaGVyVVJMUHJvdG9j
b2wKLQogKyh2b2lkKWxvYWQKIHsKKyAgICBbTlNDbGFzc0Zyb21TdHJpbmcoQCJXS0Jyb3dzaW5n
Q29udGV4dENvbnRyb2xsZXIiKSByZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sOkAieC13
ZWJraXQtbGF1bmNoZXIiXTsKICAgICBbTlNVUkxQcm90b2NvbCByZWdpc3RlckNsYXNzOnNlbGZd
OwogfQogCkBAIC01Myw2ICs1Nyw5IEBAICsoQk9PTCljYW5Jbml0V2l0aFJlcXVlc3Q6KE5TVVJM
UmVxdWVzdCAqKXJlcXVlc3QKICAgICBpZiAoIW1haW5Eb2N1bWVudFVSTCkKICAgICAgICAgcmV0
dXJuIE5POwogCisgICAgaWYgKFtbbWFpbkRvY3VtZW50VVJMIHNjaGVtZV0gaXNFcXVhbFRvU3Ry
aW5nOkAiZmlsZSJdKQorICAgICAgICByZXR1cm4gWUVTOworCiAgICAgTlNTdHJpbmcgKm1haW5E
b2N1bWVudEhvc3QgPSBbbWFpbkRvY3VtZW50VVJMIGhvc3RdOwogICAgIGlmICghW21haW5Eb2N1
bWVudEhvc3QgaXNFcXVhbFRvU3RyaW5nOkAid2Via2l0Lm9yZyJdICYmICFbbWFpbkRvY3VtZW50
SG9zdCBoYXNTdWZmaXg6QCIud2Via2l0Lm9yZyJdKQogICAgICAgICByZXR1cm4gTk87CkBAIC03
Myw2ICs4MCwxMCBAQCAtKHZvaWQpc3RhcnRMb2FkaW5nCiAgICAgICAgIFtzZWxmIGhhbmRsZUlz
V2ViS2l0TGF1bmNoZXJBdmFpbGFibGVKU107CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAg
aWYgKFtyZXNvdXJjZVNwZWNpZmllciBpc0VxdWFsVG9TdHJpbmc6QCJ3ZWJraXQtdmVyc2lvbi1p
bmZvcm1hdGlvbi5qcyJdKSB7CisgICAgICAgIFtzZWxmIGhhbmRsZVdlYktpdFZlcnNpb25JbmZv
cm1hdGlvbl07CisgICAgICAgIHJldHVybjsKKyAgICB9CiAjaWYgRU5BQkxFX1NQQVJLTEUKICAg
ICBpZiAoW3Jlc291cmNlU3BlY2lmaWVyIGlzRXF1YWxUb1N0cmluZzpAImNoZWNrLWZvci11cGRh
dGVzIl0pIHsKICAgICAgICAgW3NlbGYgaGFuZGxlQ2hlY2tGb3JVcGRhdGVzXTsKQEAgLTkxLDIw
ICsxMDIsMzcgQEAgLSh2b2lkKWhhbmRsZUlzV2ViS2l0TGF1bmNoZXJBdmFpbGFibGVKUwogICAg
IGlkIGNsaWVudCA9IFtzZWxmIGNsaWVudF07CiAgICAgTlNVUkxSZXNwb25zZSAqcmVzcG9uc2Ug
PSBbW05TVVJMUmVzcG9uc2UgYWxsb2NdIGluaXRXaXRoVVJMOltbc2VsZiByZXF1ZXN0XSBVUkxd
IE1JTUVUeXBlOkAidGV4dC9qYXZhc2NyaXB0IiBleHBlY3RlZENvbnRlbnRMZW5ndGg6MCB0ZXh0
RW5jb2RpbmdOYW1lOkAidXRmLTgiXTsKICAgICBbY2xpZW50IFVSTFByb3RvY29sOnNlbGYgZGlk
UmVjZWl2ZVJlc3BvbnNlOnJlc3BvbnNlIGNhY2hlU3RvcmFnZVBvbGljeTpOU1VSTENhY2hlU3Rv
cmFnZUFsbG93ZWRdOwotICAgIFtyZXNwb25zZSByZWxlYXNlXTsKIAogICAgIE5TRGF0YSAqZGF0
YSA9IFtAInZhciBpc1dlYktpdExhdW5jaGVyQXZhaWxhYmxlID0gdHJ1ZTsiIGRhdGFVc2luZ0Vu
Y29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKICAgICBbY2xpZW50IFVSTFByb3RvY29sOnNl
bGYgZGlkTG9hZERhdGE6ZGF0YV07CiAgICAgW2NsaWVudCBVUkxQcm90b2NvbERpZEZpbmlzaExv
YWRpbmc6c2VsZl07CiB9CiAKKy0odm9pZCloYW5kbGVXZWJLaXRWZXJzaW9uSW5mb3JtYXRpb24K
K3sKKyAgICBpZCBjbGllbnQgPSBbc2VsZiBjbGllbnRdOworICAgIE5TVVJMUmVzcG9uc2UgKnJl
c3BvbnNlID0gW1tOU1VSTFJlc3BvbnNlIGFsbG9jXSBpbml0V2l0aFVSTDpbW3NlbGYgcmVxdWVz
dF0gVVJMXSBNSU1FVHlwZTpAInRleHQvamF2YXNjcmlwdCIgZXhwZWN0ZWRDb250ZW50TGVuZ3Ro
OjAgdGV4dEVuY29kaW5nTmFtZTpAInV0Zi04Il07CisgICAgW2NsaWVudCBVUkxQcm90b2NvbDpz
ZWxmIGRpZFJlY2VpdmVSZXNwb25zZTpyZXNwb25zZSBjYWNoZVN0b3JhZ2VQb2xpY3k6TlNVUkxD
YWNoZVN0b3JhZ2VBbGxvd2VkXTsKKworICAgIE5TQnVuZGxlICpidW5kbGUgPSB3ZWJLaXRMYXVu
Y2hlckJ1bmRsZSgpOworICAgIGludCByZXZpc2lvbiA9IFtbW2J1bmRsZSBpbmZvRGljdGlvbmFy
eV0gdmFsdWVGb3JLZXk6KE5TU3RyaW5nICopa0NGQnVuZGxlVmVyc2lvbktleV0gaW50VmFsdWVd
OworICAgIE5TU3RyaW5nICpicmFuY2ggPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZV
Ukw6W2J1bmRsZSBVUkxGb3JSZXNvdXJjZTpAIkJSQU5DSCIgd2l0aEV4dGVuc2lvbjpuaWxdIGVu
Y29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOjBdOworICAgIGJyYW5jaCA9IFticmFu
Y2ggc3RyaW5nQnlUcmltbWluZ0NoYXJhY3RlcnNJblNldDpbTlNDaGFyYWN0ZXJTZXQgd2hpdGVz
cGFjZUFuZE5ld2xpbmVDaGFyYWN0ZXJTZXRdXTsKKyAgICBpZiAoIWJyYW5jaCkKKyAgICAgICAg
YnJhbmNoID0gQCJ0cnVuayI7CisKKyAgICBOU1N0cmluZyAqc2NyaXB0ID0gW05TU3RyaW5nIHN0
cmluZ1dpdGhGb3JtYXQ6QCJ2YXIgd2ViS2l0UmV2aXNpb24gPSAlZDsgdmFyIHdlYktpdEJyYW5j
aCA9IFwiJUBcIjsiLCByZXZpc2lvbiwgYnJhbmNoXTsKKyAgICBOU0RhdGEgKmRhdGEgPSBbc2Ny
aXB0IGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKKyAgICBbY2xpZW50
IFVSTFByb3RvY29sOnNlbGYgZGlkTG9hZERhdGE6ZGF0YV07CisgICAgW2NsaWVudCBVUkxQcm90
b2NvbERpZEZpbmlzaExvYWRpbmc6c2VsZl07Cit9CisKICNpZiBFTkFCTEVfU1BBUktMRQogLSh2
b2lkKWhhbmRsZUNoZWNrRm9yVXBkYXRlcwogewogICAgIGlkIGNsaWVudCA9IFtzZWxmIGNsaWVu
dF07CiAgICAgTlNVUkxSZXNwb25zZSAqcmVzcG9uc2UgPSBbW05TVVJMUmVzcG9uc2UgYWxsb2Nd
IGluaXRXaXRoVVJMOltbc2VsZiByZXF1ZXN0XSBVUkxdIE1JTUVUeXBlOkAidGV4dC9wbGFpbiIg
ZXhwZWN0ZWRDb250ZW50TGVuZ3RoOjAgdGV4dEVuY29kaW5nTmFtZTpAInV0Zi04Il07CiAgICAg
W2NsaWVudCBVUkxQcm90b2NvbDpzZWxmIGRpZFJlY2VpdmVSZXNwb25zZTpyZXNwb25zZSBjYWNo
ZVN0b3JhZ2VQb2xpY3k6TlNVUkxDYWNoZVN0b3JhZ2VOb3RBbGxvd2VkXTsKLSAgICBbcmVzcG9u
c2UgcmVsZWFzZV07CiAKICAgICBTVVVwZGF0ZXIgKnVwZGF0ZXIgPSBbU1VVcGRhdGVyIHVwZGF0
ZXJGb3JCdW5kbGU6d2ViS2l0TGF1bmNoZXJCdW5kbGUoKV07CiAgICAgW3VwZGF0ZXIgcGVyZm9y
bVNlbGVjdG9yT25NYWluVGhyZWFkOkBzZWxlY3RvcihjaGVja0ZvclVwZGF0ZXM6KSB3aXRoT2Jq
ZWN0OnNlbGYgd2FpdFVudGlsRG9uZTpOT107CkBAIC0xMTUsNyArMTQzLDcgQEAgLSh2b2lkKWhh
bmRsZUNoZWNrRm9yVXBkYXRlcwogLSh2b2lkKXJlc291cmNlTm90Rm91bmQKIHsKICAgICBpZCBj
bGllbnQgPSBbc2VsZiBjbGllbnRdOwotICAgIE5TRGljdGlvbmFyeSAqaW5mb0RpY3Rpb25hcnkg
PSBbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0Ok5TRXJyb3JGYWlsaW5nVVJMU3Ry
aW5nS2V5IGZvcktleTpbW3NlbGYgcmVxdWVzdF0gVVJMXV07CisgICAgTlNEaWN0aW9uYXJ5ICpp
bmZvRGljdGlvbmFyeSA9IFtOU0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3Q6TlNVUkxF
cnJvckZhaWxpbmdVUkxTdHJpbmdFcnJvcktleSBmb3JLZXk6W1tzZWxmIHJlcXVlc3RdIFVSTF1d
OwogICAgIE5TRXJyb3IgKmVycm9yID0gW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOk5TVVJMRXJy
b3JEb21haW4gY29kZTpOU1VSTEVycm9yRmlsZURvZXNOb3RFeGlzdCB1c2VySW5mbzppbmZvRGlj
dGlvbmFyeV07CiAgICAgW2NsaWVudCBVUkxQcm90b2NvbDpzZWxmIGRpZEZhaWxXaXRoRXJyb3I6
ZXJyb3JdOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvV2ViS2l0TmlnaHRs
eUVuYWJsZXIubSBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL1dlYktpdE5pZ2h0bHlFbmFibGVyLm0K
aW5kZXggZWVmMGY4YzIyY2VlYjdkOTViMjViNjA4NzVkMmZhYzg2NDIwOWQ5Ny4uNzQwZWViNzM4
MmQ3OWZjZGU3OTU5N2YxYmE3YTc4NDQ1MmU2M2EzZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
TGF1bmNoZXIvV2ViS2l0TmlnaHRseUVuYWJsZXIubQorKysgYi9Ub29scy9XZWJLaXRMYXVuY2hl
ci9XZWJLaXROaWdodGx5RW5hYmxlci5tCkBAIC00NSwxOSArNDUsMTAgQEAKIHN0YXRpYyBib29s
IGV4dGVuc2lvbkJ1bmRsZXNXZXJlTG9hZGVkID0gTk87CiBzdGF0aWMgTlNTZXQgKmV4dGVuc2lv
blBhdGhzID0gbmlsOwogCi1zdGF0aWMgaW50MzJfdCBzeXN0ZW1WZXJzaW9uKCkKLXsKLSAgICBz
dGF0aWMgU0ludDMyIHZlcnNpb24gPSAwOwotICAgIGlmICghdmVyc2lvbikKLSAgICAgICAgR2Vz
dGFsdChnZXN0YWx0U3lzdGVtVmVyc2lvbiwgJnZlcnNpb24pOwotCi0gICAgcmV0dXJuIHZlcnNp
b247Ci19Ci0KIAogc3RhdGljIHZvaWQgbXlCdW5kbGVEaWRMb2FkKENGTm90aWZpY2F0aW9uQ2Vu
dGVyUmVmIGNlbnRlciwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZv
aWQgKm9iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIE5TQnVuZGxlICpi
dW5kbGUgPSAoTlNCdW5kbGUgKilvYmplY3Q7CisgICAgTlNCdW5kbGUgKmJ1bmRsZSA9IChfX2Jy
aWRnZSBOU0J1bmRsZSAqKW9iamVjdDsKICAgICBOU1N0cmluZyAqYnVuZGxlUGF0aCA9IFtbYnVu
ZGxlIGJ1bmRsZVBhdGhdIHN0cmluZ0J5QWJicmV2aWF0aW5nV2l0aFRpbGRlSW5QYXRoXTsKICAg
ICBOU1N0cmluZyAqYnVuZGxlRmlsZU5hbWUgPSBbYnVuZGxlUGF0aCBsYXN0UGF0aENvbXBvbmVu
dF07CiAKQEAgLTg2LDcgKzc3LDYgQEAgc3RhdGljIHZvaWQgbXlBcHBsaWNhdGlvbldpbGxGaW5p
c2hMYXVuY2hpbmcoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYgY2VudGVyLCB2b2kKIHsKICAgICBD
Rk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0
TG9jYWxDZW50ZXIoKSwgJm15QXBwbGljYXRpb25XaWxsRmluaXNoTGF1bmNoaW5nLCBOVUxMLCBO
VUxMKTsKICAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0
aW9uQ2VudGVyR2V0TG9jYWxDZW50ZXIoKSwgJm15QnVuZGxlRGlkTG9hZCwgTlVMTCwgTlVMTCk7
Ci0gICAgW2V4dGVuc2lvblBhdGhzIHJlbGVhc2VdOwogICAgIGV4dGVuc2lvblBhdGhzID0gbmls
OwogCiAgICAgTlNVc2VyRGVmYXVsdHMgKnVzZXJEZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBz
dGFuZGFyZFVzZXJEZWZhdWx0c107CkBAIC0xMzAsMTA3ICsxMjAsNjYgQEAgc3RhdGljIHZvaWQg
cG9zZUFzV2ViS2l0QXBwKCkKICAgICAvLyBTZXQgdXAgdGhlIG1haW4gYnVuZGxlIGVhcmx5IHNv
IGl0IHBvaW50cyBhdCBTYWZhcmkuYXBwCiAgICAgQ0ZCdW5kbGVHZXRNYWluQnVuZGxlKCk7CiAK
LSAgICBpZiAoc3lzdGVtVmVyc2lvbigpIDwgMHgxMDYwKSB7Ci0gICAgICAgIGlmICghX0NGR2V0
UHJvY2Vzc1BhdGgpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgLy8gRmlkZGxlIHdp
dGggQ29yZUZvdW5kYXRpb24gdG8gaGF2ZSBpdCBwaWNrIHVwIHRoZSBleGVjdXRhYmxlIHBhdGgg
YXMgYmVpbmcgd2l0aGluIFdlYktpdC5hcHAKLSAgICAgICAgY2hhciAqKnByb2Nlc3NQYXRoID0g
X0NGR2V0UHJvY2Vzc1BhdGgoKTsKLSAgICAgICAgKnByb2Nlc3NQYXRoID0gTlVMTDsKLSAgICAg
ICAgc2V0ZW52KCJDRlByb2Nlc3NQYXRoIiwgd2ViS2l0QXBwUGF0aCwgMSk7Ci0gICAgICAgIF9D
RkdldFByb2Nlc3NQYXRoKCk7Ci0gICAgICAgIHVuc2V0ZW52KCJDRlByb2Nlc3NQYXRoIik7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKCFfUmVnaXN0ZXJBcHBsaWNhdGlvbikKLSAgICAgICAg
ICAgIHJldHVybjsKLQotICAgICAgICAvLyBSZWdpc3RlciB0aGUgYXBwbGljYXRpb24gd2l0aCBM
YXVuY2hTZXJ2aWNlcywgcGFzc2luZyBhIGN1c3RvbWl6ZWQgcmVnaXN0cmF0aW9uIGRpY3Rpb25h
cnkgdGhhdAotICAgICAgICAvLyB1c2VzIHRoZSBXZWJLaXQgbGF1bmNoZXIgYXMgdGhlIGFwcGxp
Y2F0aW9uIGJ1bmRsZS4KLSAgICAgICAgTlNCdW5kbGUgKmJ1bmRsZSA9IHdlYktpdExhdW5jaGVy
QnVuZGxlKCk7Ci0gICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmNoZWNrSW5EaWN0aW9uYXJ5
ID0gW1tidW5kbGUgaW5mb0RpY3Rpb25hcnldIG11dGFibGVDb3B5XTsKLSAgICAgICAgW2NoZWNr
SW5EaWN0aW9uYXJ5IHNldE9iamVjdDpbYnVuZGxlIGJ1bmRsZVBhdGhdIGZvcktleTpAIkxTQnVu
ZGxlUGF0aCJdOwotICAgICAgICBbY2hlY2tJbkRpY3Rpb25hcnkgc2V0T2JqZWN0OltjaGVja0lu
RGljdGlvbmFyeSBvYmplY3RGb3JLZXk6KE5TU3RyaW5nICopa0NGQnVuZGxlTmFtZUtleV0gZm9y
S2V5OkAiTFNEaXNwbGF5TmFtZSJdOwotICAgICAgICBfUmVnaXN0ZXJBcHBsaWNhdGlvbigoQ0ZE
aWN0aW9uYXJ5UmVmKWNoZWNrSW5EaWN0aW9uYXJ5LCAwKTsKLSAgICAgICAgW2NoZWNrSW5EaWN0
aW9uYXJ5IHJlbGVhc2VdOwotICAgIH0KLX0KKyAgICAKKyAgICBpZiAoIV9SZWdpc3RlckFwcGxp
Y2F0aW9uKQorICAgICAgICByZXR1cm47CiAKLXN0YXRpYyBCT09MIGluc2lkZVNhZmFyaTRPblRp
Z2VyVHJhbXBvbGluZSgpCi17Ci0gICAgLy8gSWYgd2UncmUgbm90IG9uIFRpZ2VyIHRoZW4gd2Ug
Y2FuJ3QgYmUgaW4gdGhlIHRyYW1wb2xpbmUgc3RhdGUuCi0gICAgaWYgKChzeXN0ZW1WZXJzaW9u
KCkgJiAweEZGRjApICE9IDB4MTA0MCkKLSAgICAgICAgcmV0dXJuIE5POwotCi0gICAgLy8gSWYg
d2UncmUgcnVubmluZyBTYWZhcmkgPCA0LjAgdGhlbiB3ZSBjYW4ndCBiZSBpbiB0aGUgdHJhbXBv
bGluZSBzdGF0ZS4KLSAgICBDRkJ1bmRsZVJlZiBzYWZhcmlCdW5kbGUgPSBDRkJ1bmRsZUdldE1h
aW5CdW5kbGUoKTsKLSAgICBDRlN0cmluZ1JlZiBzYWZhcmlWZXJzaW9uID0gQ0ZCdW5kbGVHZXRW
YWx1ZUZvckluZm9EaWN0aW9uYXJ5S2V5KHNhZmFyaUJ1bmRsZSwgQ0ZTVFIoIkNGQnVuZGxlU2hv
cnRWZXJzaW9uU3RyaW5nIikpOwotICAgIGlmIChbKE5TU3RyaW5nICopc2FmYXJpVmVyc2lvbiBp
bnRWYWx1ZV0gPCA0KQotICAgICAgICByZXR1cm4gTk87Ci0KLSAgICBjb25zdCBjaGFyKiBmcmFt
ZXdvcmtQYXRoID0gZ2V0ZW52KCJEWUxEX0ZSQU1FV09SS19QQVRIIik7Ci0gICAgaWYgKCFmcmFt
ZXdvcmtQYXRoKQotICAgICAgICBmcmFtZXdvcmtQYXRoID0gIiI7Ci0KLSAgICAvLyBJZiB0aGUg
ZnJhbWV3b3JrIHNlYXJjaCBwYXRoIGlzIGVtcHR5IG9yIG90aGVyd2lzZSBkb2VzIG5vdCBjb250
YWluIHRoZSBTYWZhcmkKLSAgICAvLyBmcmFtZXdvcmsncyBGcmFtZXdvcmtzIGRpcmVjdG9yeSB0
aGVuIHdlIGFyZSBpbiB0aGUgdHJhbXBvbGluZSBzdGF0ZS4KLSAgICBjb25zdCBjaGFyIHNhZmFy
aUZyYW1ld29ya1NlYXJjaFBhdGhbXSA9ICIvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29y
a3MvU2FmYXJpLmZyYW1ld29yay9GcmFtZXdvcmtzIjsKLSAgICByZXR1cm4gc3Ryc3RyKGZyYW1l
d29ya1BhdGgsIHNhZmFyaUZyYW1ld29ya1NlYXJjaFBhdGgpID09IDA7CisgICAgLy8gUmVnaXN0
ZXIgdGhlIGFwcGxpY2F0aW9uIHdpdGggTGF1bmNoU2VydmljZXMsIHBhc3NpbmcgYSBjdXN0b21p
emVkIHJlZ2lzdHJhdGlvbiBkaWN0aW9uYXJ5IHRoYXQKKyAgICAvLyB1c2VzIHRoZSBXZWJLaXQg
bGF1bmNoZXIgYXMgdGhlIGFwcGxpY2F0aW9uIGJ1bmRsZS4KKyAgICBOU0J1bmRsZSAqYnVuZGxl
ID0gd2ViS2l0TGF1bmNoZXJCdW5kbGUoKTsKKyAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpjaGVj
a0luRGljdGlvbmFyeSA9IFtbYnVuZGxlIGluZm9EaWN0aW9uYXJ5XSBtdXRhYmxlQ29weV07Cisg
ICAgW2NoZWNrSW5EaWN0aW9uYXJ5IHNldE9iamVjdDpbYnVuZGxlIGJ1bmRsZVBhdGhdIGZvcktl
eTpAIkxTQnVuZGxlUGF0aCJdOworICAgIFtjaGVja0luRGljdGlvbmFyeSBzZXRPYmplY3Q6W2No
ZWNrSW5EaWN0aW9uYXJ5IG9iamVjdEZvcktleTooTlNTdHJpbmcgKilrQ0ZCdW5kbGVOYW1lS2V5
XSBmb3JLZXk6QCJMU0Rpc3BsYXlOYW1lIl07CisgICAgX1JlZ2lzdGVyQXBwbGljYXRpb24oKF9f
YnJpZGdlIENGRGljdGlvbmFyeVJlZiljaGVja0luRGljdGlvbmFyeSwgMCk7CiB9CiAKIHN0YXRp
YyB2b2lkIGVuYWJsZVdlYktpdE5pZ2h0bHlCZWhhdmlvdXIoKQogewotICAgIC8vIElmIHdlJ3Jl
IGluc2lkZSBTYWZhcmkgaW4gaXRzIHRyYW1wb2xpbmUgc3RhdGUsIGl0IHdpbGwgdmVyeSBzaG9y
dGx5IHJlbGF1bmNoIGl0c2VsZi4KLSAgICAvLyBXZSBiYWlsIG91dCBoZXJlIHNvIHRoYXQgd2Un
bGwgYmUgY2FsbGVkIGFnYWluIGluIHRoZSBmcmVzaGx5LWxhdW5jaGVkIFNhZmFyaSBwcm9jZXNz
LgotICAgIGlmIChpbnNpZGVTYWZhcmk0T25UaWdlclRyYW1wb2xpbmUoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgTlNBdXRvcmVsZWFzZVBvb2wgKnBvb2wgPSBbW05TQXV0b3JlbGVhc2VQb29s
IGFsbG9jXSBpbml0XTsKLQotICAgIHVuc2V0ZW52KCJEWUxEX0lOU0VSVF9MSUJSQVJJRVMiKTsK
LSAgICBwb3NlQXNXZWJLaXRBcHAoKTsKLQotICAgIGV4dGVuc2lvblBhdGhzID0gW1tOU1NldCBh
bGxvY10gaW5pdFdpdGhPYmplY3RzOkAifi9MaWJyYXJ5L0lucHV0TWFuYWdlcnMvIiwgQCIvTGli
cmFyeS9JbnB1dE1hbmFnZXJzLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQCJ+L0xpYnJhcnkvQXBwbGljYXRpb24gU3VwcG9ydC9TSU1CTC9Q
bHVnaW5zLyIsIEAiL0xpYnJhcnkvQXBwbGljYXRpb24gU3VwcG9ydC9TSU1CTC9QbHVnaW5zLyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQCJ+
L0xpYnJhcnkvQXBwbGljYXRpb24gRW5oYW5jZXJzLyIsIEAiL0xpYnJhcnkvQXBwbGljYXRpb24g
RW5oYW5jZXJzLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbmlsXTsKLQotICAgIC8vIEFzIG9mIDIwMDgtMTEgYXR0ZW1wdGluZyB0byBsb2Fk
IFNhZnQgd291bGQgY2F1c2UgYSBjcmFzaCBvbiBsYXVuY2gsIHNvIHByZXZlbnQgaXQgZnJvbSBi
ZWluZyBsb2FkZWQuCi0gICAgTlNBcnJheSAqZGlzYWJsZWRJbnB1dE1hbmFnZXJzID0gW05TQXJy
YXkgYXJyYXlXaXRoT2JqZWN0czpAIlNhZnQiLCBuaWxdOwotCi0gICAgTlNVc2VyRGVmYXVsdHMg
KnVzZXJEZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107Ci0g
ICAgTlNEaWN0aW9uYXJ5ICpkZWZhdWx0UHJlZnMgPSBbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlX
aXRoT2JqZWN0c0FuZEtleXM6W05TTnVtYmVyIG51bWJlcldpdGhCb29sOlJ1blN0YXRlU2h1dERv
d25dLCBXS05FUnVuU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOllFU10sIFdLTkVTaG91bGRNb25pdG9yU2h1dGRvd25zLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRpc2FibGVkSW5wdXRNYW5hZ2VycywgQCJOU0Rpc2FibGVkSW5wdXRNYW5hZ2VycyIsIG5p
bF07Ci0gICAgW3VzZXJEZWZhdWx0cyByZWdpc3RlckRlZmF1bHRzOmRlZmF1bHRQcmVmc107Ci0g
ICAgaWYgKFt1c2VyRGVmYXVsdHMgYm9vbEZvcktleTpXS05FU2hvdWxkTW9uaXRvclNodXRkb3du
c10pIHsKLSAgICAgICAgV0tORVJ1blN0YXRlcyBzYXZlZFN0YXRlID0gKFdLTkVSdW5TdGF0ZXMp
W3VzZXJEZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldLTkVSdW5TdGF0ZV07Ci0gICAgICAgIGlmIChz
YXZlZFN0YXRlID09IFJ1blN0YXRlSW5pdGlhbGl6aW5nKSB7Ci0gICAgICAgICAgICAvLyBVc2Ug
Q29yZUZvdW5kYXRpb24gaGVyZSBhcyBBcHBLaXQgaGFzbid0IGJlZW4gaW5pdGlhbGl6ZWQgYXQg
dGhpcyBzdGFnZSBvZiBTYWZhcmkncyBsaWZldGltZQotICAgICAgICAgICAgQ0ZPcHRpb25GbGFn
cyByZXNwb25zZUZsYWdzOwotICAgICAgICAgICAgQ0ZVc2VyTm90aWZpY2F0aW9uRGlzcGxheUFs
ZXJ0KDAsIGtDRlVzZXJOb3RpZmljYXRpb25DYXV0aW9uQWxlcnRMZXZlbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBOVUxMLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENGU1RSKCJXZWJLaXQgZmFpbGVk
IHRvIG9wZW4gY29ycmVjdGx5IiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQ0ZTVFIoIldlYktpdCBmYWlsZWQgdG8gb3BlbiBjb3JyZWN0bHkgb24geW91ciBw
cmV2aW91cyBhdHRlbXB0LiBQbGVhc2UgZGlzYWJsZSBhbnkgU2FmYXJpIGV4dGVuc2lvbnMgdGhh
dCB5b3UgbWF5IGhhdmUgaW5zdGFsbGVkLiAgSWYgdGhlIHByb2JsZW0gY29udGludWVzIHRvIG9j
Y3VyLCBwbGVhc2UgZmlsZSBhIGJ1ZyByZXBvcnQgYXQgaHR0cDovL3dlYmtpdC5vcmcvcXVhbGl0
eS9yZXBvcnRpbmcuaHRtbCIpLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBDRlNUUigiQ29udGludWUiKSwgTlVMTCwgTlVMTCwgJnJlc3BvbnNlRmxhZ3MpOwor
ICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICB1bnNldGVudigiRFlMRF9JTlNFUlRfTElC
UkFSSUVTIik7CisgICAgICAgIHBvc2VBc1dlYktpdEFwcCgpOworCisgICAgICAgIGV4dGVuc2lv
blBhdGhzID0gW1tOU1NldCBhbGxvY10gaW5pdFdpdGhPYmplY3RzOkAifi9MaWJyYXJ5L0lucHV0
TWFuYWdlcnMvIiwgQCIvTGlicmFyeS9JbnB1dE1hbmFnZXJzLyIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAifi9MaWJyYXJ5L0FwcGxp
Y2F0aW9uIFN1cHBvcnQvU0lNQkwvUGx1Z2lucy8iLCBAIi9MaWJyYXJ5L0FwcGxpY2F0aW9uIFN1
cHBvcnQvU0lNQkwvUGx1Z2lucy8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBAIn4vTGlicmFyeS9BcHBsaWNhdGlvbiBFbmhhbmNlcnMv
IiwgQCIvTGlicmFyeS9BcHBsaWNhdGlvbiBFbmhhbmNlcnMvIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsXTsKKworICAgICAgICAv
LyBBcyBvZiAyMDA4LTExIGF0dGVtcHRpbmcgdG8gbG9hZCBTYWZ0IHdvdWxkIGNhdXNlIGEgY3Jh
c2ggb24gbGF1bmNoLCBzbyBwcmV2ZW50IGl0IGZyb20gYmVpbmcgbG9hZGVkLgorICAgICAgICBO
U0FycmF5ICpkaXNhYmxlZElucHV0TWFuYWdlcnMgPSBbTlNBcnJheSBhcnJheVdpdGhPYmplY3Rz
OkAiU2FmdCIsIG5pbF07CisKKyAgICAgICAgTlNVc2VyRGVmYXVsdHMgKnVzZXJEZWZhdWx0cyA9
IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisgICAgICAgIE5TRGljdGlv
bmFyeSAqZGVmYXVsdFByZWZzID0gW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNB
bmRLZXlzOltOU051bWJlciBudW1iZXJXaXRoQm9vbDpSdW5TdGF0ZVNodXREb3duXSwgV0tORVJ1
blN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
WUVTXSwgV0tORVNob3VsZE1vbml0b3JTaHV0ZG93bnMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpc2FibGVkSW5wdXRNYW5hZ2VycywgQCJOU0Rpc2FibGVkSW5wdXRNYW5hZ2VycyIsIG5pbF07
CisgICAgICAgIFt1c2VyRGVmYXVsdHMgcmVnaXN0ZXJEZWZhdWx0czpkZWZhdWx0UHJlZnNdOwor
ICAgICAgICBpZiAoW3VzZXJEZWZhdWx0cyBib29sRm9yS2V5OldLTkVTaG91bGRNb25pdG9yU2h1
dGRvd25zXSkgeworICAgICAgICAgICAgV0tORVJ1blN0YXRlcyBzYXZlZFN0YXRlID0gKFdLTkVS
dW5TdGF0ZXMpW3VzZXJEZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldLTkVSdW5TdGF0ZV07CisgICAg
ICAgICAgICBpZiAoc2F2ZWRTdGF0ZSA9PSBSdW5TdGF0ZUluaXRpYWxpemluZykgeworICAgICAg
ICAgICAgICAgIC8vIFVzZSBDb3JlRm91bmRhdGlvbiBoZXJlIGFzIEFwcEtpdCBoYXNuJ3QgYmVl
biBpbml0aWFsaXplZCBhdCB0aGlzIHN0YWdlIG9mIFNhZmFyaSdzIGxpZmV0aW1lCisgICAgICAg
ICAgICAgICAgQ0ZPcHRpb25GbGFncyByZXNwb25zZUZsYWdzOworICAgICAgICAgICAgICAgIENG
VXNlck5vdGlmaWNhdGlvbkRpc3BsYXlBbGVydCgwLCBrQ0ZVc2VyTm90aWZpY2F0aW9uQ2F1dGlv
bkFsZXJ0TGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENGU1RSKCJXZWJLaXQgZmFpbGVkIHRvIG9wZW4gY29ycmVjdGx5IiksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENGU1RSKCJXZWJL
aXQgZmFpbGVkIHRvIG9wZW4gY29ycmVjdGx5IG9uIHlvdXIgcHJldmlvdXMgYXR0ZW1wdC4gUGxl
YXNlIGRpc2FibGUgYW55IFNhZmFyaSBleHRlbnNpb25zIHRoYXQgeW91IG1heSBoYXZlIGluc3Rh
bGxlZC4gIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcyB0byBvY2N1ciwgcGxlYXNlIGZpbGUgYSBi
dWcgcmVwb3J0IGF0IGh0dHA6Ly93ZWJraXQub3JnL3F1YWxpdHkvcmVwb3J0aW5nLmh0bWwiKSwg
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENGU1RSKCJD
b250aW51ZSIpLCBOVUxMLCBOVUxMLCAmcmVzcG9uc2VGbGFncyk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBlbHNlIGlmIChzYXZlZFN0YXRlID09IFJ1blN0YXRlUnVubmluZykgeworICAg
ICAgICAgICAgICAgIE5TTG9nKEAiV2ViS2l0IGZhaWxlZCB0byBzaHV0IGRvd24gY2xlYW5seS4g
IENoZWNraW5nIGZvciBTYWZhcmkgZXh0ZW5zaW9ucy4iKTsKKyAgICAgICAgICAgICAgICBDRk5v
dGlmaWNhdGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0TG9jYWxD
ZW50ZXIoKSwgJm15QnVuZGxlRGlkTG9hZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG15QnVuZGxlRGlkTG9hZCwgKENGU3RyaW5nUmVmKSBOU0J1bmRs
ZURpZExvYWROb3RpZmljYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBOVUxMLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckRlbGl2
ZXJJbW1lZGlhdGVseSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBp
ZiAoc2F2ZWRTdGF0ZSA9PSBSdW5TdGF0ZVJ1bm5pbmcpIHsKLSAgICAgICAgICAgIE5TTG9nKEAi
V2ViS2l0IGZhaWxlZCB0byBzaHV0IGRvd24gY2xlYW5seS4gIENoZWNraW5nIGZvciBTYWZhcmkg
ZXh0ZW5zaW9ucy4iKTsKLSAgICAgICAgICAgIENGTm90aWZpY2F0aW9uQ2VudGVyQWRkT2JzZXJ2
ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXRMb2NhbENlbnRlcigpLCAmbXlCdW5kbGVEaWRMb2Fk
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteUJ1bmRsZURp
ZExvYWQsIChDRlN0cmluZ1JlZikgTlNCdW5kbGVEaWRMb2FkTm90aWZpY2F0aW9uLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBDRk5vdGlmaWNhdGlv
blN1c3BlbnNpb25CZWhhdmlvckRlbGl2ZXJJbW1lZGlhdGVseSk7Ci0gICAgICAgIH0KLSAgICB9
Ci0gICAgW3VzZXJEZWZhdWx0cyBzZXRJbnRlZ2VyOlJ1blN0YXRlSW5pdGlhbGl6aW5nIGZvcktl
eTpXS05FUnVuU3RhdGVdOwotICAgIFt1c2VyRGVmYXVsdHMgc3luY2hyb25pemVdOworICAgICAg
ICBbdXNlckRlZmF1bHRzIHNldEludGVnZXI6UnVuU3RhdGVJbml0aWFsaXppbmcgZm9yS2V5OldL
TkVSdW5TdGF0ZV07CisgICAgICAgIFt1c2VyRGVmYXVsdHMgc3luY2hyb25pemVdOwogCi0gICAg
Q0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldExv
Y2FsQ2VudGVyKCksICZteUFwcGxpY2F0aW9uV2lsbEZpbmlzaExhdW5jaGluZywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15QXBwbGljYXRpb25XaWxsRmluaXNoTGF1bmNo
aW5nLCAoQ0ZTdHJpbmdSZWYpIE5TQXBwbGljYXRpb25XaWxsRmluaXNoTGF1bmNoaW5nTm90aWZp
Y2F0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgQ0ZOb3Rp
ZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JEZWxpdmVySW1tZWRpYXRlbHkpOwotICAgIENGTm90
aWZpY2F0aW9uQ2VudGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXRMb2NhbENl
bnRlcigpLCAmbXlBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBteUFwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZSwgKENGU3RyaW5nUmVm
KSBOU0FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZU5vdGlmaWNhdGlvbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2
aW9yRGVsaXZlckltbWVkaWF0ZWx5KTsKKyAgICAgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRP
YnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldExvY2FsQ2VudGVyKCksICZteUFwcGxpY2F0
aW9uV2lsbEZpbmlzaExhdW5jaGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBteUFwcGxpY2F0aW9uV2lsbEZpbmlzaExhdW5jaGluZywgKF9fYnJpZGdlIENGU3Ry
aW5nUmVmKSBOU0FwcGxpY2F0aW9uV2lsbEZpbmlzaExhdW5jaGluZ05vdGlmaWNhdGlvbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBDRk5vdGlmaWNhdGlv
blN1c3BlbnNpb25CZWhhdmlvckRlbGl2ZXJJbW1lZGlhdGVseSk7CisgICAgICAgIENGTm90aWZp
Y2F0aW9uQ2VudGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXRMb2NhbENlbnRl
cigpLCAmbXlBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbXlBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGUsIChfX2JyaWRnZSBD
RlN0cmluZ1JlZikgTlNBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGVOb3RpZmljYXRpb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgQ0ZOb3RpZmljYXRpb25T
dXNwZW5zaW9uQmVoYXZpb3JEZWxpdmVySW1tZWRpYXRlbHkpOwogCi0gICAgTlNMb2coQCJXZWJL
aXQgJUAgaW5pdGlhbGl6ZWQuIiwgW3dlYktpdExhdW5jaGVyQnVuZGxlKCkgb2JqZWN0Rm9ySW5m
b0RpY3Rpb25hcnlLZXk6QCJDRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyJdKTsKLQotICAgIFtw
b29sIHJlbGVhc2VdOworICAgICAgICBOU0xvZyhAIldlYktpdCAlQCBpbml0aWFsaXplZC4iLCBb
d2ViS2l0TGF1bmNoZXJCdW5kbGUoKSBvYmplY3RGb3JJbmZvRGljdGlvbmFyeUtleTpAIkNGQnVu
ZGxlU2hvcnRWZXJzaW9uU3RyaW5nIl0pOworICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdExhdW5jaGVyL1dlYktpdE5pZ2h0bHlFbmFibGVyU3BhcmtsZS5tIGIvVG9vbHMvV2ViS2l0
TGF1bmNoZXIvV2ViS2l0TmlnaHRseUVuYWJsZXJTcGFya2xlLm0KaW5kZXggOGIxM2FiOGJhNmMw
ZDkxYmJkNmNhNzVlOGI0OTU2MzJmZmEwNzU0Ni4uZDYwNDA3MjU1ZjcxM2M5Y2FjNTBiYzQwZGE2
NDIzZWJiMTM2ZDdmZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvV2ViS2l0Tmln
aHRseUVuYWJsZXJTcGFya2xlLm0KKysrIGIvVG9vbHMvV2ViS2l0TGF1bmNoZXIvV2ViS2l0Tmln
aHRseUVuYWJsZXJTcGFya2xlLm0KQEAgLTEwMiwxOSArMTAyLDYgQEAgLSAodm9pZCl3ZWJLaXRI
YW5kbGVCdXR0b25QcmVzczooaWQpc2VuZGVyCiAKIEBlbmQKIAotI2lmIF9fTFA2NF9fCi0KLSNk
ZWZpbmUgc2V0TWV0aG9kSW1wbGVtZW50YXRpb24gbWV0aG9kX3NldEltcGxlbWVudGF0aW9uCi0K
LSNlbHNlCi0KLXN0YXRpYyB2b2lkIHNldE1ldGhvZEltcGxlbWVudGF0aW9uKE1ldGhvZCBtLCBJ
TVAgaW1wKQotewotICAgIG0tPm1ldGhvZF9pbXAgPSBpbXA7Ci19Ci0KLSNlbmRpZgotCiBzdGF0
aWMgTlNTdHJpbmcgKnVzZXJBZ2VudFN0cmluZ0ZvclNwYXJrbGUoKQogewogICAgIE5TQnVuZGxl
ICpzYWZhcmlCdW5kbGUgPSBbTlNCdW5kbGUgbWFpbkJ1bmRsZV07CkBAIC0xMzAsMTAgKzExNywx
MCBAQCB2b2lkIGluaXRpYWxpemVTcGFya2xlKCkKIHsKICAgICAvLyBPdmVycmlkZSBzb21lIFNw
YXJrbGUgYmVoYXZpb3VyCiAgICAgTWV0aG9kIG1ldGhvZFRvUGF0Y2ggPSBjbGFzc19nZXRJbnN0
YW5jZU1ldGhvZChvYmpjX2dldFJlcXVpcmVkQ2xhc3MoIlNVVXBkYXRlUGVybWlzc2lvblByb21w
dCIpLCBAc2VsZWN0b3IocHJvbXB0RGVzY3JpcHRpb24pKTsKLSAgICBzZXRNZXRob2RJbXBsZW1l
bnRhdGlvbihtZXRob2RUb1BhdGNoLCAoSU1QKXVwZGF0ZVBlcm1pc3Npb25Qcm9tcHREZXNjcmlw
dGlvbik7CisgICAgbWV0aG9kX3NldEltcGxlbWVudGF0aW9uKG1ldGhvZFRvUGF0Y2gsIChJTVAp
dXBkYXRlUGVybWlzc2lvblByb21wdERlc2NyaXB0aW9uKTsKIAogICAgIG1ldGhvZFRvUGF0Y2gg
PSBjbGFzc19nZXRJbnN0YW5jZU1ldGhvZChvYmpjX2dldFJlcXVpcmVkQ2xhc3MoIlNVVXBkYXRl
QWxlcnQiKSwgQHNlbGVjdG9yKGluaXRXaXRoQXBwY2FzdEl0ZW06aG9zdDopKTsKLSAgICBzZXRN
ZXRob2RJbXBsZW1lbnRhdGlvbihtZXRob2RUb1BhdGNoLCAoSU1QKXVwZGF0ZUFsZXJ0SW5pdEZv
ckFsZXJ0UGFuZWwpOworICAgIG1ldGhvZF9zZXRJbXBsZW1lbnRhdGlvbihtZXRob2RUb1BhdGNo
LCAoSU1QKXVwZGF0ZUFsZXJ0SW5pdEZvckFsZXJ0UGFuZWwpOwogCiAgICAgU1VVcGRhdGVyICp1
cGRhdGVyID0gW1NVVXBkYXRlciB1cGRhdGVyRm9yQnVuZGxlOndlYktpdExhdW5jaGVyQnVuZGxl
KCldOwogICAgIFt1cGRhdGVyIHNldFVzZXJBZ2VudFN0cmluZzp1c2VyQWdlbnRTdHJpbmdGb3JT
cGFya2xlKCldOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvbWFpbi5tIGIvVG9v
bHMvV2ViS2l0TGF1bmNoZXIvbWFpbi5tCmluZGV4IDRmZWU2OGEyNzcyNjNhMTAwYmM5NmQ4ZDU4
OGY4ZmZiZjVhYzNhM2UuLmIwMmU3OTc4MWUwMjBjOWFiZWYwYjZlY2Y0ODMyZjc2ZWUxMzFlZTIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL21haW4ubQorKysgYi9Ub29scy9XZWJL
aXRMYXVuY2hlci9tYWluLm0KQEAgLTI4LDIxICsyOCw3IEBACiAKICNpbXBvcnQgPENvY29hL0Nv
Y29hLmg+CiAjaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgotCi0vLyBX
ZSBuZWVkIHRvIHdlYWstaW1wb3J0IHBvc2l4X3NwYXduIGFuZCBmcmllbmRzIGFzIHRoZXkncmUg
bm90IGF2YWlsYWJsZSBvbiBUaWdlci4KLS8vIFRoZSBCU0QtbGV2ZWwgc3lzdGVtIGhlYWRlcnMg
ZG8gbm90IGhhdmUgYXZhaWxhYmlsaXR5IG1hY3Jvcywgc28gd2UgcmVkZWNsYXJlIHRoZQotLy8g
ZnVuY3Rpb25zIG91cnNlbHZlcyB3aXRoIHRoZSAid2VhayIgYXR0cmlidXRlLgotCi0jZGVmaW5l
IFdFQUtfSU1QT1JUIF9fYXR0cmlidXRlX18oKHdlYWspKQotCi0jZGVmaW5lIFBPU0lYX1NQQVdO
X1NFVEVYRUMgMHgwMDQwCi10eXBlZGVmIHZvaWQgKnBvc2l4X3NwYXduYXR0cl90OwotdHlwZWRl
ZiB2b2lkICpwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfdDsKLWludCBwb3NpeF9zcGF3bmF0dHJf
aW5pdChwb3NpeF9zcGF3bmF0dHJfdCAqKSBXRUFLX0lNUE9SVDsKLWludCBwb3NpeF9zcGF3bihw
aWRfdCAqIF9fcmVzdHJpY3QsIGNvbnN0IGNoYXIgKiBfX3Jlc3RyaWN0LCBjb25zdCBwb3NpeF9z
cGF3bl9maWxlX2FjdGlvbnNfdCAqLCBjb25zdCBwb3NpeF9zcGF3bmF0dHJfdCAqIF9fcmVzdHJp
Y3QsIGNoYXIgKmNvbnN0IF9fYXJndlsgX19yZXN0cmljdF0sIGNoYXIgKmNvbnN0IF9fZW52cFsg
X19yZXN0cmljdF0pIFdFQUtfSU1QT1JUOwotaW50IHBvc2l4X3NwYXduYXR0cl9zZXRiaW5wcmVm
X25wKHBvc2l4X3NwYXduYXR0cl90ICogX19yZXN0cmljdCwgc2l6ZV90LCBjcHVfdHlwZV90ICpf
X3Jlc3RyaWN0LCBzaXplX3QgKl9fcmVzdHJpY3QpIFdFQUtfSU1QT1JUOwotaW50IHBvc2l4X3Nw
YXduYXR0cl9zZXRmbGFncyhwb3NpeF9zcGF3bmF0dHJfdCAqLCBzaG9ydCkgV0VBS19JTVBPUlQ7
Ci0KKyNpbXBvcnQgPHNwYXduLmg+CiAKIHN0YXRpYyB2b2lkIGRpc3BsYXlFcnJvckFuZFF1aXQo
TlNTdHJpbmcgKnRpdGxlLCBOU1N0cmluZyAqbWVzc2FnZSkKIHsKQEAgLTk2LDE3ICs4Miw2IEBA
IHN0YXRpYyB2b2lkIGFkZFN0YXJ0UGFnZVRvQXJndW1lbnRzSWZOZWVkZWQoTlNNdXRhYmxlQXJy
YXkgKmFyZ3VtZW50cykKICAgICB9CiB9CiAKLXN0YXRpYyBjcHVfdHlwZV90IHByZWZlcnJlZEFy
Y2hpdGVjdHVyZSgpCi17Ci0jaWYgZGVmaW5lZChfX3BwY19fKQotICAgIHJldHVybiBDUFVfVFlQ
RV9QT1dFUlBDOwotI2VsaWYgZGVmaW5lZChfX0xQNjRfXykKLSAgICByZXR1cm4gQ1BVX1RZUEVf
WDg2XzY0OwotI2Vsc2UKLSAgICByZXR1cm4gQ1BVX1RZUEVfWDg2OwotI2VuZGlmCi19Ci0KIHN0
YXRpYyB2b2lkIG15RXhlY3ZlKE5TU3RyaW5nICpleGVjdXRhYmxlLCBOU0FycmF5ICphcmdzLCBO
U0RpY3Rpb25hcnkgKmVudmlyb25tZW50KQogewogICAgIGNoYXIgKiphcmd2ID0gKGNoYXIgKiop
Y2FsbG9jKHNpemVvZihjaGFyICopLCBbYXJncyBjb3VudF0gKyAxKTsKQEAgLTEyNiw3ICsxMDEs
NyBAQCBzdGF0aWMgdm9pZCBteUV4ZWN2ZShOU1N0cmluZyAqZXhlY3V0YWJsZSwgTlNBcnJheSAq
YXJncywgTlNEaWN0aW9uYXJ5ICplbnZpcm9ubQogICAgIGlmIChwb3NpeF9zcGF3bmF0dHJfaW5p
dCAmJiBwb3NpeF9zcGF3biAmJiBwb3NpeF9zcGF3bmF0dHJfc2V0YmlucHJlZl9ucCAmJiBwb3Np
eF9zcGF3bmF0dHJfc2V0ZmxhZ3MpIHsKICAgICAgICAgcG9zaXhfc3Bhd25hdHRyX3QgYXR0cjsK
ICAgICAgICAgcG9zaXhfc3Bhd25hdHRyX2luaXQoJmF0dHIpOwotICAgICAgICBjcHVfdHlwZV90
IGFyY2hpdGVjdHVyZVByZWZlcmVuY2VbXSA9IHsgcHJlZmVycmVkQXJjaGl0ZWN0dXJlKCksIENQ
VV9UWVBFX1g4NiB9OworICAgICAgICBjcHVfdHlwZV90IGFyY2hpdGVjdHVyZVByZWZlcmVuY2Vb
XSA9IHsgQ1BVX1RZUEVfWDg2XzY0LCBDUFVfVFlQRV9YODYgfTsKICAgICAgICAgcG9zaXhfc3Bh
d25hdHRyX3NldGJpbnByZWZfbnAoJmF0dHIsIDIsIGFyY2hpdGVjdHVyZVByZWZlcmVuY2UsIDAp
OwogICAgICAgICBzaG9ydCBmbGFncyA9IFBPU0lYX1NQQVdOX1NFVEVYRUM7CiAgICAgICAgIHBv
c2l4X3NwYXduYXR0cl9zZXRmbGFncygmYXR0ciwgZmxhZ3MpOwpAQCAtMTUyLDE4ICsxMjcsMzkg
QEAgc3RhdGljIHZvaWQgbXlFeGVjdmUoTlNTdHJpbmcgKmV4ZWN1dGFibGUsIE5TQXJyYXkgKmFy
Z3MsIE5TRGljdGlvbmFyeSAqZW52aXJvbm0KICAgICBpZiAoZXJyICE9IG5vRXJyKQogICAgICAg
ICBkaXNwbGF5RXJyb3JBbmRRdWl0KEAiVW5hYmxlIHRvIGxvY2F0ZSBTYWZhcmkiLCBAIk5pZ2h0
bHkgYnVpbGRzIG9mIFdlYktpdCByZXF1aXJlIFNhZmFyaSB0byBydW4uICBQbGVhc2UgY2hlY2sg
dGhhdCBpdCBpcyBhdmFpbGFibGUgYW5kIHRoZW4gdHJ5IGFnYWluLiIpOwogCi0gICAgTlNCdW5k
bGUgKnNhZmFyaUJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVXaXRoUGF0aDpbKE5TVVJMICopc2Fm
YXJpVVJMIHBhdGhdXTsKKyAgICBOU0J1bmRsZSAqc2FmYXJpQnVuZGxlID0gW05TQnVuZGxlIGJ1
bmRsZVdpdGhQYXRoOlsoX19icmlkZ2UgTlNVUkwgKilzYWZhcmlVUkwgcGF0aF1dOwogICAgIENG
UmVsZWFzZShzYWZhcmlVUkwpOwogICAgIHJldHVybiBzYWZhcmlCdW5kbGU7CiB9CiAKLXN0YXRp
YyBOU1N0cmluZyAqY3VycmVudE1hY09TWFZlcnNpb24oKQorc3RhdGljIE5TU3RyaW5nICpkZXRl
cm1pbmVFeGVjdXRhYmxlUGF0aChOU0J1bmRsZSAqYnVuZGxlKQogewotICAgIFNJbnQzMiB2ZXJz
aW9uOwotICAgIGlmIChHZXN0YWx0KGdlc3RhbHRTeXN0ZW1WZXJzaW9uLCAmdmVyc2lvbikgIT0g
bm9FcnIpCi0gICAgICAgIHJldHVybiBAIjEwLjQiOworICAgIE5TU3RyaW5nICpzYWZhcmlFeGVj
dXRhYmxlUGF0aCA9IFtidW5kbGUgZXhlY3V0YWJsZVBhdGhdOworCisgICAgTlNTdHJpbmcgKnNh
ZmFyaUZvcldlYktpdERldmVsb3BtZW50RXhlY3V0YWJsZVBhdGggPSBbYnVuZGxlIHBhdGhGb3JB
dXhpbGlhcnlFeGVjdXRhYmxlOkAiU2FmYXJpRm9yV2ViS2l0RGV2ZWxvcG1lbnQiXTsKKyAgICBp
ZiAoIVtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpzYWZh
cmlGb3JXZWJLaXREZXZlbG9wbWVudEV4ZWN1dGFibGVQYXRoXSkKKyAgICAgICAgcmV0dXJuIHNh
ZmFyaUV4ZWN1dGFibGVQYXRoOworCisgICAgU2VjU3RhdGljQ29kZVJlZiBzdGF0aWNDb2RlOwor
ICAgIGlmIChTZWNTdGF0aWNDb2RlQ3JlYXRlV2l0aFBhdGgoKF9fYnJpZGdlIENGVVJMUmVmKVti
dW5kbGUgZXhlY3V0YWJsZVVSTF0sIGtTZWNDU0RlZmF1bHRGbGFncywgJnN0YXRpY0NvZGUpICE9
IG5vRXJyKQorICAgICAgICByZXR1cm4gW2J1bmRsZSBleGVjdXRhYmxlUGF0aF07CiAKLSAgICBy
ZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIleC4leCIsICh2ZXJzaW9uICYgMHhG
RjAwKSA+PiA4LCAodmVyc2lvbiAmIDB4MDBGMCkgPj4gNF07CisgICAgQ0ZEaWN0aW9uYXJ5UmVm
IGNvZGVJbmZvcm1hdGlvbjsKKyAgICBpZiAoU2VjQ29kZUNvcHlTaWduaW5nSW5mb3JtYXRpb24o
c3RhdGljQ29kZSwga1NlY0NTUmVxdWlyZW1lbnRJbmZvcm1hdGlvbiwmY29kZUluZm9ybWF0aW9u
KSAhPSBub0VycikgeworICAgICAgICBDRlJlbGVhc2Uoc3RhdGljQ29kZSk7CisgICAgICAgIHJl
dHVybiBzYWZhcmlFeGVjdXRhYmxlUGF0aDsKKyAgICB9CisgICAgQ0ZSZWxlYXNlKHN0YXRpY0Nv
ZGUpOworCisgICAgaWYgKFsoX19icmlkZ2UgTlNEaWN0aW9uYXJ5ICopY29kZUluZm9ybWF0aW9u
IG9iamVjdEZvcktleTooaWQpa1NlY0NvZGVJbmZvRW50aXRsZW1lbnRzXSkKKyAgICAgICAgcmV0
dXJuIHNhZmFyaUZvcldlYktpdERldmVsb3BtZW50RXhlY3V0YWJsZVBhdGg7CisKKyAgICByZXR1
cm4gc2FmYXJpRXhlY3V0YWJsZVBhdGg7Cit9CisKK3N0YXRpYyBOU1N0cmluZyAqY3VycmVudE1h
Y09TWFZlcnNpb24oKQoreworICAgIHJldHVybiBbW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0
aENvbnRlbnRzT2ZGaWxlOkAiL1N5c3RlbS9MaWJyYXJ5L0NvcmVTZXJ2aWNlcy9TeXN0ZW1WZXJz
aW9uLnBsaXN0Il0gdmFsdWVGb3JLZXk6QCJQcm9kdWN0VmVyc2lvbiJdOwogfQogCiBzdGF0aWMg
TlNTdHJpbmcgKmZhbGxiYWNrTWFjT1NYVmVyc2lvbihOU1N0cmluZyAqc3lzdGVtVmVyc2lvbikK
QEAgLTE5Myw4ICsxODksNyBAQCBzdGF0aWMgQk9PTCBjaGVja1NhZmFyaVZlcnNpb24oTlNCdW5k
bGUgKnNhZmFyaUJ1bmRsZSkKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsK
LSAgICBOU0F1dG9yZWxlYXNlUG9vbCAqcG9vbCA9IFtbTlNBdXRvcmVsZWFzZVBvb2wgYWxsb2Nd
IGluaXRdOwotCisgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgTlNTdHJpbmcgKnN5c3RlbVZl
cnNpb24gPSBjdXJyZW50TWFjT1NYVmVyc2lvbigpOwogICAgIE5TU3RyaW5nICpmcmFtZXdvcmtQ
YXRoID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gcHJpdmF0ZUZyYW1ld29ya3NQYXRoXSBzdHJp
bmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6c3lzdGVtVmVyc2lvbl07CiAKQEAgLTIwOSwxMyAr
MjA0LDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgfQogCiAgICAg
aWYgKCFmcmFtZXdvcmtQYXRoSXNVc2FibGUpCi0gICAgICAgIGRpc3BsYXlFcnJvckFuZFF1aXQo
W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJNYWMgT1MgWCAlQCBpcyBub3Qgc3VwcG9ydGVk
Iiwgc3lzdGVtVmVyc2lvbl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgW05TU3RyaW5n
IHN0cmluZ1dpdGhGb3JtYXQ6QCJOaWdodGx5IGJ1aWxkcyBvZiBXZWJLaXQgYXJlIG5vdCBzdXBw
b3J0ZWQgb24gTWFjIE9TIFggJUAgYXQgdGhpcyB0aW1lLiIsIHN5c3RlbVZlcnNpb25dKTsKKyAg
ICAgICAgZGlzcGxheUVycm9yQW5kUXVpdChbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIk9T
IFggJUAgaXMgbm90IHN1cHBvcnRlZCIsIHN5c3RlbVZlcnNpb25dLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiTmlnaHRseSBidWlsZHMg
b2YgV2ViS2l0IGFyZSBub3Qgc3VwcG9ydGVkIG9uIE9TIFggJUAgYXQgdGhpcyB0aW1lLiIsIHN5
c3RlbVZlcnNpb25dKTsKIAogICAgIE5TU3RyaW5nICpwYXRoVG9FbmFibGVyTGliID0gW1tOU0J1
bmRsZSBtYWluQnVuZGxlXSBwYXRoRm9yUmVzb3VyY2U6QCJXZWJLaXROaWdodGx5RW5hYmxlciIg
b2ZUeXBlOkAiZHlsaWIiXTsKIAogICAgIE5TQnVuZGxlICpzYWZhcmlCdW5kbGUgPSBsb2NhdGVT
YWZhcmlCdW5kbGUoKTsKLSAgICBOU1N0cmluZyAqZXhlY3V0YWJsZVBhdGggPSBbc2FmYXJpQnVu
ZGxlIGV4ZWN1dGFibGVQYXRoXTsKKyAgICBOU1N0cmluZyAqZXhlY3V0YWJsZVBhdGggPSBkZXRl
cm1pbmVFeGVjdXRhYmxlUGF0aChzYWZhcmlCdW5kbGUpOwogCiAgICAgaWYgKCFjaGVja1NhZmFy
aVZlcnNpb24oc2FmYXJpQnVuZGxlKSkgewogICAgICAgICBOU1N0cmluZyAqc2FmYXJpVmVyc2lv
biA9IFtbc2FmYXJpQnVuZGxlIGxvY2FsaXplZEluZm9EaWN0aW9uYXJ5XSBvYmplY3RGb3JLZXk6
QCJDRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyJdOwpAQCAtMjI5LDggKzIyNCw4IEBAIGludCBt
YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
QCJXZWJLaXQgaXMgbG9jYXRlZCBhdCBhIHBhdGggY29udGFpbmluZyBhbiB1bnN1cHBvcnRlZCBj
aGFyYWN0ZXIuICBQbGVhc2UgbW92ZSBXZWJLaXQgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24gYW5k
IHRyeSBhZ2Fpbi4iKTsKIAogICAgIE5TTXV0YWJsZUFycmF5ICphcmd1bWVudHMgPSBbTlNNdXRh
YmxlQXJyYXkgYXJyYXlXaXRoT2JqZWN0OmV4ZWN1dGFibGVQYXRoXTsKLSAgICBOU011dGFibGVE
aWN0aW9uYXJ5ICplbnZpcm9ubWVudCA9IFtbW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9i
amVjdHNBbmRLZXlzOmZyYW1ld29ya1BhdGgsIEAiRFlMRF9GUkFNRVdPUktfUEFUSCIsIEAiWUVT
IiwgQCJXRUJLSVRfVU5TRVRfRFlMRF9GUkFNRVdPUktfUEFUSCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXRoVG9FbmFibGVyTGliLCBAIkRZTERfSU5TRVJUX0xJQlJBUklFUyIsIFtb
TlNCdW5kbGUgbWFpbkJ1bmRsZV0gZXhlY3V0YWJsZVBhdGhdLCBAIldlYktpdEFwcFBhdGgiLCBu
aWxdIG11dGFibGVDb3B5XSBhdXRvcmVsZWFzZV07CisgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAq
ZW52aXJvbm1lbnQgPSBbW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlz
OmZyYW1ld29ya1BhdGgsIEAiRFlMRF9GUkFNRVdPUktfUEFUSCIsIEAiWUVTIiwgQCJXRUJLSVRf
VU5TRVRfRFlMRF9GUkFNRVdPUktfUEFUSCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXRoVG9FbmFibGVyTGliLCBAIkRZTERfSU5TRVJUX0xJQlJBUklFUyIsIFtbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gZXhlY3V0YWJsZVBhdGhdLCBAIldlYktpdEFwcFBhdGgiLCBuaWxdIG11dGFibGVD
b3B5XTsKICAgICBbZW52aXJvbm1lbnQgYWRkRW50cmllc0Zyb21EaWN0aW9uYXJ5OltbTlNQcm9j
ZXNzSW5mbyBwcm9jZXNzSW5mb10gZW52aXJvbm1lbnRdXTsKICAgICBhZGRTdGFydFBhZ2VUb0Fy
Z3VtZW50c0lmTmVlZGVkKGFyZ3VtZW50cyk7CiAKQEAgLTI0Miw3ICsyMzcsNyBAQCBpbnQgbWFp
bihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGNoYXIgKmVycm9yID0gc3RyZXJyb3IoZXJy
bm8pOwogICAgIE5TU3RyaW5nICplcnJvck1lc3NhZ2UgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZv
cm1hdDpAIkxhdW5jaGluZyBTYWZhcmkgYXQgJUAgZmFpbGVkIHdpdGggdGhlIGVycm9yICclcycg
KCVkKSIsIFtzYWZhcmlCdW5kbGUgYnVuZGxlUGF0aF0sIGVycm9yLCBlcnJub107CiAgICAgZGlz
cGxheUVycm9yQW5kUXVpdChAIlVuYWJsZSB0byBsYXVuY2ggU2FmYXJpIiwgZXJyb3JNZXNzYWdl
KTsKKyAgICB9CiAKLSAgICBbcG9vbCByZWxlYXNlXTsKICAgICByZXR1cm4gMDsKIH0KZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL3N0YXJ0Lmh0bWwgYi9Ub29scy9XZWJLaXRMYXVu
Y2hlci9zdGFydC5odG1sCmluZGV4IDJjOTRlNzk3NmM0M2NkMmFkMjczODg3YzlkMzc3MjhlODNm
OGQ1NTMuLmJkYjU5M2U3NDNhOWNiYjMyNDIwZTQ2NzQzYzUxM2YyMzIwZTY1NjMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL3N0YXJ0Lmh0bWwKKysrIGIvVG9vbHMvV2ViS2l0TGF1
bmNoZXIvc3RhcnQuaHRtbApAQCAtMSwzMSArMSwxNSBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAg
ICAgICAgIDx0aXRsZT5Mb2FkaW5nIFdlYktpdC4uLjwvdGl0bGU+Ci0gICAgICAgIDxtZXRhIGh0
dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjE7VVJMPWh0dHA6Ly9uaWdodGx5LndlYmtpdC5v
cmcvc3RhcnQvIiAvPgorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50
PSIxO1VSTD1odHRwOi8vbmlnaHRseS53ZWJraXQub3JnL3N0YXJ0LyI+CiAgICAgICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgICAgIGZ1bmN0aW9uIGdldFdlYktp
dFJldmlzaW9uKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgcmVxdWVzdCA9
IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgICAgICAgICAgICAgIHJlcXVlc3Qub3BlbigiR0VU
IiwgIlZFUlNJT04iLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgcmVxdWVzdC5zZW5kKCk7Ci0g
ICAgICAgICAgICAgICAgdmFyIHJldmlzaW9uID0gcGFyc2VJbnQocmVxdWVzdC5yZXNwb25zZVRl
eHQpOwotICAgICAgICAgICAgICAgIGlmIChpc05hTihyZXZpc2lvbikpCi0gICAgICAgICAgICAg
ICAgICAgIHJldHVybiAiIjsKLQotICAgICAgICAgICAgICAgIHJldHVybiByZXZpc2lvbjsKKyAg
ICAgICAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsK
KyAgICAgICAgICAgIHNjcmlwdC5zcmMgPSAieC13ZWJraXQtbGF1bmNoZXI6d2Via2l0LXZlcnNp
b24taW5mb3JtYXRpb24uanMiOworICAgICAgICAgICAgc2NyaXB0Lm9ubG9hZCA9IGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgIGlmICh3ZWJLaXRCcmFuY2ggJiYgd2ViS2l0UmV2aXNpb24p
CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uID0gImh0dHA6Ly9uaWdodGx5
LndlYmtpdC5vcmcvc3RhcnQvIiArIHdlYktpdEJyYW5jaCArICIvIiArIHdlYktpdFJldmlzaW9u
OwogICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBnZXRXZWJLaXRCcmFuY2go
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0
dHBSZXF1ZXN0KCk7Ci0gICAgICAgICAgICAgICAgcmVxdWVzdC5vcGVuKCJHRVQiLCAiQlJBTkNI
IiwgZmFsc2UpOwotICAgICAgICAgICAgICAgIHJlcXVlc3Quc2VuZCgpOwotICAgICAgICAgICAg
ICAgIHJldHVybiAocmVxdWVzdC5yZXNwb25zZVRleHQgfHwgInRydW5rIikucmVwbGFjZSgvXHMv
ZywgJycpCi0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZhciByZXZpc2lvbiA9IGdldFdl
YktpdFJldmlzaW9uKCk7Ci0gICAgICAgICAgICB2YXIgYnJhbmNoID0gZ2V0V2ViS2l0QnJhbmNo
KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbiA9ICJodHRwOi8vbmlnaHRseS53ZWJr
aXQub3JnL3N0YXJ0LyIgKyBicmFuY2ggKyAiLyIgKyByZXZpc2lvbjsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChzY3JpcHQpOwogICAgICAgICA8L3Nj
cmlwdD4KICAgICA8L2hlYWQ+CiAgICAgPGJvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205719</attachid>
            <date>2013-06-28 09:45:09 -0700</date>
            <delta_ts>2013-06-28 13:02:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117418-20130628094310.patch</filename>
            <type>text/plain</type>
            <size>17192</size>
            <attacher name="David Farler">dfarler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTcxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDczOWFlODcxYTRkMmM3MzRkMjMyZDQ5MTUwYzUzZDIw
YzJlMDE2NS4uZTM0MDcwMWE4NjhkM2ZjYjNkMjliZWMxMDI1NjdlZDc5NGM5NTc1ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMw
IEBACisyMDEzLTA2LTI4ICBEYXZpZCBGYXJsZXIgIDxkZmFybGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBVcHN0cmVhbSBXZWJLaXQgTmlnaHRseeKAmXMgV2ViS2l0TGF1bmNoZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzQxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExpdGVyYWwgcGF0Y2ggZnJv
bSBOaWdodGx5J3MgT3BlblNvdXJjZSByZXBvLgorCisgICAgICAgICogV2ViS2l0TGF1bmNoZXIv
Q29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJLaXRMYXVuY2hlci9D
b25maWd1cmF0aW9ucy9XZWJLaXRMYXVuY2hlci54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJLaXRM
YXVuY2hlci9JbmZvLnBsaXN0OgorICAgICAgICAqIFdlYktpdExhdW5jaGVyL1dlYktpdExhdW5j
aGVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViS2l0TGF1bmNoZXIv
V2ViS2l0TGF1bmNoZXJVUkxQcm90b2NvbC5tOgorICAgICAgICAoK1tXZWJLaXRMYXVuY2hlclVS
TFByb3RvY29sIGxvYWRdKToKKyAgICAgICAgKCtbV2ViS2l0TGF1bmNoZXJVUkxQcm90b2NvbCBj
YW5Jbml0V2l0aFJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dlYktpdExhdW5jaGVyVVJMUHJvdG9j
b2wgc3RhcnRMb2FkaW5nXSk6CisgICAgICAgICgtW1dlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wg
aGFuZGxlV2ViS2l0VmVyc2lvbkluZm9ybWF0aW9uXSk6CisgICAgICAgICgtW1dlYktpdExhdW5j
aGVyVVJMUHJvdG9jb2wgcmVzb3VyY2VOb3RGb3VuZF0pOgorICAgICAgICAqIFdlYktpdExhdW5j
aGVyL1dlYktpdE5pZ2h0bHlFbmFibGVyU3BhcmtsZS5tOgorICAgICAgICAoaW5pdGlhbGl6ZVNw
YXJrbGUpOgorICAgICAgICAqIFdlYktpdExhdW5jaGVyL21haW4ubToKKyAgICAgICAgKGRldGVy
bWluZUV4ZWN1dGFibGVQYXRoKToKKyAgICAgICAgKGN1cnJlbnRNYWNPU1hWZXJzaW9uKToKKyAg
ICAgICAgKG1haW4pOgorICAgICAgICAqIFdlYktpdExhdW5jaGVyL3N0YXJ0Lmh0bWw6CisKIDIw
MTMtMDYtMjcgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbiB0byBXaW5MYXVuY2hlciBm
b3IgdGVzdGluZyBwdXJwb3Nlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9XZWJLaXRMYXVuY2hlci9Db25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDE0OWViODIwNTBlMDJmM2I1MDRiMzFjYzNkNGE2
MTRlNjAzMzc1MDYuLjVhY2ViM2JkMDI4ZDA0NzhjNDNjMDhmZDZkYWJlMTY1YzAxMzE1NGYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKKysrIGIvVG9vbHMvV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZwpAQCAtMjEsMTkgKzIxLDE3IEBACiAvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIC8vIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAog
Ci1BUkNIUyA9ICQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKTsKK0FSQ0hTID0gaTM4NiB4ODZf
NjQ7CiBERUFEX0NPREVfU1RSSVBQSU5HID0gWUVTOwogREVCVUdfSU5GT1JNQVRJT05fRk9STUFU
ID0gZHdhcmYtd2l0aC1kc3ltOwogR0NDX0RFQlVHR0lOR19TWU1CT0xTID0gZnVsbDsKIEdDQ19N
T0RFTF9UVU5JTkcgPSBHNTsKIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSBFTkFCTEVf
U1BBUktMRT0kKEVOQUJMRV9TUEFSS0xFKTsKIEdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMg
PSBZRVM7Ci1HQ0NfVkVSU0lPTiA9IDQuMDsKLUdDQ19WRVJTSU9OW2FyY2g9eDg2XzY0XSA9IDQu
MjsKLU1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9IDEwLjQ7Ci1NQUNPU1hfREVQTE9ZTUVOVF9U
QVJHRVRbYXJjaD14ODZfNjRdID0gMTAuNTsKK0dDQ19WRVJTSU9OID0gY29tLmFwcGxlLmNvbXBp
bGVycy5sbHZtLmNsYW5nLjFfMDsKK01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9IDEwLjY7CiBQ
UkVCSU5ESU5HID0gTk87Ci1TREtST09UID0gbWFjb3N4MTAuNTsKK1NES1JPT1QgPSBtYWNvc3g7
CiBXQVJOSU5HX0NGTEFHUyA9IC1XYWxsOwogCiBFTkFCTEVfU1BBUktMRSA9IDA7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRMYXVuY2hlci9Db25maWd1cmF0aW9ucy9XZWJLaXRMYXVuY2hlci54
Y2NvbmZpZyBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdExhdW5j
aGVyLnhjY29uZmlnCmluZGV4IGM0ZGRlMzZmZWZjZjBiMDkwMmE4Yzg1MTI2MmNkMDA1NzEzNzhm
ODIuLmZkMDEyNGU5OGU5M2ZhZDRiZTk1MzYyYWExYTdlOWM5NWM1YzA2ZjMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdExhdW5jaGVyLnhjY29u
ZmlnCisrKyBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdExhdW5j
aGVyLnhjY29uZmlnCkBAIC0yNCw0ICsyNCwzIEBACiBJTkZPUExJU1RfRklMRSA9IEluZm8ucGxp
c3Q7CiBQUk9EVUNUX05BTUUgPSBXZWJLaXQ7CiBXUkFQUEVSX0VYVEVOU0lPTiA9IGFwcDsKLU1B
Q09TWF9ERVBMT1lNRU5UX1RBUkdFVFthcmNoPXBwY10gPSAxMC4yOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0TGF1bmNoZXIvSW5mby5wbGlzdCBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL0luZm8u
cGxpc3QKaW5kZXggODM1NjRhN2Y5MmQ1MzhhZDY1Y2RjZjNmZTMxMGEzMTNhYTU5MTYxYi4uNzE0
MWVjOGU1YjEzOTQwOWE3OTRmMDEyYmFjYjk5OTJhNjM5MGY1NSAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0TGF1bmNoZXIvSW5mby5wbGlzdAorKysgYi9Ub29scy9XZWJLaXRMYXVuY2hlci9JbmZv
LnBsaXN0CkBAIC00MjgsMTMgKzQyOCw5IEBACiAJPGFycmF5PgogCQk8c3RyaW5nPng4Nl82NDwv
c3RyaW5nPgogCQk8c3RyaW5nPmkzODY8L3N0cmluZz4KLQkJPHN0cmluZz5wcGM8L3N0cmluZz4K
IAk8L2FycmF5PgotCTxrZXk+TFNNaW5pbXVtU3lzdGVtVmVyc2lvbkJ5QXJjaGl0ZWN0dXJlPC9r
ZXk+Ci0JPGRpY3Q+Ci0JCTxrZXk+eDg2XzY0PC9rZXk+Ci0JCTxzdHJpbmc+MTAuNjwvc3RyaW5n
PgotCTwvZGljdD4KKwk8a2V5PkxTTWluaW11bVN5c3RlbVZlcnNpb248L2tleT4KKwk8c3RyaW5n
PjEwLjY8L3N0cmluZz4KIAk8a2V5PlNVRmVlZFVSTDwva2V5PgogCTxzdHJpbmc+aHR0cDovL25p
Z2h0bHkud2Via2l0Lm9yZy9idWlsZHMvdHJ1bmsvbWFjL3Jzczwvc3RyaW5nPgogCTxrZXk+U1VT
aG93UmVsZWFzZU5vdGVzPC9rZXk+CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRMYXVuY2hlci9X
ZWJLaXRMYXVuY2hlci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvV2ViS2l0TGF1
bmNoZXIvV2ViS2l0TGF1bmNoZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0Y2Yy
ZjEyZTgwOWNiZjgwNTBmZjFiMzhjOTI3M2MwNzg0NTYxYjlhLi43MWZjMTExMjVhZjhlM2FjODg2
ZTBkZmY5MDhkMGE4YjUyNzBmMDA2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRMYXVuY2hlci9X
ZWJLaXRMYXVuY2hlci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1dlYktp
dExhdW5jaGVyL1dlYktpdExhdW5jaGVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMz
LDYgKzMzLDcgQEAKIAkJNURBODhGNkUwRkM4MTM2MDAwQUIyRjYyIC8qIFdlYktpdE5pZ2h0bHlF
bmFibGVyU3BhcmtsZS5tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNURBODhGNkMwRkM4MTM2MDAwQUIyRjYyIC8qIFdlYktpdE5pZ2h0bHlFbmFibGVyU3Bh
cmtsZS5tICovOyB9OwogCQk1REE4OEY3QTBGQzgxM0VCMDBBQjJGNjIgLyogV2ViS2l0TmlnaHRs
eUVuYWJsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVEQTg4Rjc5MEZDODEzRUIwMEFCMkY2MiAvKiBXZWJLaXROaWdodGx5RW5hYmxlci5oICovOyB9
OwogCQk1REI3MDUyNTA5N0I5NENEMDA5ODc1RUMgLyogd2Via2l0LmljbnMgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEQjcwNTI0MDk3Qjk0Q0QwMDk4
NzVFQyAvKiB3ZWJraXQuaWNucyAqLzsgfTsKKwkJNURFMDg1MzgxNUFFMEFBMDAwMEEyN0I0IC8q
IFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVERTA4NTM3MTVBRTBBQTAwMDBBMjdCNCAvKiBTZWN1cml0eS5mcmFtZXdv
cmsgKi87IH07CiAJCThEMTEwNzJEMDQ4NkNFQjgwMEU0NzA5MCAvKiBtYWluLm0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUI5NzMxNkZEQ0ZBMzk0MTFD
QTJDRUEgLyogbWFpbi5tICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJ
CThEMTEwNzJGMDQ4NkNFQjgwMEU0NzA5MCAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3Jr
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMDU4QzdBMUZFQTU0RjAxMTFD
QTJDQkIgLyogQ29jb2EuZnJhbWV3b3JrICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0
aW9uICovCkBAIC03OCw2ICs3OSw3IEBACiAJCTVEQTg4RjdGMEZDODE3NjEwMEFCMkY2MiAvKiBX
ZWJLaXRMYXVuY2hlci54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBX
ZWJLaXRMYXVuY2hlci54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURB
ODhGODAwRkM4MTc2MTAwQUIyRjYyIC8qIFdlYktpdE5pZ2h0bHlFbmFibGVyLnhjY29uZmlnICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYktpdE5pZ2h0bHlFbmFibGVyLnhjY29u
ZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REI3MDUyNDA5N0I5NENEMDA5ODc1
RUMgLyogd2Via2l0LmljbnMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBpbWFnZS5pY25zOyBwYXRoID0gd2Via2l0LmljbnM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTVERTA4NTM3MTVBRTBBQTAwMDBBMjdCNCAvKiBTZWN1cml0eS5mcmFt
ZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3
cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IFN5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RL
Uk9PVDsgfTsKIAkJNURFNzlCRUIwRjFDNjNDQzAwNjdCRTA4IC8qIFNwYXJrbGUuZnJhbWV3b3Jr
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBl
ci5mcmFtZXdvcms7IHBhdGggPSBTcGFya2xlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxU
X1BST0RVQ1RTX0RJUjsgfTsKIAkJOEQxMTA3MzEwNDg2Q0VCODAwRTQ3MDkwIC8qIEluZm8ucGxp
c3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0OyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOEQxMTA3MzIwNDg2Q0VCODAwRTQ3MDkwIC8qIFdlYktpdC5hcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIu
YXBwbGljYXRpb247IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFdlYktpdC5hcHA7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC05Niw2ICs5OCw3IEBACiAJCQlpc2Eg
PSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQk1REUwODUzODE1QUUwQUEwMDAwQTI3QjQgLyogU2VjdXJp
dHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOEQxMTA3MkYwNDg2Q0VCODAwRTQ3
MDkwIC8qIENvY29hLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtMTI0LDYgKzEyNyw3IEBACiAJ
CTI5Qjk3MzE0RkRDRkEzOTQxMUNBMkNFQSAvKiBXZWJLaXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVERTA4NTM3MTVBRTBBQTAwMDBBMjdCNCAvKiBT
ZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJMjlCOTczMTVGRENGQTM5NDExQ0EyQ0VBIC8qIFNv
dXJjZSAqLywKIAkJCQk1REE4OEY3RDBGQzgxNzRFMDBBQjJGNjIgLyogQ29uZmlndXJhdGlvbnMg
Ki8sCiAJCQkJMjlCOTczMTdGRENGQTM5NDExQ0EyQ0VBIC8qIFJlc291cmNlcyAqLywKQEAgLTIz
Nyw2ICsyNDEsOSBAQAogLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCiAJCTI5Qjk3MzEz
RkRDRkEzOTQxMUNBMkNFQSAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJCWlzYSA9IFBCWFBy
b2plY3Q7CisJCQlhdHRyaWJ1dGVzID0geworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNDIwOwor
CQkJfTsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDMDFGQ0Y0RTA4QTk1NDU0MDA1NDI0
N0IgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJLaXRMYXVu
Y2hlciIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAzLjEiOwogCQkJZGV2
ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0TGF1bmNo
ZXIvV2ViS2l0TGF1bmNoZXJVUkxQcm90b2NvbC5tIGIvVG9vbHMvV2ViS2l0TGF1bmNoZXIvV2Vi
S2l0TGF1bmNoZXJVUkxQcm90b2NvbC5tCmluZGV4IDllNTY4NTc3NDU2ZWNmOTZmNTRjNjQ1MzE1
ZmMxYzdiNzViZTU0ZTQuLmYxYTk0NWZkMTA3YTQxNzUyNDFjMzYwZTI1ZDEwOThjNDJkZjAzNjMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL1dlYktpdExhdW5jaGVyVVJMUHJvdG9j
b2wubQorKysgYi9Ub29scy9XZWJLaXRMYXVuY2hlci9XZWJLaXRMYXVuY2hlclVSTFByb3RvY29s
Lm0KQEAgLTMxLDYgKzMxLDEwIEBACiAjaW1wb3J0IDxTcGFya2xlL1NwYXJrbGUuaD4KICNlbmRp
ZgogCitAaW50ZXJmYWNlIE5TT2JqZWN0IChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJNZXRo
b2RzKQorKyAodm9pZClyZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sOihOU1N0cmluZyAq
KXNjaGVtZTsKK0BlbmQKKwogQGludGVyZmFjZSBXZWJLaXRMYXVuY2hlclVSTFByb3RvY29sIChJ
bXBsZW1lbnRhdGlvbkRldGFpbHMpCiAtKHZvaWQpaGFuZGxlSXNXZWJLaXRMYXVuY2hlckF2YWls
YWJsZUpTOwogLSh2b2lkKWhhbmRsZUNoZWNrRm9yVXBkYXRlczsKQEAgLTQxLDYgKzQ1LDcgQEAg
QGltcGxlbWVudGF0aW9uIFdlYktpdExhdW5jaGVyVVJMUHJvdG9jb2wKIAogKyh2b2lkKWxvYWQK
IHsKKyAgICBbTlNDbGFzc0Zyb21TdHJpbmcoQCJXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIi
KSByZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sOkAieC13ZWJraXQtbGF1bmNoZXIiXTsK
ICAgICBbTlNVUkxQcm90b2NvbCByZWdpc3RlckNsYXNzOnNlbGZdOwogfQogCkBAIC01Myw2ICs1
OCw5IEBAICsoQk9PTCljYW5Jbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QK
ICAgICBpZiAoIW1haW5Eb2N1bWVudFVSTCkKICAgICAgICAgcmV0dXJuIE5POwogCisgICAgaWYg
KFtbbWFpbkRvY3VtZW50VVJMIHNjaGVtZV0gaXNFcXVhbFRvU3RyaW5nOkAiZmlsZSJdKQorICAg
ICAgICByZXR1cm4gWUVTOworCiAgICAgTlNTdHJpbmcgKm1haW5Eb2N1bWVudEhvc3QgPSBbbWFp
bkRvY3VtZW50VVJMIGhvc3RdOwogICAgIGlmICghW21haW5Eb2N1bWVudEhvc3QgaXNFcXVhbFRv
U3RyaW5nOkAid2Via2l0Lm9yZyJdICYmICFbbWFpbkRvY3VtZW50SG9zdCBoYXNTdWZmaXg6QCIu
d2Via2l0Lm9yZyJdKQogICAgICAgICByZXR1cm4gTk87CkBAIC03Myw2ICs4MSwxMCBAQCAtKHZv
aWQpc3RhcnRMb2FkaW5nCiAgICAgICAgIFtzZWxmIGhhbmRsZUlzV2ViS2l0TGF1bmNoZXJBdmFp
bGFibGVKU107CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgaWYgKFtyZXNvdXJjZVNwZWNp
ZmllciBpc0VxdWFsVG9TdHJpbmc6QCJ3ZWJraXQtdmVyc2lvbi1pbmZvcm1hdGlvbi5qcyJdKSB7
CisgICAgICAgIFtzZWxmIGhhbmRsZVdlYktpdFZlcnNpb25JbmZvcm1hdGlvbl07CisgICAgICAg
IHJldHVybjsKKyAgICB9CiAjaWYgRU5BQkxFX1NQQVJLTEUKICAgICBpZiAoW3Jlc291cmNlU3Bl
Y2lmaWVyIGlzRXF1YWxUb1N0cmluZzpAImNoZWNrLWZvci11cGRhdGVzIl0pIHsKICAgICAgICAg
W3NlbGYgaGFuZGxlQ2hlY2tGb3JVcGRhdGVzXTsKQEAgLTk4LDYgKzExMCwyNiBAQCAtKHZvaWQp
aGFuZGxlSXNXZWJLaXRMYXVuY2hlckF2YWlsYWJsZUpTCiAgICAgW2NsaWVudCBVUkxQcm90b2Nv
bERpZEZpbmlzaExvYWRpbmc6c2VsZl07CiB9CiAKKy0odm9pZCloYW5kbGVXZWJLaXRWZXJzaW9u
SW5mb3JtYXRpb24KK3sKKyAgICBpZCBjbGllbnQgPSBbc2VsZiBjbGllbnRdOworICAgIE5TVVJM
UmVzcG9uc2UgKnJlc3BvbnNlID0gW1tOU1VSTFJlc3BvbnNlIGFsbG9jXSBpbml0V2l0aFVSTDpb
W3NlbGYgcmVxdWVzdF0gVVJMXSBNSU1FVHlwZTpAInRleHQvamF2YXNjcmlwdCIgZXhwZWN0ZWRD
b250ZW50TGVuZ3RoOjAgdGV4dEVuY29kaW5nTmFtZTpAInV0Zi04Il07CisgICAgW2NsaWVudCBV
UkxQcm90b2NvbDpzZWxmIGRpZFJlY2VpdmVSZXNwb25zZTpyZXNwb25zZSBjYWNoZVN0b3JhZ2VQ
b2xpY3k6TlNVUkxDYWNoZVN0b3JhZ2VBbGxvd2VkXTsKKyAgICBbcmVzcG9uc2UgcmVsZWFzZV07
CisKKyAgICBOU0J1bmRsZSAqYnVuZGxlID0gd2ViS2l0TGF1bmNoZXJCdW5kbGUoKTsKKyAgICBp
bnQgcmV2aXNpb24gPSBbW1tidW5kbGUgaW5mb0RpY3Rpb25hcnldIHZhbHVlRm9yS2V5OihOU1N0
cmluZyAqKWtDRkJ1bmRsZVZlcnNpb25LZXldIGludFZhbHVlXTsKKyAgICBOU1N0cmluZyAqYnJh
bmNoID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mVVJMOltidW5kbGUgVVJMRm9yUmVz
b3VyY2U6QCJCUkFOQ0giIHdpdGhFeHRlbnNpb246bmlsXSBlbmNvZGluZzpOU1VURjhTdHJpbmdF
bmNvZGluZyBlcnJvcjowXTsKKyAgICBicmFuY2ggPSBbYnJhbmNoIHN0cmluZ0J5VHJpbW1pbmdD
aGFyYWN0ZXJzSW5TZXQ6W05TQ2hhcmFjdGVyU2V0IHdoaXRlc3BhY2VBbmROZXdsaW5lQ2hhcmFj
dGVyU2V0XV07CisgICAgaWYgKCFicmFuY2gpCisgICAgICAgIGJyYW5jaCA9IEAidHJ1bmsiOwor
CisgICAgTlNTdHJpbmcgKnNjcmlwdCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAidmFy
IHdlYktpdFJldmlzaW9uID0gJWQ7IHZhciB3ZWJLaXRCcmFuY2ggPSBcIiVAXCI7IiwgcmV2aXNp
b24sIGJyYW5jaF07CisgICAgTlNEYXRhICpkYXRhID0gW3NjcmlwdCBkYXRhVXNpbmdFbmNvZGlu
ZzpOU1VURjhTdHJpbmdFbmNvZGluZ107CisgICAgW2NsaWVudCBVUkxQcm90b2NvbDpzZWxmIGRp
ZExvYWREYXRhOmRhdGFdOworICAgIFtjbGllbnQgVVJMUHJvdG9jb2xEaWRGaW5pc2hMb2FkaW5n
OnNlbGZdOworfQorCiAjaWYgRU5BQkxFX1NQQVJLTEUKIC0odm9pZCloYW5kbGVDaGVja0ZvclVw
ZGF0ZXMKIHsKQEAgLTExNSw3ICsxNDcsNyBAQCAtKHZvaWQpaGFuZGxlQ2hlY2tGb3JVcGRhdGVz
CiAtKHZvaWQpcmVzb3VyY2VOb3RGb3VuZAogewogICAgIGlkIGNsaWVudCA9IFtzZWxmIGNsaWVu
dF07Ci0gICAgTlNEaWN0aW9uYXJ5ICppbmZvRGljdGlvbmFyeSA9IFtOU0RpY3Rpb25hcnkgZGlj
dGlvbmFyeVdpdGhPYmplY3Q6TlNFcnJvckZhaWxpbmdVUkxTdHJpbmdLZXkgZm9yS2V5Oltbc2Vs
ZiByZXF1ZXN0XSBVUkxdXTsKKyAgICBOU0RpY3Rpb25hcnkgKmluZm9EaWN0aW9uYXJ5ID0gW05T
RGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdDpOU1VSTEVycm9yRmFpbGluZ1VSTFN0cmlu
Z0Vycm9yS2V5IGZvcktleTpbW3NlbGYgcmVxdWVzdF0gVVJMXV07CiAgICAgTlNFcnJvciAqZXJy
b3IgPSBbTlNFcnJvciBlcnJvcldpdGhEb21haW46TlNVUkxFcnJvckRvbWFpbiBjb2RlOk5TVVJM
RXJyb3JGaWxlRG9lc05vdEV4aXN0IHVzZXJJbmZvOmluZm9EaWN0aW9uYXJ5XTsKICAgICBbY2xp
ZW50IFVSTFByb3RvY29sOnNlbGYgZGlkRmFpbFdpdGhFcnJvcjplcnJvcl07CiB9CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRMYXVuY2hlci9XZWJLaXROaWdodGx5RW5hYmxlclNwYXJrbGUubSBi
L1Rvb2xzL1dlYktpdExhdW5jaGVyL1dlYktpdE5pZ2h0bHlFbmFibGVyU3BhcmtsZS5tCmluZGV4
IDhiMTNhYjhiYTZjMGQ5MWJiZDZjYTc1ZThiNDk1NjMyZmZhMDc1NDYuLmQ2MDQwNzI1NWY3MTNj
OWNhYzUwYmM0MGRhNjQyM2ViYjEzNmQ3ZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdExhdW5j
aGVyL1dlYktpdE5pZ2h0bHlFbmFibGVyU3BhcmtsZS5tCisrKyBiL1Rvb2xzL1dlYktpdExhdW5j
aGVyL1dlYktpdE5pZ2h0bHlFbmFibGVyU3BhcmtsZS5tCkBAIC0xMDIsMTkgKzEwMiw2IEBAIC0g
KHZvaWQpd2ViS2l0SGFuZGxlQnV0dG9uUHJlc3M6KGlkKXNlbmRlcgogCiBAZW5kCiAKLSNpZiBf
X0xQNjRfXwotCi0jZGVmaW5lIHNldE1ldGhvZEltcGxlbWVudGF0aW9uIG1ldGhvZF9zZXRJbXBs
ZW1lbnRhdGlvbgotCi0jZWxzZQotCi1zdGF0aWMgdm9pZCBzZXRNZXRob2RJbXBsZW1lbnRhdGlv
bihNZXRob2QgbSwgSU1QIGltcCkKLXsKLSAgICBtLT5tZXRob2RfaW1wID0gaW1wOwotfQotCi0j
ZW5kaWYKLQogc3RhdGljIE5TU3RyaW5nICp1c2VyQWdlbnRTdHJpbmdGb3JTcGFya2xlKCkKIHsK
ICAgICBOU0J1bmRsZSAqc2FmYXJpQnVuZGxlID0gW05TQnVuZGxlIG1haW5CdW5kbGVdOwpAQCAt
MTMwLDEwICsxMTcsMTAgQEAgdm9pZCBpbml0aWFsaXplU3BhcmtsZSgpCiB7CiAgICAgLy8gT3Zl
cnJpZGUgc29tZSBTcGFya2xlIGJlaGF2aW91cgogICAgIE1ldGhvZCBtZXRob2RUb1BhdGNoID0g
Y2xhc3NfZ2V0SW5zdGFuY2VNZXRob2Qob2JqY19nZXRSZXF1aXJlZENsYXNzKCJTVVVwZGF0ZVBl
cm1pc3Npb25Qcm9tcHQiKSwgQHNlbGVjdG9yKHByb21wdERlc2NyaXB0aW9uKSk7Ci0gICAgc2V0
TWV0aG9kSW1wbGVtZW50YXRpb24obWV0aG9kVG9QYXRjaCwgKElNUCl1cGRhdGVQZXJtaXNzaW9u
UHJvbXB0RGVzY3JpcHRpb24pOworICAgIG1ldGhvZF9zZXRJbXBsZW1lbnRhdGlvbihtZXRob2RU
b1BhdGNoLCAoSU1QKXVwZGF0ZVBlcm1pc3Npb25Qcm9tcHREZXNjcmlwdGlvbik7CiAKICAgICBt
ZXRob2RUb1BhdGNoID0gY2xhc3NfZ2V0SW5zdGFuY2VNZXRob2Qob2JqY19nZXRSZXF1aXJlZENs
YXNzKCJTVVVwZGF0ZUFsZXJ0IiksIEBzZWxlY3Rvcihpbml0V2l0aEFwcGNhc3RJdGVtOmhvc3Q6
KSk7Ci0gICAgc2V0TWV0aG9kSW1wbGVtZW50YXRpb24obWV0aG9kVG9QYXRjaCwgKElNUCl1cGRh
dGVBbGVydEluaXRGb3JBbGVydFBhbmVsKTsKKyAgICBtZXRob2Rfc2V0SW1wbGVtZW50YXRpb24o
bWV0aG9kVG9QYXRjaCwgKElNUCl1cGRhdGVBbGVydEluaXRGb3JBbGVydFBhbmVsKTsKIAogICAg
IFNVVXBkYXRlciAqdXBkYXRlciA9IFtTVVVwZGF0ZXIgdXBkYXRlckZvckJ1bmRsZTp3ZWJLaXRM
YXVuY2hlckJ1bmRsZSgpXTsKICAgICBbdXBkYXRlciBzZXRVc2VyQWdlbnRTdHJpbmc6dXNlckFn
ZW50U3RyaW5nRm9yU3BhcmtsZSgpXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdExhdW5jaGVy
L21haW4ubSBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL21haW4ubQppbmRleCA0ZmVlNjhhMjc3MjYz
YTEwMGJjOTZkOGQ1ODhmOGZmYmY1YWMzYTNlLi40NWU0YTBkNzQ1MzE3ZmUyZmViMGJkMjQ0MDA5
NThhMjY5ZTRhNGIxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRMYXVuY2hlci9tYWluLm0KKysr
IGIvVG9vbHMvV2ViS2l0TGF1bmNoZXIvbWFpbi5tCkBAIC0xNTcsMTMgKzE1NywzOSBAQCBzdGF0
aWMgdm9pZCBteUV4ZWN2ZShOU1N0cmluZyAqZXhlY3V0YWJsZSwgTlNBcnJheSAqYXJncywgTlNE
aWN0aW9uYXJ5ICplbnZpcm9ubQogICAgIHJldHVybiBzYWZhcmlCdW5kbGU7CiB9CiAKK3N0YXRp
YyBOU1N0cmluZyAqZGV0ZXJtaW5lRXhlY3V0YWJsZVBhdGgoTlNCdW5kbGUgKmJ1bmRsZSkKK3sK
KyAgICBOU1N0cmluZyAqc2FmYXJpRXhlY3V0YWJsZVBhdGggPSBbYnVuZGxlIGV4ZWN1dGFibGVQ
YXRoXTsKKworICAgIE5TU3RyaW5nICpzYWZhcmlGb3JXZWJLaXREZXZlbG9wbWVudEV4ZWN1dGFi
bGVQYXRoID0gW2J1bmRsZSBwYXRoRm9yQXV4aWxpYXJ5RXhlY3V0YWJsZTpAIlNhZmFyaUZvcldl
YktpdERldmVsb3BtZW50Il07CisgICAgaWYgKCFbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFn
ZXJdIGZpbGVFeGlzdHNBdFBhdGg6c2FmYXJpRm9yV2ViS2l0RGV2ZWxvcG1lbnRFeGVjdXRhYmxl
UGF0aF0pCisgICAgICAgIHJldHVybiBzYWZhcmlFeGVjdXRhYmxlUGF0aDsKKworICAgIFNlY1N0
YXRpY0NvZGVSZWYgc3RhdGljQ29kZTsKKyAgICBpZiAoU2VjU3RhdGljQ29kZUNyZWF0ZVdpdGhQ
YXRoKChDRlVSTFJlZilbYnVuZGxlIGV4ZWN1dGFibGVVUkxdLCBrU2VjQ1NEZWZhdWx0RmxhZ3Ms
ICZzdGF0aWNDb2RlKSAhPSBub0VycikKKyAgICAgICAgcmV0dXJuIFtidW5kbGUgZXhlY3V0YWJs
ZVBhdGhdOworCisgICAgTlNEaWN0aW9uYXJ5ICpjb2RlSW5mb3JtYXRpb247CisgICAgaWYgKFNl
Y0NvZGVDb3B5U2lnbmluZ0luZm9ybWF0aW9uKHN0YXRpY0NvZGUsIGtTZWNDU1JlcXVpcmVtZW50
SW5mb3JtYXRpb24sIChDRkRpY3Rpb25hcnlSZWYqKSZjb2RlSW5mb3JtYXRpb24pICE9IG5vRXJy
KSB7CisgICAgICAgIENGUmVsZWFzZShzdGF0aWNDb2RlKTsKKyAgICAgICAgcmV0dXJuIHNhZmFy
aUV4ZWN1dGFibGVQYXRoOworICAgIH0KKyAgICBDRlJlbGVhc2Uoc3RhdGljQ29kZSk7CisgICAg
W2NvZGVJbmZvcm1hdGlvbiBhdXRvcmVsZWFzZV07CisKKyAgICBpZiAoW2NvZGVJbmZvcm1hdGlv
biBvYmplY3RGb3JLZXk6KGlkKWtTZWNDb2RlSW5mb0VudGl0bGVtZW50c10pCisgICAgICAgIHJl
dHVybiBzYWZhcmlGb3JXZWJLaXREZXZlbG9wbWVudEV4ZWN1dGFibGVQYXRoOworCisgICAgcmV0
dXJuIHNhZmFyaUV4ZWN1dGFibGVQYXRoOworfQorCiBzdGF0aWMgTlNTdHJpbmcgKmN1cnJlbnRN
YWNPU1hWZXJzaW9uKCkKIHsKICAgICBTSW50MzIgdmVyc2lvbjsKICAgICBpZiAoR2VzdGFsdChn
ZXN0YWx0U3lzdGVtVmVyc2lvbiwgJnZlcnNpb24pICE9IG5vRXJyKQogICAgICAgICByZXR1cm4g
QCIxMC40IjsKIAotICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiV4LiV4
IiwgKHZlcnNpb24gJiAweEZGMDApID4+IDgsICh2ZXJzaW9uICYgMHgwMEYwKSA+PiA0XTsKKyAg
ICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlbHguJWx4IiwgKGxvbmcpKHZl
cnNpb24gJiAweEZGMDApID4+IDgsIChsb25nKSh2ZXJzaW9uICYgMHgwMEYwKSA+PiA0bF07CiB9
CiAKIHN0YXRpYyBOU1N0cmluZyAqZmFsbGJhY2tNYWNPU1hWZXJzaW9uKE5TU3RyaW5nICpzeXN0
ZW1WZXJzaW9uKQpAQCAtMjA5LDEzICsyMzUsMTMgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg
KmFyZ3ZbXSkKICAgICB9CiAKICAgICBpZiAoIWZyYW1ld29ya1BhdGhJc1VzYWJsZSkKLSAgICAg
ICAgZGlzcGxheUVycm9yQW5kUXVpdChbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIk1hYyBP
UyBYICVAIGlzIG5vdCBzdXBwb3J0ZWQiLCBzeXN0ZW1WZXJzaW9uXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIk5pZ2h0bHkgYnVpbGRz
IG9mIFdlYktpdCBhcmUgbm90IHN1cHBvcnRlZCBvbiBNYWMgT1MgWCAlQCBhdCB0aGlzIHRpbWUu
Iiwgc3lzdGVtVmVyc2lvbl0pOworICAgICAgICBkaXNwbGF5RXJyb3JBbmRRdWl0KFtOU1N0cmlu
ZyBzdHJpbmdXaXRoRm9ybWF0OkAiT1MgWCAlQCBpcyBub3Qgc3VwcG9ydGVkIiwgc3lzdGVtVmVy
c2lvbl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgW05TU3RyaW5nIHN0cmluZ1dpdGhG
b3JtYXQ6QCJOaWdodGx5IGJ1aWxkcyBvZiBXZWJLaXQgYXJlIG5vdCBzdXBwb3J0ZWQgb24gT1Mg
WCAlQCBhdCB0aGlzIHRpbWUuIiwgc3lzdGVtVmVyc2lvbl0pOwogCiAgICAgTlNTdHJpbmcgKnBh
dGhUb0VuYWJsZXJMaWIgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIHBhdGhGb3JSZXNvdXJjZTpA
IldlYktpdE5pZ2h0bHlFbmFibGVyIiBvZlR5cGU6QCJkeWxpYiJdOwogCiAgICAgTlNCdW5kbGUg
KnNhZmFyaUJ1bmRsZSA9IGxvY2F0ZVNhZmFyaUJ1bmRsZSgpOwotICAgIE5TU3RyaW5nICpleGVj
dXRhYmxlUGF0aCA9IFtzYWZhcmlCdW5kbGUgZXhlY3V0YWJsZVBhdGhdOworICAgIE5TU3RyaW5n
ICpleGVjdXRhYmxlUGF0aCA9IGRldGVybWluZUV4ZWN1dGFibGVQYXRoKHNhZmFyaUJ1bmRsZSk7
CiAKICAgICBpZiAoIWNoZWNrU2FmYXJpVmVyc2lvbihzYWZhcmlCdW5kbGUpKSB7CiAgICAgICAg
IE5TU3RyaW5nICpzYWZhcmlWZXJzaW9uID0gW1tzYWZhcmlCdW5kbGUgbG9jYWxpemVkSW5mb0Rp
Y3Rpb25hcnldIG9iamVjdEZvcktleTpAIkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nIl07CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRMYXVuY2hlci9zdGFydC5odG1sIGIvVG9vbHMvV2ViS2l0
TGF1bmNoZXIvc3RhcnQuaHRtbAppbmRleCAyYzk0ZTc5NzZjNDNjZDJhZDI3Mzg4N2M5ZDM3NzI4
ZTgzZjhkNTUzLi5iZGI1OTNlNzQzYTljYmIzMjQyMGU0Njc0M2M1MTNmMjMyMGU2NTYzIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRMYXVuY2hlci9zdGFydC5odG1sCisrKyBiL1Rvb2xzL1dlYktp
dExhdW5jaGVyL3N0YXJ0Lmh0bWwKQEAgLTEsMzEgKzEsMTUgQEAKIDxodG1sPgogICAgIDxoZWFk
PgogICAgICAgICA8dGl0bGU+TG9hZGluZyBXZWJLaXQuLi48L3RpdGxlPgotICAgICAgICA8bWV0
YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50PSIxO1VSTD1odHRwOi8vbmlnaHRseS53ZWJr
aXQub3JnL3N0YXJ0LyIgLz4KKyAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29u
dGVudD0iMTtVUkw9aHR0cDovL25pZ2h0bHkud2Via2l0Lm9yZy9zdGFydC8iPgogICAgICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgICAgICBmdW5jdGlvbiBnZXRX
ZWJLaXRSZXZpc2lvbigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIHJlcXVl
c3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICAgICAgICAgICAgICByZXF1ZXN0Lm9wZW4o
IkdFVCIsICJWRVJTSU9OIiwgZmFsc2UpOwotICAgICAgICAgICAgICAgIHJlcXVlc3Quc2VuZCgp
OwotICAgICAgICAgICAgICAgIHZhciByZXZpc2lvbiA9IHBhcnNlSW50KHJlcXVlc3QucmVzcG9u
c2VUZXh0KTsKLSAgICAgICAgICAgICAgICBpZiAoaXNOYU4ocmV2aXNpb24pKQotICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gIiI7Ci0KLSAgICAgICAgICAgICAgICByZXR1cm4gcmV2aXNpb247
CisgICAgICAgICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0
Jyk7CisgICAgICAgICAgICBzY3JpcHQuc3JjID0gIngtd2Via2l0LWxhdW5jaGVyOndlYmtpdC12
ZXJzaW9uLWluZm9ybWF0aW9uLmpzIjsKKyAgICAgICAgICAgIHNjcmlwdC5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICBpZiAod2ViS2l0QnJhbmNoICYmIHdlYktpdFJldmlz
aW9uKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbiA9ICJodHRwOi8vbmln
aHRseS53ZWJraXQub3JnL3N0YXJ0LyIgKyB3ZWJLaXRCcmFuY2ggKyAiLyIgKyB3ZWJLaXRSZXZp
c2lvbjsKICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZ2V0V2ViS2l0QnJh
bmNoKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOwotICAgICAgICAgICAgICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgIkJS
QU5DSCIsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICByZXF1ZXN0LnNlbmQoKTsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gKHJlcXVlc3QucmVzcG9uc2VUZXh0IHx8ICJ0cnVuayIpLnJlcGxhY2Uo
L1xzL2csICcnKQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB2YXIgcmV2aXNpb24gPSBn
ZXRXZWJLaXRSZXZpc2lvbigpOwotICAgICAgICAgICAgdmFyIGJyYW5jaCA9IGdldFdlYktpdEJy
YW5jaCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24gPSAiaHR0cDovL25pZ2h0bHku
d2Via2l0Lm9yZy9zdGFydC8iICsgYnJhbmNoICsgIi8iICsgcmV2aXNpb247CisgICAgICAgICAg
ICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKICAgICAgICAg
PC9zY3JpcHQ+CiAgICAgPC9oZWFkPgogICAgIDxib2R5Pgo=
</data>
<flag name="review"
          id="227303"
          type_id="1"
          status="+"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>