{"diffoscope-json-version": 1, "source1": "/input1", "source2": "/input2", "unified_diff": null, "details": [{"source1": "zipinfo {}", "source2": "zipinfo {}", "unified_diff": "@@ -1,8 +1,8 @@\n-Zip file size: 23333 bytes, number of entries: 28\n+Zip file size: 23373 bytes, number of entries: 28\n -rw-r--r--  2.0 unx       64 b- defN 20-Apr-01 08:04 META-INF/MANIFEST.MF\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 META-INF/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/apache/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/apache/dubbo/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/apache/dubbo/remoting/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/\n@@ -13,18 +13,18 @@\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/dubbo-remoting-netty/\n -rw-r--r--  2.0 unx     2792 b- defN 20-Apr-01 08:04 META-INF/DEPENDENCIES\n -rw-r--r--  2.0 unx    11358 b- defN 20-Apr-01 08:04 META-INF/LICENSE\n -rw-r--r--  2.0 unx      177 b- defN 20-Apr-01 08:04 META-INF/NOTICE\n -rw-r--r--  2.0 unx    10364 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyBackedChannelBuffer.java\n -rw-r--r--  2.0 unx     2043 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyBackedChannelBufferFactory.java\n--rw-r--r--  2.0 unx     6854 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyChannel.java\n+-rw-r--r--  2.0 unx     7069 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyChannel.java\n -rw-r--r--  2.0 unx     7388 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyClient.java\n--rw-r--r--  2.0 unx     6778 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyCodecAdapter.java\n--rw-r--r--  2.0 unx     4889 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyHandler.java\n--rw-r--r--  2.0 unx     3281 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyHelper.java\n+-rw-r--r--  2.0 unx     6948 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyCodecAdapter.java\n+-rw-r--r--  2.0 unx     5017 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyHandler.java\n+-rw-r--r--  2.0 unx     3398 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyHelper.java\n -rw-r--r--  2.0 unx     6761 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyServer.java\n -rw-r--r--  2.0 unx     1586 b- defN 20-Apr-01 08:04 org/apache/dubbo/remoting/transport/netty/NettyTransporter.java\n -rw-r--r--  2.0 unx       65 b- defN 20-Apr-01 08:04 META-INF/dubbo/internal/org.apache.dubbo.remoting.Transporter\n--rw-r--r--  2.0 unx     2326 b- defN 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/dubbo-remoting-netty/pom.xml\n+-rw-r--r--  2.0 unx     2268 b- defN 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/dubbo-remoting-netty/pom.xml\n -rw-r--r--  2.0 unx       75 b- defN 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/dubbo-remoting-netty/pom.properties\n-28 files, 66801 bytes uncompressed, 18959 bytes compressed:  71.6%\n+28 files, 67373 bytes uncompressed, 18999 bytes compressed:  71.8%\n"}, {"source1": "zipdetails --redact --scan --utc {}", "source2": "zipdetails --redact --scan --utc {}", "unified_diff": "@@ -339,1084 +339,1084 @@\n 20E5 Extract Zip Spec      14 (20) '2.0'\n 20E6 Extract OS            00 (0) 'MS-DOS'\n 20E7 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n 20E9 Compression Method    0008 (8) 'Deflated'\n 20EB Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-20EF CRC                   9ADB27A7 (2598053799)\n-20F3 Compressed Size       0000077A (1914)\n-20F7 Uncompressed Size     00001AC6 (6854)\n+20EF CRC                   9371F11F (2473718047)\n+20F3 Compressed Size       00000788 (1928)\n+20F7 Uncompressed Size     00001B9D (7069)\n 20FB Filename Length       003B (59)\n 20FD Extra Length          0000 (0)\n 20FF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n # WARNING: Offset 0x20FF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n 213A PAYLOAD\n \n-28B4 LOCAL HEADER #20      04034B50 (67324752)\n-28B8 Extract Zip Spec      14 (20) '2.0'\n-28B9 Extract OS            00 (0) 'MS-DOS'\n-28BA General Purpose Flag  0800 (2048)\n+28C2 LOCAL HEADER #20      04034B50 (67324752)\n+28C6 Extract Zip Spec      14 (20) '2.0'\n+28C7 Extract OS            00 (0) 'MS-DOS'\n+28C8 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-28BC Compression Method    0008 (8) 'Deflated'\n-28BE Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-28C2 CRC                   79FA59C0 (2046450112)\n-28C6 Compressed Size       0000082D (2093)\n-28CA Uncompressed Size     00001CDC (7388)\n-28CE Filename Length       003A (58)\n-28D0 Extra Length          0000 (0)\n-28D2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+28CA Compression Method    0008 (8) 'Deflated'\n+28CC Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+28D0 CRC                   79FA59C0 (2046450112)\n+28D4 Compressed Size       0000082D (2093)\n+28D8 Uncompressed Size     00001CDC (7388)\n+28DC Filename Length       003A (58)\n+28DE Extra Length          0000 (0)\n+28E0 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x28D2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x28E0: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-290C PAYLOAD\n+291A PAYLOAD\n \n-3139 LOCAL HEADER #21      04034B50 (67324752)\n-313D Extract Zip Spec      14 (20) '2.0'\n-313E Extract OS            00 (0) 'MS-DOS'\n-313F General Purpose Flag  0800 (2048)\n+3147 LOCAL HEADER #21      04034B50 (67324752)\n+314B Extract Zip Spec      14 (20) '2.0'\n+314C Extract OS            00 (0) 'MS-DOS'\n+314D General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3141 Compression Method    0008 (8) 'Deflated'\n-3143 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3147 CRC                   0C148F63 (202674019)\n-314B Compressed Size       000006DE (1758)\n-314F Uncompressed Size     00001A7A (6778)\n-3153 Filename Length       0040 (64)\n-3155 Extra Length          0000 (0)\n-3157 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+314F Compression Method    0008 (8) 'Deflated'\n+3151 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3155 CRC                   EF9DBA26 (4020091430)\n+3159 Compressed Size       000006E9 (1769)\n+315D Uncompressed Size     00001B24 (6948)\n+3161 Filename Length       0040 (64)\n+3163 Extra Length          0000 (0)\n+3165 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3157: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3165: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-3197 PAYLOAD\n+31A5 PAYLOAD\n \n-3875 LOCAL HEADER #22      04034B50 (67324752)\n-3879 Extract Zip Spec      14 (20) '2.0'\n-387A Extract OS            00 (0) 'MS-DOS'\n-387B General Purpose Flag  0800 (2048)\n+388E LOCAL HEADER #22      04034B50 (67324752)\n+3892 Extract Zip Spec      14 (20) '2.0'\n+3893 Extract OS            00 (0) 'MS-DOS'\n+3894 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-387D Compression Method    0008 (8) 'Deflated'\n-387F Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3883 CRC                   C0DCFA8D (3235707533)\n-3887 Compressed Size       000004E7 (1255)\n-388B Uncompressed Size     00001319 (4889)\n-388F Filename Length       003B (59)\n-3891 Extra Length          0000 (0)\n-3893 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3896 Compression Method    0008 (8) 'Deflated'\n+3898 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+389C CRC                   A0D2AF4F (2698161999)\n+38A0 Compressed Size       000004F4 (1268)\n+38A4 Uncompressed Size     00001399 (5017)\n+38A8 Filename Length       003B (59)\n+38AA Extra Length          0000 (0)\n+38AC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3893: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x38AC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-38CE PAYLOAD\n+38E7 PAYLOAD\n \n-3DB5 LOCAL HEADER #23      04034B50 (67324752)\n-3DB9 Extract Zip Spec      14 (20) '2.0'\n-3DBA Extract OS            00 (0) 'MS-DOS'\n-3DBB General Purpose Flag  0800 (2048)\n+3DDB LOCAL HEADER #23      04034B50 (67324752)\n+3DDF Extract Zip Spec      14 (20) '2.0'\n+3DE0 Extract OS            00 (0) 'MS-DOS'\n+3DE1 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3DBD Compression Method    0008 (8) 'Deflated'\n-3DBF Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3DC3 CRC                   4C151237 (1276449335)\n-3DC7 Compressed Size       0000039C (924)\n-3DCB Uncompressed Size     00000CD1 (3281)\n-3DCF Filename Length       003A (58)\n-3DD1 Extra Length          0000 (0)\n-3DD3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3DE3 Compression Method    0008 (8) 'Deflated'\n+3DE5 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3DE9 CRC                   79ACCC49 (2041367625)\n+3DED Compressed Size       000003A5 (933)\n+3DF1 Uncompressed Size     00000D46 (3398)\n+3DF5 Filename Length       003A (58)\n+3DF7 Extra Length          0000 (0)\n+3DF9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3DD3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3DF9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-3E0D PAYLOAD\n+3E33 PAYLOAD\n \n-41A9 LOCAL HEADER #24      04034B50 (67324752)\n-41AD Extract Zip Spec      14 (20) '2.0'\n-41AE Extract OS            00 (0) 'MS-DOS'\n-41AF General Purpose Flag  0800 (2048)\n+41D8 LOCAL HEADER #24      04034B50 (67324752)\n+41DC Extract Zip Spec      14 (20) '2.0'\n+41DD Extract OS            00 (0) 'MS-DOS'\n+41DE General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-41B1 Compression Method    0008 (8) 'Deflated'\n-41B3 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-41B7 CRC                   E768197F (3882359167)\n-41BB Compressed Size       00000773 (1907)\n-41BF Uncompressed Size     00001A69 (6761)\n-41C3 Filename Length       003A (58)\n-41C5 Extra Length          0000 (0)\n-41C7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+41E0 Compression Method    0008 (8) 'Deflated'\n+41E2 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+41E6 CRC                   E768197F (3882359167)\n+41EA Compressed Size       00000773 (1907)\n+41EE Uncompressed Size     00001A69 (6761)\n+41F2 Filename Length       003A (58)\n+41F4 Extra Length          0000 (0)\n+41F6 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x41C7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x41F6: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-4201 PAYLOAD\n+4230 PAYLOAD\n \n-4974 LOCAL HEADER #25      04034B50 (67324752)\n-4978 Extract Zip Spec      14 (20) '2.0'\n-4979 Extract OS            00 (0) 'MS-DOS'\n-497A General Purpose Flag  0800 (2048)\n+49A3 LOCAL HEADER #25      04034B50 (67324752)\n+49A7 Extract Zip Spec      14 (20) '2.0'\n+49A8 Extract OS            00 (0) 'MS-DOS'\n+49A9 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-497C Compression Method    0008 (8) 'Deflated'\n-497E Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-4982 CRC                   010536C2 (17118914)\n-4986 Compressed Size       000002AF (687)\n-498A Uncompressed Size     00000632 (1586)\n-498E Filename Length       003F (63)\n-4990 Extra Length          0000 (0)\n-4992 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+49AB Compression Method    0008 (8) 'Deflated'\n+49AD Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+49B1 CRC                   010536C2 (17118914)\n+49B5 Compressed Size       000002AF (687)\n+49B9 Uncompressed Size     00000632 (1586)\n+49BD Filename Length       003F (63)\n+49BF Extra Length          0000 (0)\n+49C1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4992: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x49C1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-49D1 PAYLOAD\n+4A00 PAYLOAD\n \n-4C80 LOCAL HEADER #26      04034B50 (67324752)\n-4C84 Extract Zip Spec      14 (20) '2.0'\n-4C85 Extract OS            00 (0) 'MS-DOS'\n-4C86 General Purpose Flag  0800 (2048)\n+4CAF LOCAL HEADER #26      04034B50 (67324752)\n+4CB3 Extract Zip Spec      14 (20) '2.0'\n+4CB4 Extract OS            00 (0) 'MS-DOS'\n+4CB5 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-4C88 Compression Method    0008 (8) 'Deflated'\n-4C8A Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-4C8E CRC                   47B1243F (1202791487)\n-4C92 Compressed Size       00000038 (56)\n-4C96 Uncompressed Size     00000041 (65)\n-4C9A Filename Length       003D (61)\n-4C9C Extra Length          0000 (0)\n-4C9E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+4CB7 Compression Method    0008 (8) 'Deflated'\n+4CB9 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+4CBD CRC                   47B1243F (1202791487)\n+4CC1 Compressed Size       00000038 (56)\n+4CC5 Uncompressed Size     00000041 (65)\n+4CC9 Filename Length       003D (61)\n+4CCB Extra Length          0000 (0)\n+4CCD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4C9E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x4CCD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-4CDB PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+4D0A PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-4D13 LOCAL HEADER #27      04034B50 (67324752)\n-4D17 Extract Zip Spec      14 (20) '2.0'\n-4D18 Extract OS            00 (0) 'MS-DOS'\n-4D19 General Purpose Flag  0800 (2048)\n+4D42 LOCAL HEADER #27      04034B50 (67324752)\n+4D46 Extract Zip Spec      14 (20) '2.0'\n+4D47 Extract OS            00 (0) 'MS-DOS'\n+4D48 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-4D1B Compression Method    0008 (8) 'Deflated'\n-4D1D Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-4D21 CRC                   4EEF2300 (1324294912)\n-4D25 Compressed Size       00000398 (920)\n-4D29 Uncompressed Size     00000916 (2326)\n-4D2D Filename Length       003C (60)\n-4D2F Extra Length          0000 (0)\n-4D31 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+4D4A Compression Method    0008 (8) 'Deflated'\n+4D4C Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+4D50 CRC                   53B720C2 (1404510402)\n+4D54 Compressed Size       00000391 (913)\n+4D58 Uncompressed Size     000008DC (2268)\n+4D5C Filename Length       003C (60)\n+4D5E Extra Length          0000 (0)\n+4D60 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4D31: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x4D60: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-4D6D PAYLOAD\n+4D9C PAYLOAD\n \n-5105 LOCAL HEADER #28      04034B50 (67324752)\n-5109 Extract Zip Spec      14 (20) '2.0'\n-510A Extract OS            00 (0) 'MS-DOS'\n-510B General Purpose Flag  0800 (2048)\n+512D LOCAL HEADER #28      04034B50 (67324752)\n+5131 Extract Zip Spec      14 (20) '2.0'\n+5132 Extract OS            00 (0) 'MS-DOS'\n+5133 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-510D Compression Method    0008 (8) 'Deflated'\n-510F Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5113 CRC                   7D6B90B6 (2104201398)\n-5117 Compressed Size       00000049 (73)\n-511B Uncompressed Size     0000004B (75)\n-511F Filename Length       0043 (67)\n-5121 Extra Length          0000 (0)\n-5123 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5135 Compression Method    0008 (8) 'Deflated'\n+5137 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+513B CRC                   7D6B90B6 (2104201398)\n+513F Compressed Size       00000049 (73)\n+5143 Uncompressed Size     0000004B (75)\n+5147 Filename Length       0043 (67)\n+5149 Extra Length          0000 (0)\n+514B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5123: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x514B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-5166 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+518E PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-51AF CENTRAL HEADER #1     02014B50 (33639248)\n-51B3 Created Zip Spec      14 (20) '2.0'\n-51B4 Created OS            03 (3) 'Unix'\n-51B5 Extract Zip Spec      14 (20) '2.0'\n-51B6 Extract OS            00 (0) 'MS-DOS'\n-51B7 General Purpose Flag  0800 (2048)\n+51D7 CENTRAL HEADER #1     02014B50 (33639248)\n+51DB Created Zip Spec      14 (20) '2.0'\n+51DC Created OS            03 (3) 'Unix'\n+51DD Extract Zip Spec      14 (20) '2.0'\n+51DE Extract OS            00 (0) 'MS-DOS'\n+51DF General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-51B9 Compression Method    0008 (8) 'Deflated'\n-51BB Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-51BF CRC                   A689EB18 (2794056472)\n-51C3 Compressed Size       00000042 (66)\n-51C7 Uncompressed Size     00000040 (64)\n-51CB Filename Length       0014 (20)\n-51CD Extra Length          0000 (0)\n-51CF Comment Length        0000 (0)\n-51D1 Disk Start            0000 (0)\n-51D3 Int File Attributes   0000 (0)\n+51E1 Compression Method    0008 (8) 'Deflated'\n+51E3 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+51E7 CRC                   A689EB18 (2794056472)\n+51EB Compressed Size       00000042 (66)\n+51EF Uncompressed Size     00000040 (64)\n+51F3 Filename Length       0014 (20)\n+51F5 Extra Length          0000 (0)\n+51F7 Comment Length        0000 (0)\n+51F9 Disk Start            0000 (0)\n+51FB Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-51D5 Ext File Attributes   81A40000 (2175008768)\n+51FD Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-51D9 Local Header Offset   00000000 (0)\n-51DD Filename              'XXXXXXXXXXXXXXXXXXXX'\n+5201 Local Header Offset   00000000 (0)\n+5205 Filename              'XXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x51DD: Filename 'XXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5205: Filename 'XXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-51F1 CENTRAL HEADER #2     02014B50 (33639248)\n-51F5 Created Zip Spec      14 (20) '2.0'\n-51F6 Created OS            03 (3) 'Unix'\n-51F7 Extract Zip Spec      0A (10) '1.0'\n-51F8 Extract OS            00 (0) 'MS-DOS'\n-51F9 General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-51FB Compression Method    0000 (0) 'Stored'\n-51FD Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5201 CRC                   00000000 (0)\n-5205 Compressed Size       00000000 (0)\n-5209 Uncompressed Size     00000000 (0)\n-520D Filename Length       0009 (9)\n-520F Extra Length          0000 (0)\n-5211 Comment Length        0000 (0)\n-5213 Disk Start            0000 (0)\n-5215 Int File Attributes   0000 (0)\n+5219 CENTRAL HEADER #2     02014B50 (33639248)\n+521D Created Zip Spec      14 (20) '2.0'\n+521E Created OS            03 (3) 'Unix'\n+521F Extract Zip Spec      0A (10) '1.0'\n+5220 Extract OS            00 (0) 'MS-DOS'\n+5221 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+5223 Compression Method    0000 (0) 'Stored'\n+5225 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5229 CRC                   00000000 (0)\n+522D Compressed Size       00000000 (0)\n+5231 Uncompressed Size     00000000 (0)\n+5235 Filename Length       0009 (9)\n+5237 Extra Length          0000 (0)\n+5239 Comment Length        0000 (0)\n+523B Disk Start            0000 (0)\n+523D Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5217 Ext File Attributes   41ED0010 (1106051088)\n+523F Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-521B Local Header Offset   00000074 (116)\n-521F Filename              'XXXXXXXXX'\n+5243 Local Header Offset   00000074 (116)\n+5247 Filename              'XXXXXXXXX'\n #\n-# WARNING: Offset 0x521F: Filename 'XXXXXXXXX'\n+# WARNING: Offset 0x5247: Filename 'XXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x521F: Directory 'XXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x5247: Directory 'XXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x51F7: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXX'\n+# WARNING: Offset 0x521F: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXX'\n #\n \n-5228 CENTRAL HEADER #3     02014B50 (33639248)\n-522C Created Zip Spec      14 (20) '2.0'\n-522D Created OS            03 (3) 'Unix'\n-522E Extract Zip Spec      0A (10) '1.0'\n-522F Extract OS            00 (0) 'MS-DOS'\n-5230 General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-5232 Compression Method    0000 (0) 'Stored'\n-5234 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5238 CRC                   00000000 (0)\n-523C Compressed Size       00000000 (0)\n-5240 Uncompressed Size     00000000 (0)\n-5244 Filename Length       0004 (4)\n-5246 Extra Length          0000 (0)\n-5248 Comment Length        0000 (0)\n-524A Disk Start            0000 (0)\n-524C Int File Attributes   0000 (0)\n+5250 CENTRAL HEADER #3     02014B50 (33639248)\n+5254 Created Zip Spec      14 (20) '2.0'\n+5255 Created OS            03 (3) 'Unix'\n+5256 Extract Zip Spec      0A (10) '1.0'\n+5257 Extract OS            00 (0) 'MS-DOS'\n+5258 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+525A Compression Method    0000 (0) 'Stored'\n+525C Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5260 CRC                   00000000 (0)\n+5264 Compressed Size       00000000 (0)\n+5268 Uncompressed Size     00000000 (0)\n+526C Filename Length       0004 (4)\n+526E Extra Length          0000 (0)\n+5270 Comment Length        0000 (0)\n+5272 Disk Start            0000 (0)\n+5274 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-524E Ext File Attributes   41ED0010 (1106051088)\n+5276 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-5252 Local Header Offset   0000009B (155)\n-5256 Filename              'XXXX'\n+527A Local Header Offset   0000009B (155)\n+527E Filename              'XXXX'\n #\n-# WARNING: Offset 0x5256: Filename 'XXXX'\n+# WARNING: Offset 0x527E: Filename 'XXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x5256: Directory 'XXXX' must end in a '/'\n+# ERROR: Offset 0x527E: Directory 'XXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x522E: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXX'\n+# WARNING: Offset 0x5256: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXX'\n #\n \n-525A CENTRAL HEADER #4     02014B50 (33639248)\n-525E Created Zip Spec      14 (20) '2.0'\n-525F Created OS            03 (3) 'Unix'\n-5260 Extract Zip Spec      0A (10) '1.0'\n-5261 Extract OS            00 (0) 'MS-DOS'\n-5262 General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-5264 Compression Method    0000 (0) 'Stored'\n-5266 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-526A CRC                   00000000 (0)\n-526E Compressed Size       00000000 (0)\n-5272 Uncompressed Size     00000000 (0)\n-5276 Filename Length       000B (11)\n-5278 Extra Length          0000 (0)\n-527A Comment Length        0000 (0)\n-527C Disk Start            0000 (0)\n-527E Int File Attributes   0000 (0)\n+5282 CENTRAL HEADER #4     02014B50 (33639248)\n+5286 Created Zip Spec      14 (20) '2.0'\n+5287 Created OS            03 (3) 'Unix'\n+5288 Extract Zip Spec      0A (10) '1.0'\n+5289 Extract OS            00 (0) 'MS-DOS'\n+528A General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+528C Compression Method    0000 (0) 'Stored'\n+528E Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5292 CRC                   00000000 (0)\n+5296 Compressed Size       00000000 (0)\n+529A Uncompressed Size     00000000 (0)\n+529E Filename Length       000B (11)\n+52A0 Extra Length          0000 (0)\n+52A2 Comment Length        0000 (0)\n+52A4 Disk Start            0000 (0)\n+52A6 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5280 Ext File Attributes   41ED0010 (1106051088)\n+52A8 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-5284 Local Header Offset   000000BD (189)\n-5288 Filename              'XXXXXXXXXXX'\n+52AC Local Header Offset   000000BD (189)\n+52B0 Filename              'XXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5288: Filename 'XXXXXXXXXXX'\n+# WARNING: Offset 0x52B0: Filename 'XXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x5288: Directory 'XXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x52B0: Directory 'XXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x5260: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXX'\n+# WARNING: Offset 0x5288: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXX'\n #\n \n-5293 CENTRAL HEADER #5     02014B50 (33639248)\n-5297 Created Zip Spec      14 (20) '2.0'\n-5298 Created OS            03 (3) 'Unix'\n-5299 Extract Zip Spec      0A (10) '1.0'\n-529A Extract OS            00 (0) 'MS-DOS'\n-529B General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-529D Compression Method    0000 (0) 'Stored'\n-529F Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-52A3 CRC                   00000000 (0)\n-52A7 Compressed Size       00000000 (0)\n-52AB Uncompressed Size     00000000 (0)\n-52AF Filename Length       0011 (17)\n-52B1 Extra Length          0000 (0)\n-52B3 Comment Length        0000 (0)\n-52B5 Disk Start            0000 (0)\n-52B7 Int File Attributes   0000 (0)\n+52BB CENTRAL HEADER #5     02014B50 (33639248)\n+52BF Created Zip Spec      14 (20) '2.0'\n+52C0 Created OS            03 (3) 'Unix'\n+52C1 Extract Zip Spec      0A (10) '1.0'\n+52C2 Extract OS            00 (0) 'MS-DOS'\n+52C3 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+52C5 Compression Method    0000 (0) 'Stored'\n+52C7 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+52CB CRC                   00000000 (0)\n+52CF Compressed Size       00000000 (0)\n+52D3 Uncompressed Size     00000000 (0)\n+52D7 Filename Length       0011 (17)\n+52D9 Extra Length          0000 (0)\n+52DB Comment Length        0000 (0)\n+52DD Disk Start            0000 (0)\n+52DF Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-52B9 Ext File Attributes   41ED0010 (1106051088)\n+52E1 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-52BD Local Header Offset   000000E6 (230)\n-52C1 Filename              'XXXXXXXXXXXXXXXXX'\n+52E5 Local Header Offset   000000E6 (230)\n+52E9 Filename              'XXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x52C1: Filename 'XXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x52E9: Filename 'XXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x52C1: Directory 'XXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x52E9: Directory 'XXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x5299: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x52C1: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXX'\n #\n \n-52D2 CENTRAL HEADER #6     02014B50 (33639248)\n-52D6 Created Zip Spec      14 (20) '2.0'\n-52D7 Created OS            03 (3) 'Unix'\n-52D8 Extract Zip Spec      0A (10) '1.0'\n-52D9 Extract OS            00 (0) 'MS-DOS'\n-52DA General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-52DC Compression Method    0000 (0) 'Stored'\n-52DE Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-52E2 CRC                   00000000 (0)\n-52E6 Compressed Size       00000000 (0)\n-52EA Uncompressed Size     00000000 (0)\n-52EE Filename Length       001A (26)\n-52F0 Extra Length          0000 (0)\n-52F2 Comment Length        0000 (0)\n-52F4 Disk Start            0000 (0)\n-52F6 Int File Attributes   0000 (0)\n+52FA CENTRAL HEADER #6     02014B50 (33639248)\n+52FE Created Zip Spec      14 (20) '2.0'\n+52FF Created OS            03 (3) 'Unix'\n+5300 Extract Zip Spec      0A (10) '1.0'\n+5301 Extract OS            00 (0) 'MS-DOS'\n+5302 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+5304 Compression Method    0000 (0) 'Stored'\n+5306 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+530A CRC                   00000000 (0)\n+530E Compressed Size       00000000 (0)\n+5312 Uncompressed Size     00000000 (0)\n+5316 Filename Length       001A (26)\n+5318 Extra Length          0000 (0)\n+531A Comment Length        0000 (0)\n+531C Disk Start            0000 (0)\n+531E Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-52F8 Ext File Attributes   41ED0010 (1106051088)\n+5320 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-52FC Local Header Offset   00000115 (277)\n-5300 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5324 Local Header Offset   00000115 (277)\n+5328 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5300: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5328: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x5300: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x5328: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x52D8: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5300: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-531A CENTRAL HEADER #7     02014B50 (33639248)\n-531E Created Zip Spec      14 (20) '2.0'\n-531F Created OS            03 (3) 'Unix'\n-5320 Extract Zip Spec      0A (10) '1.0'\n-5321 Extract OS            00 (0) 'MS-DOS'\n-5322 General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-5324 Compression Method    0000 (0) 'Stored'\n-5326 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-532A CRC                   00000000 (0)\n-532E Compressed Size       00000000 (0)\n-5332 Uncompressed Size     00000000 (0)\n-5336 Filename Length       0024 (36)\n-5338 Extra Length          0000 (0)\n-533A Comment Length        0000 (0)\n-533C Disk Start            0000 (0)\n-533E Int File Attributes   0000 (0)\n+5342 CENTRAL HEADER #7     02014B50 (33639248)\n+5346 Created Zip Spec      14 (20) '2.0'\n+5347 Created OS            03 (3) 'Unix'\n+5348 Extract Zip Spec      0A (10) '1.0'\n+5349 Extract OS            00 (0) 'MS-DOS'\n+534A General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+534C Compression Method    0000 (0) 'Stored'\n+534E Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5352 CRC                   00000000 (0)\n+5356 Compressed Size       00000000 (0)\n+535A Uncompressed Size     00000000 (0)\n+535E Filename Length       0024 (36)\n+5360 Extra Length          0000 (0)\n+5362 Comment Length        0000 (0)\n+5364 Disk Start            0000 (0)\n+5366 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5340 Ext File Attributes   41ED0010 (1106051088)\n+5368 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-5344 Local Header Offset   0000014D (333)\n-5348 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+536C Local Header Offset   0000014D (333)\n+5370 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5348: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5370: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x5348: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x5370: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x5320: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5348: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-536C CENTRAL HEADER #8     02014B50 (33639248)\n-5370 Created Zip Spec      14 (20) '2.0'\n-5371 Created OS            03 (3) 'Unix'\n-5372 Extract Zip Spec      0A (10) '1.0'\n-5373 Extract OS            00 (0) 'MS-DOS'\n-5374 General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-5376 Compression Method    0000 (0) 'Stored'\n-5378 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-537C CRC                   00000000 (0)\n-5380 Compressed Size       00000000 (0)\n-5384 Uncompressed Size     00000000 (0)\n-5388 Filename Length       002A (42)\n-538A Extra Length          0000 (0)\n-538C Comment Length        0000 (0)\n-538E Disk Start            0000 (0)\n-5390 Int File Attributes   0000 (0)\n+5394 CENTRAL HEADER #8     02014B50 (33639248)\n+5398 Created Zip Spec      14 (20) '2.0'\n+5399 Created OS            03 (3) 'Unix'\n+539A Extract Zip Spec      0A (10) '1.0'\n+539B Extract OS            00 (0) 'MS-DOS'\n+539C General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+539E Compression Method    0000 (0) 'Stored'\n+53A0 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+53A4 CRC                   00000000 (0)\n+53A8 Compressed Size       00000000 (0)\n+53AC Uncompressed Size     00000000 (0)\n+53B0 Filename Length       002A (42)\n+53B2 Extra Length          0000 (0)\n+53B4 Comment Length        0000 (0)\n+53B6 Disk Start            0000 (0)\n+53B8 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5392 Ext File Attributes   41ED0010 (1106051088)\n+53BA Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-5396 Local Header Offset   0000018F (399)\n-539A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+53BE Local Header Offset   0000018F (399)\n+53C2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x539A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x53C2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x539A: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x53C2: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x5372: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x539A: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-53C4 CENTRAL HEADER #9     02014B50 (33639248)\n-53C8 Created Zip Spec      14 (20) '2.0'\n-53C9 Created OS            03 (3) 'Unix'\n-53CA Extract Zip Spec      0A (10) '1.0'\n-53CB Extract OS            00 (0) 'MS-DOS'\n-53CC General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-53CE Compression Method    0000 (0) 'Stored'\n-53D0 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-53D4 CRC                   00000000 (0)\n-53D8 Compressed Size       00000000 (0)\n-53DC Uncompressed Size     00000000 (0)\n-53E0 Filename Length       000F (15)\n-53E2 Extra Length          0000 (0)\n-53E4 Comment Length        0000 (0)\n-53E6 Disk Start            0000 (0)\n-53E8 Int File Attributes   0000 (0)\n+53EC CENTRAL HEADER #9     02014B50 (33639248)\n+53F0 Created Zip Spec      14 (20) '2.0'\n+53F1 Created OS            03 (3) 'Unix'\n+53F2 Extract Zip Spec      0A (10) '1.0'\n+53F3 Extract OS            00 (0) 'MS-DOS'\n+53F4 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+53F6 Compression Method    0000 (0) 'Stored'\n+53F8 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+53FC CRC                   00000000 (0)\n+5400 Compressed Size       00000000 (0)\n+5404 Uncompressed Size     00000000 (0)\n+5408 Filename Length       000F (15)\n+540A Extra Length          0000 (0)\n+540C Comment Length        0000 (0)\n+540E Disk Start            0000 (0)\n+5410 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-53EA Ext File Attributes   41ED0010 (1106051088)\n+5412 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-53EE Local Header Offset   000001D7 (471)\n-53F2 Filename              'XXXXXXXXXXXXXXX'\n+5416 Local Header Offset   000001D7 (471)\n+541A Filename              'XXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x53F2: Filename 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x541A: Filename 'XXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x53F2: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x541A: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x53CA: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x53F2: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n #\n \n-5401 CENTRAL HEADER #10    02014B50 (33639248)\n-5405 Created Zip Spec      14 (20) '2.0'\n-5406 Created OS            03 (3) 'Unix'\n-5407 Extract Zip Spec      0A (10) '1.0'\n-5408 Extract OS            00 (0) 'MS-DOS'\n-5409 General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-540B Compression Method    0000 (0) 'Stored'\n-540D Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5411 CRC                   00000000 (0)\n-5415 Compressed Size       00000000 (0)\n-5419 Uncompressed Size     00000000 (0)\n-541D Filename Length       0018 (24)\n-541F Extra Length          0000 (0)\n-5421 Comment Length        0000 (0)\n-5423 Disk Start            0000 (0)\n-5425 Int File Attributes   0000 (0)\n+5429 CENTRAL HEADER #10    02014B50 (33639248)\n+542D Created Zip Spec      14 (20) '2.0'\n+542E Created OS            03 (3) 'Unix'\n+542F Extract Zip Spec      0A (10) '1.0'\n+5430 Extract OS            00 (0) 'MS-DOS'\n+5431 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+5433 Compression Method    0000 (0) 'Stored'\n+5435 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5439 CRC                   00000000 (0)\n+543D Compressed Size       00000000 (0)\n+5441 Uncompressed Size     00000000 (0)\n+5445 Filename Length       0018 (24)\n+5447 Extra Length          0000 (0)\n+5449 Comment Length        0000 (0)\n+544B Disk Start            0000 (0)\n+544D Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5427 Ext File Attributes   41ED0010 (1106051088)\n+544F Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-542B Local Header Offset   00000204 (516)\n-542F Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n+5453 Local Header Offset   00000204 (516)\n+5457 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x542F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5457: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x542F: Directory 'XXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x5457: Directory 'XXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x5407: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x542F: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-5447 CENTRAL HEADER #11    02014B50 (33639248)\n-544B Created Zip Spec      14 (20) '2.0'\n-544C Created OS            03 (3) 'Unix'\n-544D Extract Zip Spec      0A (10) '1.0'\n-544E Extract OS            00 (0) 'MS-DOS'\n-544F General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-5451 Compression Method    0000 (0) 'Stored'\n-5453 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5457 CRC                   00000000 (0)\n-545B Compressed Size       00000000 (0)\n-545F Uncompressed Size     00000000 (0)\n-5463 Filename Length       000F (15)\n-5465 Extra Length          0000 (0)\n-5467 Comment Length        0000 (0)\n-5469 Disk Start            0000 (0)\n-546B Int File Attributes   0000 (0)\n+546F CENTRAL HEADER #11    02014B50 (33639248)\n+5473 Created Zip Spec      14 (20) '2.0'\n+5474 Created OS            03 (3) 'Unix'\n+5475 Extract Zip Spec      0A (10) '1.0'\n+5476 Extract OS            00 (0) 'MS-DOS'\n+5477 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+5479 Compression Method    0000 (0) 'Stored'\n+547B Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+547F CRC                   00000000 (0)\n+5483 Compressed Size       00000000 (0)\n+5487 Uncompressed Size     00000000 (0)\n+548B Filename Length       000F (15)\n+548D Extra Length          0000 (0)\n+548F Comment Length        0000 (0)\n+5491 Disk Start            0000 (0)\n+5493 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-546D Ext File Attributes   41ED0010 (1106051088)\n+5495 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-5471 Local Header Offset   0000023A (570)\n-5475 Filename              'XXXXXXXXXXXXXXX'\n+5499 Local Header Offset   0000023A (570)\n+549D Filename              'XXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5475: Filename 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x549D: Filename 'XXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x5475: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x549D: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x544D: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5475: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n #\n \n-5484 CENTRAL HEADER #12    02014B50 (33639248)\n-5488 Created Zip Spec      14 (20) '2.0'\n-5489 Created OS            03 (3) 'Unix'\n-548A Extract Zip Spec      0A (10) '1.0'\n-548B Extract OS            00 (0) 'MS-DOS'\n-548C General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-548E Compression Method    0000 (0) 'Stored'\n-5490 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5494 CRC                   00000000 (0)\n-5498 Compressed Size       00000000 (0)\n-549C Uncompressed Size     00000000 (0)\n-54A0 Filename Length       0020 (32)\n-54A2 Extra Length          0000 (0)\n-54A4 Comment Length        0000 (0)\n-54A6 Disk Start            0000 (0)\n-54A8 Int File Attributes   0000 (0)\n+54AC CENTRAL HEADER #12    02014B50 (33639248)\n+54B0 Created Zip Spec      14 (20) '2.0'\n+54B1 Created OS            03 (3) 'Unix'\n+54B2 Extract Zip Spec      0A (10) '1.0'\n+54B3 Extract OS            00 (0) 'MS-DOS'\n+54B4 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+54B6 Compression Method    0000 (0) 'Stored'\n+54B8 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+54BC CRC                   00000000 (0)\n+54C0 Compressed Size       00000000 (0)\n+54C4 Uncompressed Size     00000000 (0)\n+54C8 Filename Length       0020 (32)\n+54CA Extra Length          0000 (0)\n+54CC Comment Length        0000 (0)\n+54CE Disk Start            0000 (0)\n+54D0 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-54AA Ext File Attributes   41ED0010 (1106051088)\n+54D2 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-54AE Local Header Offset   00000267 (615)\n-54B2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+54D6 Local Header Offset   00000267 (615)\n+54DA Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x54B2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x54DA: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x54B2: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x54DA: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x548A: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x54B2: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-54D2 CENTRAL HEADER #13    02014B50 (33639248)\n-54D6 Created Zip Spec      14 (20) '2.0'\n-54D7 Created OS            03 (3) 'Unix'\n-54D8 Extract Zip Spec      0A (10) '1.0'\n-54D9 Extract OS            00 (0) 'MS-DOS'\n-54DA General Purpose Flag  0800 (2048)\n-     [Bit 11]              1 'Language Encoding'\n-54DC Compression Method    0000 (0) 'Stored'\n-54DE Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-54E2 CRC                   00000000 (0)\n-54E6 Compressed Size       00000000 (0)\n-54EA Uncompressed Size     00000000 (0)\n-54EE Filename Length       0035 (53)\n-54F0 Extra Length          0000 (0)\n-54F2 Comment Length        0000 (0)\n-54F4 Disk Start            0000 (0)\n-54F6 Int File Attributes   0000 (0)\n+54FA CENTRAL HEADER #13    02014B50 (33639248)\n+54FE Created Zip Spec      14 (20) '2.0'\n+54FF Created OS            03 (3) 'Unix'\n+5500 Extract Zip Spec      0A (10) '1.0'\n+5501 Extract OS            00 (0) 'MS-DOS'\n+5502 General Purpose Flag  0800 (2048)\n+     [Bit 11]              1 'Language Encoding'\n+5504 Compression Method    0000 (0) 'Stored'\n+5506 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+550A CRC                   00000000 (0)\n+550E Compressed Size       00000000 (0)\n+5512 Uncompressed Size     00000000 (0)\n+5516 Filename Length       0035 (53)\n+5518 Extra Length          0000 (0)\n+551A Comment Length        0000 (0)\n+551C Disk Start            0000 (0)\n+551E Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-54F8 Ext File Attributes   41ED0010 (1106051088)\n+5520 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-54FC Local Header Offset   000002A5 (677)\n-5500 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5524 Local Header Offset   000002A5 (677)\n+5528 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5500: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5528: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x5500: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x5528: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x54D8: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5500: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-5535 CENTRAL HEADER #14    02014B50 (33639248)\n-5539 Created Zip Spec      14 (20) '2.0'\n-553A Created OS            03 (3) 'Unix'\n-553B Extract Zip Spec      14 (20) '2.0'\n-553C Extract OS            00 (0) 'MS-DOS'\n-553D General Purpose Flag  0800 (2048)\n-     [Bits 1-2]            0 'Normal Compression'\n-     [Bit 11]              1 'Language Encoding'\n-553F Compression Method    0008 (8) 'Deflated'\n-5541 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5545 CRC                   B2D96743 (3000592195)\n-5549 Compressed Size       00000304 (772)\n-554D Uncompressed Size     00000AE8 (2792)\n-5551 Filename Length       0015 (21)\n-5553 Extra Length          0000 (0)\n-5555 Comment Length        0000 (0)\n-5557 Disk Start            0000 (0)\n-5559 Int File Attributes   0000 (0)\n+555D CENTRAL HEADER #14    02014B50 (33639248)\n+5561 Created Zip Spec      14 (20) '2.0'\n+5562 Created OS            03 (3) 'Unix'\n+5563 Extract Zip Spec      14 (20) '2.0'\n+5564 Extract OS            00 (0) 'MS-DOS'\n+5565 General Purpose Flag  0800 (2048)\n+     [Bits 1-2]            0 'Normal Compression'\n+     [Bit 11]              1 'Language Encoding'\n+5567 Compression Method    0008 (8) 'Deflated'\n+5569 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+556D CRC                   B2D96743 (3000592195)\n+5571 Compressed Size       00000304 (772)\n+5575 Uncompressed Size     00000AE8 (2792)\n+5579 Filename Length       0015 (21)\n+557B Extra Length          0000 (0)\n+557D Comment Length        0000 (0)\n+557F Disk Start            0000 (0)\n+5581 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-555B Ext File Attributes   81A40000 (2175008768)\n+5583 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-555F Local Header Offset   000002F8 (760)\n-5563 Filename              'XXXXXXXXXXXXXXXXXXXXX'\n+5587 Local Header Offset   000002F8 (760)\n+558B Filename              'XXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5563: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x558B: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-5578 CENTRAL HEADER #15    02014B50 (33639248)\n-557C Created Zip Spec      14 (20) '2.0'\n-557D Created OS            03 (3) 'Unix'\n-557E Extract Zip Spec      14 (20) '2.0'\n-557F Extract OS            00 (0) 'MS-DOS'\n-5580 General Purpose Flag  0800 (2048)\n+55A0 CENTRAL HEADER #15    02014B50 (33639248)\n+55A4 Created Zip Spec      14 (20) '2.0'\n+55A5 Created OS            03 (3) 'Unix'\n+55A6 Extract Zip Spec      14 (20) '2.0'\n+55A7 Extract OS            00 (0) 'MS-DOS'\n+55A8 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-5582 Compression Method    0008 (8) 'Deflated'\n-5584 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5588 CRC                   86E2B4B4 (2263004340)\n-558C Compressed Size       00000F6D (3949)\n-5590 Uncompressed Size     00002C5E (11358)\n-5594 Filename Length       0010 (16)\n-5596 Extra Length          0000 (0)\n-5598 Comment Length        0000 (0)\n-559A Disk Start            0000 (0)\n-559C Int File Attributes   0000 (0)\n+55AA Compression Method    0008 (8) 'Deflated'\n+55AC Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+55B0 CRC                   86E2B4B4 (2263004340)\n+55B4 Compressed Size       00000F6D (3949)\n+55B8 Uncompressed Size     00002C5E (11358)\n+55BC Filename Length       0010 (16)\n+55BE Extra Length          0000 (0)\n+55C0 Comment Length        0000 (0)\n+55C2 Disk Start            0000 (0)\n+55C4 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-559E Ext File Attributes   81A40000 (2175008768)\n+55C6 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-55A2 Local Header Offset   0000062F (1583)\n-55A6 Filename              'XXXXXXXXXXXXXXXX'\n+55CA Local Header Offset   0000062F (1583)\n+55CE Filename              'XXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x55A6: Filename 'XXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x55CE: Filename 'XXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-55B6 CENTRAL HEADER #16    02014B50 (33639248)\n-55BA Created Zip Spec      14 (20) '2.0'\n-55BB Created OS            03 (3) 'Unix'\n-55BC Extract Zip Spec      14 (20) '2.0'\n-55BD Extract OS            00 (0) 'MS-DOS'\n-55BE General Purpose Flag  0800 (2048)\n+55DE CENTRAL HEADER #16    02014B50 (33639248)\n+55E2 Created Zip Spec      14 (20) '2.0'\n+55E3 Created OS            03 (3) 'Unix'\n+55E4 Extract Zip Spec      14 (20) '2.0'\n+55E5 Extract OS            00 (0) 'MS-DOS'\n+55E6 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-55C0 Compression Method    0008 (8) 'Deflated'\n-55C2 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-55C6 CRC                   4AA4AFA5 (1252306853)\n-55CA Compressed Size       00000081 (129)\n-55CE Uncompressed Size     000000B1 (177)\n-55D2 Filename Length       000F (15)\n-55D4 Extra Length          0000 (0)\n-55D6 Comment Length        0000 (0)\n-55D8 Disk Start            0000 (0)\n-55DA Int File Attributes   0000 (0)\n+55E8 Compression Method    0008 (8) 'Deflated'\n+55EA Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+55EE CRC                   4AA4AFA5 (1252306853)\n+55F2 Compressed Size       00000081 (129)\n+55F6 Uncompressed Size     000000B1 (177)\n+55FA Filename Length       000F (15)\n+55FC Extra Length          0000 (0)\n+55FE Comment Length        0000 (0)\n+5600 Disk Start            0000 (0)\n+5602 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-55DC Ext File Attributes   81A40000 (2175008768)\n+5604 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-55E0 Local Header Offset   000015CA (5578)\n-55E4 Filename              'XXXXXXXXXXXXXXX'\n+5608 Local Header Offset   000015CA (5578)\n+560C Filename              'XXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x55E4: Filename 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x560C: Filename 'XXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-55F3 CENTRAL HEADER #17    02014B50 (33639248)\n-55F7 Created Zip Spec      14 (20) '2.0'\n-55F8 Created OS            03 (3) 'Unix'\n-55F9 Extract Zip Spec      14 (20) '2.0'\n-55FA Extract OS            00 (0) 'MS-DOS'\n-55FB General Purpose Flag  0800 (2048)\n+561B CENTRAL HEADER #17    02014B50 (33639248)\n+561F Created Zip Spec      14 (20) '2.0'\n+5620 Created OS            03 (3) 'Unix'\n+5621 Extract Zip Spec      14 (20) '2.0'\n+5622 Extract OS            00 (0) 'MS-DOS'\n+5623 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-55FD Compression Method    0008 (8) 'Deflated'\n-55FF Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5603 CRC                   9FEC08A1 (2683046049)\n-5607 Compressed Size       0000067E (1662)\n-560B Uncompressed Size     0000287C (10364)\n-560F Filename Length       0047 (71)\n-5611 Extra Length          0000 (0)\n-5613 Comment Length        0000 (0)\n-5615 Disk Start            0000 (0)\n-5617 Int File Attributes   0000 (0)\n+5625 Compression Method    0008 (8) 'Deflated'\n+5627 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+562B CRC                   9FEC08A1 (2683046049)\n+562F Compressed Size       0000067E (1662)\n+5633 Uncompressed Size     0000287C (10364)\n+5637 Filename Length       0047 (71)\n+5639 Extra Length          0000 (0)\n+563B Comment Length        0000 (0)\n+563D Disk Start            0000 (0)\n+563F Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5619 Ext File Attributes   81A40000 (2175008768)\n+5641 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-561D Local Header Offset   00001678 (5752)\n-5621 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5645 Local Header Offset   00001678 (5752)\n+5649 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5621: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5649: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-5668 CENTRAL HEADER #18    02014B50 (33639248)\n-566C Created Zip Spec      14 (20) '2.0'\n-566D Created OS            03 (3) 'Unix'\n-566E Extract Zip Spec      14 (20) '2.0'\n-566F Extract OS            00 (0) 'MS-DOS'\n-5670 General Purpose Flag  0800 (2048)\n+5690 CENTRAL HEADER #18    02014B50 (33639248)\n+5694 Created Zip Spec      14 (20) '2.0'\n+5695 Created OS            03 (3) 'Unix'\n+5696 Extract Zip Spec      14 (20) '2.0'\n+5697 Extract OS            00 (0) 'MS-DOS'\n+5698 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-5672 Compression Method    0008 (8) 'Deflated'\n-5674 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5678 CRC                   399B609C (966484124)\n-567C Compressed Size       0000031A (794)\n-5680 Uncompressed Size     000007FB (2043)\n-5684 Filename Length       004E (78)\n-5686 Extra Length          0000 (0)\n-5688 Comment Length        0000 (0)\n-568A Disk Start            0000 (0)\n-568C Int File Attributes   0000 (0)\n+569A Compression Method    0008 (8) 'Deflated'\n+569C Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+56A0 CRC                   399B609C (966484124)\n+56A4 Compressed Size       0000031A (794)\n+56A8 Uncompressed Size     000007FB (2043)\n+56AC Filename Length       004E (78)\n+56AE Extra Length          0000 (0)\n+56B0 Comment Length        0000 (0)\n+56B2 Disk Start            0000 (0)\n+56B4 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-568E Ext File Attributes   81A40000 (2175008768)\n+56B6 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-5692 Local Header Offset   00001D5B (7515)\n-5696 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+56BA Local Header Offset   00001D5B (7515)\n+56BE Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5696: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x56BE: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-56E4 CENTRAL HEADER #19    02014B50 (33639248)\n-56E8 Created Zip Spec      14 (20) '2.0'\n-56E9 Created OS            03 (3) 'Unix'\n-56EA Extract Zip Spec      14 (20) '2.0'\n-56EB Extract OS            00 (0) 'MS-DOS'\n-56EC General Purpose Flag  0800 (2048)\n+570C CENTRAL HEADER #19    02014B50 (33639248)\n+5710 Created Zip Spec      14 (20) '2.0'\n+5711 Created OS            03 (3) 'Unix'\n+5712 Extract Zip Spec      14 (20) '2.0'\n+5713 Extract OS            00 (0) 'MS-DOS'\n+5714 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-56EE Compression Method    0008 (8) 'Deflated'\n-56F0 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-56F4 CRC                   9ADB27A7 (2598053799)\n-56F8 Compressed Size       0000077A (1914)\n-56FC Uncompressed Size     00001AC6 (6854)\n-5700 Filename Length       003B (59)\n-5702 Extra Length          0000 (0)\n-5704 Comment Length        0000 (0)\n-5706 Disk Start            0000 (0)\n-5708 Int File Attributes   0000 (0)\n+5716 Compression Method    0008 (8) 'Deflated'\n+5718 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+571C CRC                   9371F11F (2473718047)\n+5720 Compressed Size       00000788 (1928)\n+5724 Uncompressed Size     00001B9D (7069)\n+5728 Filename Length       003B (59)\n+572A Extra Length          0000 (0)\n+572C Comment Length        0000 (0)\n+572E Disk Start            0000 (0)\n+5730 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-570A Ext File Attributes   81A40000 (2175008768)\n+5732 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-570E Local Header Offset   000020E1 (8417)\n-5712 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5736 Local Header Offset   000020E1 (8417)\n+573A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5712: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x573A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-574D CENTRAL HEADER #20    02014B50 (33639248)\n-5751 Created Zip Spec      14 (20) '2.0'\n-5752 Created OS            03 (3) 'Unix'\n-5753 Extract Zip Spec      14 (20) '2.0'\n-5754 Extract OS            00 (0) 'MS-DOS'\n-5755 General Purpose Flag  0800 (2048)\n+5775 CENTRAL HEADER #20    02014B50 (33639248)\n+5779 Created Zip Spec      14 (20) '2.0'\n+577A Created OS            03 (3) 'Unix'\n+577B Extract Zip Spec      14 (20) '2.0'\n+577C Extract OS            00 (0) 'MS-DOS'\n+577D General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-5757 Compression Method    0008 (8) 'Deflated'\n-5759 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-575D CRC                   79FA59C0 (2046450112)\n-5761 Compressed Size       0000082D (2093)\n-5765 Uncompressed Size     00001CDC (7388)\n-5769 Filename Length       003A (58)\n-576B Extra Length          0000 (0)\n-576D Comment Length        0000 (0)\n-576F Disk Start            0000 (0)\n-5771 Int File Attributes   0000 (0)\n+577F Compression Method    0008 (8) 'Deflated'\n+5781 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5785 CRC                   79FA59C0 (2046450112)\n+5789 Compressed Size       0000082D (2093)\n+578D Uncompressed Size     00001CDC (7388)\n+5791 Filename Length       003A (58)\n+5793 Extra Length          0000 (0)\n+5795 Comment Length        0000 (0)\n+5797 Disk Start            0000 (0)\n+5799 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5773 Ext File Attributes   81A40000 (2175008768)\n+579B Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-5777 Local Header Offset   000028B4 (10420)\n-577B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+579F Local Header Offset   000028C2 (10434)\n+57A3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x577B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x57A3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-57B5 CENTRAL HEADER #21    02014B50 (33639248)\n-57B9 Created Zip Spec      14 (20) '2.0'\n-57BA Created OS            03 (3) 'Unix'\n-57BB Extract Zip Spec      14 (20) '2.0'\n-57BC Extract OS            00 (0) 'MS-DOS'\n-57BD General Purpose Flag  0800 (2048)\n+57DD CENTRAL HEADER #21    02014B50 (33639248)\n+57E1 Created Zip Spec      14 (20) '2.0'\n+57E2 Created OS            03 (3) 'Unix'\n+57E3 Extract Zip Spec      14 (20) '2.0'\n+57E4 Extract OS            00 (0) 'MS-DOS'\n+57E5 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-57BF Compression Method    0008 (8) 'Deflated'\n-57C1 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-57C5 CRC                   0C148F63 (202674019)\n-57C9 Compressed Size       000006DE (1758)\n-57CD Uncompressed Size     00001A7A (6778)\n-57D1 Filename Length       0040 (64)\n-57D3 Extra Length          0000 (0)\n-57D5 Comment Length        0000 (0)\n-57D7 Disk Start            0000 (0)\n-57D9 Int File Attributes   0000 (0)\n+57E7 Compression Method    0008 (8) 'Deflated'\n+57E9 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+57ED CRC                   EF9DBA26 (4020091430)\n+57F1 Compressed Size       000006E9 (1769)\n+57F5 Uncompressed Size     00001B24 (6948)\n+57F9 Filename Length       0040 (64)\n+57FB Extra Length          0000 (0)\n+57FD Comment Length        0000 (0)\n+57FF Disk Start            0000 (0)\n+5801 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-57DB Ext File Attributes   81A40000 (2175008768)\n+5803 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-57DF Local Header Offset   00003139 (12601)\n-57E3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5807 Local Header Offset   00003147 (12615)\n+580B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x57E3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x580B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-5823 CENTRAL HEADER #22    02014B50 (33639248)\n-5827 Created Zip Spec      14 (20) '2.0'\n-5828 Created OS            03 (3) 'Unix'\n-5829 Extract Zip Spec      14 (20) '2.0'\n-582A Extract OS            00 (0) 'MS-DOS'\n-582B General Purpose Flag  0800 (2048)\n+584B CENTRAL HEADER #22    02014B50 (33639248)\n+584F Created Zip Spec      14 (20) '2.0'\n+5850 Created OS            03 (3) 'Unix'\n+5851 Extract Zip Spec      14 (20) '2.0'\n+5852 Extract OS            00 (0) 'MS-DOS'\n+5853 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-582D Compression Method    0008 (8) 'Deflated'\n-582F Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5833 CRC                   C0DCFA8D (3235707533)\n-5837 Compressed Size       000004E7 (1255)\n-583B Uncompressed Size     00001319 (4889)\n-583F Filename Length       003B (59)\n-5841 Extra Length          0000 (0)\n-5843 Comment Length        0000 (0)\n-5845 Disk Start            0000 (0)\n-5847 Int File Attributes   0000 (0)\n+5855 Compression Method    0008 (8) 'Deflated'\n+5857 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+585B CRC                   A0D2AF4F (2698161999)\n+585F Compressed Size       000004F4 (1268)\n+5863 Uncompressed Size     00001399 (5017)\n+5867 Filename Length       003B (59)\n+5869 Extra Length          0000 (0)\n+586B Comment Length        0000 (0)\n+586D Disk Start            0000 (0)\n+586F Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5849 Ext File Attributes   81A40000 (2175008768)\n+5871 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-584D Local Header Offset   00003875 (14453)\n-5851 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5875 Local Header Offset   0000388E (14478)\n+5879 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5851: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5879: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-588C CENTRAL HEADER #23    02014B50 (33639248)\n-5890 Created Zip Spec      14 (20) '2.0'\n-5891 Created OS            03 (3) 'Unix'\n-5892 Extract Zip Spec      14 (20) '2.0'\n-5893 Extract OS            00 (0) 'MS-DOS'\n-5894 General Purpose Flag  0800 (2048)\n+58B4 CENTRAL HEADER #23    02014B50 (33639248)\n+58B8 Created Zip Spec      14 (20) '2.0'\n+58B9 Created OS            03 (3) 'Unix'\n+58BA Extract Zip Spec      14 (20) '2.0'\n+58BB Extract OS            00 (0) 'MS-DOS'\n+58BC General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-5896 Compression Method    0008 (8) 'Deflated'\n-5898 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-589C CRC                   4C151237 (1276449335)\n-58A0 Compressed Size       0000039C (924)\n-58A4 Uncompressed Size     00000CD1 (3281)\n-58A8 Filename Length       003A (58)\n-58AA Extra Length          0000 (0)\n-58AC Comment Length        0000 (0)\n-58AE Disk Start            0000 (0)\n-58B0 Int File Attributes   0000 (0)\n+58BE Compression Method    0008 (8) 'Deflated'\n+58C0 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+58C4 CRC                   79ACCC49 (2041367625)\n+58C8 Compressed Size       000003A5 (933)\n+58CC Uncompressed Size     00000D46 (3398)\n+58D0 Filename Length       003A (58)\n+58D2 Extra Length          0000 (0)\n+58D4 Comment Length        0000 (0)\n+58D6 Disk Start            0000 (0)\n+58D8 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-58B2 Ext File Attributes   81A40000 (2175008768)\n+58DA Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-58B6 Local Header Offset   00003DB5 (15797)\n-58BA Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+58DE Local Header Offset   00003DDB (15835)\n+58E2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x58BA: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x58E2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-58F4 CENTRAL HEADER #24    02014B50 (33639248)\n-58F8 Created Zip Spec      14 (20) '2.0'\n-58F9 Created OS            03 (3) 'Unix'\n-58FA Extract Zip Spec      14 (20) '2.0'\n-58FB Extract OS            00 (0) 'MS-DOS'\n-58FC General Purpose Flag  0800 (2048)\n+591C CENTRAL HEADER #24    02014B50 (33639248)\n+5920 Created Zip Spec      14 (20) '2.0'\n+5921 Created OS            03 (3) 'Unix'\n+5922 Extract Zip Spec      14 (20) '2.0'\n+5923 Extract OS            00 (0) 'MS-DOS'\n+5924 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-58FE Compression Method    0008 (8) 'Deflated'\n-5900 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5904 CRC                   E768197F (3882359167)\n-5908 Compressed Size       00000773 (1907)\n-590C Uncompressed Size     00001A69 (6761)\n-5910 Filename Length       003A (58)\n-5912 Extra Length          0000 (0)\n-5914 Comment Length        0000 (0)\n-5916 Disk Start            0000 (0)\n-5918 Int File Attributes   0000 (0)\n+5926 Compression Method    0008 (8) 'Deflated'\n+5928 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+592C CRC                   E768197F (3882359167)\n+5930 Compressed Size       00000773 (1907)\n+5934 Uncompressed Size     00001A69 (6761)\n+5938 Filename Length       003A (58)\n+593A Extra Length          0000 (0)\n+593C Comment Length        0000 (0)\n+593E Disk Start            0000 (0)\n+5940 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-591A Ext File Attributes   81A40000 (2175008768)\n+5942 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-591E Local Header Offset   000041A9 (16809)\n-5922 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5946 Local Header Offset   000041D8 (16856)\n+594A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5922: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x594A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-595C CENTRAL HEADER #25    02014B50 (33639248)\n-5960 Created Zip Spec      14 (20) '2.0'\n-5961 Created OS            03 (3) 'Unix'\n-5962 Extract Zip Spec      14 (20) '2.0'\n-5963 Extract OS            00 (0) 'MS-DOS'\n-5964 General Purpose Flag  0800 (2048)\n+5984 CENTRAL HEADER #25    02014B50 (33639248)\n+5988 Created Zip Spec      14 (20) '2.0'\n+5989 Created OS            03 (3) 'Unix'\n+598A Extract Zip Spec      14 (20) '2.0'\n+598B Extract OS            00 (0) 'MS-DOS'\n+598C General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-5966 Compression Method    0008 (8) 'Deflated'\n-5968 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-596C CRC                   010536C2 (17118914)\n-5970 Compressed Size       000002AF (687)\n-5974 Uncompressed Size     00000632 (1586)\n-5978 Filename Length       003F (63)\n-597A Extra Length          0000 (0)\n-597C Comment Length        0000 (0)\n-597E Disk Start            0000 (0)\n-5980 Int File Attributes   0000 (0)\n+598E Compression Method    0008 (8) 'Deflated'\n+5990 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5994 CRC                   010536C2 (17118914)\n+5998 Compressed Size       000002AF (687)\n+599C Uncompressed Size     00000632 (1586)\n+59A0 Filename Length       003F (63)\n+59A2 Extra Length          0000 (0)\n+59A4 Comment Length        0000 (0)\n+59A6 Disk Start            0000 (0)\n+59A8 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5982 Ext File Attributes   81A40000 (2175008768)\n+59AA Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-5986 Local Header Offset   00004974 (18804)\n-598A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+59AE Local Header Offset   000049A3 (18851)\n+59B2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x598A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x59B2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-59C9 CENTRAL HEADER #26    02014B50 (33639248)\n-59CD Created Zip Spec      14 (20) '2.0'\n-59CE Created OS            03 (3) 'Unix'\n-59CF Extract Zip Spec      14 (20) '2.0'\n-59D0 Extract OS            00 (0) 'MS-DOS'\n-59D1 General Purpose Flag  0800 (2048)\n+59F1 CENTRAL HEADER #26    02014B50 (33639248)\n+59F5 Created Zip Spec      14 (20) '2.0'\n+59F6 Created OS            03 (3) 'Unix'\n+59F7 Extract Zip Spec      14 (20) '2.0'\n+59F8 Extract OS            00 (0) 'MS-DOS'\n+59F9 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-59D3 Compression Method    0008 (8) 'Deflated'\n-59D5 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-59D9 CRC                   47B1243F (1202791487)\n-59DD Compressed Size       00000038 (56)\n-59E1 Uncompressed Size     00000041 (65)\n-59E5 Filename Length       003D (61)\n-59E7 Extra Length          0000 (0)\n-59E9 Comment Length        0000 (0)\n-59EB Disk Start            0000 (0)\n-59ED Int File Attributes   0000 (0)\n+59FB Compression Method    0008 (8) 'Deflated'\n+59FD Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5A01 CRC                   47B1243F (1202791487)\n+5A05 Compressed Size       00000038 (56)\n+5A09 Uncompressed Size     00000041 (65)\n+5A0D Filename Length       003D (61)\n+5A0F Extra Length          0000 (0)\n+5A11 Comment Length        0000 (0)\n+5A13 Disk Start            0000 (0)\n+5A15 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-59EF Ext File Attributes   81A40000 (2175008768)\n+5A17 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-59F3 Local Header Offset   00004C80 (19584)\n-59F7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5A1B Local Header Offset   00004CAF (19631)\n+5A1F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x59F7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5A1F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-5A34 CENTRAL HEADER #27    02014B50 (33639248)\n-5A38 Created Zip Spec      14 (20) '2.0'\n-5A39 Created OS            03 (3) 'Unix'\n-5A3A Extract Zip Spec      14 (20) '2.0'\n-5A3B Extract OS            00 (0) 'MS-DOS'\n-5A3C General Purpose Flag  0800 (2048)\n+5A5C CENTRAL HEADER #27    02014B50 (33639248)\n+5A60 Created Zip Spec      14 (20) '2.0'\n+5A61 Created OS            03 (3) 'Unix'\n+5A62 Extract Zip Spec      14 (20) '2.0'\n+5A63 Extract OS            00 (0) 'MS-DOS'\n+5A64 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-5A3E Compression Method    0008 (8) 'Deflated'\n-5A40 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5A44 CRC                   4EEF2300 (1324294912)\n-5A48 Compressed Size       00000398 (920)\n-5A4C Uncompressed Size     00000916 (2326)\n-5A50 Filename Length       003C (60)\n-5A52 Extra Length          0000 (0)\n-5A54 Comment Length        0000 (0)\n-5A56 Disk Start            0000 (0)\n-5A58 Int File Attributes   0000 (0)\n+5A66 Compression Method    0008 (8) 'Deflated'\n+5A68 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5A6C CRC                   53B720C2 (1404510402)\n+5A70 Compressed Size       00000391 (913)\n+5A74 Uncompressed Size     000008DC (2268)\n+5A78 Filename Length       003C (60)\n+5A7A Extra Length          0000 (0)\n+5A7C Comment Length        0000 (0)\n+5A7E Disk Start            0000 (0)\n+5A80 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5A5A Ext File Attributes   81A40000 (2175008768)\n+5A82 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-5A5E Local Header Offset   00004D13 (19731)\n-5A62 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5A86 Local Header Offset   00004D42 (19778)\n+5A8A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5A62: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5A8A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-5A9E CENTRAL HEADER #28    02014B50 (33639248)\n-5AA2 Created Zip Spec      14 (20) '2.0'\n-5AA3 Created OS            03 (3) 'Unix'\n-5AA4 Extract Zip Spec      14 (20) '2.0'\n-5AA5 Extract OS            00 (0) 'MS-DOS'\n-5AA6 General Purpose Flag  0800 (2048)\n+5AC6 CENTRAL HEADER #28    02014B50 (33639248)\n+5ACA Created Zip Spec      14 (20) '2.0'\n+5ACB Created OS            03 (3) 'Unix'\n+5ACC Extract Zip Spec      14 (20) '2.0'\n+5ACD Extract OS            00 (0) 'MS-DOS'\n+5ACE General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-5AA8 Compression Method    0008 (8) 'Deflated'\n-5AAA Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-5AAE CRC                   7D6B90B6 (2104201398)\n-5AB2 Compressed Size       00000049 (73)\n-5AB6 Uncompressed Size     0000004B (75)\n-5ABA Filename Length       0043 (67)\n-5ABC Extra Length          0000 (0)\n-5ABE Comment Length        0000 (0)\n-5AC0 Disk Start            0000 (0)\n-5AC2 Int File Attributes   0000 (0)\n+5AD0 Compression Method    0008 (8) 'Deflated'\n+5AD2 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+5AD6 CRC                   7D6B90B6 (2104201398)\n+5ADA Compressed Size       00000049 (73)\n+5ADE Uncompressed Size     0000004B (75)\n+5AE2 Filename Length       0043 (67)\n+5AE4 Extra Length          0000 (0)\n+5AE6 Comment Length        0000 (0)\n+5AE8 Disk Start            0000 (0)\n+5AEA Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-5AC4 Ext File Attributes   81A40000 (2175008768)\n+5AEC Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-5AC8 Local Header Offset   00005105 (20741)\n-5ACC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+5AF0 Local Header Offset   0000512D (20781)\n+5AF4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x5ACC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5AF4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-5B0F END CENTRAL HEADER    06054B50 (101010256)\n-5B13 Number of this disk   0000 (0)\n-5B15 Central Dir Disk no   0000 (0)\n-5B17 Entries in this disk  001C (28)\n-5B19 Total Entries         001C (28)\n-5B1B Size of Central Dir   00000960 (2400)\n-5B1F Offset to Central Dir 000051AF (20911)\n-5B23 Comment Length        0000 (0)\n+5B37 END CENTRAL HEADER    06054B50 (101010256)\n+5B3B Number of this disk   0000 (0)\n+5B3D Central Dir Disk no   0000 (0)\n+5B3F Entries in this disk  001C (28)\n+5B41 Total Entries         001C (28)\n+5B43 Size of Central Dir   00000960 (2400)\n+5B47 Offset to Central Dir 000051D7 (20951)\n+5B4B Comment Length        0000 (0)\n #\n # Error Count: 12\n # Warning Count: 68\n #\n # Done\n"}, {"source1": "org/apache/dubbo/remoting/transport/netty/NettyChannel.java", "source2": "org/apache/dubbo/remoting/transport/netty/NettyChannel.java", "comments": ["Ordering differences only"], "unified_diff": "@@ -1,215 +1,215 @@\n-/*\n- * Licensed to the Apache Software Foundation (ASF) under one or more\n- * contributor license agreements.  See the NOTICE file distributed with\n- * this work for additional information regarding copyright ownership.\n- * The ASF licenses this file to You under the Apache License, Version 2.0\n- * (the \"License\"); you may not use this file except in compliance with\n- * the License.  You may obtain a copy of the License at\n- *\n- *     http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an \"AS IS\" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-package org.apache.dubbo.remoting.transport.netty;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.common.logger.Logger;\n-import org.apache.dubbo.common.logger.LoggerFactory;\n-import org.apache.dubbo.remoting.ChannelHandler;\n-import org.apache.dubbo.remoting.RemotingException;\n-import org.apache.dubbo.remoting.transport.AbstractChannel;\n-import org.apache.dubbo.remoting.utils.PayloadDropper;\n-\n-import org.jboss.netty.channel.ChannelFuture;\n-\n-import java.net.InetSocketAddress;\n-import java.util.Map;\n-import java.util.concurrent.ConcurrentHashMap;\n-import java.util.concurrent.ConcurrentMap;\n-\n-import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_TIMEOUT;\n-import static org.apache.dubbo.common.constants.CommonConstants.TIMEOUT_KEY;\n-\n-/**\n- * NettyChannel.\n- */\n-final class NettyChannel extends AbstractChannel {\n-\n-    private static final Logger logger = LoggerFactory.getLogger(NettyChannel.class);\n-\n-    private static final ConcurrentMap<org.jboss.netty.channel.Channel, NettyChannel> CHANNEL_MAP = new ConcurrentHashMap<org.jboss.netty.channel.Channel, NettyChannel>();\n-\n-    private final org.jboss.netty.channel.Channel channel;\n-\n-    private final Map<String, Object> attributes = new ConcurrentHashMap<String, Object>();\n-\n-    private NettyChannel(org.jboss.netty.channel.Channel channel, URL url, ChannelHandler handler) {\n-        super(url, handler);\n-        if (channel == null) {\n-            throw new IllegalArgumentException(\"netty channel == null;\");\n-        }\n-        this.channel = channel;\n-    }\n-\n-    static NettyChannel getOrAddChannel(org.jboss.netty.channel.Channel ch, URL url, ChannelHandler handler) {\n-        if (ch == null) {\n-            return null;\n-        }\n-        NettyChannel ret = CHANNEL_MAP.get(ch);\n-        if (ret == null) {\n-            NettyChannel nc = new NettyChannel(ch, url, handler);\n-            if (ch.isConnected()) {\n-                ret = CHANNEL_MAP.putIfAbsent(ch, nc);\n-            }\n-            if (ret == null) {\n-                ret = nc;\n-            }\n-        }\n-        return ret;\n-    }\n-\n-    static void removeChannelIfDisconnected(org.jboss.netty.channel.Channel ch) {\n-        if (ch != null && !ch.isConnected()) {\n-            CHANNEL_MAP.remove(ch);\n-        }\n-    }\n-\n-    @Override\n-    public InetSocketAddress getLocalAddress() {\n-        return (InetSocketAddress) channel.getLocalAddress();\n-    }\n-\n-    @Override\n-    public InetSocketAddress getRemoteAddress() {\n-        return (InetSocketAddress) channel.getRemoteAddress();\n-    }\n-\n-    @Override\n-    public boolean isConnected() {\n-        return channel.isConnected();\n-    }\n-\n-    @Override\n-    public void send(Object message, boolean sent) throws RemotingException {\n-        super.send(message, sent);\n-\n-        boolean success = true;\n-        int timeout = 0;\n-        try {\n-            ChannelFuture future = channel.write(message);\n-            if (sent) {\n-                timeout = getUrl().getPositiveParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT);\n-                success = future.await(timeout);\n-            }\n-            Throwable cause = future.getCause();\n-            if (cause != null) {\n-                throw cause;\n-            }\n-        } catch (Throwable e) {\n-            throw new RemotingException(this, \"Failed to send message \" + PayloadDropper.getRequestWithoutData(message) + \" to \" + getRemoteAddress() + \", cause: \" + e.getMessage(), e);\n-        }\n-\n-        if (!success) {\n-            throw new RemotingException(this, \"Failed to send message \" + PayloadDropper.getRequestWithoutData(message) + \" to \" + getRemoteAddress()\n-                    + \"in timeout(\" + timeout + \"ms) limit\");\n-        }\n-    }\n-\n-    @Override\n-    public void close() {\n-        try {\n-            super.close();\n-        } catch (Exception e) {\n-            logger.warn(e.getMessage(), e);\n-        }\n-        try {\n-            removeChannelIfDisconnected(channel);\n-        } catch (Exception e) {\n-            logger.warn(e.getMessage(), e);\n-        }\n-        try {\n-            attributes.clear();\n-        } catch (Exception e) {\n-            logger.warn(e.getMessage(), e);\n-        }\n-        try {\n-            if (logger.isInfoEnabled()) {\n-                logger.info(\"Close netty channel \" + channel);\n-            }\n-            channel.close();\n-        } catch (Exception e) {\n-            logger.warn(e.getMessage(), e);\n-        }\n-    }\n-\n-    @Override\n-    public boolean hasAttribute(String key) {\n-        return attributes.containsKey(key);\n-    }\n-\n-    @Override\n-    public Object getAttribute(String key) {\n-        return attributes.get(key);\n-    }\n-\n-    @Override\n-    public void setAttribute(String key, Object value) {\n-        if (value == null) { // The null value unallowed in the ConcurrentHashMap.\n-            attributes.remove(key);\n-        } else {\n-            attributes.put(key, value);\n-        }\n-    }\n-\n-    @Override\n-    public void removeAttribute(String key) {\n-        attributes.remove(key);\n-    }\n-\n-    @Override\n-    public int hashCode() {\n-        final int prime = 31;\n-        int result = 1;\n-        result = prime * result + ((channel == null) ? 0 : channel.hashCode());\n-        return result;\n-    }\n-\n-    @Override\n-    public boolean equals(Object obj) {\n-        if (this == obj) {\n-            return true;\n-        }\n-        if (obj == null) {\n-            return false;\n-        }\n-\n-        // FIXME: a hack to make org.apache.dubbo.remoting.exchange.support.DefaultFuture.closeChannel work\n-        if (obj instanceof NettyClient) {\n-            NettyClient client = (NettyClient) obj;\n-            return channel.equals(client.getNettyChannel());\n-        }\n-\n-        if (getClass() != obj.getClass()) {\n-            return false;\n-        }\n-        NettyChannel other = (NettyChannel) obj;\n-        if (channel == null) {\n-            if (other.channel != null) {\n-                return false;\n-            }\n-        } else if (!channel.equals(other.channel)) {\n-            return false;\n-        }\n-        return true;\n-    }\n-\n-    @Override\n-    public String toString() {\n-        return \"NettyChannel [channel=\" + channel + \"]\";\n-    }\n-\n-}\n+/*\r\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\r\n+ * contributor license agreements.  See the NOTICE file distributed with\r\n+ * this work for additional information regarding copyright ownership.\r\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\r\n+ * (the \"License\"); you may not use this file except in compliance with\r\n+ * the License.  You may obtain a copy of the License at\r\n+ *\r\n+ *     http://www.apache.org/licenses/LICENSE-2.0\r\n+ *\r\n+ * Unless required by applicable law or agreed to in writing, software\r\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n+ * See the License for the specific language governing permissions and\r\n+ * limitations under the License.\r\n+ */\r\n+package org.apache.dubbo.remoting.transport.netty;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.common.logger.Logger;\r\n+import org.apache.dubbo.common.logger.LoggerFactory;\r\n+import org.apache.dubbo.remoting.ChannelHandler;\r\n+import org.apache.dubbo.remoting.RemotingException;\r\n+import org.apache.dubbo.remoting.transport.AbstractChannel;\r\n+import org.apache.dubbo.remoting.utils.PayloadDropper;\r\n+\r\n+import org.jboss.netty.channel.ChannelFuture;\r\n+\r\n+import java.net.InetSocketAddress;\r\n+import java.util.Map;\r\n+import java.util.concurrent.ConcurrentHashMap;\r\n+import java.util.concurrent.ConcurrentMap;\r\n+\r\n+import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_TIMEOUT;\r\n+import static org.apache.dubbo.common.constants.CommonConstants.TIMEOUT_KEY;\r\n+\r\n+/**\r\n+ * NettyChannel.\r\n+ */\r\n+final class NettyChannel extends AbstractChannel {\r\n+\r\n+    private static final Logger logger = LoggerFactory.getLogger(NettyChannel.class);\r\n+\r\n+    private static final ConcurrentMap<org.jboss.netty.channel.Channel, NettyChannel> CHANNEL_MAP = new ConcurrentHashMap<org.jboss.netty.channel.Channel, NettyChannel>();\r\n+\r\n+    private final org.jboss.netty.channel.Channel channel;\r\n+\r\n+    private final Map<String, Object> attributes = new ConcurrentHashMap<String, Object>();\r\n+\r\n+    private NettyChannel(org.jboss.netty.channel.Channel channel, URL url, ChannelHandler handler) {\r\n+        super(url, handler);\r\n+        if (channel == null) {\r\n+            throw new IllegalArgumentException(\"netty channel == null;\");\r\n+        }\r\n+        this.channel = channel;\r\n+    }\r\n+\r\n+    static NettyChannel getOrAddChannel(org.jboss.netty.channel.Channel ch, URL url, ChannelHandler handler) {\r\n+        if (ch == null) {\r\n+            return null;\r\n+        }\r\n+        NettyChannel ret = CHANNEL_MAP.get(ch);\r\n+        if (ret == null) {\r\n+            NettyChannel nc = new NettyChannel(ch, url, handler);\r\n+            if (ch.isConnected()) {\r\n+                ret = CHANNEL_MAP.putIfAbsent(ch, nc);\r\n+            }\r\n+            if (ret == null) {\r\n+                ret = nc;\r\n+            }\r\n+        }\r\n+        return ret;\r\n+    }\r\n+\r\n+    static void removeChannelIfDisconnected(org.jboss.netty.channel.Channel ch) {\r\n+        if (ch != null && !ch.isConnected()) {\r\n+            CHANNEL_MAP.remove(ch);\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public InetSocketAddress getLocalAddress() {\r\n+        return (InetSocketAddress) channel.getLocalAddress();\r\n+    }\r\n+\r\n+    @Override\r\n+    public InetSocketAddress getRemoteAddress() {\r\n+        return (InetSocketAddress) channel.getRemoteAddress();\r\n+    }\r\n+\r\n+    @Override\r\n+    public boolean isConnected() {\r\n+        return channel.isConnected();\r\n+    }\r\n+\r\n+    @Override\r\n+    public void send(Object message, boolean sent) throws RemotingException {\r\n+        super.send(message, sent);\r\n+\r\n+        boolean success = true;\r\n+        int timeout = 0;\r\n+        try {\r\n+            ChannelFuture future = channel.write(message);\r\n+            if (sent) {\r\n+                timeout = getUrl().getPositiveParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT);\r\n+                success = future.await(timeout);\r\n+            }\r\n+            Throwable cause = future.getCause();\r\n+            if (cause != null) {\r\n+                throw cause;\r\n+            }\r\n+        } catch (Throwable e) {\r\n+            throw new RemotingException(this, \"Failed to send message \" + PayloadDropper.getRequestWithoutData(message) + \" to \" + getRemoteAddress() + \", cause: \" + e.getMessage(), e);\r\n+        }\r\n+\r\n+        if (!success) {\r\n+            throw new RemotingException(this, \"Failed to send message \" + PayloadDropper.getRequestWithoutData(message) + \" to \" + getRemoteAddress()\r\n+                    + \"in timeout(\" + timeout + \"ms) limit\");\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void close() {\r\n+        try {\r\n+            super.close();\r\n+        } catch (Exception e) {\r\n+            logger.warn(e.getMessage(), e);\r\n+        }\r\n+        try {\r\n+            removeChannelIfDisconnected(channel);\r\n+        } catch (Exception e) {\r\n+            logger.warn(e.getMessage(), e);\r\n+        }\r\n+        try {\r\n+            attributes.clear();\r\n+        } catch (Exception e) {\r\n+            logger.warn(e.getMessage(), e);\r\n+        }\r\n+        try {\r\n+            if (logger.isInfoEnabled()) {\r\n+                logger.info(\"Close netty channel \" + channel);\r\n+            }\r\n+            channel.close();\r\n+        } catch (Exception e) {\r\n+            logger.warn(e.getMessage(), e);\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public boolean hasAttribute(String key) {\r\n+        return attributes.containsKey(key);\r\n+    }\r\n+\r\n+    @Override\r\n+    public Object getAttribute(String key) {\r\n+        return attributes.get(key);\r\n+    }\r\n+\r\n+    @Override\r\n+    public void setAttribute(String key, Object value) {\r\n+        if (value == null) { // The null value unallowed in the ConcurrentHashMap.\r\n+            attributes.remove(key);\r\n+        } else {\r\n+            attributes.put(key, value);\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void removeAttribute(String key) {\r\n+        attributes.remove(key);\r\n+    }\r\n+\r\n+    @Override\r\n+    public int hashCode() {\r\n+        final int prime = 31;\r\n+        int result = 1;\r\n+        result = prime * result + ((channel == null) ? 0 : channel.hashCode());\r\n+        return result;\r\n+    }\r\n+\r\n+    @Override\r\n+    public boolean equals(Object obj) {\r\n+        if (this == obj) {\r\n+            return true;\r\n+        }\r\n+        if (obj == null) {\r\n+            return false;\r\n+        }\r\n+\r\n+        // FIXME: a hack to make org.apache.dubbo.remoting.exchange.support.DefaultFuture.closeChannel work\r\n+        if (obj instanceof NettyClient) {\r\n+            NettyClient client = (NettyClient) obj;\r\n+            return channel.equals(client.getNettyChannel());\r\n+        }\r\n+\r\n+        if (getClass() != obj.getClass()) {\r\n+            return false;\r\n+        }\r\n+        NettyChannel other = (NettyChannel) obj;\r\n+        if (channel == null) {\r\n+            if (other.channel != null) {\r\n+                return false;\r\n+            }\r\n+        } else if (!channel.equals(other.channel)) {\r\n+            return false;\r\n+        }\r\n+        return true;\r\n+    }\r\n+\r\n+    @Override\r\n+    public String toString() {\r\n+        return \"NettyChannel [channel=\" + channel + \"]\";\r\n+    }\r\n+\r\n+}\r\n"}, {"source1": "org/apache/dubbo/remoting/transport/netty/NettyCodecAdapter.java", "source2": "org/apache/dubbo/remoting/transport/netty/NettyCodecAdapter.java", "comments": ["Ordering differences only"], "unified_diff": "@@ -1,171 +1,171 @@\n-/*\n- * Licensed to the Apache Software Foundation (ASF) under one or more\n- * contributor license agreements.  See the NOTICE file distributed with\n- * this work for additional information regarding copyright ownership.\n- * The ASF licenses this file to You under the Apache License, Version 2.0\n- * (the \"License\"); you may not use this file except in compliance with\n- * the License.  You may obtain a copy of the License at\n- *\n- *     http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an \"AS IS\" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-package org.apache.dubbo.remoting.transport.netty;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.remoting.Codec2;\n-import org.apache.dubbo.remoting.buffer.DynamicChannelBuffer;\n-\n-import org.jboss.netty.buffer.ChannelBuffer;\n-import org.jboss.netty.buffer.ChannelBuffers;\n-import org.jboss.netty.channel.Channel;\n-import org.jboss.netty.channel.ChannelHandler;\n-import org.jboss.netty.channel.ChannelHandler.Sharable;\n-import org.jboss.netty.channel.ChannelHandlerContext;\n-import org.jboss.netty.channel.Channels;\n-import org.jboss.netty.channel.ExceptionEvent;\n-import org.jboss.netty.channel.MessageEvent;\n-import org.jboss.netty.channel.SimpleChannelUpstreamHandler;\n-import org.jboss.netty.handler.codec.oneone.OneToOneEncoder;\n-\n-import java.io.IOException;\n-\n-import static org.apache.dubbo.remoting.Constants.BUFFER_KEY;\n-import static org.apache.dubbo.remoting.Constants.DEFAULT_BUFFER_SIZE;\n-import static org.apache.dubbo.remoting.Constants.MAX_BUFFER_SIZE;\n-import static org.apache.dubbo.remoting.Constants.MIN_BUFFER_SIZE;\n-\n-/**\n- * NettyCodecAdapter.\n- */\n-final class NettyCodecAdapter {\n-\n-    private final ChannelHandler encoder = new InternalEncoder();\n-\n-    private final ChannelHandler decoder = new InternalDecoder();\n-\n-    private final Codec2 codec;\n-\n-    private final URL url;\n-\n-    private final int bufferSize;\n-\n-    private final org.apache.dubbo.remoting.ChannelHandler handler;\n-\n-    public NettyCodecAdapter(Codec2 codec, URL url, org.apache.dubbo.remoting.ChannelHandler handler) {\n-        this.codec = codec;\n-        this.url = url;\n-        this.handler = handler;\n-        int b = url.getPositiveParameter(BUFFER_KEY, DEFAULT_BUFFER_SIZE);\n-        this.bufferSize = b >= MIN_BUFFER_SIZE && b <= MAX_BUFFER_SIZE ? b : DEFAULT_BUFFER_SIZE;\n-    }\n-\n-    public ChannelHandler getEncoder() {\n-        return encoder;\n-    }\n-\n-    public ChannelHandler getDecoder() {\n-        return decoder;\n-    }\n-\n-    @Sharable\n-    private class InternalEncoder extends OneToOneEncoder {\n-\n-        @Override\n-        protected Object encode(ChannelHandlerContext ctx, Channel ch, Object msg) throws Exception {\n-            org.apache.dubbo.remoting.buffer.ChannelBuffer buffer =\n-                    org.apache.dubbo.remoting.buffer.ChannelBuffers.dynamicBuffer(1024);\n-            NettyChannel channel = NettyChannel.getOrAddChannel(ch, url, handler);\n-            try {\n-                codec.encode(channel, buffer, msg);\n-            } finally {\n-                NettyChannel.removeChannelIfDisconnected(ch);\n-            }\n-            return ChannelBuffers.wrappedBuffer(buffer.toByteBuffer());\n-        }\n-    }\n-\n-    private class InternalDecoder extends SimpleChannelUpstreamHandler {\n-\n-        private org.apache.dubbo.remoting.buffer.ChannelBuffer buffer =\n-                org.apache.dubbo.remoting.buffer.ChannelBuffers.EMPTY_BUFFER;\n-\n-        @Override\n-        public void messageReceived(ChannelHandlerContext ctx, MessageEvent event) throws Exception {\n-            Object o = event.getMessage();\n-            if (!(o instanceof ChannelBuffer)) {\n-                ctx.sendUpstream(event);\n-                return;\n-            }\n-\n-            ChannelBuffer input = (ChannelBuffer) o;\n-            int readable = input.readableBytes();\n-            if (readable <= 0) {\n-                return;\n-            }\n-\n-            org.apache.dubbo.remoting.buffer.ChannelBuffer message;\n-            if (buffer.readable()) {\n-                if (buffer instanceof DynamicChannelBuffer) {\n-                    buffer.writeBytes(input.toByteBuffer());\n-                    message = buffer;\n-                } else {\n-                    int size = buffer.readableBytes() + input.readableBytes();\n-                    message = org.apache.dubbo.remoting.buffer.ChannelBuffers.dynamicBuffer(\n-                            size > bufferSize ? size : bufferSize);\n-                    message.writeBytes(buffer, buffer.readableBytes());\n-                    message.writeBytes(input.toByteBuffer());\n-                }\n-            } else {\n-                message = org.apache.dubbo.remoting.buffer.ChannelBuffers.wrappedBuffer(\n-                        input.toByteBuffer());\n-            }\n-\n-            NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\n-            Object msg;\n-            int saveReaderIndex;\n-\n-            try {\n-                // decode object.\n-                do {\n-                    saveReaderIndex = message.readerIndex();\n-                    try {\n-                        msg = codec.decode(channel, message);\n-                    } catch (IOException e) {\n-                        buffer = org.apache.dubbo.remoting.buffer.ChannelBuffers.EMPTY_BUFFER;\n-                        throw e;\n-                    }\n-                    if (msg == Codec2.DecodeResult.NEED_MORE_INPUT) {\n-                        message.readerIndex(saveReaderIndex);\n-                        break;\n-                    } else {\n-                        if (saveReaderIndex == message.readerIndex()) {\n-                            buffer = org.apache.dubbo.remoting.buffer.ChannelBuffers.EMPTY_BUFFER;\n-                            throw new IOException(\"Decode without read data.\");\n-                        }\n-                        if (msg != null) {\n-                            Channels.fireMessageReceived(ctx, msg, event.getRemoteAddress());\n-                        }\n-                    }\n-                } while (message.readable());\n-            } finally {\n-                if (message.readable()) {\n-                    message.discardReadBytes();\n-                    buffer = message;\n-                } else {\n-                    buffer = org.apache.dubbo.remoting.buffer.ChannelBuffers.EMPTY_BUFFER;\n-                }\n-                NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\n-            }\n-        }\n-\n-        @Override\n-        public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {\n-            ctx.sendUpstream(e);\n-        }\n-    }\n+/*\r\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\r\n+ * contributor license agreements.  See the NOTICE file distributed with\r\n+ * this work for additional information regarding copyright ownership.\r\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\r\n+ * (the \"License\"); you may not use this file except in compliance with\r\n+ * the License.  You may obtain a copy of the License at\r\n+ *\r\n+ *     http://www.apache.org/licenses/LICENSE-2.0\r\n+ *\r\n+ * Unless required by applicable law or agreed to in writing, software\r\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n+ * See the License for the specific language governing permissions and\r\n+ * limitations under the License.\r\n+ */\r\n+package org.apache.dubbo.remoting.transport.netty;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.remoting.Codec2;\r\n+import org.apache.dubbo.remoting.buffer.DynamicChannelBuffer;\r\n+\r\n+import org.jboss.netty.buffer.ChannelBuffer;\r\n+import org.jboss.netty.buffer.ChannelBuffers;\r\n+import org.jboss.netty.channel.Channel;\r\n+import org.jboss.netty.channel.ChannelHandler;\r\n+import org.jboss.netty.channel.ChannelHandler.Sharable;\r\n+import org.jboss.netty.channel.ChannelHandlerContext;\r\n+import org.jboss.netty.channel.Channels;\r\n+import org.jboss.netty.channel.ExceptionEvent;\r\n+import org.jboss.netty.channel.MessageEvent;\r\n+import org.jboss.netty.channel.SimpleChannelUpstreamHandler;\r\n+import org.jboss.netty.handler.codec.oneone.OneToOneEncoder;\r\n+\r\n+import java.io.IOException;\r\n+\r\n+import static org.apache.dubbo.remoting.Constants.BUFFER_KEY;\r\n+import static org.apache.dubbo.remoting.Constants.DEFAULT_BUFFER_SIZE;\r\n+import static org.apache.dubbo.remoting.Constants.MAX_BUFFER_SIZE;\r\n+import static org.apache.dubbo.remoting.Constants.MIN_BUFFER_SIZE;\r\n+\r\n+/**\r\n+ * NettyCodecAdapter.\r\n+ */\r\n+final class NettyCodecAdapter {\r\n+\r\n+    private final ChannelHandler encoder = new InternalEncoder();\r\n+\r\n+    private final ChannelHandler decoder = new InternalDecoder();\r\n+\r\n+    private final Codec2 codec;\r\n+\r\n+    private final URL url;\r\n+\r\n+    private final int bufferSize;\r\n+\r\n+    private final org.apache.dubbo.remoting.ChannelHandler handler;\r\n+\r\n+    public NettyCodecAdapter(Codec2 codec, URL url, org.apache.dubbo.remoting.ChannelHandler handler) {\r\n+        this.codec = codec;\r\n+        this.url = url;\r\n+        this.handler = handler;\r\n+        int b = url.getPositiveParameter(BUFFER_KEY, DEFAULT_BUFFER_SIZE);\r\n+        this.bufferSize = b >= MIN_BUFFER_SIZE && b <= MAX_BUFFER_SIZE ? b : DEFAULT_BUFFER_SIZE;\r\n+    }\r\n+\r\n+    public ChannelHandler getEncoder() {\r\n+        return encoder;\r\n+    }\r\n+\r\n+    public ChannelHandler getDecoder() {\r\n+        return decoder;\r\n+    }\r\n+\r\n+    @Sharable\r\n+    private class InternalEncoder extends OneToOneEncoder {\r\n+\r\n+        @Override\r\n+        protected Object encode(ChannelHandlerContext ctx, Channel ch, Object msg) throws Exception {\r\n+            org.apache.dubbo.remoting.buffer.ChannelBuffer buffer =\r\n+                    org.apache.dubbo.remoting.buffer.ChannelBuffers.dynamicBuffer(1024);\r\n+            NettyChannel channel = NettyChannel.getOrAddChannel(ch, url, handler);\r\n+            try {\r\n+                codec.encode(channel, buffer, msg);\r\n+            } finally {\r\n+                NettyChannel.removeChannelIfDisconnected(ch);\r\n+            }\r\n+            return ChannelBuffers.wrappedBuffer(buffer.toByteBuffer());\r\n+        }\r\n+    }\r\n+\r\n+    private class InternalDecoder extends SimpleChannelUpstreamHandler {\r\n+\r\n+        private org.apache.dubbo.remoting.buffer.ChannelBuffer buffer =\r\n+                org.apache.dubbo.remoting.buffer.ChannelBuffers.EMPTY_BUFFER;\r\n+\r\n+        @Override\r\n+        public void messageReceived(ChannelHandlerContext ctx, MessageEvent event) throws Exception {\r\n+            Object o = event.getMessage();\r\n+            if (!(o instanceof ChannelBuffer)) {\r\n+                ctx.sendUpstream(event);\r\n+                return;\r\n+            }\r\n+\r\n+            ChannelBuffer input = (ChannelBuffer) o;\r\n+            int readable = input.readableBytes();\r\n+            if (readable <= 0) {\r\n+                return;\r\n+            }\r\n+\r\n+            org.apache.dubbo.remoting.buffer.ChannelBuffer message;\r\n+            if (buffer.readable()) {\r\n+                if (buffer instanceof DynamicChannelBuffer) {\r\n+                    buffer.writeBytes(input.toByteBuffer());\r\n+                    message = buffer;\r\n+                } else {\r\n+                    int size = buffer.readableBytes() + input.readableBytes();\r\n+                    message = org.apache.dubbo.remoting.buffer.ChannelBuffers.dynamicBuffer(\r\n+                            size > bufferSize ? size : bufferSize);\r\n+                    message.writeBytes(buffer, buffer.readableBytes());\r\n+                    message.writeBytes(input.toByteBuffer());\r\n+                }\r\n+            } else {\r\n+                message = org.apache.dubbo.remoting.buffer.ChannelBuffers.wrappedBuffer(\r\n+                        input.toByteBuffer());\r\n+            }\r\n+\r\n+            NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\r\n+            Object msg;\r\n+            int saveReaderIndex;\r\n+\r\n+            try {\r\n+                // decode object.\r\n+                do {\r\n+                    saveReaderIndex = message.readerIndex();\r\n+                    try {\r\n+                        msg = codec.decode(channel, message);\r\n+                    } catch (IOException e) {\r\n+                        buffer = org.apache.dubbo.remoting.buffer.ChannelBuffers.EMPTY_BUFFER;\r\n+                        throw e;\r\n+                    }\r\n+                    if (msg == Codec2.DecodeResult.NEED_MORE_INPUT) {\r\n+                        message.readerIndex(saveReaderIndex);\r\n+                        break;\r\n+                    } else {\r\n+                        if (saveReaderIndex == message.readerIndex()) {\r\n+                            buffer = org.apache.dubbo.remoting.buffer.ChannelBuffers.EMPTY_BUFFER;\r\n+                            throw new IOException(\"Decode without read data.\");\r\n+                        }\r\n+                        if (msg != null) {\r\n+                            Channels.fireMessageReceived(ctx, msg, event.getRemoteAddress());\r\n+                        }\r\n+                    }\r\n+                } while (message.readable());\r\n+            } finally {\r\n+                if (message.readable()) {\r\n+                    message.discardReadBytes();\r\n+                    buffer = message;\r\n+                } else {\r\n+                    buffer = org.apache.dubbo.remoting.buffer.ChannelBuffers.EMPTY_BUFFER;\r\n+                }\r\n+                NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\r\n+            }\r\n+        }\r\n+\r\n+        @Override\r\n+        public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {\r\n+            ctx.sendUpstream(e);\r\n+        }\r\n+    }\r\n }\n"}, {"source1": "org/apache/dubbo/remoting/transport/netty/NettyHandler.java", "source2": "org/apache/dubbo/remoting/transport/netty/NettyHandler.java", "comments": ["Ordering differences only"], "unified_diff": "@@ -1,129 +1,129 @@\n-/*\n- * Licensed to the Apache Software Foundation (ASF) under one or more\n- * contributor license agreements.  See the NOTICE file distributed with\n- * this work for additional information regarding copyright ownership.\n- * The ASF licenses this file to You under the Apache License, Version 2.0\n- * (the \"License\"); you may not use this file except in compliance with\n- * the License.  You may obtain a copy of the License at\n- *\n- *     http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an \"AS IS\" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-package org.apache.dubbo.remoting.transport.netty;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.common.logger.Logger;\n-import org.apache.dubbo.common.logger.LoggerFactory;\n-import org.apache.dubbo.common.utils.NetUtils;\n-import org.apache.dubbo.remoting.Channel;\n-import org.apache.dubbo.remoting.ChannelHandler;\n-\n-import org.jboss.netty.channel.ChannelHandler.Sharable;\n-import org.jboss.netty.channel.ChannelHandlerContext;\n-import org.jboss.netty.channel.ChannelStateEvent;\n-import org.jboss.netty.channel.ExceptionEvent;\n-import org.jboss.netty.channel.MessageEvent;\n-import org.jboss.netty.channel.SimpleChannelHandler;\n-\n-import java.net.InetSocketAddress;\n-import java.util.Map;\n-import java.util.concurrent.ConcurrentHashMap;\n-\n-/**\n- * NettyHandler\n- */\n-@Sharable\n-public class NettyHandler extends SimpleChannelHandler {\n-\n-    private static final Logger logger = LoggerFactory.getLogger(NettyHandler.class);\n-\n-    private final Map<String, Channel> channels = new ConcurrentHashMap<String, Channel>(); // <ip:port, channel>\n-\n-    private final URL url;\n-\n-    private final ChannelHandler handler;\n-\n-    public NettyHandler(URL url, ChannelHandler handler) {\n-        if (url == null) {\n-            throw new IllegalArgumentException(\"url == null\");\n-        }\n-        if (handler == null) {\n-            throw new IllegalArgumentException(\"handler == null\");\n-        }\n-        this.url = url;\n-        this.handler = handler;\n-    }\n-\n-    public Map<String, Channel> getChannels() {\n-        return channels;\n-    }\n-\n-    @Override\n-    public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {\n-        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\n-        try {\n-            if (channel != null) {\n-                channels.put(NetUtils.toAddressString((InetSocketAddress) ctx.getChannel().getRemoteAddress()), channel);\n-            }\n-            handler.connected(channel);\n-        } finally {\n-            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\n-        }\n-\n-        if (logger.isInfoEnabled()) {\n-            logger.info(\"The connection between \" + channel.getRemoteAddress() + \" and \" + channel.getLocalAddress() + \" is established\");\n-        }\n-    }\n-\n-    @Override\n-    public void channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {\n-        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\n-        try {\n-            channels.remove(NetUtils.toAddressString((InetSocketAddress) ctx.getChannel().getRemoteAddress()));\n-            handler.disconnected(channel);\n-        } finally {\n-            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\n-        }\n-\n-        if (logger.isInfoEnabled()) {\n-            logger.info(\"The connection between \" + channel.getRemoteAddress() + \" and \" + channel.getLocalAddress() + \" is disconnected\");\n-        }\n-    }\n-\n-    @Override\n-    public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {\n-        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\n-        try {\n-            handler.received(channel, e.getMessage());\n-        } finally {\n-            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\n-        }\n-    }\n-\n-    @Override\n-    public void writeRequested(ChannelHandlerContext ctx, MessageEvent e) throws Exception {\n-        super.writeRequested(ctx, e);\n-        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\n-        try {\n-            handler.sent(channel, e.getMessage());\n-        } finally {\n-            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\n-        }\n-    }\n-\n-    @Override\n-    public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {\n-        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\n-        try {\n-            handler.caught(channel, e.getCause());\n-        } finally {\n-            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\n-        }\n-    }\n-\n+/*\r\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\r\n+ * contributor license agreements.  See the NOTICE file distributed with\r\n+ * this work for additional information regarding copyright ownership.\r\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\r\n+ * (the \"License\"); you may not use this file except in compliance with\r\n+ * the License.  You may obtain a copy of the License at\r\n+ *\r\n+ *     http://www.apache.org/licenses/LICENSE-2.0\r\n+ *\r\n+ * Unless required by applicable law or agreed to in writing, software\r\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n+ * See the License for the specific language governing permissions and\r\n+ * limitations under the License.\r\n+ */\r\n+package org.apache.dubbo.remoting.transport.netty;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.common.logger.Logger;\r\n+import org.apache.dubbo.common.logger.LoggerFactory;\r\n+import org.apache.dubbo.common.utils.NetUtils;\r\n+import org.apache.dubbo.remoting.Channel;\r\n+import org.apache.dubbo.remoting.ChannelHandler;\r\n+\r\n+import org.jboss.netty.channel.ChannelHandler.Sharable;\r\n+import org.jboss.netty.channel.ChannelHandlerContext;\r\n+import org.jboss.netty.channel.ChannelStateEvent;\r\n+import org.jboss.netty.channel.ExceptionEvent;\r\n+import org.jboss.netty.channel.MessageEvent;\r\n+import org.jboss.netty.channel.SimpleChannelHandler;\r\n+\r\n+import java.net.InetSocketAddress;\r\n+import java.util.Map;\r\n+import java.util.concurrent.ConcurrentHashMap;\r\n+\r\n+/**\r\n+ * NettyHandler\r\n+ */\r\n+@Sharable\r\n+public class NettyHandler extends SimpleChannelHandler {\r\n+\r\n+    private static final Logger logger = LoggerFactory.getLogger(NettyHandler.class);\r\n+\r\n+    private final Map<String, Channel> channels = new ConcurrentHashMap<String, Channel>(); // <ip:port, channel>\r\n+\r\n+    private final URL url;\r\n+\r\n+    private final ChannelHandler handler;\r\n+\r\n+    public NettyHandler(URL url, ChannelHandler handler) {\r\n+        if (url == null) {\r\n+            throw new IllegalArgumentException(\"url == null\");\r\n+        }\r\n+        if (handler == null) {\r\n+            throw new IllegalArgumentException(\"handler == null\");\r\n+        }\r\n+        this.url = url;\r\n+        this.handler = handler;\r\n+    }\r\n+\r\n+    public Map<String, Channel> getChannels() {\r\n+        return channels;\r\n+    }\r\n+\r\n+    @Override\r\n+    public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {\r\n+        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\r\n+        try {\r\n+            if (channel != null) {\r\n+                channels.put(NetUtils.toAddressString((InetSocketAddress) ctx.getChannel().getRemoteAddress()), channel);\r\n+            }\r\n+            handler.connected(channel);\r\n+        } finally {\r\n+            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\r\n+        }\r\n+\r\n+        if (logger.isInfoEnabled()) {\r\n+            logger.info(\"The connection between \" + channel.getRemoteAddress() + \" and \" + channel.getLocalAddress() + \" is established\");\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {\r\n+        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\r\n+        try {\r\n+            channels.remove(NetUtils.toAddressString((InetSocketAddress) ctx.getChannel().getRemoteAddress()));\r\n+            handler.disconnected(channel);\r\n+        } finally {\r\n+            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\r\n+        }\r\n+\r\n+        if (logger.isInfoEnabled()) {\r\n+            logger.info(\"The connection between \" + channel.getRemoteAddress() + \" and \" + channel.getLocalAddress() + \" is disconnected\");\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {\r\n+        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\r\n+        try {\r\n+            handler.received(channel, e.getMessage());\r\n+        } finally {\r\n+            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void writeRequested(ChannelHandlerContext ctx, MessageEvent e) throws Exception {\r\n+        super.writeRequested(ctx, e);\r\n+        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\r\n+        try {\r\n+            handler.sent(channel, e.getMessage());\r\n+        } finally {\r\n+            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {\r\n+        NettyChannel channel = NettyChannel.getOrAddChannel(ctx.getChannel(), url, handler);\r\n+        try {\r\n+            handler.caught(channel, e.getCause());\r\n+        } finally {\r\n+            NettyChannel.removeChannelIfDisconnected(ctx.getChannel());\r\n+        }\r\n+    }\r\n+\r\n }\n"}, {"source1": "org/apache/dubbo/remoting/transport/netty/NettyHelper.java", "source2": "org/apache/dubbo/remoting/transport/netty/NettyHelper.java", "comments": ["Ordering differences only"], "unified_diff": "@@ -1,117 +1,117 @@\n-/*\n- * Licensed to the Apache Software Foundation (ASF) under one or more\n- * contributor license agreements.  See the NOTICE file distributed with\n- * this work for additional information regarding copyright ownership.\n- * The ASF licenses this file to You under the Apache License, Version 2.0\n- * (the \"License\"); you may not use this file except in compliance with\n- * the License.  You may obtain a copy of the License at\n- *\n- *     http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an \"AS IS\" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-package org.apache.dubbo.remoting.transport.netty;\n-\n-import org.apache.dubbo.common.logger.Logger;\n-import org.apache.dubbo.common.logger.LoggerFactory;\n-\n-import org.jboss.netty.logging.AbstractInternalLogger;\n-import org.jboss.netty.logging.InternalLogger;\n-import org.jboss.netty.logging.InternalLoggerFactory;\n-\n-final class NettyHelper {\n-\n-    public static void setNettyLoggerFactory() {\n-        InternalLoggerFactory factory = InternalLoggerFactory.getDefaultFactory();\n-        if (!(factory instanceof DubboLoggerFactory)) {\n-            InternalLoggerFactory.setDefaultFactory(new DubboLoggerFactory());\n-        }\n-    }\n-\n-    static class DubboLoggerFactory extends InternalLoggerFactory {\n-\n-        @Override\n-        public InternalLogger newInstance(String name) {\n-            return new DubboLogger(LoggerFactory.getLogger(name));\n-        }\n-    }\n-\n-    static class DubboLogger extends AbstractInternalLogger {\n-\n-        private Logger logger;\n-\n-        DubboLogger(Logger logger) {\n-            this.logger = logger;\n-        }\n-\n-        @Override\n-        public boolean isDebugEnabled() {\n-            return logger.isDebugEnabled();\n-        }\n-\n-        @Override\n-        public boolean isInfoEnabled() {\n-            return logger.isInfoEnabled();\n-        }\n-\n-        @Override\n-        public boolean isWarnEnabled() {\n-            return logger.isWarnEnabled();\n-        }\n-\n-        @Override\n-        public boolean isErrorEnabled() {\n-            return logger.isErrorEnabled();\n-        }\n-\n-        @Override\n-        public void debug(String msg) {\n-            logger.debug(msg);\n-        }\n-\n-        @Override\n-        public void debug(String msg, Throwable cause) {\n-            logger.debug(msg, cause);\n-        }\n-\n-        @Override\n-        public void info(String msg) {\n-            logger.info(msg);\n-        }\n-\n-        @Override\n-        public void info(String msg, Throwable cause) {\n-            logger.info(msg, cause);\n-        }\n-\n-        @Override\n-        public void warn(String msg) {\n-            logger.warn(msg);\n-        }\n-\n-        @Override\n-        public void warn(String msg, Throwable cause) {\n-            logger.warn(msg, cause);\n-        }\n-\n-        @Override\n-        public void error(String msg) {\n-            logger.error(msg);\n-        }\n-\n-        @Override\n-        public void error(String msg, Throwable cause) {\n-            logger.error(msg, cause);\n-        }\n-\n-        @Override\n-        public String toString() {\n-            return logger.toString();\n-        }\n-    }\n-\n-}\n+/*\r\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\r\n+ * contributor license agreements.  See the NOTICE file distributed with\r\n+ * this work for additional information regarding copyright ownership.\r\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\r\n+ * (the \"License\"); you may not use this file except in compliance with\r\n+ * the License.  You may obtain a copy of the License at\r\n+ *\r\n+ *     http://www.apache.org/licenses/LICENSE-2.0\r\n+ *\r\n+ * Unless required by applicable law or agreed to in writing, software\r\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n+ * See the License for the specific language governing permissions and\r\n+ * limitations under the License.\r\n+ */\r\n+package org.apache.dubbo.remoting.transport.netty;\r\n+\r\n+import org.apache.dubbo.common.logger.Logger;\r\n+import org.apache.dubbo.common.logger.LoggerFactory;\r\n+\r\n+import org.jboss.netty.logging.AbstractInternalLogger;\r\n+import org.jboss.netty.logging.InternalLogger;\r\n+import org.jboss.netty.logging.InternalLoggerFactory;\r\n+\r\n+final class NettyHelper {\r\n+\r\n+    public static void setNettyLoggerFactory() {\r\n+        InternalLoggerFactory factory = InternalLoggerFactory.getDefaultFactory();\r\n+        if (!(factory instanceof DubboLoggerFactory)) {\r\n+            InternalLoggerFactory.setDefaultFactory(new DubboLoggerFactory());\r\n+        }\r\n+    }\r\n+\r\n+    static class DubboLoggerFactory extends InternalLoggerFactory {\r\n+\r\n+        @Override\r\n+        public InternalLogger newInstance(String name) {\r\n+            return new DubboLogger(LoggerFactory.getLogger(name));\r\n+        }\r\n+    }\r\n+\r\n+    static class DubboLogger extends AbstractInternalLogger {\r\n+\r\n+        private Logger logger;\r\n+\r\n+        DubboLogger(Logger logger) {\r\n+            this.logger = logger;\r\n+        }\r\n+\r\n+        @Override\r\n+        public boolean isDebugEnabled() {\r\n+            return logger.isDebugEnabled();\r\n+        }\r\n+\r\n+        @Override\r\n+        public boolean isInfoEnabled() {\r\n+            return logger.isInfoEnabled();\r\n+        }\r\n+\r\n+        @Override\r\n+        public boolean isWarnEnabled() {\r\n+            return logger.isWarnEnabled();\r\n+        }\r\n+\r\n+        @Override\r\n+        public boolean isErrorEnabled() {\r\n+            return logger.isErrorEnabled();\r\n+        }\r\n+\r\n+        @Override\r\n+        public void debug(String msg) {\r\n+            logger.debug(msg);\r\n+        }\r\n+\r\n+        @Override\r\n+        public void debug(String msg, Throwable cause) {\r\n+            logger.debug(msg, cause);\r\n+        }\r\n+\r\n+        @Override\r\n+        public void info(String msg) {\r\n+            logger.info(msg);\r\n+        }\r\n+\r\n+        @Override\r\n+        public void info(String msg, Throwable cause) {\r\n+            logger.info(msg, cause);\r\n+        }\r\n+\r\n+        @Override\r\n+        public void warn(String msg) {\r\n+            logger.warn(msg);\r\n+        }\r\n+\r\n+        @Override\r\n+        public void warn(String msg, Throwable cause) {\r\n+            logger.warn(msg, cause);\r\n+        }\r\n+\r\n+        @Override\r\n+        public void error(String msg) {\r\n+            logger.error(msg);\r\n+        }\r\n+\r\n+        @Override\r\n+        public void error(String msg, Throwable cause) {\r\n+            logger.error(msg, cause);\r\n+        }\r\n+\r\n+        @Override\r\n+        public String toString() {\r\n+            return logger.toString();\r\n+        }\r\n+    }\r\n+\r\n+}\r\n"}, {"source1": "META-INF/maven/org.apache.dubbo/dubbo-remoting-netty/pom.xml", "source2": "META-INF/maven/org.apache.dubbo/dubbo-remoting-netty/pom.xml", "comments": ["Format-specific differences are supported for XML files but no file-specific differences were detected; falling back to a binary diff. file(1) reports: XML 1.0 document, ASCII text, with CRLF line terminators"], "has_internal_linenos": true, "unified_diff": "@@ -1,146 +1,142 @@\n 00000000: 3c3f 786d 6c20 7665 7273 696f 6e3d 2231  <?xml version=\"1\n 00000010: 2e30 2220 656e 636f 6469 6e67 3d22 5554  .0\" encoding=\"UT\n-00000020: 462d 3822 3f3e 0d0a 3c21 2d2d 0d0a 2020  F-8\"?>..<!--..  \n-00000030: 4c69 6365 6e73 6564 2074 6f20 7468 6520  Licensed to the \n-00000040: 4170 6163 6865 2053 6f66 7477 6172 6520  Apache Software \n-00000050: 466f 756e 6461 7469 6f6e 2028 4153 4629  Foundation (ASF)\n-00000060: 2075 6e64 6572 206f 6e65 206f 7220 6d6f   under one or mo\n-00000070: 7265 0d0a 2020 636f 6e74 7269 6275 746f  re..  contributo\n-00000080: 7220 6c69 6365 6e73 6520 6167 7265 656d  r license agreem\n-00000090: 656e 7473 2e20 2053 6565 2074 6865 204e  ents.  See the N\n-000000a0: 4f54 4943 4520 6669 6c65 2064 6973 7472  OTICE file distr\n-000000b0: 6962 7574 6564 2077 6974 680d 0a20 2074  ibuted with..  t\n-000000c0: 6869 7320 776f 726b 2066 6f72 2061 6464  his work for add\n-000000d0: 6974 696f 6e61 6c20 696e 666f 726d 6174  itional informat\n-000000e0: 696f 6e20 7265 6761 7264 696e 6720 636f  ion regarding co\n-000000f0: 7079 7269 6768 7420 6f77 6e65 7273 6869  pyright ownershi\n-00000100: 702e 0d0a 2020 5468 6520 4153 4620 6c69  p...  The ASF li\n-00000110: 6365 6e73 6573 2074 6869 7320 6669 6c65  censes this file\n-00000120: 2074 6f20 596f 7520 756e 6465 7220 7468   to You under th\n-00000130: 6520 4170 6163 6865 204c 6963 656e 7365  e Apache License\n-00000140: 2c20 5665 7273 696f 6e20 322e 300d 0a20  , Version 2.0.. \n-00000150: 2028 7468 6520 224c 6963 656e 7365 2229   (the \"License\")\n-00000160: 3b20 796f 7520 6d61 7920 6e6f 7420 7573  ; you may not us\n-00000170: 6520 7468 6973 2066 696c 6520 6578 6365  e this file exce\n-00000180: 7074 2069 6e20 636f 6d70 6c69 616e 6365  pt in compliance\n-00000190: 2077 6974 680d 0a20 2074 6865 204c 6963   with..  the Lic\n-000001a0: 656e 7365 2e20 2059 6f75 206d 6179 206f  ense.  You may o\n-000001b0: 6274 6169 6e20 6120 636f 7079 206f 6620  btain a copy of \n-000001c0: 7468 6520 4c69 6365 6e73 6520 6174 0d0a  the License at..\n-000001d0: 0d0a 2020 2020 2020 6874 7470 3a2f 2f77  ..      http://w\n-000001e0: 7777 2e61 7061 6368 652e 6f72 672f 6c69  ww.apache.org/li\n-000001f0: 6365 6e73 6573 2f4c 4943 454e 5345 2d32  censes/LICENSE-2\n-00000200: 2e30 0d0a 0d0a 2020 556e 6c65 7373 2072  .0....  Unless r\n-00000210: 6571 7569 7265 6420 6279 2061 7070 6c69  equired by appli\n-00000220: 6361 626c 6520 6c61 7720 6f72 2061 6772  cable law or agr\n-00000230: 6565 6420 746f 2069 6e20 7772 6974 696e  eed to in writin\n-00000240: 672c 2073 6f66 7477 6172 650d 0a20 2064  g, software..  d\n-00000250: 6973 7472 6962 7574 6564 2075 6e64 6572  istributed under\n-00000260: 2074 6865 204c 6963 656e 7365 2069 7320   the License is \n-00000270: 6469 7374 7269 6275 7465 6420 6f6e 2061  distributed on a\n-00000280: 6e20 2241 5320 4953 2220 4241 5349 532c  n \"AS IS\" BASIS,\n-00000290: 0d0a 2020 5749 5448 4f55 5420 5741 5252  ..  WITHOUT WARR\n-000002a0: 414e 5449 4553 204f 5220 434f 4e44 4954  ANTIES OR CONDIT\n-000002b0: 494f 4e53 204f 4620 414e 5920 4b49 4e44  IONS OF ANY KIND\n-000002c0: 2c20 6569 7468 6572 2065 7870 7265 7373  , either express\n-000002d0: 206f 7220 696d 706c 6965 642e 0d0a 2020   or implied...  \n-000002e0: 5365 6520 7468 6520 4c69 6365 6e73 6520  See the License \n-000002f0: 666f 7220 7468 6520 7370 6563 6966 6963  for the specific\n-00000300: 206c 616e 6775 6167 6520 676f 7665 726e   language govern\n-00000310: 696e 6720 7065 726d 6973 7369 6f6e 7320  ing permissions \n-00000320: 616e 640d 0a20 206c 696d 6974 6174 696f  and..  limitatio\n-00000330: 6e73 2075 6e64 6572 2074 6865 204c 6963  ns under the Lic\n-00000340: 656e 7365 2e0d 0a2d 2d3e 0d0a 3c70 726f  ense...-->..<pro\n-00000350: 6a65 6374 2078 7369 3a73 6368 656d 614c  ject xsi:schemaL\n-00000360: 6f63 6174 696f 6e3d 2268 7474 703a 2f2f  ocation=\"http://\n-00000370: 6d61 7665 6e2e 6170 6163 6865 2e6f 7267  maven.apache.org\n-00000380: 2f50 4f4d 2f34 2e30 2e30 2068 7474 7073  /POM/4.0.0 https\n-00000390: 3a2f 2f6d 6176 656e 2e61 7061 6368 652e  ://maven.apache.\n-000003a0: 6f72 672f 7873 642f 6d61 7665 6e2d 342e  org/xsd/maven-4.\n-000003b0: 302e 302e 7873 6422 2078 6d6c 6e73 3d22  0.0.xsd\" xmlns=\"\n-000003c0: 6874 7470 3a2f 2f6d 6176 656e 2e61 7061  http://maven.apa\n-000003d0: 6368 652e 6f72 672f 504f 4d2f 342e 302e  che.org/POM/4.0.\n-000003e0: 3022 0d0a 2020 2020 786d 6c6e 733a 7873  0\"..    xmlns:xs\n-000003f0: 693d 2268 7474 703a 2f2f 7777 772e 7733  i=\"http://www.w3\n-00000400: 2e6f 7267 2f32 3030 312f 584d 4c53 6368  .org/2001/XMLSch\n-00000410: 656d 612d 696e 7374 616e 6365 223e 0d0a  ema-instance\">..\n-00000420: 2020 3c6d 6f64 656c 5665 7273 696f 6e3e    <modelVersion>\n-00000430: 342e 302e 303c 2f6d 6f64 656c 5665 7273  4.0.0</modelVers\n-00000440: 696f 6e3e 0d0a 2020 3c70 6172 656e 743e  ion>..  <parent>\n-00000450: 0d0a 2020 2020 3c67 726f 7570 4964 3e6f  ..    <groupId>o\n-00000460: 7267 2e61 7061 6368 652e 6475 6262 6f3c  rg.apache.dubbo<\n-00000470: 2f67 726f 7570 4964 3e0d 0a20 2020 203c  /groupId>..    <\n-00000480: 6172 7469 6661 6374 4964 3e64 7562 626f  artifactId>dubbo\n-00000490: 2d72 656d 6f74 696e 673c 2f61 7274 6966  -remoting</artif\n-000004a0: 6163 7449 643e 0d0a 2020 2020 3c76 6572  actId>..    <ver\n-000004b0: 7369 6f6e 3e32 2e37 2e31 303c 2f76 6572  sion>2.7.10</ver\n-000004c0: 7369 6f6e 3e0d 0a20 203c 2f70 6172 656e  sion>..  </paren\n-000004d0: 743e 0d0a 2020 3c67 726f 7570 4964 3e6f  t>..  <groupId>o\n-000004e0: 7267 2e61 7061 6368 652e 6475 6262 6f3c  rg.apache.dubbo<\n-000004f0: 2f67 726f 7570 4964 3e0d 0a20 203c 6172  /groupId>..  <ar\n-00000500: 7469 6661 6374 4964 3e64 7562 626f 2d72  tifactId>dubbo-r\n-00000510: 656d 6f74 696e 672d 6e65 7474 793c 2f61  emoting-netty</a\n-00000520: 7274 6966 6163 7449 643e 0d0a 2020 3c76  rtifactId>..  <v\n-00000530: 6572 7369 6f6e 3e32 2e37 2e31 303c 2f76  ersion>2.7.10</v\n-00000540: 6572 7369 6f6e 3e0d 0a20 203c 6e61 6d65  ersion>..  <name\n-00000550: 3e24 7b70 726f 6a65 6374 2e61 7274 6966  >${project.artif\n-00000560: 6163 7449 647d 3c2f 6e61 6d65 3e0d 0a20  actId}</name>.. \n-00000570: 203c 6465 7363 7269 7074 696f 6e3e 5468   <description>Th\n-00000580: 6520 6e65 7474 7920 7265 6d6f 7469 6e67  e netty remoting\n-00000590: 206d 6f64 756c 6520 6f66 2064 7562 626f   module of dubbo\n-000005a0: 2070 726f 6a65 6374 3c2f 6465 7363 7269   project</descri\n-000005b0: 7074 696f 6e3e 0d0a 2020 3c6c 6963 656e  ption>..  <licen\n-000005c0: 7365 733e 0d0a 2020 2020 3c6c 6963 656e  ses>..    <licen\n-000005d0: 7365 3e0d 0a20 2020 2020 203c 6e61 6d65  se>..      <name\n-000005e0: 3e41 7061 6368 6520 4c69 6365 6e73 652c  >Apache License,\n-000005f0: 2056 6572 7369 6f6e 2032 2e30 3c2f 6e61   Version 2.0</na\n-00000600: 6d65 3e0d 0a20 2020 2020 203c 7572 6c3e  me>..      <url>\n-00000610: 6874 7470 3a2f 2f77 7777 2e61 7061 6368  http://www.apach\n-00000620: 652e 6f72 672f 6c69 6365 6e73 6573 2f4c  e.org/licenses/L\n-00000630: 4943 454e 5345 2d32 2e30 3c2f 7572 6c3e  ICENSE-2.0</url>\n-00000640: 0d0a 2020 2020 2020 3c64 6973 7472 6962  ..      <distrib\n-00000650: 7574 696f 6e3e 7265 706f 3c2f 6469 7374  ution>repo</dist\n-00000660: 7269 6275 7469 6f6e 3e0d 0a20 2020 203c  ribution>..    <\n-00000670: 2f6c 6963 656e 7365 3e0d 0a20 203c 2f6c  /license>..  </l\n-00000680: 6963 656e 7365 733e 0d0a 2020 3c70 726f  icenses>..  <pro\n-00000690: 7065 7274 6965 733e 0d0a 2020 2020 3c73  perties>..    <s\n-000006a0: 6b69 705f 6d61 7665 6e5f 6465 706c 6f79  kip_maven_deploy\n-000006b0: 3e66 616c 7365 3c2f 736b 6970 5f6d 6176  >false</skip_mav\n-000006c0: 656e 5f64 6570 6c6f 793e 0d0a 2020 3c2f  en_deploy>..  </\n-000006d0: 7072 6f70 6572 7469 6573 3e0d 0a20 203c  properties>..  <\n-000006e0: 6465 7065 6e64 656e 6369 6573 3e0d 0a20  dependencies>.. \n-000006f0: 2020 203c 6465 7065 6e64 656e 6379 3e0d     <dependency>.\n-00000700: 0a20 2020 2020 203c 6772 6f75 7049 643e  .      <groupId>\n-00000710: 6f72 672e 6170 6163 6865 2e64 7562 626f  org.apache.dubbo\n-00000720: 3c2f 6772 6f75 7049 643e 0d0a 2020 2020  </groupId>..    \n-00000730: 2020 3c61 7274 6966 6163 7449 643e 6475    <artifactId>du\n-00000740: 6262 6f2d 7265 6d6f 7469 6e67 2d61 7069  bbo-remoting-api\n-00000750: 3c2f 6172 7469 6661 6374 4964 3e0d 0a20  </artifactId>.. \n-00000760: 2020 2020 203c 7665 7273 696f 6e3e 247b       <version>${\n-00000770: 7072 6f6a 6563 742e 7061 7265 6e74 2e76  project.parent.v\n-00000780: 6572 7369 6f6e 7d3c 2f76 6572 7369 6f6e  ersion}</version\n-00000790: 3e0d 0a20 2020 203c 2f64 6570 656e 6465  >..    </depende\n-000007a0: 6e63 793e 0d0a 2020 2020 3c64 6570 656e  ncy>..    <depen\n-000007b0: 6465 6e63 793e 0d0a 2020 2020 2020 3c67  dency>..      <g\n-000007c0: 726f 7570 4964 3e6f 7267 2e6a 626f 7373  roupId>org.jboss\n-000007d0: 2e6e 6574 7479 3c2f 6772 6f75 7049 643e  .netty</groupId>\n-000007e0: 0d0a 2020 2020 2020 3c61 7274 6966 6163  ..      <artifac\n-000007f0: 7449 643e 6e65 7474 793c 2f61 7274 6966  tId>netty</artif\n-00000800: 6163 7449 643e 0d0a 2020 2020 3c2f 6465  actId>..    </de\n-00000810: 7065 6e64 656e 6379 3e0d 0a20 2020 203c  pendency>..    <\n-00000820: 6465 7065 6e64 656e 6379 3e0d 0a20 2020  dependency>..   \n-00000830: 2020 203c 6772 6f75 7049 643e 6f72 672e     <groupId>org.\n-00000840: 6170 6163 6865 2e64 7562 626f 3c2f 6772  apache.dubbo</gr\n-00000850: 6f75 7049 643e 0d0a 2020 2020 2020 3c61  oupId>..      <a\n-00000860: 7274 6966 6163 7449 643e 6475 6262 6f2d  rtifactId>dubbo-\n-00000870: 7365 7269 616c 697a 6174 696f 6e2d 6865  serialization-he\n-00000880: 7373 6961 6e32 3c2f 6172 7469 6661 6374  ssian2</artifact\n-00000890: 4964 3e0d 0a20 2020 2020 203c 7665 7273  Id>..      <vers\n-000008a0: 696f 6e3e 247b 7072 6f6a 6563 742e 7061  ion>${project.pa\n-000008b0: 7265 6e74 2e76 6572 7369 6f6e 7d3c 2f76  rent.version}</v\n-000008c0: 6572 7369 6f6e 3e0d 0a20 2020 2020 203c  ersion>..      <\n-000008d0: 7363 6f70 653e 7465 7374 3c2f 7363 6f70  scope>test</scop\n-000008e0: 653e 0d0a 2020 2020 3c2f 6465 7065 6e64  e>..    </depend\n-000008f0: 656e 6379 3e0d 0a20 203c 2f64 6570 656e  ency>..  </depen\n-00000900: 6465 6e63 6965 733e 0d0a 3c2f 7072 6f6a  dencies>..</proj\n-00000910: 6563 743e 0d0a                           ect>..\n+00000020: 462d 3822 3f3e 0a3c 212d 2d0a 2020 4c69  F-8\"?>.<!--.  Li\n+00000030: 6365 6e73 6564 2074 6f20 7468 6520 4170  censed to the Ap\n+00000040: 6163 6865 2053 6f66 7477 6172 6520 466f  ache Software Fo\n+00000050: 756e 6461 7469 6f6e 2028 4153 4629 2075  undation (ASF) u\n+00000060: 6e64 6572 206f 6e65 206f 7220 6d6f 7265  nder one or more\n+00000070: 0a20 2063 6f6e 7472 6962 7574 6f72 206c  .  contributor l\n+00000080: 6963 656e 7365 2061 6772 6565 6d65 6e74  icense agreement\n+00000090: 732e 2020 5365 6520 7468 6520 4e4f 5449  s.  See the NOTI\n+000000a0: 4345 2066 696c 6520 6469 7374 7269 6275  CE file distribu\n+000000b0: 7465 6420 7769 7468 0a20 2074 6869 7320  ted with.  this \n+000000c0: 776f 726b 2066 6f72 2061 6464 6974 696f  work for additio\n+000000d0: 6e61 6c20 696e 666f 726d 6174 696f 6e20  nal information \n+000000e0: 7265 6761 7264 696e 6720 636f 7079 7269  regarding copyri\n+000000f0: 6768 7420 6f77 6e65 7273 6869 702e 0a20  ght ownership.. \n+00000100: 2054 6865 2041 5346 206c 6963 656e 7365   The ASF license\n+00000110: 7320 7468 6973 2066 696c 6520 746f 2059  s this file to Y\n+00000120: 6f75 2075 6e64 6572 2074 6865 2041 7061  ou under the Apa\n+00000130: 6368 6520 4c69 6365 6e73 652c 2056 6572  che License, Ver\n+00000140: 7369 6f6e 2032 2e30 0a20 2028 7468 6520  sion 2.0.  (the \n+00000150: 224c 6963 656e 7365 2229 3b20 796f 7520  \"License\"); you \n+00000160: 6d61 7920 6e6f 7420 7573 6520 7468 6973  may not use this\n+00000170: 2066 696c 6520 6578 6365 7074 2069 6e20   file except in \n+00000180: 636f 6d70 6c69 616e 6365 2077 6974 680a  compliance with.\n+00000190: 2020 7468 6520 4c69 6365 6e73 652e 2020    the License.  \n+000001a0: 596f 7520 6d61 7920 6f62 7461 696e 2061  You may obtain a\n+000001b0: 2063 6f70 7920 6f66 2074 6865 204c 6963   copy of the Lic\n+000001c0: 656e 7365 2061 740a 0a20 2020 2020 2068  ense at..      h\n+000001d0: 7474 703a 2f2f 7777 772e 6170 6163 6865  ttp://www.apache\n+000001e0: 2e6f 7267 2f6c 6963 656e 7365 732f 4c49  .org/licenses/LI\n+000001f0: 4345 4e53 452d 322e 300a 0a20 2055 6e6c  CENSE-2.0..  Unl\n+00000200: 6573 7320 7265 7175 6972 6564 2062 7920  ess required by \n+00000210: 6170 706c 6963 6162 6c65 206c 6177 206f  applicable law o\n+00000220: 7220 6167 7265 6564 2074 6f20 696e 2077  r agreed to in w\n+00000230: 7269 7469 6e67 2c20 736f 6674 7761 7265  riting, software\n+00000240: 0a20 2064 6973 7472 6962 7574 6564 2075  .  distributed u\n+00000250: 6e64 6572 2074 6865 204c 6963 656e 7365  nder the License\n+00000260: 2069 7320 6469 7374 7269 6275 7465 6420   is distributed \n+00000270: 6f6e 2061 6e20 2241 5320 4953 2220 4241  on an \"AS IS\" BA\n+00000280: 5349 532c 0a20 2057 4954 484f 5554 2057  SIS,.  WITHOUT W\n+00000290: 4152 5241 4e54 4945 5320 4f52 2043 4f4e  ARRANTIES OR CON\n+000002a0: 4449 5449 4f4e 5320 4f46 2041 4e59 204b  DITIONS OF ANY K\n+000002b0: 494e 442c 2065 6974 6865 7220 6578 7072  IND, either expr\n+000002c0: 6573 7320 6f72 2069 6d70 6c69 6564 2e0a  ess or implied..\n+000002d0: 2020 5365 6520 7468 6520 4c69 6365 6e73    See the Licens\n+000002e0: 6520 666f 7220 7468 6520 7370 6563 6966  e for the specif\n+000002f0: 6963 206c 616e 6775 6167 6520 676f 7665  ic language gove\n+00000300: 726e 696e 6720 7065 726d 6973 7369 6f6e  rning permission\n+00000310: 7320 616e 640a 2020 6c69 6d69 7461 7469  s and.  limitati\n+00000320: 6f6e 7320 756e 6465 7220 7468 6520 4c69  ons under the Li\n+00000330: 6365 6e73 652e 0a2d 2d3e 0a3c 7072 6f6a  cense..-->.<proj\n+00000340: 6563 7420 7873 693a 7363 6865 6d61 4c6f  ect xsi:schemaLo\n+00000350: 6361 7469 6f6e 3d22 6874 7470 3a2f 2f6d  cation=\"http://m\n+00000360: 6176 656e 2e61 7061 6368 652e 6f72 672f  aven.apache.org/\n+00000370: 504f 4d2f 342e 302e 3020 6874 7470 733a  POM/4.0.0 https:\n+00000380: 2f2f 6d61 7665 6e2e 6170 6163 6865 2e6f  //maven.apache.o\n+00000390: 7267 2f78 7364 2f6d 6176 656e 2d34 2e30  rg/xsd/maven-4.0\n+000003a0: 2e30 2e78 7364 2220 786d 6c6e 733d 2268  .0.xsd\" xmlns=\"h\n+000003b0: 7474 703a 2f2f 6d61 7665 6e2e 6170 6163  ttp://maven.apac\n+000003c0: 6865 2e6f 7267 2f50 4f4d 2f34 2e30 2e30  he.org/POM/4.0.0\n+000003d0: 220a 2020 2020 786d 6c6e 733a 7873 693d  \".    xmlns:xsi=\n+000003e0: 2268 7474 703a 2f2f 7777 772e 7733 2e6f  \"http://www.w3.o\n+000003f0: 7267 2f32 3030 312f 584d 4c53 6368 656d  rg/2001/XMLSchem\n+00000400: 612d 696e 7374 616e 6365 223e 0a20 203c  a-instance\">.  <\n+00000410: 6d6f 6465 6c56 6572 7369 6f6e 3e34 2e30  modelVersion>4.0\n+00000420: 2e30 3c2f 6d6f 6465 6c56 6572 7369 6f6e  .0</modelVersion\n+00000430: 3e0a 2020 3c70 6172 656e 743e 0a20 2020  >.  <parent>.   \n+00000440: 203c 6772 6f75 7049 643e 6f72 672e 6170   <groupId>org.ap\n+00000450: 6163 6865 2e64 7562 626f 3c2f 6772 6f75  ache.dubbo</grou\n+00000460: 7049 643e 0a20 2020 203c 6172 7469 6661  pId>.    <artifa\n+00000470: 6374 4964 3e64 7562 626f 2d72 656d 6f74  ctId>dubbo-remot\n+00000480: 696e 673c 2f61 7274 6966 6163 7449 643e  ing</artifactId>\n+00000490: 0a20 2020 203c 7665 7273 696f 6e3e 322e  .    <version>2.\n+000004a0: 372e 3130 3c2f 7665 7273 696f 6e3e 0a20  7.10</version>. \n+000004b0: 203c 2f70 6172 656e 743e 0a20 203c 6772   </parent>.  <gr\n+000004c0: 6f75 7049 643e 6f72 672e 6170 6163 6865  oupId>org.apache\n+000004d0: 2e64 7562 626f 3c2f 6772 6f75 7049 643e  .dubbo</groupId>\n+000004e0: 0a20 203c 6172 7469 6661 6374 4964 3e64  .  <artifactId>d\n+000004f0: 7562 626f 2d72 656d 6f74 696e 672d 6e65  ubbo-remoting-ne\n+00000500: 7474 793c 2f61 7274 6966 6163 7449 643e  tty</artifactId>\n+00000510: 0a20 203c 7665 7273 696f 6e3e 322e 372e  .  <version>2.7.\n+00000520: 3130 3c2f 7665 7273 696f 6e3e 0a20 203c  10</version>.  <\n+00000530: 6e61 6d65 3e24 7b70 726f 6a65 6374 2e61  name>${project.a\n+00000540: 7274 6966 6163 7449 647d 3c2f 6e61 6d65  rtifactId}</name\n+00000550: 3e0a 2020 3c64 6573 6372 6970 7469 6f6e  >.  <description\n+00000560: 3e54 6865 206e 6574 7479 2072 656d 6f74  >The netty remot\n+00000570: 696e 6720 6d6f 6475 6c65 206f 6620 6475  ing module of du\n+00000580: 6262 6f20 7072 6f6a 6563 743c 2f64 6573  bbo project</des\n+00000590: 6372 6970 7469 6f6e 3e0a 2020 3c6c 6963  cription>.  <lic\n+000005a0: 656e 7365 733e 0a20 2020 203c 6c69 6365  enses>.    <lice\n+000005b0: 6e73 653e 0a20 2020 2020 203c 6e61 6d65  nse>.      <name\n+000005c0: 3e41 7061 6368 6520 4c69 6365 6e73 652c  >Apache License,\n+000005d0: 2056 6572 7369 6f6e 2032 2e30 3c2f 6e61   Version 2.0</na\n+000005e0: 6d65 3e0a 2020 2020 2020 3c75 726c 3e68  me>.      <url>h\n+000005f0: 7474 703a 2f2f 7777 772e 6170 6163 6865  ttp://www.apache\n+00000600: 2e6f 7267 2f6c 6963 656e 7365 732f 4c49  .org/licenses/LI\n+00000610: 4345 4e53 452d 322e 303c 2f75 726c 3e0a  CENSE-2.0</url>.\n+00000620: 2020 2020 2020 3c64 6973 7472 6962 7574        <distribut\n+00000630: 696f 6e3e 7265 706f 3c2f 6469 7374 7269  ion>repo</distri\n+00000640: 6275 7469 6f6e 3e0a 2020 2020 3c2f 6c69  bution>.    </li\n+00000650: 6365 6e73 653e 0a20 203c 2f6c 6963 656e  cense>.  </licen\n+00000660: 7365 733e 0a20 203c 7072 6f70 6572 7469  ses>.  <properti\n+00000670: 6573 3e0a 2020 2020 3c73 6b69 705f 6d61  es>.    <skip_ma\n+00000680: 7665 6e5f 6465 706c 6f79 3e66 616c 7365  ven_deploy>false\n+00000690: 3c2f 736b 6970 5f6d 6176 656e 5f64 6570  </skip_maven_dep\n+000006a0: 6c6f 793e 0a20 203c 2f70 726f 7065 7274  loy>.  </propert\n+000006b0: 6965 733e 0a20 203c 6465 7065 6e64 656e  ies>.  <dependen\n+000006c0: 6369 6573 3e0a 2020 2020 3c64 6570 656e  cies>.    <depen\n+000006d0: 6465 6e63 793e 0a20 2020 2020 203c 6772  dency>.      <gr\n+000006e0: 6f75 7049 643e 6f72 672e 6170 6163 6865  oupId>org.apache\n+000006f0: 2e64 7562 626f 3c2f 6772 6f75 7049 643e  .dubbo</groupId>\n+00000700: 0a20 2020 2020 203c 6172 7469 6661 6374  .      <artifact\n+00000710: 4964 3e64 7562 626f 2d72 656d 6f74 696e  Id>dubbo-remotin\n+00000720: 672d 6170 693c 2f61 7274 6966 6163 7449  g-api</artifactI\n+00000730: 643e 0a20 2020 2020 203c 7665 7273 696f  d>.      <versio\n+00000740: 6e3e 247b 7072 6f6a 6563 742e 7061 7265  n>${project.pare\n+00000750: 6e74 2e76 6572 7369 6f6e 7d3c 2f76 6572  nt.version}</ver\n+00000760: 7369 6f6e 3e0a 2020 2020 3c2f 6465 7065  sion>.    </depe\n+00000770: 6e64 656e 6379 3e0a 2020 2020 3c64 6570  ndency>.    <dep\n+00000780: 656e 6465 6e63 793e 0a20 2020 2020 203c  endency>.      <\n+00000790: 6772 6f75 7049 643e 6f72 672e 6a62 6f73  groupId>org.jbos\n+000007a0: 732e 6e65 7474 793c 2f67 726f 7570 4964  s.netty</groupId\n+000007b0: 3e0a 2020 2020 2020 3c61 7274 6966 6163  >.      <artifac\n+000007c0: 7449 643e 6e65 7474 793c 2f61 7274 6966  tId>netty</artif\n+000007d0: 6163 7449 643e 0a20 2020 203c 2f64 6570  actId>.    </dep\n+000007e0: 656e 6465 6e63 793e 0a20 2020 203c 6465  endency>.    <de\n+000007f0: 7065 6e64 656e 6379 3e0a 2020 2020 2020  pendency>.      \n+00000800: 3c67 726f 7570 4964 3e6f 7267 2e61 7061  <groupId>org.apa\n+00000810: 6368 652e 6475 6262 6f3c 2f67 726f 7570  che.dubbo</group\n+00000820: 4964 3e0a 2020 2020 2020 3c61 7274 6966  Id>.      <artif\n+00000830: 6163 7449 643e 6475 6262 6f2d 7365 7269  actId>dubbo-seri\n+00000840: 616c 697a 6174 696f 6e2d 6865 7373 6961  alization-hessia\n+00000850: 6e32 3c2f 6172 7469 6661 6374 4964 3e0a  n2</artifactId>.\n+00000860: 2020 2020 2020 3c76 6572 7369 6f6e 3e24        <version>$\n+00000870: 7b70 726f 6a65 6374 2e70 6172 656e 742e  {project.parent.\n+00000880: 7665 7273 696f 6e7d 3c2f 7665 7273 696f  version}</versio\n+00000890: 6e3e 0a20 2020 2020 203c 7363 6f70 653e  n>.      <scope>\n+000008a0: 7465 7374 3c2f 7363 6f70 653e 0a20 2020  test</scope>.   \n+000008b0: 203c 2f64 6570 656e 6465 6e63 793e 0a20   </dependency>. \n+000008c0: 203c 2f64 6570 656e 6465 6e63 6965 733e   </dependencies>\n+000008d0: 0a3c 2f70 726f 6a65 6374 3e0a            .</project>.\n"}]}
