{"diffoscope-json-version": 1, "source1": "/input1", "source2": "/input2", "unified_diff": null, "details": [{"source1": "zipinfo {}", "source2": "zipinfo {}", "unified_diff": "@@ -1,26 +1,26 @@\n-Zip file size: 45704 bytes, number of entries: 24\n+Zip file size: 46199 bytes, number of entries: 24\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/\n -rw----     2.0 fat     3980 bX stor 70-Jan-01 00:00 META-INF/DEPENDENCIES\n -rw----     2.0 fat    11358 bX stor 70-Jan-01 00:00 META-INF/LICENSE\n -rw----     2.0 fat       25 bX stor 70-Jan-01 00:00 META-INF/MANIFEST.MF\n -rw----     2.0 fat      180 bX stor 70-Jan-01 00:00 META-INF/NOTICE\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/dubbo/internal/\n--rw----     2.0 fat       68 bX stor 70-Jan-01 00:00 META-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory\n+-rw----     2.0 fat       69 bX stor 70-Jan-01 00:00 META-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory\n -rw----     2.0 fat       76 bX stor 70-Jan-01 00:00 META-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceDiscovery\n -rw----     2.0 fat       83 bX stor 70-Jan-01 00:00 META-INF/dubbo/internal/org.apache.dubbo.registry.client.ServiceDiscoveryFactory\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-registry-multiple/\n -rw----     2.0 fat        0 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-registry-multiple/pom.properties\n--rw----     2.0 fat     2889 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-registry-multiple/pom.xml\n+-rw----     2.0 fat     2814 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-registry-multiple/pom.xml\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/registry/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/\n--rw----     2.0 fat    12406 bX stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/MultipleRegistry.java\n--rw----     2.0 fat     1214 bX stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/MultipleRegistryFactory.java\n--rw----     2.0 fat     7811 bX stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/MultipleRegistryServiceDiscovery.java\n--rw----     2.0 fat     1254 bX stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/MultipleRegistryServiceDiscoveryFactory.java\n-24 files, 41344 bytes uncompressed, 41344 bytes compressed:  0.0%\n+-rw----     2.0 fat    12743 bX stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/MultipleRegistry.java\n+-rw----     2.0 fat     1247 bX stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/MultipleRegistryFactory.java\n+-rw----     2.0 fat     7982 bX stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/MultipleRegistryServiceDiscovery.java\n+-rw----     2.0 fat     1282 bX stor 70-Jan-01 00:00 org/apache/dubbo/registry/multiple/MultipleRegistryServiceDiscoveryFactory.java\n+24 files, 41839 bytes uncompressed, 41839 bytes compressed:  0.0%\n"}, {"source1": "zipdetails --redact --scan --utc {}", "source2": "zipdetails --redact --scan --utc {}", "unified_diff": "@@ -192,1126 +192,1126 @@\n # WARNING: Offset 0x3E9E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n 3EDF Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n 3EE1   Length              0005 (5)\n 3EE3   Flags               01 (1) 'Modification'\n 3EE4   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-3EE8 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+3EE8 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-3F2C DATA DESCRIPTOR       08074B50 (134695760)\n-3F30 CRC                   814DBD48 (2169355592)\n-3F34 Compressed Size       00000044 (68)\n-3F38 Uncompressed Size     00000044 (68)\n-\n-3F3C LOCAL HEADER #9       04034B50 (67324752)\n-3F40 Extract Zip Spec      14 (20) '2.0'\n-3F41 Extract OS            00 (0) 'MS-DOS'\n-3F42 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-3F44 Compression Method    0000 (0) 'Stored'\n-3F46 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-3F4A CRC                   00000000 (0)\n-3F4E Compressed Size       00000000 (0)\n-3F52 Uncompressed Size     00000000 (0)\n-3F56 Filename Length       0049 (73)\n-3F58 Extra Length          0009 (9)\n-3F5A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x3F5A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-3FA3 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-3FA5   Length              0005 (5)\n-3FA7   Flags               01 (1) 'Modification'\n-3FA8   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-3FAC PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-3FF8 DATA DESCRIPTOR       08074B50 (134695760)\n-3FFC CRC                   7462894A (1952614730)\n-4000 Compressed Size       0000004C (76)\n-4004 Uncompressed Size     0000004C (76)\n-\n-4008 LOCAL HEADER #10      04034B50 (67324752)\n-400C Extract Zip Spec      14 (20) '2.0'\n-400D Extract OS            00 (0) 'MS-DOS'\n-400E General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-4010 Compression Method    0000 (0) 'Stored'\n-4012 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4016 CRC                   00000000 (0)\n-401A Compressed Size       00000000 (0)\n-401E Uncompressed Size     00000000 (0)\n-4022 Filename Length       0050 (80)\n-4024 Extra Length          0009 (9)\n-4026 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4026: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4076 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4078   Length              0005 (5)\n-407A   Flags               01 (1) 'Modification'\n-407B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-407F PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-40D2 DATA DESCRIPTOR       08074B50 (134695760)\n-40D6 CRC                   EAE05BA4 (3940572068)\n-40DA Compressed Size       00000053 (83)\n-40DE Uncompressed Size     00000053 (83)\n-\n-40E2 LOCAL HEADER #11      04034B50 (67324752)\n-40E6 Extract Zip Spec      14 (20) '2.0'\n-40E7 Extract OS            00 (0) 'MS-DOS'\n-40E8 General Purpose Flag  0000 (0)\n-40EA Compression Method    0000 (0) 'Stored'\n-40EC Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-40F0 CRC                   00000000 (0)\n-40F4 Compressed Size       00000000 (0)\n-40F8 Uncompressed Size     00000000 (0)\n-40FC Filename Length       000F (15)\n-40FE Extra Length          0009 (9)\n-4100 Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4100: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-410F Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4111   Length              0005 (5)\n-4113   Flags               01 (1) 'Modification'\n-4114   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4118 LOCAL HEADER #12      04034B50 (67324752)\n-411C Extract Zip Spec      14 (20) '2.0'\n-411D Extract OS            00 (0) 'MS-DOS'\n-411E General Purpose Flag  0000 (0)\n-4120 Compression Method    0000 (0) 'Stored'\n-4122 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4126 CRC                   00000000 (0)\n-412A Compressed Size       00000000 (0)\n-412E Uncompressed Size     00000000 (0)\n-4132 Filename Length       0020 (32)\n-4134 Extra Length          0009 (9)\n-4136 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4136: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4156 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4158   Length              0005 (5)\n-415A   Flags               01 (1) 'Modification'\n-415B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-415F LOCAL HEADER #13      04034B50 (67324752)\n-4163 Extract Zip Spec      14 (20) '2.0'\n-4164 Extract OS            00 (0) 'MS-DOS'\n-4165 General Purpose Flag  0000 (0)\n-4167 Compression Method    0000 (0) 'Stored'\n-4169 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-416D CRC                   00000000 (0)\n-4171 Compressed Size       00000000 (0)\n-4175 Uncompressed Size     00000000 (0)\n-4179 Filename Length       0038 (56)\n-417B Extra Length          0009 (9)\n-417D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x417D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-41B5 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-41B7   Length              0005 (5)\n-41B9   Flags               01 (1) 'Modification'\n-41BA   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-41BE LOCAL HEADER #14      04034B50 (67324752)\n-41C2 Extract Zip Spec      14 (20) '2.0'\n-41C3 Extract OS            00 (0) 'MS-DOS'\n-41C4 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-41C6 Compression Method    0000 (0) 'Stored'\n-41C8 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-41CC CRC                   00000000 (0)\n-41D0 Compressed Size       00000000 (0)\n-41D4 Uncompressed Size     00000000 (0)\n-41D8 Filename Length       0046 (70)\n-41DA Extra Length          0009 (9)\n-41DC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x41DC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4222 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4224   Length              0005 (5)\n-4226   Flags               01 (1) 'Modification'\n-4227   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-422B DATA DESCRIPTOR       08074B50 (134695760)\n-422F CRC                   00000000 (0)\n-4233 Compressed Size       00000000 (0)\n-4237 Uncompressed Size     00000000 (0)\n-\n-423B LOCAL HEADER #15      04034B50 (67324752)\n-423F Extract Zip Spec      14 (20) '2.0'\n-4240 Extract OS            00 (0) 'MS-DOS'\n-4241 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-4243 Compression Method    0000 (0) 'Stored'\n-4245 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4249 CRC                   00000000 (0)\n-424D Compressed Size       00000000 (0)\n-4251 Uncompressed Size     00000000 (0)\n-4255 Filename Length       003F (63)\n-4257 Extra Length          0009 (9)\n-4259 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4259: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4298 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-429A   Length              0005 (5)\n-429C   Flags               01 (1) 'Modification'\n-429D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-42A1 PAYLOAD\n-\n-4DEA DATA DESCRIPTOR       08074B50 (134695760)\n-4DEE CRC                   E3551669 (3814004329)\n-4DF2 Compressed Size       00000B49 (2889)\n-4DF6 Uncompressed Size     00000B49 (2889)\n-\n-4DFA LOCAL HEADER #16      04034B50 (67324752)\n-4DFE Extract Zip Spec      14 (20) '2.0'\n-4DFF Extract OS            00 (0) 'MS-DOS'\n-4E00 General Purpose Flag  0000 (0)\n-4E02 Compression Method    0000 (0) 'Stored'\n-4E04 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4E08 CRC                   00000000 (0)\n-4E0C Compressed Size       00000000 (0)\n-4E10 Uncompressed Size     00000000 (0)\n-4E14 Filename Length       0004 (4)\n-4E16 Extra Length          0009 (9)\n-4E18 Filename              'XXXX'\n-#\n-# WARNING: Offset 0x4E18: Filename 'XXXX'\n-#          Zero length filename\n-#\n-4E1C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4E1E   Length              0005 (5)\n-4E20   Flags               01 (1) 'Modification'\n-4E21   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4E25 LOCAL HEADER #17      04034B50 (67324752)\n-4E29 Extract Zip Spec      14 (20) '2.0'\n-4E2A Extract OS            00 (0) 'MS-DOS'\n-4E2B General Purpose Flag  0000 (0)\n-4E2D Compression Method    0000 (0) 'Stored'\n-4E2F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4E33 CRC                   00000000 (0)\n-4E37 Compressed Size       00000000 (0)\n-4E3B Uncompressed Size     00000000 (0)\n-4E3F Filename Length       000B (11)\n-4E41 Extra Length          0009 (9)\n-4E43 Filename              'XXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4E43: Filename 'XXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4E4E Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4E50   Length              0005 (5)\n-4E52   Flags               01 (1) 'Modification'\n-4E53   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4E57 LOCAL HEADER #18      04034B50 (67324752)\n-4E5B Extract Zip Spec      14 (20) '2.0'\n-4E5C Extract OS            00 (0) 'MS-DOS'\n-4E5D General Purpose Flag  0000 (0)\n-4E5F Compression Method    0000 (0) 'Stored'\n-4E61 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4E65 CRC                   00000000 (0)\n-4E69 Compressed Size       00000000 (0)\n-4E6D Uncompressed Size     00000000 (0)\n-4E71 Filename Length       0011 (17)\n-4E73 Extra Length          0009 (9)\n-4E75 Filename              'XXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4E75: Filename 'XXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4E86 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4E88   Length              0005 (5)\n-4E8A   Flags               01 (1) 'Modification'\n-4E8B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4E8F LOCAL HEADER #19      04034B50 (67324752)\n-4E93 Extract Zip Spec      14 (20) '2.0'\n-4E94 Extract OS            00 (0) 'MS-DOS'\n-4E95 General Purpose Flag  0000 (0)\n-4E97 Compression Method    0000 (0) 'Stored'\n-4E99 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4E9D CRC                   00000000 (0)\n-4EA1 Compressed Size       00000000 (0)\n-4EA5 Uncompressed Size     00000000 (0)\n-4EA9 Filename Length       001A (26)\n-4EAB Extra Length          0009 (9)\n-4EAD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3F2D DATA DESCRIPTOR       08074B50 (134695760)\n+3F31 CRC                   0510144B (84939851)\n+3F35 Compressed Size       00000045 (69)\n+3F39 Uncompressed Size     00000045 (69)\n+\n+3F3D LOCAL HEADER #9       04034B50 (67324752)\n+3F41 Extract Zip Spec      14 (20) '2.0'\n+3F42 Extract OS            00 (0) 'MS-DOS'\n+3F43 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+3F45 Compression Method    0000 (0) 'Stored'\n+3F47 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+3F4B CRC                   00000000 (0)\n+3F4F Compressed Size       00000000 (0)\n+3F53 Uncompressed Size     00000000 (0)\n+3F57 Filename Length       0049 (73)\n+3F59 Extra Length          0009 (9)\n+3F5B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x3F5B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+3FA4 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+3FA6   Length              0005 (5)\n+3FA8   Flags               01 (1) 'Modification'\n+3FA9   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+3FAD PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+\n+3FF9 DATA DESCRIPTOR       08074B50 (134695760)\n+3FFD CRC                   7462894A (1952614730)\n+4001 Compressed Size       0000004C (76)\n+4005 Uncompressed Size     0000004C (76)\n+\n+4009 LOCAL HEADER #10      04034B50 (67324752)\n+400D Extract Zip Spec      14 (20) '2.0'\n+400E Extract OS            00 (0) 'MS-DOS'\n+400F General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+4011 Compression Method    0000 (0) 'Stored'\n+4013 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4017 CRC                   00000000 (0)\n+401B Compressed Size       00000000 (0)\n+401F Uncompressed Size     00000000 (0)\n+4023 Filename Length       0050 (80)\n+4025 Extra Length          0009 (9)\n+4027 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4027: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4077 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4079   Length              0005 (5)\n+407B   Flags               01 (1) 'Modification'\n+407C   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+4080 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+\n+40D3 DATA DESCRIPTOR       08074B50 (134695760)\n+40D7 CRC                   EAE05BA4 (3940572068)\n+40DB Compressed Size       00000053 (83)\n+40DF Uncompressed Size     00000053 (83)\n+\n+40E3 LOCAL HEADER #11      04034B50 (67324752)\n+40E7 Extract Zip Spec      14 (20) '2.0'\n+40E8 Extract OS            00 (0) 'MS-DOS'\n+40E9 General Purpose Flag  0000 (0)\n+40EB Compression Method    0000 (0) 'Stored'\n+40ED Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+40F1 CRC                   00000000 (0)\n+40F5 Compressed Size       00000000 (0)\n+40F9 Uncompressed Size     00000000 (0)\n+40FD Filename Length       000F (15)\n+40FF Extra Length          0009 (9)\n+4101 Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4101: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4110 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4112   Length              0005 (5)\n+4114   Flags               01 (1) 'Modification'\n+4115   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4119 LOCAL HEADER #12      04034B50 (67324752)\n+411D Extract Zip Spec      14 (20) '2.0'\n+411E Extract OS            00 (0) 'MS-DOS'\n+411F General Purpose Flag  0000 (0)\n+4121 Compression Method    0000 (0) 'Stored'\n+4123 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4127 CRC                   00000000 (0)\n+412B Compressed Size       00000000 (0)\n+412F Uncompressed Size     00000000 (0)\n+4133 Filename Length       0020 (32)\n+4135 Extra Length          0009 (9)\n+4137 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4137: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4157 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4159   Length              0005 (5)\n+415B   Flags               01 (1) 'Modification'\n+415C   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4160 LOCAL HEADER #13      04034B50 (67324752)\n+4164 Extract Zip Spec      14 (20) '2.0'\n+4165 Extract OS            00 (0) 'MS-DOS'\n+4166 General Purpose Flag  0000 (0)\n+4168 Compression Method    0000 (0) 'Stored'\n+416A Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+416E CRC                   00000000 (0)\n+4172 Compressed Size       00000000 (0)\n+4176 Uncompressed Size     00000000 (0)\n+417A Filename Length       0038 (56)\n+417C Extra Length          0009 (9)\n+417E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x417E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+41B6 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+41B8   Length              0005 (5)\n+41BA   Flags               01 (1) 'Modification'\n+41BB   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+41BF LOCAL HEADER #14      04034B50 (67324752)\n+41C3 Extract Zip Spec      14 (20) '2.0'\n+41C4 Extract OS            00 (0) 'MS-DOS'\n+41C5 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+41C7 Compression Method    0000 (0) 'Stored'\n+41C9 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+41CD CRC                   00000000 (0)\n+41D1 Compressed Size       00000000 (0)\n+41D5 Uncompressed Size     00000000 (0)\n+41D9 Filename Length       0046 (70)\n+41DB Extra Length          0009 (9)\n+41DD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x41DD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4223 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4225   Length              0005 (5)\n+4227   Flags               01 (1) 'Modification'\n+4228   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+422C DATA DESCRIPTOR       08074B50 (134695760)\n+4230 CRC                   00000000 (0)\n+4234 Compressed Size       00000000 (0)\n+4238 Uncompressed Size     00000000 (0)\n+\n+423C LOCAL HEADER #15      04034B50 (67324752)\n+4240 Extract Zip Spec      14 (20) '2.0'\n+4241 Extract OS            00 (0) 'MS-DOS'\n+4242 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+4244 Compression Method    0000 (0) 'Stored'\n+4246 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+424A CRC                   00000000 (0)\n+424E Compressed Size       00000000 (0)\n+4252 Uncompressed Size     00000000 (0)\n+4256 Filename Length       003F (63)\n+4258 Extra Length          0009 (9)\n+425A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x425A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4299 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+429B   Length              0005 (5)\n+429D   Flags               01 (1) 'Modification'\n+429E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+42A2 PAYLOAD\n+\n+4DA0 DATA DESCRIPTOR       08074B50 (134695760)\n+4DA4 CRC                   6A4E29DE (1783507422)\n+4DA8 Compressed Size       00000AFE (2814)\n+4DAC Uncompressed Size     00000AFE (2814)\n+\n+4DB0 LOCAL HEADER #16      04034B50 (67324752)\n+4DB4 Extract Zip Spec      14 (20) '2.0'\n+4DB5 Extract OS            00 (0) 'MS-DOS'\n+4DB6 General Purpose Flag  0000 (0)\n+4DB8 Compression Method    0000 (0) 'Stored'\n+4DBA Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4DBE CRC                   00000000 (0)\n+4DC2 Compressed Size       00000000 (0)\n+4DC6 Uncompressed Size     00000000 (0)\n+4DCA Filename Length       0004 (4)\n+4DCC Extra Length          0009 (9)\n+4DCE Filename              'XXXX'\n+#\n+# WARNING: Offset 0x4DCE: Filename 'XXXX'\n+#          Zero length filename\n+#\n+4DD2 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4DD4   Length              0005 (5)\n+4DD6   Flags               01 (1) 'Modification'\n+4DD7   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4DDB LOCAL HEADER #17      04034B50 (67324752)\n+4DDF Extract Zip Spec      14 (20) '2.0'\n+4DE0 Extract OS            00 (0) 'MS-DOS'\n+4DE1 General Purpose Flag  0000 (0)\n+4DE3 Compression Method    0000 (0) 'Stored'\n+4DE5 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4DE9 CRC                   00000000 (0)\n+4DED Compressed Size       00000000 (0)\n+4DF1 Uncompressed Size     00000000 (0)\n+4DF5 Filename Length       000B (11)\n+4DF7 Extra Length          0009 (9)\n+4DF9 Filename              'XXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4DF9: Filename 'XXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4E04 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4E06   Length              0005 (5)\n+4E08   Flags               01 (1) 'Modification'\n+4E09   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4E0D LOCAL HEADER #18      04034B50 (67324752)\n+4E11 Extract Zip Spec      14 (20) '2.0'\n+4E12 Extract OS            00 (0) 'MS-DOS'\n+4E13 General Purpose Flag  0000 (0)\n+4E15 Compression Method    0000 (0) 'Stored'\n+4E17 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4E1B CRC                   00000000 (0)\n+4E1F Compressed Size       00000000 (0)\n+4E23 Uncompressed Size     00000000 (0)\n+4E27 Filename Length       0011 (17)\n+4E29 Extra Length          0009 (9)\n+4E2B Filename              'XXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4E2B: Filename 'XXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4E3C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4E3E   Length              0005 (5)\n+4E40   Flags               01 (1) 'Modification'\n+4E41   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4E45 LOCAL HEADER #19      04034B50 (67324752)\n+4E49 Extract Zip Spec      14 (20) '2.0'\n+4E4A Extract OS            00 (0) 'MS-DOS'\n+4E4B General Purpose Flag  0000 (0)\n+4E4D Compression Method    0000 (0) 'Stored'\n+4E4F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4E53 CRC                   00000000 (0)\n+4E57 Compressed Size       00000000 (0)\n+4E5B Uncompressed Size     00000000 (0)\n+4E5F Filename Length       001A (26)\n+4E61 Extra Length          0009 (9)\n+4E63 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4E63: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4E7D Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4E7F   Length              0005 (5)\n+4E81   Flags               01 (1) 'Modification'\n+4E82   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4E86 LOCAL HEADER #20      04034B50 (67324752)\n+4E8A Extract Zip Spec      14 (20) '2.0'\n+4E8B Extract OS            00 (0) 'MS-DOS'\n+4E8C General Purpose Flag  0000 (0)\n+4E8E Compression Method    0000 (0) 'Stored'\n+4E90 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4E94 CRC                   00000000 (0)\n+4E98 Compressed Size       00000000 (0)\n+4E9C Uncompressed Size     00000000 (0)\n+4EA0 Filename Length       0023 (35)\n+4EA2 Extra Length          0009 (9)\n+4EA4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4EAD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x4EA4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n 4EC7 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n 4EC9   Length              0005 (5)\n 4ECB   Flags               01 (1) 'Modification'\n 4ECC   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n \n-4ED0 LOCAL HEADER #20      04034B50 (67324752)\n+4ED0 LOCAL HEADER #21      04034B50 (67324752)\n 4ED4 Extract Zip Spec      14 (20) '2.0'\n 4ED5 Extract OS            00 (0) 'MS-DOS'\n-4ED6 General Purpose Flag  0000 (0)\n+4ED6 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n 4ED8 Compression Method    0000 (0) 'Stored'\n 4EDA Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n 4EDE CRC                   00000000 (0)\n 4EE2 Compressed Size       00000000 (0)\n 4EE6 Uncompressed Size     00000000 (0)\n-4EEA Filename Length       0023 (35)\n+4EEA Filename Length       0038 (56)\n 4EEC Extra Length          0009 (9)\n-4EEE Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+4EEE Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4EEE: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x4EEE: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-4F11 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4F13   Length              0005 (5)\n-4F15   Flags               01 (1) 'Modification'\n-4F16   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4F1A LOCAL HEADER #21      04034B50 (67324752)\n-4F1E Extract Zip Spec      14 (20) '2.0'\n-4F1F Extract OS            00 (0) 'MS-DOS'\n-4F20 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-4F22 Compression Method    0000 (0) 'Stored'\n-4F24 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4F28 CRC                   00000000 (0)\n-4F2C Compressed Size       00000000 (0)\n-4F30 Uncompressed Size     00000000 (0)\n-4F34 Filename Length       0038 (56)\n-4F36 Extra Length          0009 (9)\n-4F38 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4F38: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4F70 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4F72   Length              0005 (5)\n-4F74   Flags               01 (1) 'Modification'\n-4F75   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-4F79 PAYLOAD\n-\n-7FEF DATA DESCRIPTOR       08074B50 (134695760)\n-7FF3 CRC                   71E62C15 (1910909973)\n-7FF7 Compressed Size       00003076 (12406)\n-7FFB Uncompressed Size     00003076 (12406)\n-\n-7FFF LOCAL HEADER #22      04034B50 (67324752)\n-8003 Extract Zip Spec      14 (20) '2.0'\n-8004 Extract OS            00 (0) 'MS-DOS'\n-8005 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-8007 Compression Method    0000 (0) 'Stored'\n-8009 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-800D CRC                   00000000 (0)\n-8011 Compressed Size       00000000 (0)\n-8015 Uncompressed Size     00000000 (0)\n-8019 Filename Length       003F (63)\n-801B Extra Length          0009 (9)\n-801D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x801D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-805C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-805E   Length              0005 (5)\n-8060   Flags               01 (1) 'Modification'\n-8061   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-8065 PAYLOAD\n-\n-8523 DATA DESCRIPTOR       08074B50 (134695760)\n-8527 CRC                   6ACD2956 (1791830358)\n-852B Compressed Size       000004BE (1214)\n-852F Uncompressed Size     000004BE (1214)\n-\n-8533 LOCAL HEADER #23      04034B50 (67324752)\n-8537 Extract Zip Spec      14 (20) '2.0'\n-8538 Extract OS            00 (0) 'MS-DOS'\n-8539 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-853B Compression Method    0000 (0) 'Stored'\n-853D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-8541 CRC                   00000000 (0)\n-8545 Compressed Size       00000000 (0)\n-8549 Uncompressed Size     00000000 (0)\n-854D Filename Length       0048 (72)\n-854F Extra Length          0009 (9)\n-8551 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x8551: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-8599 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-859B   Length              0005 (5)\n-859D   Flags               01 (1) 'Modification'\n-859E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-85A2 PAYLOAD\n-\n-A425 DATA DESCRIPTOR       08074B50 (134695760)\n-A429 CRC                   32A6602D (849764397)\n-A42D Compressed Size       00001E83 (7811)\n-A431 Uncompressed Size     00001E83 (7811)\n-\n-A435 LOCAL HEADER #24      04034B50 (67324752)\n-A439 Extract Zip Spec      14 (20) '2.0'\n-A43A Extract OS            00 (0) 'MS-DOS'\n-A43B General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-A43D Compression Method    0000 (0) 'Stored'\n-A43F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-A443 CRC                   00000000 (0)\n-A447 Compressed Size       00000000 (0)\n-A44B Uncompressed Size     00000000 (0)\n-A44F Filename Length       004F (79)\n-A451 Extra Length          0009 (9)\n-A453 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xA453: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-A4A2 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-A4A4   Length              0005 (5)\n-A4A6   Flags               01 (1) 'Modification'\n-A4A7   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-A4AB PAYLOAD\n-\n-A991 DATA DESCRIPTOR       08074B50 (134695760)\n-A995 CRC                   DA761D6A (3665173866)\n-A999 Compressed Size       000004E6 (1254)\n-A99D Uncompressed Size     000004E6 (1254)\n-\n-A9A1 CENTRAL HEADER #1     02014B50 (33639248)\n-A9A5 Created Zip Spec      14 (20) '2.0'\n-A9A6 Created OS            00 (0) 'MS-DOS'\n-A9A7 Extract Zip Spec      14 (20) '2.0'\n-A9A8 Extract OS            00 (0) 'MS-DOS'\n-A9A9 General Purpose Flag  0000 (0)\n-A9AB Compression Method    0000 (0) 'Stored'\n-A9AD Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-A9B1 CRC                   00000000 (0)\n-A9B5 Compressed Size       00000000 (0)\n-A9B9 Uncompressed Size     00000000 (0)\n-A9BD Filename Length       0009 (9)\n-A9BF Extra Length          0009 (9)\n-A9C1 Comment Length        0000 (0)\n-A9C3 Disk Start            0000 (0)\n-A9C5 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-A9C7 Ext File Attributes   00000000 (0)\n-A9CB Local Header Offset   00000000 (0)\n-A9CF Filename              'XXXXXXXXX'\n-#\n-# WARNING: Offset 0xA9CF: Filename 'XXXXXXXXX'\n-#          Zero length filename\n-#\n-A9D8 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-A9DA   Length              0005 (5)\n-A9DC   Flags               01 (1) 'Modification'\n-A9DD   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-A9E1 CENTRAL HEADER #2     02014B50 (33639248)\n-A9E5 Created Zip Spec      14 (20) '2.0'\n-A9E6 Created OS            00 (0) 'MS-DOS'\n-A9E7 Extract Zip Spec      14 (20) '2.0'\n-A9E8 Extract OS            00 (0) 'MS-DOS'\n-A9E9 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-A9EB Compression Method    0000 (0) 'Stored'\n-A9ED Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-A9F1 CRC                   FCE7E274 (4243055220)\n-A9F5 Compressed Size       00000F8C (3980)\n-A9F9 Uncompressed Size     00000F8C (3980)\n-A9FD Filename Length       0015 (21)\n-A9FF Extra Length          0009 (9)\n-AA01 Comment Length        0000 (0)\n-AA03 Disk Start            0000 (0)\n-AA05 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AA07 Ext File Attributes   00000000 (0)\n-AA0B Local Header Offset   00000030 (48)\n-AA0F Filename              'XXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAA0F: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AA24 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AA26   Length              0005 (5)\n-AA28   Flags               01 (1) 'Modification'\n-AA29   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AA2D CENTRAL HEADER #3     02014B50 (33639248)\n-AA31 Created Zip Spec      14 (20) '2.0'\n-AA32 Created OS            00 (0) 'MS-DOS'\n-AA33 Extract Zip Spec      14 (20) '2.0'\n-AA34 Extract OS            00 (0) 'MS-DOS'\n-AA35 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-AA37 Compression Method    0000 (0) 'Stored'\n-AA39 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AA3D CRC                   86E2B4B4 (2263004340)\n-AA41 Compressed Size       00002C5E (11358)\n-AA45 Uncompressed Size     00002C5E (11358)\n-AA49 Filename Length       0010 (16)\n-AA4B Extra Length          0009 (9)\n-AA4D Comment Length        0000 (0)\n-AA4F Disk Start            0000 (0)\n-AA51 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AA53 Ext File Attributes   00000000 (0)\n-AA57 Local Header Offset   00001008 (4104)\n-AA5B Filename              'XXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAA5B: Filename 'XXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AA6B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AA6D   Length              0005 (5)\n-AA6F   Flags               01 (1) 'Modification'\n-AA70   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AA74 CENTRAL HEADER #4     02014B50 (33639248)\n-AA78 Created Zip Spec      14 (20) '2.0'\n-AA79 Created OS            00 (0) 'MS-DOS'\n-AA7A Extract Zip Spec      14 (20) '2.0'\n-AA7B Extract OS            00 (0) 'MS-DOS'\n-AA7C General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-AA7E Compression Method    0000 (0) 'Stored'\n-AA80 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AA84 CRC                   EE027FB2 (3993141170)\n-AA88 Compressed Size       00000019 (25)\n-AA8C Uncompressed Size     00000019 (25)\n-AA90 Filename Length       0014 (20)\n-AA92 Extra Length          0009 (9)\n-AA94 Comment Length        0000 (0)\n-AA96 Disk Start            0000 (0)\n-AA98 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AA9A Ext File Attributes   00000000 (0)\n-AA9E Local Header Offset   00003CAD (15533)\n-AAA2 Filename              'XXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAAA2: Filename 'XXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AAB6 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AAB8   Length              0005 (5)\n-AABA   Flags               01 (1) 'Modification'\n-AABB   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AABF CENTRAL HEADER #5     02014B50 (33639248)\n-AAC3 Created Zip Spec      14 (20) '2.0'\n-AAC4 Created OS            00 (0) 'MS-DOS'\n-AAC5 Extract Zip Spec      14 (20) '2.0'\n-AAC6 Extract OS            00 (0) 'MS-DOS'\n-AAC7 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-AAC9 Compression Method    0000 (0) 'Stored'\n-AACB Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AACF CRC                   8879AD67 (2289675623)\n-AAD3 Compressed Size       000000B4 (180)\n-AAD7 Uncompressed Size     000000B4 (180)\n-AADB Filename Length       000F (15)\n-AADD Extra Length          0009 (9)\n-AADF Comment Length        0000 (0)\n-AAE1 Disk Start            0000 (0)\n-AAE3 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AAE5 Ext File Attributes   00000000 (0)\n-AAE9 Local Header Offset   00003D11 (15633)\n-AAED Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAAED: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AAFC Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AAFE   Length              0005 (5)\n-AB00   Flags               01 (1) 'Modification'\n-AB01   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AB05 CENTRAL HEADER #6     02014B50 (33639248)\n-AB09 Created Zip Spec      14 (20) '2.0'\n-AB0A Created OS            00 (0) 'MS-DOS'\n-AB0B Extract Zip Spec      14 (20) '2.0'\n-AB0C Extract OS            00 (0) 'MS-DOS'\n-AB0D General Purpose Flag  0000 (0)\n-AB0F Compression Method    0000 (0) 'Stored'\n-AB11 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AB15 CRC                   00000000 (0)\n-AB19 Compressed Size       00000000 (0)\n-AB1D Uncompressed Size     00000000 (0)\n-AB21 Filename Length       000F (15)\n-AB23 Extra Length          0009 (9)\n-AB25 Comment Length        0000 (0)\n-AB27 Disk Start            0000 (0)\n-AB29 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AB2B Ext File Attributes   00000000 (0)\n-AB2F Local Header Offset   00003E0B (15883)\n-AB33 Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAB33: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AB42 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AB44   Length              0005 (5)\n-AB46   Flags               01 (1) 'Modification'\n-AB47   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AB4B CENTRAL HEADER #7     02014B50 (33639248)\n-AB4F Created Zip Spec      14 (20) '2.0'\n-AB50 Created OS            00 (0) 'MS-DOS'\n-AB51 Extract Zip Spec      14 (20) '2.0'\n-AB52 Extract OS            00 (0) 'MS-DOS'\n-AB53 General Purpose Flag  0000 (0)\n-AB55 Compression Method    0000 (0) 'Stored'\n-AB57 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AB5B CRC                   00000000 (0)\n-AB5F Compressed Size       00000000 (0)\n-AB63 Uncompressed Size     00000000 (0)\n-AB67 Filename Length       0018 (24)\n-AB69 Extra Length          0009 (9)\n-AB6B Comment Length        0000 (0)\n-AB6D Disk Start            0000 (0)\n-AB6F Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AB71 Ext File Attributes   00000000 (0)\n-AB75 Local Header Offset   00003E41 (15937)\n-AB79 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAB79: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AB91 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AB93   Length              0005 (5)\n-AB95   Flags               01 (1) 'Modification'\n-AB96   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AB9A CENTRAL HEADER #8     02014B50 (33639248)\n-AB9E Created Zip Spec      14 (20) '2.0'\n-AB9F Created OS            00 (0) 'MS-DOS'\n-ABA0 Extract Zip Spec      14 (20) '2.0'\n-ABA1 Extract OS            00 (0) 'MS-DOS'\n-ABA2 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-ABA4 Compression Method    0000 (0) 'Stored'\n-ABA6 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-ABAA CRC                   814DBD48 (2169355592)\n-ABAE Compressed Size       00000044 (68)\n-ABB2 Uncompressed Size     00000044 (68)\n-ABB6 Filename Length       0041 (65)\n-ABB8 Extra Length          0009 (9)\n-ABBA Comment Length        0000 (0)\n-ABBC Disk Start            0000 (0)\n-ABBE Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-ABC0 Ext File Attributes   00000000 (0)\n-ABC4 Local Header Offset   00003E80 (16000)\n-ABC8 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xABC8: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AC09 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AC0B   Length              0005 (5)\n-AC0D   Flags               01 (1) 'Modification'\n-AC0E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AC12 CENTRAL HEADER #9     02014B50 (33639248)\n-AC16 Created Zip Spec      14 (20) '2.0'\n-AC17 Created OS            00 (0) 'MS-DOS'\n-AC18 Extract Zip Spec      14 (20) '2.0'\n-AC19 Extract OS            00 (0) 'MS-DOS'\n-AC1A General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-AC1C Compression Method    0000 (0) 'Stored'\n-AC1E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AC22 CRC                   7462894A (1952614730)\n-AC26 Compressed Size       0000004C (76)\n-AC2A Uncompressed Size     0000004C (76)\n-AC2E Filename Length       0049 (73)\n-AC30 Extra Length          0009 (9)\n-AC32 Comment Length        0000 (0)\n-AC34 Disk Start            0000 (0)\n-AC36 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AC38 Ext File Attributes   00000000 (0)\n-AC3C Local Header Offset   00003F3C (16188)\n-AC40 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAC40: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AC89 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AC8B   Length              0005 (5)\n-AC8D   Flags               01 (1) 'Modification'\n-AC8E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AC92 CENTRAL HEADER #10    02014B50 (33639248)\n-AC96 Created Zip Spec      14 (20) '2.0'\n-AC97 Created OS            00 (0) 'MS-DOS'\n-AC98 Extract Zip Spec      14 (20) '2.0'\n-AC99 Extract OS            00 (0) 'MS-DOS'\n-AC9A General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-AC9C Compression Method    0000 (0) 'Stored'\n-AC9E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-ACA2 CRC                   EAE05BA4 (3940572068)\n-ACA6 Compressed Size       00000053 (83)\n-ACAA Uncompressed Size     00000053 (83)\n-ACAE Filename Length       0050 (80)\n-ACB0 Extra Length          0009 (9)\n-ACB2 Comment Length        0000 (0)\n-ACB4 Disk Start            0000 (0)\n-ACB6 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-ACB8 Ext File Attributes   00000000 (0)\n-ACBC Local Header Offset   00004008 (16392)\n-ACC0 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xACC0: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AD10 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AD12   Length              0005 (5)\n-AD14   Flags               01 (1) 'Modification'\n-AD15   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AD19 CENTRAL HEADER #11    02014B50 (33639248)\n-AD1D Created Zip Spec      14 (20) '2.0'\n-AD1E Created OS            00 (0) 'MS-DOS'\n-AD1F Extract Zip Spec      14 (20) '2.0'\n-AD20 Extract OS            00 (0) 'MS-DOS'\n-AD21 General Purpose Flag  0000 (0)\n-AD23 Compression Method    0000 (0) 'Stored'\n-AD25 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AD29 CRC                   00000000 (0)\n-AD2D Compressed Size       00000000 (0)\n-AD31 Uncompressed Size     00000000 (0)\n-AD35 Filename Length       000F (15)\n-AD37 Extra Length          0009 (9)\n-AD39 Comment Length        0000 (0)\n-AD3B Disk Start            0000 (0)\n-AD3D Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AD3F Ext File Attributes   00000000 (0)\n-AD43 Local Header Offset   000040E2 (16610)\n-AD47 Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAD47: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AD56 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AD58   Length              0005 (5)\n-AD5A   Flags               01 (1) 'Modification'\n-AD5B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AD5F CENTRAL HEADER #12    02014B50 (33639248)\n-AD63 Created Zip Spec      14 (20) '2.0'\n-AD64 Created OS            00 (0) 'MS-DOS'\n-AD65 Extract Zip Spec      14 (20) '2.0'\n-AD66 Extract OS            00 (0) 'MS-DOS'\n-AD67 General Purpose Flag  0000 (0)\n-AD69 Compression Method    0000 (0) 'Stored'\n-AD6B Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AD6F CRC                   00000000 (0)\n-AD73 Compressed Size       00000000 (0)\n-AD77 Uncompressed Size     00000000 (0)\n-AD7B Filename Length       0020 (32)\n-AD7D Extra Length          0009 (9)\n-AD7F Comment Length        0000 (0)\n-AD81 Disk Start            0000 (0)\n-AD83 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AD85 Ext File Attributes   00000000 (0)\n-AD89 Local Header Offset   00004118 (16664)\n-AD8D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAD8D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-ADAD Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-ADAF   Length              0005 (5)\n-ADB1   Flags               01 (1) 'Modification'\n-ADB2   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-ADB6 CENTRAL HEADER #13    02014B50 (33639248)\n-ADBA Created Zip Spec      14 (20) '2.0'\n-ADBB Created OS            00 (0) 'MS-DOS'\n-ADBC Extract Zip Spec      14 (20) '2.0'\n-ADBD Extract OS            00 (0) 'MS-DOS'\n-ADBE General Purpose Flag  0000 (0)\n-ADC0 Compression Method    0000 (0) 'Stored'\n-ADC2 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-ADC6 CRC                   00000000 (0)\n-ADCA Compressed Size       00000000 (0)\n-ADCE Uncompressed Size     00000000 (0)\n-ADD2 Filename Length       0038 (56)\n-ADD4 Extra Length          0009 (9)\n-ADD6 Comment Length        0000 (0)\n-ADD8 Disk Start            0000 (0)\n-ADDA Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-ADDC Ext File Attributes   00000000 (0)\n-ADE0 Local Header Offset   0000415F (16735)\n-ADE4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xADE4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AE1C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AE1E   Length              0005 (5)\n-AE20   Flags               01 (1) 'Modification'\n-AE21   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AE25 CENTRAL HEADER #14    02014B50 (33639248)\n-AE29 Created Zip Spec      14 (20) '2.0'\n-AE2A Created OS            00 (0) 'MS-DOS'\n-AE2B Extract Zip Spec      14 (20) '2.0'\n-AE2C Extract OS            00 (0) 'MS-DOS'\n-AE2D General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-AE2F Compression Method    0000 (0) 'Stored'\n-AE31 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AE35 CRC                   00000000 (0)\n-AE39 Compressed Size       00000000 (0)\n-AE3D Uncompressed Size     00000000 (0)\n-AE41 Filename Length       0046 (70)\n-AE43 Extra Length          0009 (9)\n-AE45 Comment Length        0000 (0)\n-AE47 Disk Start            0000 (0)\n-AE49 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AE4B Ext File Attributes   00000000 (0)\n-AE4F Local Header Offset   000041BE (16830)\n-AE53 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAE53: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AE99 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AE9B   Length              0005 (5)\n-AE9D   Flags               01 (1) 'Modification'\n-AE9E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AEA2 CENTRAL HEADER #15    02014B50 (33639248)\n-AEA6 Created Zip Spec      14 (20) '2.0'\n-AEA7 Created OS            00 (0) 'MS-DOS'\n-AEA8 Extract Zip Spec      14 (20) '2.0'\n-AEA9 Extract OS            00 (0) 'MS-DOS'\n-AEAA General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-AEAC Compression Method    0000 (0) 'Stored'\n-AEAE Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AEB2 CRC                   E3551669 (3814004329)\n-AEB6 Compressed Size       00000B49 (2889)\n-AEBA Uncompressed Size     00000B49 (2889)\n-AEBE Filename Length       003F (63)\n-AEC0 Extra Length          0009 (9)\n-AEC2 Comment Length        0000 (0)\n-AEC4 Disk Start            0000 (0)\n-AEC6 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AEC8 Ext File Attributes   00000000 (0)\n-AECC Local Header Offset   0000423B (16955)\n-AED0 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAED0: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AF0F Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AF11   Length              0005 (5)\n-AF13   Flags               01 (1) 'Modification'\n-AF14   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AF18 CENTRAL HEADER #16    02014B50 (33639248)\n-AF1C Created Zip Spec      14 (20) '2.0'\n-AF1D Created OS            00 (0) 'MS-DOS'\n-AF1E Extract Zip Spec      14 (20) '2.0'\n-AF1F Extract OS            00 (0) 'MS-DOS'\n-AF20 General Purpose Flag  0000 (0)\n-AF22 Compression Method    0000 (0) 'Stored'\n-AF24 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AF28 CRC                   00000000 (0)\n-AF2C Compressed Size       00000000 (0)\n-AF30 Uncompressed Size     00000000 (0)\n-AF34 Filename Length       0004 (4)\n-AF36 Extra Length          0009 (9)\n-AF38 Comment Length        0000 (0)\n-AF3A Disk Start            0000 (0)\n-AF3C Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AF3E Ext File Attributes   00000000 (0)\n-AF42 Local Header Offset   00004DFA (19962)\n-AF46 Filename              'XXXX'\n-#\n-# WARNING: Offset 0xAF46: Filename 'XXXX'\n-#          Zero length filename\n-#\n-AF4A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AF4C   Length              0005 (5)\n-AF4E   Flags               01 (1) 'Modification'\n-AF4F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AF53 CENTRAL HEADER #17    02014B50 (33639248)\n-AF57 Created Zip Spec      14 (20) '2.0'\n-AF58 Created OS            00 (0) 'MS-DOS'\n-AF59 Extract Zip Spec      14 (20) '2.0'\n-AF5A Extract OS            00 (0) 'MS-DOS'\n-AF5B General Purpose Flag  0000 (0)\n-AF5D Compression Method    0000 (0) 'Stored'\n-AF5F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AF63 CRC                   00000000 (0)\n-AF67 Compressed Size       00000000 (0)\n-AF6B Uncompressed Size     00000000 (0)\n-AF6F Filename Length       000B (11)\n-AF71 Extra Length          0009 (9)\n-AF73 Comment Length        0000 (0)\n-AF75 Disk Start            0000 (0)\n-AF77 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AF79 Ext File Attributes   00000000 (0)\n-AF7D Local Header Offset   00004E25 (20005)\n-AF81 Filename              'XXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAF81: Filename 'XXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AF8C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AF8E   Length              0005 (5)\n-AF90   Flags               01 (1) 'Modification'\n-AF91   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AF95 CENTRAL HEADER #18    02014B50 (33639248)\n-AF99 Created Zip Spec      14 (20) '2.0'\n-AF9A Created OS            00 (0) 'MS-DOS'\n-AF9B Extract Zip Spec      14 (20) '2.0'\n-AF9C Extract OS            00 (0) 'MS-DOS'\n-AF9D General Purpose Flag  0000 (0)\n-AF9F Compression Method    0000 (0) 'Stored'\n-AFA1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AFA5 CRC                   00000000 (0)\n-AFA9 Compressed Size       00000000 (0)\n-AFAD Uncompressed Size     00000000 (0)\n-AFB1 Filename Length       0011 (17)\n-AFB3 Extra Length          0009 (9)\n-AFB5 Comment Length        0000 (0)\n-AFB7 Disk Start            0000 (0)\n-AFB9 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-AFBB Ext File Attributes   00000000 (0)\n-AFBF Local Header Offset   00004E57 (20055)\n-AFC3 Filename              'XXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAFC3: Filename 'XXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AFD4 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-AFD6   Length              0005 (5)\n-AFD8   Flags               01 (1) 'Modification'\n-AFD9   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-AFDD CENTRAL HEADER #19    02014B50 (33639248)\n-AFE1 Created Zip Spec      14 (20) '2.0'\n-AFE2 Created OS            00 (0) 'MS-DOS'\n-AFE3 Extract Zip Spec      14 (20) '2.0'\n-AFE4 Extract OS            00 (0) 'MS-DOS'\n-AFE5 General Purpose Flag  0000 (0)\n-AFE7 Compression Method    0000 (0) 'Stored'\n-AFE9 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-AFED CRC                   00000000 (0)\n-AFF1 Compressed Size       00000000 (0)\n-AFF5 Uncompressed Size     00000000 (0)\n-AFF9 Filename Length       001A (26)\n-AFFB Extra Length          0009 (9)\n-AFFD Comment Length        0000 (0)\n-AFFF Disk Start            0000 (0)\n-B001 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-B003 Ext File Attributes   00000000 (0)\n-B007 Local Header Offset   00004E8F (20111)\n-B00B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xB00B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-B025 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-B027   Length              0005 (5)\n-B029   Flags               01 (1) 'Modification'\n-B02A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-B02E CENTRAL HEADER #20    02014B50 (33639248)\n-B032 Created Zip Spec      14 (20) '2.0'\n-B033 Created OS            00 (0) 'MS-DOS'\n-B034 Extract Zip Spec      14 (20) '2.0'\n-B035 Extract OS            00 (0) 'MS-DOS'\n-B036 General Purpose Flag  0000 (0)\n-B038 Compression Method    0000 (0) 'Stored'\n-B03A Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-B03E CRC                   00000000 (0)\n-B042 Compressed Size       00000000 (0)\n-B046 Uncompressed Size     00000000 (0)\n-B04A Filename Length       0023 (35)\n-B04C Extra Length          0009 (9)\n-B04E Comment Length        0000 (0)\n-B050 Disk Start            0000 (0)\n-B052 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-B054 Ext File Attributes   00000000 (0)\n-B058 Local Header Offset   00004ED0 (20176)\n-B05C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xB05C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-B07F Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-B081   Length              0005 (5)\n-B083   Flags               01 (1) 'Modification'\n-B084   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-B088 CENTRAL HEADER #21    02014B50 (33639248)\n-B08C Created Zip Spec      14 (20) '2.0'\n-B08D Created OS            00 (0) 'MS-DOS'\n-B08E Extract Zip Spec      14 (20) '2.0'\n-B08F Extract OS            00 (0) 'MS-DOS'\n-B090 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-B092 Compression Method    0000 (0) 'Stored'\n-B094 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-B098 CRC                   71E62C15 (1910909973)\n-B09C Compressed Size       00003076 (12406)\n-B0A0 Uncompressed Size     00003076 (12406)\n-B0A4 Filename Length       0038 (56)\n-B0A6 Extra Length          0009 (9)\n-B0A8 Comment Length        0000 (0)\n-B0AA Disk Start            0000 (0)\n-B0AC Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-B0AE Ext File Attributes   00000000 (0)\n-B0B2 Local Header Offset   00004F1A (20250)\n-B0B6 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xB0B6: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-B0EE Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-B0F0   Length              0005 (5)\n-B0F2   Flags               01 (1) 'Modification'\n-B0F3   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-B0F7 CENTRAL HEADER #22    02014B50 (33639248)\n-B0FB Created Zip Spec      14 (20) '2.0'\n-B0FC Created OS            00 (0) 'MS-DOS'\n-B0FD Extract Zip Spec      14 (20) '2.0'\n-B0FE Extract OS            00 (0) 'MS-DOS'\n-B0FF General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-B101 Compression Method    0000 (0) 'Stored'\n-B103 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-B107 CRC                   6ACD2956 (1791830358)\n-B10B Compressed Size       000004BE (1214)\n-B10F Uncompressed Size     000004BE (1214)\n-B113 Filename Length       003F (63)\n-B115 Extra Length          0009 (9)\n-B117 Comment Length        0000 (0)\n-B119 Disk Start            0000 (0)\n-B11B Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-B11D Ext File Attributes   00000000 (0)\n-B121 Local Header Offset   00007FFF (32767)\n-B125 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xB125: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-B164 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-B166   Length              0005 (5)\n-B168   Flags               01 (1) 'Modification'\n-B169   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-B16D CENTRAL HEADER #23    02014B50 (33639248)\n-B171 Created Zip Spec      14 (20) '2.0'\n-B172 Created OS            00 (0) 'MS-DOS'\n-B173 Extract Zip Spec      14 (20) '2.0'\n-B174 Extract OS            00 (0) 'MS-DOS'\n-B175 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-B177 Compression Method    0000 (0) 'Stored'\n-B179 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-B17D CRC                   32A6602D (849764397)\n-B181 Compressed Size       00001E83 (7811)\n-B185 Uncompressed Size     00001E83 (7811)\n-B189 Filename Length       0048 (72)\n-B18B Extra Length          0009 (9)\n-B18D Comment Length        0000 (0)\n-B18F Disk Start            0000 (0)\n-B191 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-B193 Ext File Attributes   00000000 (0)\n-B197 Local Header Offset   00008533 (34099)\n-B19B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xB19B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-B1E3 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-B1E5   Length              0005 (5)\n-B1E7   Flags               01 (1) 'Modification'\n-B1E8   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-B1EC CENTRAL HEADER #24    02014B50 (33639248)\n-B1F0 Created Zip Spec      14 (20) '2.0'\n-B1F1 Created OS            00 (0) 'MS-DOS'\n-B1F2 Extract Zip Spec      14 (20) '2.0'\n-B1F3 Extract OS            00 (0) 'MS-DOS'\n-B1F4 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-B1F6 Compression Method    0000 (0) 'Stored'\n-B1F8 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-B1FC CRC                   DA761D6A (3665173866)\n-B200 Compressed Size       000004E6 (1254)\n-B204 Uncompressed Size     000004E6 (1254)\n-B208 Filename Length       004F (79)\n-B20A Extra Length          0009 (9)\n-B20C Comment Length        0000 (0)\n-B20E Disk Start            0000 (0)\n-B210 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-B212 Ext File Attributes   00000000 (0)\n-B216 Local Header Offset   0000A435 (42037)\n-B21A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xB21A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-B269 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-B26B   Length              0005 (5)\n-B26D   Flags               01 (1) 'Modification'\n-B26E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-B272 END CENTRAL HEADER    06054B50 (101010256)\n-B276 Number of this disk   0000 (0)\n-B278 Central Dir Disk no   0000 (0)\n-B27A Entries in this disk  0018 (24)\n-B27C Total Entries         0018 (24)\n-B27E Size of Central Dir   000008D1 (2257)\n-B282 Offset to Central Dir 0000A9A1 (43425)\n-B286 Comment Length        0000 (0)\n+4F26 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4F28   Length              0005 (5)\n+4F2A   Flags               01 (1) 'Modification'\n+4F2B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+4F2F PAYLOAD\n+\n+80F6 DATA DESCRIPTOR       08074B50 (134695760)\n+80FA CRC                   BDA5F435 (3181769781)\n+80FE Compressed Size       000031C7 (12743)\n+8102 Uncompressed Size     000031C7 (12743)\n+\n+8106 LOCAL HEADER #22      04034B50 (67324752)\n+810A Extract Zip Spec      14 (20) '2.0'\n+810B Extract OS            00 (0) 'MS-DOS'\n+810C General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+810E Compression Method    0000 (0) 'Stored'\n+8110 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+8114 CRC                   00000000 (0)\n+8118 Compressed Size       00000000 (0)\n+811C Uncompressed Size     00000000 (0)\n+8120 Filename Length       003F (63)\n+8122 Extra Length          0009 (9)\n+8124 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x8124: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+8163 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+8165   Length              0005 (5)\n+8167   Flags               01 (1) 'Modification'\n+8168   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+816C PAYLOAD\n+\n+864B DATA DESCRIPTOR       08074B50 (134695760)\n+864F CRC                   BA9C4A25 (3130804773)\n+8653 Compressed Size       000004DF (1247)\n+8657 Uncompressed Size     000004DF (1247)\n+\n+865B LOCAL HEADER #23      04034B50 (67324752)\n+865F Extract Zip Spec      14 (20) '2.0'\n+8660 Extract OS            00 (0) 'MS-DOS'\n+8661 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+8663 Compression Method    0000 (0) 'Stored'\n+8665 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+8669 CRC                   00000000 (0)\n+866D Compressed Size       00000000 (0)\n+8671 Uncompressed Size     00000000 (0)\n+8675 Filename Length       0048 (72)\n+8677 Extra Length          0009 (9)\n+8679 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x8679: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+86C1 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+86C3   Length              0005 (5)\n+86C5   Flags               01 (1) 'Modification'\n+86C6   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+86CA PAYLOAD\n+\n+A5F8 DATA DESCRIPTOR       08074B50 (134695760)\n+A5FC CRC                   23EFD54C (602920268)\n+A600 Compressed Size       00001F2E (7982)\n+A604 Uncompressed Size     00001F2E (7982)\n+\n+A608 LOCAL HEADER #24      04034B50 (67324752)\n+A60C Extract Zip Spec      14 (20) '2.0'\n+A60D Extract OS            00 (0) 'MS-DOS'\n+A60E General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+A610 Compression Method    0000 (0) 'Stored'\n+A612 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+A616 CRC                   00000000 (0)\n+A61A Compressed Size       00000000 (0)\n+A61E Uncompressed Size     00000000 (0)\n+A622 Filename Length       004F (79)\n+A624 Extra Length          0009 (9)\n+A626 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xA626: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+A675 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+A677   Length              0005 (5)\n+A679   Flags               01 (1) 'Modification'\n+A67A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+A67E PAYLOAD\n+\n+AB80 DATA DESCRIPTOR       08074B50 (134695760)\n+AB84 CRC                   CC2EC0C4 (3425616068)\n+AB88 Compressed Size       00000502 (1282)\n+AB8C Uncompressed Size     00000502 (1282)\n+\n+AB90 CENTRAL HEADER #1     02014B50 (33639248)\n+AB94 Created Zip Spec      14 (20) '2.0'\n+AB95 Created OS            00 (0) 'MS-DOS'\n+AB96 Extract Zip Spec      14 (20) '2.0'\n+AB97 Extract OS            00 (0) 'MS-DOS'\n+AB98 General Purpose Flag  0000 (0)\n+AB9A Compression Method    0000 (0) 'Stored'\n+AB9C Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+ABA0 CRC                   00000000 (0)\n+ABA4 Compressed Size       00000000 (0)\n+ABA8 Uncompressed Size     00000000 (0)\n+ABAC Filename Length       0009 (9)\n+ABAE Extra Length          0009 (9)\n+ABB0 Comment Length        0000 (0)\n+ABB2 Disk Start            0000 (0)\n+ABB4 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+ABB6 Ext File Attributes   00000000 (0)\n+ABBA Local Header Offset   00000000 (0)\n+ABBE Filename              'XXXXXXXXX'\n+#\n+# WARNING: Offset 0xABBE: Filename 'XXXXXXXXX'\n+#          Zero length filename\n+#\n+ABC7 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+ABC9   Length              0005 (5)\n+ABCB   Flags               01 (1) 'Modification'\n+ABCC   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+ABD0 CENTRAL HEADER #2     02014B50 (33639248)\n+ABD4 Created Zip Spec      14 (20) '2.0'\n+ABD5 Created OS            00 (0) 'MS-DOS'\n+ABD6 Extract Zip Spec      14 (20) '2.0'\n+ABD7 Extract OS            00 (0) 'MS-DOS'\n+ABD8 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+ABDA Compression Method    0000 (0) 'Stored'\n+ABDC Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+ABE0 CRC                   FCE7E274 (4243055220)\n+ABE4 Compressed Size       00000F8C (3980)\n+ABE8 Uncompressed Size     00000F8C (3980)\n+ABEC Filename Length       0015 (21)\n+ABEE Extra Length          0009 (9)\n+ABF0 Comment Length        0000 (0)\n+ABF2 Disk Start            0000 (0)\n+ABF4 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+ABF6 Ext File Attributes   00000000 (0)\n+ABFA Local Header Offset   00000030 (48)\n+ABFE Filename              'XXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xABFE: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+AC13 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+AC15   Length              0005 (5)\n+AC17   Flags               01 (1) 'Modification'\n+AC18   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AC1C CENTRAL HEADER #3     02014B50 (33639248)\n+AC20 Created Zip Spec      14 (20) '2.0'\n+AC21 Created OS            00 (0) 'MS-DOS'\n+AC22 Extract Zip Spec      14 (20) '2.0'\n+AC23 Extract OS            00 (0) 'MS-DOS'\n+AC24 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+AC26 Compression Method    0000 (0) 'Stored'\n+AC28 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AC2C CRC                   86E2B4B4 (2263004340)\n+AC30 Compressed Size       00002C5E (11358)\n+AC34 Uncompressed Size     00002C5E (11358)\n+AC38 Filename Length       0010 (16)\n+AC3A Extra Length          0009 (9)\n+AC3C Comment Length        0000 (0)\n+AC3E Disk Start            0000 (0)\n+AC40 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AC42 Ext File Attributes   00000000 (0)\n+AC46 Local Header Offset   00001008 (4104)\n+AC4A Filename              'XXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAC4A: Filename 'XXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+AC5A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+AC5C   Length              0005 (5)\n+AC5E   Flags               01 (1) 'Modification'\n+AC5F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AC63 CENTRAL HEADER #4     02014B50 (33639248)\n+AC67 Created Zip Spec      14 (20) '2.0'\n+AC68 Created OS            00 (0) 'MS-DOS'\n+AC69 Extract Zip Spec      14 (20) '2.0'\n+AC6A Extract OS            00 (0) 'MS-DOS'\n+AC6B General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+AC6D Compression Method    0000 (0) 'Stored'\n+AC6F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AC73 CRC                   EE027FB2 (3993141170)\n+AC77 Compressed Size       00000019 (25)\n+AC7B Uncompressed Size     00000019 (25)\n+AC7F Filename Length       0014 (20)\n+AC81 Extra Length          0009 (9)\n+AC83 Comment Length        0000 (0)\n+AC85 Disk Start            0000 (0)\n+AC87 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AC89 Ext File Attributes   00000000 (0)\n+AC8D Local Header Offset   00003CAD (15533)\n+AC91 Filename              'XXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAC91: Filename 'XXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+ACA5 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+ACA7   Length              0005 (5)\n+ACA9   Flags               01 (1) 'Modification'\n+ACAA   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+ACAE CENTRAL HEADER #5     02014B50 (33639248)\n+ACB2 Created Zip Spec      14 (20) '2.0'\n+ACB3 Created OS            00 (0) 'MS-DOS'\n+ACB4 Extract Zip Spec      14 (20) '2.0'\n+ACB5 Extract OS            00 (0) 'MS-DOS'\n+ACB6 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+ACB8 Compression Method    0000 (0) 'Stored'\n+ACBA Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+ACBE CRC                   8879AD67 (2289675623)\n+ACC2 Compressed Size       000000B4 (180)\n+ACC6 Uncompressed Size     000000B4 (180)\n+ACCA Filename Length       000F (15)\n+ACCC Extra Length          0009 (9)\n+ACCE Comment Length        0000 (0)\n+ACD0 Disk Start            0000 (0)\n+ACD2 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+ACD4 Ext File Attributes   00000000 (0)\n+ACD8 Local Header Offset   00003D11 (15633)\n+ACDC Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xACDC: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+ACEB Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+ACED   Length              0005 (5)\n+ACEF   Flags               01 (1) 'Modification'\n+ACF0   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+ACF4 CENTRAL HEADER #6     02014B50 (33639248)\n+ACF8 Created Zip Spec      14 (20) '2.0'\n+ACF9 Created OS            00 (0) 'MS-DOS'\n+ACFA Extract Zip Spec      14 (20) '2.0'\n+ACFB Extract OS            00 (0) 'MS-DOS'\n+ACFC General Purpose Flag  0000 (0)\n+ACFE Compression Method    0000 (0) 'Stored'\n+AD00 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AD04 CRC                   00000000 (0)\n+AD08 Compressed Size       00000000 (0)\n+AD0C Uncompressed Size     00000000 (0)\n+AD10 Filename Length       000F (15)\n+AD12 Extra Length          0009 (9)\n+AD14 Comment Length        0000 (0)\n+AD16 Disk Start            0000 (0)\n+AD18 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AD1A Ext File Attributes   00000000 (0)\n+AD1E Local Header Offset   00003E0B (15883)\n+AD22 Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAD22: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+AD31 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+AD33   Length              0005 (5)\n+AD35   Flags               01 (1) 'Modification'\n+AD36   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AD3A CENTRAL HEADER #7     02014B50 (33639248)\n+AD3E Created Zip Spec      14 (20) '2.0'\n+AD3F Created OS            00 (0) 'MS-DOS'\n+AD40 Extract Zip Spec      14 (20) '2.0'\n+AD41 Extract OS            00 (0) 'MS-DOS'\n+AD42 General Purpose Flag  0000 (0)\n+AD44 Compression Method    0000 (0) 'Stored'\n+AD46 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AD4A CRC                   00000000 (0)\n+AD4E Compressed Size       00000000 (0)\n+AD52 Uncompressed Size     00000000 (0)\n+AD56 Filename Length       0018 (24)\n+AD58 Extra Length          0009 (9)\n+AD5A Comment Length        0000 (0)\n+AD5C Disk Start            0000 (0)\n+AD5E Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AD60 Ext File Attributes   00000000 (0)\n+AD64 Local Header Offset   00003E41 (15937)\n+AD68 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAD68: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+AD80 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+AD82   Length              0005 (5)\n+AD84   Flags               01 (1) 'Modification'\n+AD85   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AD89 CENTRAL HEADER #8     02014B50 (33639248)\n+AD8D Created Zip Spec      14 (20) '2.0'\n+AD8E Created OS            00 (0) 'MS-DOS'\n+AD8F Extract Zip Spec      14 (20) '2.0'\n+AD90 Extract OS            00 (0) 'MS-DOS'\n+AD91 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+AD93 Compression Method    0000 (0) 'Stored'\n+AD95 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AD99 CRC                   0510144B (84939851)\n+AD9D Compressed Size       00000045 (69)\n+ADA1 Uncompressed Size     00000045 (69)\n+ADA5 Filename Length       0041 (65)\n+ADA7 Extra Length          0009 (9)\n+ADA9 Comment Length        0000 (0)\n+ADAB Disk Start            0000 (0)\n+ADAD Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+ADAF Ext File Attributes   00000000 (0)\n+ADB3 Local Header Offset   00003E80 (16000)\n+ADB7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xADB7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+ADF8 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+ADFA   Length              0005 (5)\n+ADFC   Flags               01 (1) 'Modification'\n+ADFD   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AE01 CENTRAL HEADER #9     02014B50 (33639248)\n+AE05 Created Zip Spec      14 (20) '2.0'\n+AE06 Created OS            00 (0) 'MS-DOS'\n+AE07 Extract Zip Spec      14 (20) '2.0'\n+AE08 Extract OS            00 (0) 'MS-DOS'\n+AE09 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+AE0B Compression Method    0000 (0) 'Stored'\n+AE0D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AE11 CRC                   7462894A (1952614730)\n+AE15 Compressed Size       0000004C (76)\n+AE19 Uncompressed Size     0000004C (76)\n+AE1D Filename Length       0049 (73)\n+AE1F Extra Length          0009 (9)\n+AE21 Comment Length        0000 (0)\n+AE23 Disk Start            0000 (0)\n+AE25 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AE27 Ext File Attributes   00000000 (0)\n+AE2B Local Header Offset   00003F3D (16189)\n+AE2F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAE2F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+AE78 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+AE7A   Length              0005 (5)\n+AE7C   Flags               01 (1) 'Modification'\n+AE7D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AE81 CENTRAL HEADER #10    02014B50 (33639248)\n+AE85 Created Zip Spec      14 (20) '2.0'\n+AE86 Created OS            00 (0) 'MS-DOS'\n+AE87 Extract Zip Spec      14 (20) '2.0'\n+AE88 Extract OS            00 (0) 'MS-DOS'\n+AE89 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+AE8B Compression Method    0000 (0) 'Stored'\n+AE8D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AE91 CRC                   EAE05BA4 (3940572068)\n+AE95 Compressed Size       00000053 (83)\n+AE99 Uncompressed Size     00000053 (83)\n+AE9D Filename Length       0050 (80)\n+AE9F Extra Length          0009 (9)\n+AEA1 Comment Length        0000 (0)\n+AEA3 Disk Start            0000 (0)\n+AEA5 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AEA7 Ext File Attributes   00000000 (0)\n+AEAB Local Header Offset   00004009 (16393)\n+AEAF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAEAF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+AEFF Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+AF01   Length              0005 (5)\n+AF03   Flags               01 (1) 'Modification'\n+AF04   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AF08 CENTRAL HEADER #11    02014B50 (33639248)\n+AF0C Created Zip Spec      14 (20) '2.0'\n+AF0D Created OS            00 (0) 'MS-DOS'\n+AF0E Extract Zip Spec      14 (20) '2.0'\n+AF0F Extract OS            00 (0) 'MS-DOS'\n+AF10 General Purpose Flag  0000 (0)\n+AF12 Compression Method    0000 (0) 'Stored'\n+AF14 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AF18 CRC                   00000000 (0)\n+AF1C Compressed Size       00000000 (0)\n+AF20 Uncompressed Size     00000000 (0)\n+AF24 Filename Length       000F (15)\n+AF26 Extra Length          0009 (9)\n+AF28 Comment Length        0000 (0)\n+AF2A Disk Start            0000 (0)\n+AF2C Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AF2E Ext File Attributes   00000000 (0)\n+AF32 Local Header Offset   000040E3 (16611)\n+AF36 Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAF36: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+AF45 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+AF47   Length              0005 (5)\n+AF49   Flags               01 (1) 'Modification'\n+AF4A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AF4E CENTRAL HEADER #12    02014B50 (33639248)\n+AF52 Created Zip Spec      14 (20) '2.0'\n+AF53 Created OS            00 (0) 'MS-DOS'\n+AF54 Extract Zip Spec      14 (20) '2.0'\n+AF55 Extract OS            00 (0) 'MS-DOS'\n+AF56 General Purpose Flag  0000 (0)\n+AF58 Compression Method    0000 (0) 'Stored'\n+AF5A Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AF5E CRC                   00000000 (0)\n+AF62 Compressed Size       00000000 (0)\n+AF66 Uncompressed Size     00000000 (0)\n+AF6A Filename Length       0020 (32)\n+AF6C Extra Length          0009 (9)\n+AF6E Comment Length        0000 (0)\n+AF70 Disk Start            0000 (0)\n+AF72 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AF74 Ext File Attributes   00000000 (0)\n+AF78 Local Header Offset   00004119 (16665)\n+AF7C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAF7C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+AF9C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+AF9E   Length              0005 (5)\n+AFA0   Flags               01 (1) 'Modification'\n+AFA1   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+AFA5 CENTRAL HEADER #13    02014B50 (33639248)\n+AFA9 Created Zip Spec      14 (20) '2.0'\n+AFAA Created OS            00 (0) 'MS-DOS'\n+AFAB Extract Zip Spec      14 (20) '2.0'\n+AFAC Extract OS            00 (0) 'MS-DOS'\n+AFAD General Purpose Flag  0000 (0)\n+AFAF Compression Method    0000 (0) 'Stored'\n+AFB1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+AFB5 CRC                   00000000 (0)\n+AFB9 Compressed Size       00000000 (0)\n+AFBD Uncompressed Size     00000000 (0)\n+AFC1 Filename Length       0038 (56)\n+AFC3 Extra Length          0009 (9)\n+AFC5 Comment Length        0000 (0)\n+AFC7 Disk Start            0000 (0)\n+AFC9 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+AFCB Ext File Attributes   00000000 (0)\n+AFCF Local Header Offset   00004160 (16736)\n+AFD3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xAFD3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B00B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B00D   Length              0005 (5)\n+B00F   Flags               01 (1) 'Modification'\n+B010   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B014 CENTRAL HEADER #14    02014B50 (33639248)\n+B018 Created Zip Spec      14 (20) '2.0'\n+B019 Created OS            00 (0) 'MS-DOS'\n+B01A Extract Zip Spec      14 (20) '2.0'\n+B01B Extract OS            00 (0) 'MS-DOS'\n+B01C General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+B01E Compression Method    0000 (0) 'Stored'\n+B020 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B024 CRC                   00000000 (0)\n+B028 Compressed Size       00000000 (0)\n+B02C Uncompressed Size     00000000 (0)\n+B030 Filename Length       0046 (70)\n+B032 Extra Length          0009 (9)\n+B034 Comment Length        0000 (0)\n+B036 Disk Start            0000 (0)\n+B038 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B03A Ext File Attributes   00000000 (0)\n+B03E Local Header Offset   000041BF (16831)\n+B042 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB042: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B088 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B08A   Length              0005 (5)\n+B08C   Flags               01 (1) 'Modification'\n+B08D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B091 CENTRAL HEADER #15    02014B50 (33639248)\n+B095 Created Zip Spec      14 (20) '2.0'\n+B096 Created OS            00 (0) 'MS-DOS'\n+B097 Extract Zip Spec      14 (20) '2.0'\n+B098 Extract OS            00 (0) 'MS-DOS'\n+B099 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+B09B Compression Method    0000 (0) 'Stored'\n+B09D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B0A1 CRC                   6A4E29DE (1783507422)\n+B0A5 Compressed Size       00000AFE (2814)\n+B0A9 Uncompressed Size     00000AFE (2814)\n+B0AD Filename Length       003F (63)\n+B0AF Extra Length          0009 (9)\n+B0B1 Comment Length        0000 (0)\n+B0B3 Disk Start            0000 (0)\n+B0B5 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B0B7 Ext File Attributes   00000000 (0)\n+B0BB Local Header Offset   0000423C (16956)\n+B0BF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB0BF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B0FE Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B100   Length              0005 (5)\n+B102   Flags               01 (1) 'Modification'\n+B103   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B107 CENTRAL HEADER #16    02014B50 (33639248)\n+B10B Created Zip Spec      14 (20) '2.0'\n+B10C Created OS            00 (0) 'MS-DOS'\n+B10D Extract Zip Spec      14 (20) '2.0'\n+B10E Extract OS            00 (0) 'MS-DOS'\n+B10F General Purpose Flag  0000 (0)\n+B111 Compression Method    0000 (0) 'Stored'\n+B113 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B117 CRC                   00000000 (0)\n+B11B Compressed Size       00000000 (0)\n+B11F Uncompressed Size     00000000 (0)\n+B123 Filename Length       0004 (4)\n+B125 Extra Length          0009 (9)\n+B127 Comment Length        0000 (0)\n+B129 Disk Start            0000 (0)\n+B12B Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B12D Ext File Attributes   00000000 (0)\n+B131 Local Header Offset   00004DB0 (19888)\n+B135 Filename              'XXXX'\n+#\n+# WARNING: Offset 0xB135: Filename 'XXXX'\n+#          Zero length filename\n+#\n+B139 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B13B   Length              0005 (5)\n+B13D   Flags               01 (1) 'Modification'\n+B13E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B142 CENTRAL HEADER #17    02014B50 (33639248)\n+B146 Created Zip Spec      14 (20) '2.0'\n+B147 Created OS            00 (0) 'MS-DOS'\n+B148 Extract Zip Spec      14 (20) '2.0'\n+B149 Extract OS            00 (0) 'MS-DOS'\n+B14A General Purpose Flag  0000 (0)\n+B14C Compression Method    0000 (0) 'Stored'\n+B14E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B152 CRC                   00000000 (0)\n+B156 Compressed Size       00000000 (0)\n+B15A Uncompressed Size     00000000 (0)\n+B15E Filename Length       000B (11)\n+B160 Extra Length          0009 (9)\n+B162 Comment Length        0000 (0)\n+B164 Disk Start            0000 (0)\n+B166 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B168 Ext File Attributes   00000000 (0)\n+B16C Local Header Offset   00004DDB (19931)\n+B170 Filename              'XXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB170: Filename 'XXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B17B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B17D   Length              0005 (5)\n+B17F   Flags               01 (1) 'Modification'\n+B180   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B184 CENTRAL HEADER #18    02014B50 (33639248)\n+B188 Created Zip Spec      14 (20) '2.0'\n+B189 Created OS            00 (0) 'MS-DOS'\n+B18A Extract Zip Spec      14 (20) '2.0'\n+B18B Extract OS            00 (0) 'MS-DOS'\n+B18C General Purpose Flag  0000 (0)\n+B18E Compression Method    0000 (0) 'Stored'\n+B190 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B194 CRC                   00000000 (0)\n+B198 Compressed Size       00000000 (0)\n+B19C Uncompressed Size     00000000 (0)\n+B1A0 Filename Length       0011 (17)\n+B1A2 Extra Length          0009 (9)\n+B1A4 Comment Length        0000 (0)\n+B1A6 Disk Start            0000 (0)\n+B1A8 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B1AA Ext File Attributes   00000000 (0)\n+B1AE Local Header Offset   00004E0D (19981)\n+B1B2 Filename              'XXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB1B2: Filename 'XXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B1C3 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B1C5   Length              0005 (5)\n+B1C7   Flags               01 (1) 'Modification'\n+B1C8   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B1CC CENTRAL HEADER #19    02014B50 (33639248)\n+B1D0 Created Zip Spec      14 (20) '2.0'\n+B1D1 Created OS            00 (0) 'MS-DOS'\n+B1D2 Extract Zip Spec      14 (20) '2.0'\n+B1D3 Extract OS            00 (0) 'MS-DOS'\n+B1D4 General Purpose Flag  0000 (0)\n+B1D6 Compression Method    0000 (0) 'Stored'\n+B1D8 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B1DC CRC                   00000000 (0)\n+B1E0 Compressed Size       00000000 (0)\n+B1E4 Uncompressed Size     00000000 (0)\n+B1E8 Filename Length       001A (26)\n+B1EA Extra Length          0009 (9)\n+B1EC Comment Length        0000 (0)\n+B1EE Disk Start            0000 (0)\n+B1F0 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B1F2 Ext File Attributes   00000000 (0)\n+B1F6 Local Header Offset   00004E45 (20037)\n+B1FA Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB1FA: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B214 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B216   Length              0005 (5)\n+B218   Flags               01 (1) 'Modification'\n+B219   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B21D CENTRAL HEADER #20    02014B50 (33639248)\n+B221 Created Zip Spec      14 (20) '2.0'\n+B222 Created OS            00 (0) 'MS-DOS'\n+B223 Extract Zip Spec      14 (20) '2.0'\n+B224 Extract OS            00 (0) 'MS-DOS'\n+B225 General Purpose Flag  0000 (0)\n+B227 Compression Method    0000 (0) 'Stored'\n+B229 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B22D CRC                   00000000 (0)\n+B231 Compressed Size       00000000 (0)\n+B235 Uncompressed Size     00000000 (0)\n+B239 Filename Length       0023 (35)\n+B23B Extra Length          0009 (9)\n+B23D Comment Length        0000 (0)\n+B23F Disk Start            0000 (0)\n+B241 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B243 Ext File Attributes   00000000 (0)\n+B247 Local Header Offset   00004E86 (20102)\n+B24B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB24B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B26E Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B270   Length              0005 (5)\n+B272   Flags               01 (1) 'Modification'\n+B273   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B277 CENTRAL HEADER #21    02014B50 (33639248)\n+B27B Created Zip Spec      14 (20) '2.0'\n+B27C Created OS            00 (0) 'MS-DOS'\n+B27D Extract Zip Spec      14 (20) '2.0'\n+B27E Extract OS            00 (0) 'MS-DOS'\n+B27F General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+B281 Compression Method    0000 (0) 'Stored'\n+B283 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B287 CRC                   BDA5F435 (3181769781)\n+B28B Compressed Size       000031C7 (12743)\n+B28F Uncompressed Size     000031C7 (12743)\n+B293 Filename Length       0038 (56)\n+B295 Extra Length          0009 (9)\n+B297 Comment Length        0000 (0)\n+B299 Disk Start            0000 (0)\n+B29B Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B29D Ext File Attributes   00000000 (0)\n+B2A1 Local Header Offset   00004ED0 (20176)\n+B2A5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB2A5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B2DD Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B2DF   Length              0005 (5)\n+B2E1   Flags               01 (1) 'Modification'\n+B2E2   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B2E6 CENTRAL HEADER #22    02014B50 (33639248)\n+B2EA Created Zip Spec      14 (20) '2.0'\n+B2EB Created OS            00 (0) 'MS-DOS'\n+B2EC Extract Zip Spec      14 (20) '2.0'\n+B2ED Extract OS            00 (0) 'MS-DOS'\n+B2EE General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+B2F0 Compression Method    0000 (0) 'Stored'\n+B2F2 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B2F6 CRC                   BA9C4A25 (3130804773)\n+B2FA Compressed Size       000004DF (1247)\n+B2FE Uncompressed Size     000004DF (1247)\n+B302 Filename Length       003F (63)\n+B304 Extra Length          0009 (9)\n+B306 Comment Length        0000 (0)\n+B308 Disk Start            0000 (0)\n+B30A Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B30C Ext File Attributes   00000000 (0)\n+B310 Local Header Offset   00008106 (33030)\n+B314 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB314: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B353 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B355   Length              0005 (5)\n+B357   Flags               01 (1) 'Modification'\n+B358   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B35C CENTRAL HEADER #23    02014B50 (33639248)\n+B360 Created Zip Spec      14 (20) '2.0'\n+B361 Created OS            00 (0) 'MS-DOS'\n+B362 Extract Zip Spec      14 (20) '2.0'\n+B363 Extract OS            00 (0) 'MS-DOS'\n+B364 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+B366 Compression Method    0000 (0) 'Stored'\n+B368 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B36C CRC                   23EFD54C (602920268)\n+B370 Compressed Size       00001F2E (7982)\n+B374 Uncompressed Size     00001F2E (7982)\n+B378 Filename Length       0048 (72)\n+B37A Extra Length          0009 (9)\n+B37C Comment Length        0000 (0)\n+B37E Disk Start            0000 (0)\n+B380 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B382 Ext File Attributes   00000000 (0)\n+B386 Local Header Offset   0000865B (34395)\n+B38A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB38A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B3D2 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B3D4   Length              0005 (5)\n+B3D6   Flags               01 (1) 'Modification'\n+B3D7   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B3DB CENTRAL HEADER #24    02014B50 (33639248)\n+B3DF Created Zip Spec      14 (20) '2.0'\n+B3E0 Created OS            00 (0) 'MS-DOS'\n+B3E1 Extract Zip Spec      14 (20) '2.0'\n+B3E2 Extract OS            00 (0) 'MS-DOS'\n+B3E3 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+B3E5 Compression Method    0000 (0) 'Stored'\n+B3E7 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+B3EB CRC                   CC2EC0C4 (3425616068)\n+B3EF Compressed Size       00000502 (1282)\n+B3F3 Uncompressed Size     00000502 (1282)\n+B3F7 Filename Length       004F (79)\n+B3F9 Extra Length          0009 (9)\n+B3FB Comment Length        0000 (0)\n+B3FD Disk Start            0000 (0)\n+B3FF Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+B401 Ext File Attributes   00000000 (0)\n+B405 Local Header Offset   0000A608 (42504)\n+B409 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xB409: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+B458 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+B45A   Length              0005 (5)\n+B45C   Flags               01 (1) 'Modification'\n+B45D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+B461 END CENTRAL HEADER    06054B50 (101010256)\n+B465 Number of this disk   0000 (0)\n+B467 Central Dir Disk no   0000 (0)\n+B469 Entries in this disk  0018 (24)\n+B46B Total Entries         0018 (24)\n+B46D Size of Central Dir   000008D1 (2257)\n+B471 Offset to Central Dir 0000AB90 (43920)\n+B475 Comment Length        0000 (0)\n #\n # Warning Count: 48\n #\n # Done\n"}, {"source1": "META-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory", "source2": "META-INF/dubbo/internal/org.apache.dubbo.registry.RegistryFactory", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1 +1 @@\n-multiple=org.apache.dubbo.registry.multiple.MultipleRegistryFactory\n+multiple=org.apache.dubbo.registry.multiple.MultipleRegistryFactory\r\n"}, {"source1": "META-INF/maven/org.apache.dubbo/dubbo-registry-multiple/pom.xml", "source2": "META-INF/maven/org.apache.dubbo/dubbo-registry-multiple/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,181 +1,176 @@\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 0a20 202d 2d3e 0d0a 3c70  ense...  -->..<p\n-00000350: 726f 6a65 6374 2078 7369 3a73 6368 656d  roject xsi:schem\n-00000360: 614c 6f63 6174 696f 6e3d 2268 7474 703a  aLocation=\"http:\n-00000370: 2f2f 6d61 7665 6e2e 6170 6163 6865 2e6f  //maven.apache.o\n-00000380: 7267 2f50 4f4d 2f34 2e30 2e30 2068 7474  rg/POM/4.0.0 htt\n-00000390: 7073 3a2f 2f6d 6176 656e 2e61 7061 6368  ps://maven.apach\n-000003a0: 652e 6f72 672f 7873 642f 6d61 7665 6e2d  e.org/xsd/maven-\n-000003b0: 342e 302e 302e 7873 6422 2078 6d6c 6e73  4.0.0.xsd\" xmlns\n-000003c0: 3d22 6874 7470 3a2f 2f6d 6176 656e 2e61  =\"http://maven.a\n-000003d0: 7061 6368 652e 6f72 672f 504f 4d2f 342e  pache.org/POM/4.\n-000003e0: 302e 3022 0d0a 2020 2020 786d 6c6e 733a  0.0\"..    xmlns:\n-000003f0: 7873 693d 2268 7474 703a 2f2f 7777 772e  xsi=\"http://www.\n-00000400: 7733 2e6f 7267 2f32 3030 312f 584d 4c53  w3.org/2001/XMLS\n-00000410: 6368 656d 612d 696e 7374 616e 6365 223e  chema-instance\">\n-00000420: 0d0a 2020 3c6d 6f64 656c 5665 7273 696f  ..  <modelVersio\n-00000430: 6e3e 342e 302e 303c 2f6d 6f64 656c 5665  n>4.0.0</modelVe\n-00000440: 7273 696f 6e3e 0d0a 2020 3c70 6172 656e  rsion>..  <paren\n-00000450: 743e 0d0a 2020 2020 3c67 726f 7570 4964  t>..    <groupId\n-00000460: 3e6f 7267 2e61 7061 6368 652e 6475 6262  >org.apache.dubb\n-00000470: 6f3c 2f67 726f 7570 4964 3e0d 0a20 2020  o</groupId>..   \n-00000480: 203c 6172 7469 6661 6374 4964 3e64 7562   <artifactId>dub\n-00000490: 626f 2d72 6567 6973 7472 793c 2f61 7274  bo-registry</art\n-000004a0: 6966 6163 7449 643e 0d0a 2020 2020 3c76  ifactId>..    <v\n-000004b0: 6572 7369 6f6e 3e32 2e37 2e31 303c 2f76  ersion>2.7.10</v\n-000004c0: 6572 7369 6f6e 3e0d 0a20 203c 2f70 6172  ersion>..  </par\n-000004d0: 656e 743e 0d0a 2020 3c67 726f 7570 4964  ent>..  <groupId\n-000004e0: 3e6f 7267 2e61 7061 6368 652e 6475 6262  >org.apache.dubb\n-000004f0: 6f3c 2f67 726f 7570 4964 3e0d 0a20 203c  o</groupId>..  <\n-00000500: 6172 7469 6661 6374 4964 3e64 7562 626f  artifactId>dubbo\n-00000510: 2d72 6567 6973 7472 792d 6d75 6c74 6970  -registry-multip\n-00000520: 6c65 3c2f 6172 7469 6661 6374 4964 3e0d  le</artifactId>.\n-00000530: 0a20 203c 7665 7273 696f 6e3e 322e 372e  .  <version>2.7.\n-00000540: 3130 3c2f 7665 7273 696f 6e3e 0d0a 2020  10</version>..  \n-00000550: 3c6e 616d 653e 247b 7072 6f6a 6563 742e  <name>${project.\n-00000560: 6172 7469 6661 6374 4964 7d3c 2f6e 616d  artifactId}</nam\n-00000570: 653e 0d0a 2020 3c64 6573 6372 6970 7469  e>..  <descripti\n-00000580: 6f6e 3e54 6865 206d 756c 7469 706c 6520  on>The multiple \n-00000590: 7265 6769 7374 7279 206d 6f64 756c 6520  registry module \n-000005a0: 6f66 2064 7562 626f 2070 726f 6a65 6374  of dubbo project\n-000005b0: 3c2f 6465 7363 7269 7074 696f 6e3e 0d0a  </description>..\n-000005c0: 2020 3c6c 6963 656e 7365 733e 0d0a 2020    <licenses>..  \n-000005d0: 2020 3c6c 6963 656e 7365 3e0d 0a20 2020    <license>..   \n-000005e0: 2020 203c 6e61 6d65 3e41 7061 6368 6520     <name>Apache \n-000005f0: 4c69 6365 6e73 652c 2056 6572 7369 6f6e  License, Version\n-00000600: 2032 2e30 3c2f 6e61 6d65 3e0d 0a20 2020   2.0</name>..   \n-00000610: 2020 203c 7572 6c3e 6874 7470 3a2f 2f77     <url>http://w\n-00000620: 7777 2e61 7061 6368 652e 6f72 672f 6c69  ww.apache.org/li\n-00000630: 6365 6e73 6573 2f4c 4943 454e 5345 2d32  censes/LICENSE-2\n-00000640: 2e30 3c2f 7572 6c3e 0d0a 2020 2020 2020  .0</url>..      \n-00000650: 3c64 6973 7472 6962 7574 696f 6e3e 7265  <distribution>re\n-00000660: 706f 3c2f 6469 7374 7269 6275 7469 6f6e  po</distribution\n-00000670: 3e0d 0a20 2020 203c 2f6c 6963 656e 7365  >..    </license\n-00000680: 3e0d 0a20 203c 2f6c 6963 656e 7365 733e  >..  </licenses>\n-00000690: 0d0a 2020 3c70 726f 7065 7274 6965 733e  ..  <properties>\n-000006a0: 0d0a 2020 2020 3c73 6b69 705f 6d61 7665  ..    <skip_mave\n-000006b0: 6e5f 6465 706c 6f79 3e66 616c 7365 3c2f  n_deploy>false</\n-000006c0: 736b 6970 5f6d 6176 656e 5f64 6570 6c6f  skip_maven_deplo\n-000006d0: 793e 0d0a 2020 3c2f 7072 6f70 6572 7469  y>..  </properti\n-000006e0: 6573 3e0d 0a20 203c 6465 7065 6e64 656e  es>..  <dependen\n-000006f0: 6369 6573 3e0d 0a20 2020 203c 6465 7065  cies>..    <depe\n-00000700: 6e64 656e 6379 3e0d 0a20 2020 2020 203c  ndency>..      <\n-00000710: 6772 6f75 7049 643e 6f72 672e 6170 6163  groupId>org.apac\n-00000720: 6865 2e64 7562 626f 3c2f 6772 6f75 7049  he.dubbo</groupI\n-00000730: 643e 0d0a 2020 2020 2020 3c61 7274 6966  d>..      <artif\n-00000740: 6163 7449 643e 6475 6262 6f2d 7265 6769  actId>dubbo-regi\n-00000750: 7374 7279 2d61 7069 3c2f 6172 7469 6661  stry-api</artifa\n-00000760: 6374 4964 3e0d 0a20 2020 2020 203c 7665  ctId>..      <ve\n-00000770: 7273 696f 6e3e 247b 7072 6f6a 6563 742e  rsion>${project.\n-00000780: 7061 7265 6e74 2e76 6572 7369 6f6e 7d3c  parent.version}<\n-00000790: 2f76 6572 7369 6f6e 3e0d 0a20 2020 203c  /version>..    <\n-000007a0: 2f64 6570 656e 6465 6e63 793e 0d0a 2020  /dependency>..  \n-000007b0: 2020 3c64 6570 656e 6465 6e63 793e 0d0a    <dependency>..\n-000007c0: 2020 2020 2020 3c67 726f 7570 4964 3e6f        <groupId>o\n-000007d0: 7267 2e61 7061 6368 652e 6475 6262 6f3c  rg.apache.dubbo<\n-000007e0: 2f67 726f 7570 4964 3e0d 0a20 2020 2020  /groupId>..     \n-000007f0: 203c 6172 7469 6661 6374 4964 3e64 7562   <artifactId>dub\n-00000800: 626f 2d72 6567 6973 7472 792d 7a6f 6f6b  bo-registry-zook\n-00000810: 6565 7065 723c 2f61 7274 6966 6163 7449  eeper</artifactI\n-00000820: 643e 0d0a 2020 2020 2020 3c76 6572 7369  d>..      <versi\n-00000830: 6f6e 3e24 7b70 726f 6a65 6374 2e70 6172  on>${project.par\n-00000840: 656e 742e 7665 7273 696f 6e7d 3c2f 7665  ent.version}</ve\n-00000850: 7273 696f 6e3e 0d0a 2020 2020 2020 3c73  rsion>..      <s\n-00000860: 636f 7065 3e74 6573 743c 2f73 636f 7065  cope>test</scope\n-00000870: 3e0d 0a20 2020 203c 2f64 6570 656e 6465  >..    </depende\n-00000880: 6e63 793e 0d0a 2020 2020 3c64 6570 656e  ncy>..    <depen\n-00000890: 6465 6e63 793e 0d0a 2020 2020 2020 3c67  dency>..      <g\n-000008a0: 726f 7570 4964 3e6f 7267 2e61 7061 6368  roupId>org.apach\n-000008b0: 652e 6475 6262 6f3c 2f67 726f 7570 4964  e.dubbo</groupId\n-000008c0: 3e0d 0a20 2020 2020 203c 6172 7469 6661  >..      <artifa\n-000008d0: 6374 4964 3e64 7562 626f 2d72 6567 6973  ctId>dubbo-regis\n-000008e0: 7472 792d 7265 6469 733c 2f61 7274 6966  try-redis</artif\n-000008f0: 6163 7449 643e 0d0a 2020 2020 2020 3c76  actId>..      <v\n-00000900: 6572 7369 6f6e 3e24 7b70 726f 6a65 6374  ersion>${project\n-00000910: 2e70 6172 656e 742e 7665 7273 696f 6e7d  .parent.version}\n-00000920: 3c2f 7665 7273 696f 6e3e 0d0a 2020 2020  </version>..    \n-00000930: 2020 3c73 636f 7065 3e74 6573 743c 2f73    <scope>test</s\n-00000940: 636f 7065 3e0d 0a20 2020 203c 2f64 6570  cope>..    </dep\n-00000950: 656e 6465 6e63 793e 0d0a 2020 2020 3c64  endency>..    <d\n-00000960: 6570 656e 6465 6e63 793e 0d0a 2020 2020  ependency>..    \n-00000970: 2020 3c67 726f 7570 4964 3e6f 7267 2e61    <groupId>org.a\n-00000980: 7061 6368 652e 6375 7261 746f 723c 2f67  pache.curator</g\n-00000990: 726f 7570 4964 3e0d 0a20 2020 2020 203c  roupId>..      <\n-000009a0: 6172 7469 6661 6374 4964 3e63 7572 6174  artifactId>curat\n-000009b0: 6f72 2d74 6573 743c 2f61 7274 6966 6163  or-test</artifac\n-000009c0: 7449 643e 0d0a 2020 2020 2020 3c73 636f  tId>..      <sco\n-000009d0: 7065 3e74 6573 743c 2f73 636f 7065 3e0d  pe>test</scope>.\n-000009e0: 0a20 2020 203c 2f64 6570 656e 6465 6e63  .    </dependenc\n-000009f0: 793e 0d0a 2020 2020 3c64 6570 656e 6465  y>..    <depende\n-00000a00: 6e63 793e 0d0a 2020 2020 2020 3c67 726f  ncy>..      <gro\n-00000a10: 7570 4964 3e63 6f6d 2e67 6974 6875 622e  upId>com.github.\n-00000a20: 6b73 7479 7263 3c2f 6772 6f75 7049 643e  kstyrc</groupId>\n-00000a30: 0d0a 2020 2020 2020 3c61 7274 6966 6163  ..      <artifac\n-00000a40: 7449 643e 656d 6265 6464 6564 2d72 6564  tId>embedded-red\n-00000a50: 6973 3c2f 6172 7469 6661 6374 4964 3e0d  is</artifactId>.\n-00000a60: 0a20 2020 2020 203c 7363 6f70 653e 7465  .      <scope>te\n-00000a70: 7374 3c2f 7363 6f70 653e 0d0a 2020 2020  st</scope>..    \n-00000a80: 3c2f 6465 7065 6e64 656e 6379 3e0d 0a20  </dependency>.. \n-00000a90: 2020 203c 6465 7065 6e64 656e 6379 3e0d     <dependency>.\n-00000aa0: 0a20 2020 2020 203c 6772 6f75 7049 643e  .      <groupId>\n-00000ab0: 6f72 672e 6170 6163 6865 2e63 6f6d 6d6f  org.apache.commo\n-00000ac0: 6e73 3c2f 6772 6f75 7049 643e 0d0a 2020  ns</groupId>..  \n-00000ad0: 2020 2020 3c61 7274 6966 6163 7449 643e      <artifactId>\n-00000ae0: 636f 6d6d 6f6e 732d 6c61 6e67 333c 2f61  commons-lang3</a\n-00000af0: 7274 6966 6163 7449 643e 0d0a 2020 2020  rtifactId>..    \n-00000b00: 2020 3c73 636f 7065 3e74 6573 743c 2f73    <scope>test</s\n-00000b10: 636f 7065 3e0d 0a20 2020 203c 2f64 6570  cope>..    </dep\n-00000b20: 656e 6465 6e63 793e 0d0a 2020 3c2f 6465  endency>..  </de\n-00000b30: 7065 6e64 656e 6369 6573 3e0d 0a3c 2f70  pendencies>..</p\n-00000b40: 726f 6a65 6374 3e0d 0a                   roject>..\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 0a20 202d 2d3e 0a3c 7072  cense..  -->.<pr\n+00000340: 6f6a 6563 7420 7873 693a 7363 6865 6d61  oject xsi:schema\n+00000350: 4c6f 6361 7469 6f6e 3d22 6874 7470 3a2f  Location=\"http:/\n+00000360: 2f6d 6176 656e 2e61 7061 6368 652e 6f72  /maven.apache.or\n+00000370: 672f 504f 4d2f 342e 302e 3020 6874 7470  g/POM/4.0.0 http\n+00000380: 733a 2f2f 6d61 7665 6e2e 6170 6163 6865  s://maven.apache\n+00000390: 2e6f 7267 2f78 7364 2f6d 6176 656e 2d34  .org/xsd/maven-4\n+000003a0: 2e30 2e30 2e78 7364 2220 786d 6c6e 733d  .0.0.xsd\" xmlns=\n+000003b0: 2268 7474 703a 2f2f 6d61 7665 6e2e 6170  \"http://maven.ap\n+000003c0: 6163 6865 2e6f 7267 2f50 4f4d 2f34 2e30  ache.org/POM/4.0\n+000003d0: 2e30 220a 2020 2020 786d 6c6e 733a 7873  .0\".    xmlns:xs\n+000003e0: 693d 2268 7474 703a 2f2f 7777 772e 7733  i=\"http://www.w3\n+000003f0: 2e6f 7267 2f32 3030 312f 584d 4c53 6368  .org/2001/XMLSch\n+00000400: 656d 612d 696e 7374 616e 6365 223e 0a20  ema-instance\">. \n+00000410: 203c 6d6f 6465 6c56 6572 7369 6f6e 3e34   <modelVersion>4\n+00000420: 2e30 2e30 3c2f 6d6f 6465 6c56 6572 7369  .0.0</modelVersi\n+00000430: 6f6e 3e0a 2020 3c70 6172 656e 743e 0a20  on>.  <parent>. \n+00000440: 2020 203c 6772 6f75 7049 643e 6f72 672e     <groupId>org.\n+00000450: 6170 6163 6865 2e64 7562 626f 3c2f 6772  apache.dubbo</gr\n+00000460: 6f75 7049 643e 0a20 2020 203c 6172 7469  oupId>.    <arti\n+00000470: 6661 6374 4964 3e64 7562 626f 2d72 6567  factId>dubbo-reg\n+00000480: 6973 7472 793c 2f61 7274 6966 6163 7449  istry</artifactI\n+00000490: 643e 0a20 2020 203c 7665 7273 696f 6e3e  d>.    <version>\n+000004a0: 322e 372e 3130 3c2f 7665 7273 696f 6e3e  2.7.10</version>\n+000004b0: 0a20 203c 2f70 6172 656e 743e 0a20 203c  .  </parent>.  <\n+000004c0: 6772 6f75 7049 643e 6f72 672e 6170 6163  groupId>org.apac\n+000004d0: 6865 2e64 7562 626f 3c2f 6772 6f75 7049  he.dubbo</groupI\n+000004e0: 643e 0a20 203c 6172 7469 6661 6374 4964  d>.  <artifactId\n+000004f0: 3e64 7562 626f 2d72 6567 6973 7472 792d  >dubbo-registry-\n+00000500: 6d75 6c74 6970 6c65 3c2f 6172 7469 6661  multiple</artifa\n+00000510: 6374 4964 3e0a 2020 3c76 6572 7369 6f6e  ctId>.  <version\n+00000520: 3e32 2e37 2e31 303c 2f76 6572 7369 6f6e  >2.7.10</version\n+00000530: 3e0a 2020 3c6e 616d 653e 247b 7072 6f6a  >.  <name>${proj\n+00000540: 6563 742e 6172 7469 6661 6374 4964 7d3c  ect.artifactId}<\n+00000550: 2f6e 616d 653e 0a20 203c 6465 7363 7269  /name>.  <descri\n+00000560: 7074 696f 6e3e 5468 6520 6d75 6c74 6970  ption>The multip\n+00000570: 6c65 2072 6567 6973 7472 7920 6d6f 6475  le registry modu\n+00000580: 6c65 206f 6620 6475 6262 6f20 7072 6f6a  le of dubbo proj\n+00000590: 6563 743c 2f64 6573 6372 6970 7469 6f6e  ect</description\n+000005a0: 3e0a 2020 3c6c 6963 656e 7365 733e 0a20  >.  <licenses>. \n+000005b0: 2020 203c 6c69 6365 6e73 653e 0a20 2020     <license>.   \n+000005c0: 2020 203c 6e61 6d65 3e41 7061 6368 6520     <name>Apache \n+000005d0: 4c69 6365 6e73 652c 2056 6572 7369 6f6e  License, Version\n+000005e0: 2032 2e30 3c2f 6e61 6d65 3e0a 2020 2020   2.0</name>.    \n+000005f0: 2020 3c75 726c 3e68 7474 703a 2f2f 7777    <url>http://ww\n+00000600: 772e 6170 6163 6865 2e6f 7267 2f6c 6963  w.apache.org/lic\n+00000610: 656e 7365 732f 4c49 4345 4e53 452d 322e  enses/LICENSE-2.\n+00000620: 303c 2f75 726c 3e0a 2020 2020 2020 3c64  0</url>.      <d\n+00000630: 6973 7472 6962 7574 696f 6e3e 7265 706f  istribution>repo\n+00000640: 3c2f 6469 7374 7269 6275 7469 6f6e 3e0a  </distribution>.\n+00000650: 2020 2020 3c2f 6c69 6365 6e73 653e 0a20      </license>. \n+00000660: 203c 2f6c 6963 656e 7365 733e 0a20 203c   </licenses>.  <\n+00000670: 7072 6f70 6572 7469 6573 3e0a 2020 2020  properties>.    \n+00000680: 3c73 6b69 705f 6d61 7665 6e5f 6465 706c  <skip_maven_depl\n+00000690: 6f79 3e66 616c 7365 3c2f 736b 6970 5f6d  oy>false</skip_m\n+000006a0: 6176 656e 5f64 6570 6c6f 793e 0a20 203c  aven_deploy>.  <\n+000006b0: 2f70 726f 7065 7274 6965 733e 0a20 203c  /properties>.  <\n+000006c0: 6465 7065 6e64 656e 6369 6573 3e0a 2020  dependencies>.  \n+000006d0: 2020 3c64 6570 656e 6465 6e63 793e 0a20    <dependency>. \n+000006e0: 2020 2020 203c 6772 6f75 7049 643e 6f72       <groupId>or\n+000006f0: 672e 6170 6163 6865 2e64 7562 626f 3c2f  g.apache.dubbo</\n+00000700: 6772 6f75 7049 643e 0a20 2020 2020 203c  groupId>.      <\n+00000710: 6172 7469 6661 6374 4964 3e64 7562 626f  artifactId>dubbo\n+00000720: 2d72 6567 6973 7472 792d 6170 693c 2f61  -registry-api</a\n+00000730: 7274 6966 6163 7449 643e 0a20 2020 2020  rtifactId>.     \n+00000740: 203c 7665 7273 696f 6e3e 247b 7072 6f6a   <version>${proj\n+00000750: 6563 742e 7061 7265 6e74 2e76 6572 7369  ect.parent.versi\n+00000760: 6f6e 7d3c 2f76 6572 7369 6f6e 3e0a 2020  on}</version>.  \n+00000770: 2020 3c2f 6465 7065 6e64 656e 6379 3e0a    </dependency>.\n+00000780: 2020 2020 3c64 6570 656e 6465 6e63 793e      <dependency>\n+00000790: 0a20 2020 2020 203c 6772 6f75 7049 643e  .      <groupId>\n+000007a0: 6f72 672e 6170 6163 6865 2e64 7562 626f  org.apache.dubbo\n+000007b0: 3c2f 6772 6f75 7049 643e 0a20 2020 2020  </groupId>.     \n+000007c0: 203c 6172 7469 6661 6374 4964 3e64 7562   <artifactId>dub\n+000007d0: 626f 2d72 6567 6973 7472 792d 7a6f 6f6b  bo-registry-zook\n+000007e0: 6565 7065 723c 2f61 7274 6966 6163 7449  eeper</artifactI\n+000007f0: 643e 0a20 2020 2020 203c 7665 7273 696f  d>.      <versio\n+00000800: 6e3e 247b 7072 6f6a 6563 742e 7061 7265  n>${project.pare\n+00000810: 6e74 2e76 6572 7369 6f6e 7d3c 2f76 6572  nt.version}</ver\n+00000820: 7369 6f6e 3e0a 2020 2020 2020 3c73 636f  sion>.      <sco\n+00000830: 7065 3e74 6573 743c 2f73 636f 7065 3e0a  pe>test</scope>.\n+00000840: 2020 2020 3c2f 6465 7065 6e64 656e 6379      </dependency\n+00000850: 3e0a 2020 2020 3c64 6570 656e 6465 6e63  >.    <dependenc\n+00000860: 793e 0a20 2020 2020 203c 6772 6f75 7049  y>.      <groupI\n+00000870: 643e 6f72 672e 6170 6163 6865 2e64 7562  d>org.apache.dub\n+00000880: 626f 3c2f 6772 6f75 7049 643e 0a20 2020  bo</groupId>.   \n+00000890: 2020 203c 6172 7469 6661 6374 4964 3e64     <artifactId>d\n+000008a0: 7562 626f 2d72 6567 6973 7472 792d 7265  ubbo-registry-re\n+000008b0: 6469 733c 2f61 7274 6966 6163 7449 643e  dis</artifactId>\n+000008c0: 0a20 2020 2020 203c 7665 7273 696f 6e3e  .      <version>\n+000008d0: 247b 7072 6f6a 6563 742e 7061 7265 6e74  ${project.parent\n+000008e0: 2e76 6572 7369 6f6e 7d3c 2f76 6572 7369  .version}</versi\n+000008f0: 6f6e 3e0a 2020 2020 2020 3c73 636f 7065  on>.      <scope\n+00000900: 3e74 6573 743c 2f73 636f 7065 3e0a 2020  >test</scope>.  \n+00000910: 2020 3c2f 6465 7065 6e64 656e 6379 3e0a    </dependency>.\n+00000920: 2020 2020 3c64 6570 656e 6465 6e63 793e      <dependency>\n+00000930: 0a20 2020 2020 203c 6772 6f75 7049 643e  .      <groupId>\n+00000940: 6f72 672e 6170 6163 6865 2e63 7572 6174  org.apache.curat\n+00000950: 6f72 3c2f 6772 6f75 7049 643e 0a20 2020  or</groupId>.   \n+00000960: 2020 203c 6172 7469 6661 6374 4964 3e63     <artifactId>c\n+00000970: 7572 6174 6f72 2d74 6573 743c 2f61 7274  urator-test</art\n+00000980: 6966 6163 7449 643e 0a20 2020 2020 203c  ifactId>.      <\n+00000990: 7363 6f70 653e 7465 7374 3c2f 7363 6f70  scope>test</scop\n+000009a0: 653e 0a20 2020 203c 2f64 6570 656e 6465  e>.    </depende\n+000009b0: 6e63 793e 0a20 2020 203c 6465 7065 6e64  ncy>.    <depend\n+000009c0: 656e 6379 3e0a 2020 2020 2020 3c67 726f  ency>.      <gro\n+000009d0: 7570 4964 3e63 6f6d 2e67 6974 6875 622e  upId>com.github.\n+000009e0: 6b73 7479 7263 3c2f 6772 6f75 7049 643e  kstyrc</groupId>\n+000009f0: 0a20 2020 2020 203c 6172 7469 6661 6374  .      <artifact\n+00000a00: 4964 3e65 6d62 6564 6465 642d 7265 6469  Id>embedded-redi\n+00000a10: 733c 2f61 7274 6966 6163 7449 643e 0a20  s</artifactId>. \n+00000a20: 2020 2020 203c 7363 6f70 653e 7465 7374       <scope>test\n+00000a30: 3c2f 7363 6f70 653e 0a20 2020 203c 2f64  </scope>.    </d\n+00000a40: 6570 656e 6465 6e63 793e 0a20 2020 203c  ependency>.    <\n+00000a50: 6465 7065 6e64 656e 6379 3e0a 2020 2020  dependency>.    \n+00000a60: 2020 3c67 726f 7570 4964 3e6f 7267 2e61    <groupId>org.a\n+00000a70: 7061 6368 652e 636f 6d6d 6f6e 733c 2f67  pache.commons</g\n+00000a80: 726f 7570 4964 3e0a 2020 2020 2020 3c61  roupId>.      <a\n+00000a90: 7274 6966 6163 7449 643e 636f 6d6d 6f6e  rtifactId>common\n+00000aa0: 732d 6c61 6e67 333c 2f61 7274 6966 6163  s-lang3</artifac\n+00000ab0: 7449 643e 0a20 2020 2020 203c 7363 6f70  tId>.      <scop\n+00000ac0: 653e 7465 7374 3c2f 7363 6f70 653e 0a20  e>test</scope>. \n+00000ad0: 2020 203c 2f64 6570 656e 6465 6e63 793e     </dependency>\n+00000ae0: 0a20 203c 2f64 6570 656e 6465 6e63 6965  .  </dependencie\n+00000af0: 733e 0a3c 2f70 726f 6a65 6374 3e0a       s>.</project>.\n"}, {"source1": "org/apache/dubbo/registry/multiple/MultipleRegistry.java", "source2": "org/apache/dubbo/registry/multiple/MultipleRegistry.java", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1,337 +1,337 @@\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.registry.multiple;\n-\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.common.constants.CommonConstants;\n-import org.apache.dubbo.common.extension.ExtensionLoader;\n-import org.apache.dubbo.common.utils.CollectionUtils;\n-import org.apache.dubbo.registry.NotifyListener;\n-import org.apache.dubbo.registry.Registry;\n-import org.apache.dubbo.registry.RegistryFactory;\n-import org.apache.dubbo.registry.support.AbstractRegistry;\n-\n-import java.util.ArrayList;\n-import java.util.HashMap;\n-import java.util.HashSet;\n-import java.util.List;\n-import java.util.Map;\n-import java.util.Set;\n-import java.util.concurrent.ConcurrentHashMap;\n-\n-import static org.apache.dubbo.common.constants.RegistryConstants.EMPTY_PROTOCOL;\n-\n-/**\n- * MultipleRegistry\n- */\n-public class MultipleRegistry extends AbstractRegistry {\n-\n-    public static final String REGISTRY_FOR_SERVICE = \"service-registry\";\n-    public static final String REGISTRY_FOR_REFERENCE = \"reference-registry\";\n-\n-    protected RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();\n-    private final Map<String, Registry> serviceRegistries = new ConcurrentHashMap<>(4);\n-    private final Map<String, Registry> referenceRegistries = new ConcurrentHashMap<String, Registry>(4);\n-    private final Map<NotifyListener, MultipleNotifyListenerWrapper> multipleNotifyListenerMap = new ConcurrentHashMap<NotifyListener, MultipleNotifyListenerWrapper>(32);\n-    protected List<String> origServiceRegistryURLs;\n-    protected List<String> origReferenceRegistryURLs;\n-    protected List<String> effectServiceRegistryURLs;\n-    protected List<String> effectReferenceRegistryURLs;\n-    private URL registryUrl;\n-    private String applicationName;\n-\n-    public MultipleRegistry(URL url) {\n-        this(url, true, true);\n-\n-        boolean defaultRegistry = url.getParameter(CommonConstants.DEFAULT_KEY, true);\n-        if (defaultRegistry && effectServiceRegistryURLs.isEmpty() && effectReferenceRegistryURLs.isEmpty()) {\n-            throw new IllegalArgumentException(\"Illegal registry url. You need to configure parameter \" +\n-                    REGISTRY_FOR_SERVICE + \" or \" + REGISTRY_FOR_REFERENCE);\n-        }\n-    }\n-\n-    public MultipleRegistry(URL url, boolean initServiceRegistry, boolean initReferenceRegistry) {\n-        super(url);\n-        this.registryUrl = url;\n-        this.applicationName = url.getParameter(CommonConstants.APPLICATION_KEY);\n-        init();\n-        checkApplicationName(this.applicationName);\n-        // This urls contain parameter and it do not inherit from the parameter of url in MultipleRegistry\n-\n-        Map<String, Registry> registryMap = new HashMap<>();\n-        if (initServiceRegistry) {\n-            initServiceRegistry(url, registryMap);\n-        }\n-        if (initReferenceRegistry) {\n-            initReferenceRegistry(url, registryMap);\n-        }\n-    }\n-\n-    protected void initServiceRegistry(URL url, Map<String, Registry> registryMap) {\n-        origServiceRegistryURLs = url.getParameter(REGISTRY_FOR_SERVICE, new ArrayList<String>());\n-        effectServiceRegistryURLs = this.filterServiceRegistry(origServiceRegistryURLs);\n-        for (String tmpUrl : effectServiceRegistryURLs) {\n-            if (registryMap.get(tmpUrl) != null) {\n-                serviceRegistries.put(tmpUrl, registryMap.get(tmpUrl));\n-                continue;\n-            }\n-            Registry registry = registryFactory.getRegistry(URL.valueOf(tmpUrl));\n-            registryMap.put(tmpUrl, registry);\n-            serviceRegistries.put(tmpUrl, registry);\n-        }\n-    }\n-\n-    protected void initReferenceRegistry(URL url, Map<String, Registry> registryMap) {\n-        origReferenceRegistryURLs = url.getParameter(REGISTRY_FOR_REFERENCE, new ArrayList<String>());\n-        effectReferenceRegistryURLs = this.filterReferenceRegistry(origReferenceRegistryURLs);\n-        for (String tmpUrl : effectReferenceRegistryURLs) {\n-            if (registryMap.get(tmpUrl) != null) {\n-                referenceRegistries.put(tmpUrl, registryMap.get(tmpUrl));\n-                continue;\n-            }\n-            Registry registry = registryFactory.getRegistry(URL.valueOf(tmpUrl));\n-            registryMap.put(tmpUrl, registry);\n-            referenceRegistries.put(tmpUrl, registry);\n-        }\n-    }\n-\n-\n-    @Override\n-    public URL getUrl() {\n-        return registryUrl;\n-    }\n-\n-    @Override\n-    public boolean isAvailable() {\n-        boolean available = serviceRegistries.isEmpty();\n-        for (Registry serviceRegistry : serviceRegistries.values()) {\n-            if (serviceRegistry.isAvailable()) {\n-                available = true;\n-            }\n-        }\n-        if (!available) {\n-            return false;\n-        }\n-\n-        available = referenceRegistries.isEmpty();\n-        for (Registry referenceRegistry : referenceRegistries.values()) {\n-            if (referenceRegistry.isAvailable()) {\n-                available = true;\n-            }\n-        }\n-        if (!available) {\n-            return false;\n-        }\n-        return true;\n-    }\n-\n-    @Override\n-    public void destroy() {\n-        Set<Registry> registries = new HashSet<Registry>(serviceRegistries.values());\n-        registries.addAll(referenceRegistries.values());\n-        for (Registry registry : registries) {\n-            registry.destroy();\n-        }\n-    }\n-\n-    @Override\n-    public void register(URL url) {\n-        super.register(url);\n-        for (Registry registry : serviceRegistries.values()) {\n-            registry.register(url);\n-        }\n-    }\n-\n-    @Override\n-    public void unregister(URL url) {\n-        super.unregister(url);\n-        for (Registry registry : serviceRegistries.values()) {\n-            registry.unregister(url);\n-        }\n-    }\n-\n-    @Override\n-    public void subscribe(URL url, NotifyListener listener) {\n-        MultipleNotifyListenerWrapper multipleNotifyListenerWrapper = new MultipleNotifyListenerWrapper(listener);\n-        multipleNotifyListenerMap.put(listener, multipleNotifyListenerWrapper);\n-        for (Registry registry : referenceRegistries.values()) {\n-            SingleNotifyListener singleNotifyListener = new SingleNotifyListener(multipleNotifyListenerWrapper, registry);\n-            multipleNotifyListenerWrapper.putRegistryMap(registry.getUrl(), singleNotifyListener);\n-            registry.subscribe(url, singleNotifyListener);\n-        }\n-        super.subscribe(url, multipleNotifyListenerWrapper);\n-    }\n-\n-    @Override\n-    public void unsubscribe(URL url, NotifyListener listener) {\n-        MultipleNotifyListenerWrapper notifyListener = multipleNotifyListenerMap.remove(listener);\n-        for (Registry registry : referenceRegistries.values()) {\n-            SingleNotifyListener singleNotifyListener = notifyListener.registryMap.get(registry.getUrl());\n-            registry.unsubscribe(url, singleNotifyListener);\n-        }\n-\n-        if (notifyListener != null) {\n-            super.unsubscribe(url, notifyListener);\n-            notifyListener.destroy();\n-        }\n-    }\n-\n-    @Override\n-    public List<URL> lookup(URL url) {\n-        List<URL> urls = new ArrayList<URL>();\n-        for (Registry registry : referenceRegistries.values()) {\n-            List<URL> tmpUrls = registry.lookup(url);\n-            if (!CollectionUtils.isEmpty(tmpUrls)) {\n-                urls.addAll(tmpUrls);\n-            }\n-        }\n-        return urls;\n-    }\n-\n-    protected void init() {\n-    }\n-\n-    protected List<String> filterServiceRegistry(List<String> serviceRegistryURLs) {\n-        return serviceRegistryURLs;\n-    }\n-\n-    protected List<String> filterReferenceRegistry(List<String> referenceRegistryURLs) {\n-        return referenceRegistryURLs;\n-    }\n-\n-\n-    protected void checkApplicationName(String applicationName) {\n-    }\n-\n-    protected String getApplicationName() {\n-        return applicationName;\n-    }\n-\n-    public Map<String, Registry> getServiceRegistries() {\n-        return serviceRegistries;\n-    }\n-\n-    public Map<String, Registry> getReferenceRegistries() {\n-        return referenceRegistries;\n-    }\n-\n-    public List<String> getOrigServiceRegistryURLs() {\n-        return origServiceRegistryURLs;\n-    }\n-\n-    public List<String> getOrigReferenceRegistryURLs() {\n-        return origReferenceRegistryURLs;\n-    }\n-\n-    public List<String> getEffectServiceRegistryURLs() {\n-        return effectServiceRegistryURLs;\n-    }\n-\n-    public List<String> getEffectReferenceRegistryURLs() {\n-        return effectReferenceRegistryURLs;\n-    }\n-\n-    static protected class MultipleNotifyListenerWrapper implements NotifyListener {\n-\n-        Map<URL, SingleNotifyListener> registryMap = new ConcurrentHashMap<URL, SingleNotifyListener>(4);\n-        NotifyListener sourceNotifyListener;\n-\n-        public MultipleNotifyListenerWrapper(NotifyListener sourceNotifyListener) {\n-            this.sourceNotifyListener = sourceNotifyListener;\n-        }\n-\n-        public void putRegistryMap(URL registryURL, SingleNotifyListener singleNotifyListener) {\n-            this.registryMap.put(registryURL, singleNotifyListener);\n-        }\n-\n-        public void destroy() {\n-            for (SingleNotifyListener singleNotifyListener : registryMap.values()) {\n-                if (singleNotifyListener != null) {\n-                    singleNotifyListener.destroy();\n-                }\n-            }\n-            registryMap.clear();\n-            sourceNotifyListener = null;\n-        }\n-\n-        public synchronized void notifySourceListener() {\n-            List<URL> notifyURLs = new ArrayList<URL>();\n-            URL emptyURL = null;\n-            for (SingleNotifyListener singleNotifyListener : registryMap.values()) {\n-                List<URL> tmpUrls = singleNotifyListener.getUrlList();\n-                if (CollectionUtils.isEmpty(tmpUrls)) {\n-                    continue;\n-                }\n-                // empty protocol\n-                if (tmpUrls.size() == 1\n-                        && tmpUrls.get(0) != null\n-                        && EMPTY_PROTOCOL.equals(tmpUrls.get(0).getProtocol())) {\n-                    // if only one empty\n-                    if (emptyURL == null) {\n-                        emptyURL = tmpUrls.get(0);\n-                    }\n-                    continue;\n-                }\n-                notifyURLs.addAll(tmpUrls);\n-            }\n-            // if no notify URL, add empty protocol URL\n-            if (emptyURL != null && notifyURLs.isEmpty()) {\n-                notifyURLs.add(emptyURL);\n-            }\n-            this.notify(notifyURLs);\n-        }\n-\n-        @Override\n-        public void notify(List<URL> urls) {\n-            sourceNotifyListener.notify(urls);\n-        }\n-\n-        public Map<URL, SingleNotifyListener> getRegistryMap() {\n-            return registryMap;\n-        }\n-    }\n-\n-    static protected class SingleNotifyListener implements NotifyListener {\n-\n-        MultipleNotifyListenerWrapper multipleNotifyListenerWrapper;\n-        Registry registry;\n-        volatile List<URL> urlList;\n-\n-        public SingleNotifyListener(MultipleNotifyListenerWrapper multipleNotifyListenerWrapper, Registry registry) {\n-            this.registry = registry;\n-            this.multipleNotifyListenerWrapper = multipleNotifyListenerWrapper;\n-        }\n-\n-        @Override\n-        public synchronized void notify(List<URL> urls) {\n-            this.urlList = urls;\n-            if (multipleNotifyListenerWrapper != null) {\n-                this.multipleNotifyListenerWrapper.notifySourceListener();\n-            }\n-        }\n-\n-        public void destroy() {\n-            this.multipleNotifyListenerWrapper = null;\n-            this.registry = null;\n-        }\n-\n-        public List<URL> getUrlList() {\n-            return urlList;\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.registry.multiple;\r\n+\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.common.constants.CommonConstants;\r\n+import org.apache.dubbo.common.extension.ExtensionLoader;\r\n+import org.apache.dubbo.common.utils.CollectionUtils;\r\n+import org.apache.dubbo.registry.NotifyListener;\r\n+import org.apache.dubbo.registry.Registry;\r\n+import org.apache.dubbo.registry.RegistryFactory;\r\n+import org.apache.dubbo.registry.support.AbstractRegistry;\r\n+\r\n+import java.util.ArrayList;\r\n+import java.util.HashMap;\r\n+import java.util.HashSet;\r\n+import java.util.List;\r\n+import java.util.Map;\r\n+import java.util.Set;\r\n+import java.util.concurrent.ConcurrentHashMap;\r\n+\r\n+import static org.apache.dubbo.common.constants.RegistryConstants.EMPTY_PROTOCOL;\r\n+\r\n+/**\r\n+ * MultipleRegistry\r\n+ */\r\n+public class MultipleRegistry extends AbstractRegistry {\r\n+\r\n+    public static final String REGISTRY_FOR_SERVICE = \"service-registry\";\r\n+    public static final String REGISTRY_FOR_REFERENCE = \"reference-registry\";\r\n+\r\n+    protected RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();\r\n+    private final Map<String, Registry> serviceRegistries = new ConcurrentHashMap<>(4);\r\n+    private final Map<String, Registry> referenceRegistries = new ConcurrentHashMap<String, Registry>(4);\r\n+    private final Map<NotifyListener, MultipleNotifyListenerWrapper> multipleNotifyListenerMap = new ConcurrentHashMap<NotifyListener, MultipleNotifyListenerWrapper>(32);\r\n+    protected List<String> origServiceRegistryURLs;\r\n+    protected List<String> origReferenceRegistryURLs;\r\n+    protected List<String> effectServiceRegistryURLs;\r\n+    protected List<String> effectReferenceRegistryURLs;\r\n+    private URL registryUrl;\r\n+    private String applicationName;\r\n+\r\n+    public MultipleRegistry(URL url) {\r\n+        this(url, true, true);\r\n+\r\n+        boolean defaultRegistry = url.getParameter(CommonConstants.DEFAULT_KEY, true);\r\n+        if (defaultRegistry && effectServiceRegistryURLs.isEmpty() && effectReferenceRegistryURLs.isEmpty()) {\r\n+            throw new IllegalArgumentException(\"Illegal registry url. You need to configure parameter \" +\r\n+                    REGISTRY_FOR_SERVICE + \" or \" + REGISTRY_FOR_REFERENCE);\r\n+        }\r\n+    }\r\n+\r\n+    public MultipleRegistry(URL url, boolean initServiceRegistry, boolean initReferenceRegistry) {\r\n+        super(url);\r\n+        this.registryUrl = url;\r\n+        this.applicationName = url.getParameter(CommonConstants.APPLICATION_KEY);\r\n+        init();\r\n+        checkApplicationName(this.applicationName);\r\n+        // This urls contain parameter and it do not inherit from the parameter of url in MultipleRegistry\r\n+\r\n+        Map<String, Registry> registryMap = new HashMap<>();\r\n+        if (initServiceRegistry) {\r\n+            initServiceRegistry(url, registryMap);\r\n+        }\r\n+        if (initReferenceRegistry) {\r\n+            initReferenceRegistry(url, registryMap);\r\n+        }\r\n+    }\r\n+\r\n+    protected void initServiceRegistry(URL url, Map<String, Registry> registryMap) {\r\n+        origServiceRegistryURLs = url.getParameter(REGISTRY_FOR_SERVICE, new ArrayList<String>());\r\n+        effectServiceRegistryURLs = this.filterServiceRegistry(origServiceRegistryURLs);\r\n+        for (String tmpUrl : effectServiceRegistryURLs) {\r\n+            if (registryMap.get(tmpUrl) != null) {\r\n+                serviceRegistries.put(tmpUrl, registryMap.get(tmpUrl));\r\n+                continue;\r\n+            }\r\n+            Registry registry = registryFactory.getRegistry(URL.valueOf(tmpUrl));\r\n+            registryMap.put(tmpUrl, registry);\r\n+            serviceRegistries.put(tmpUrl, registry);\r\n+        }\r\n+    }\r\n+\r\n+    protected void initReferenceRegistry(URL url, Map<String, Registry> registryMap) {\r\n+        origReferenceRegistryURLs = url.getParameter(REGISTRY_FOR_REFERENCE, new ArrayList<String>());\r\n+        effectReferenceRegistryURLs = this.filterReferenceRegistry(origReferenceRegistryURLs);\r\n+        for (String tmpUrl : effectReferenceRegistryURLs) {\r\n+            if (registryMap.get(tmpUrl) != null) {\r\n+                referenceRegistries.put(tmpUrl, registryMap.get(tmpUrl));\r\n+                continue;\r\n+            }\r\n+            Registry registry = registryFactory.getRegistry(URL.valueOf(tmpUrl));\r\n+            registryMap.put(tmpUrl, registry);\r\n+            referenceRegistries.put(tmpUrl, registry);\r\n+        }\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public URL getUrl() {\r\n+        return registryUrl;\r\n+    }\r\n+\r\n+    @Override\r\n+    public boolean isAvailable() {\r\n+        boolean available = serviceRegistries.isEmpty();\r\n+        for (Registry serviceRegistry : serviceRegistries.values()) {\r\n+            if (serviceRegistry.isAvailable()) {\r\n+                available = true;\r\n+            }\r\n+        }\r\n+        if (!available) {\r\n+            return false;\r\n+        }\r\n+\r\n+        available = referenceRegistries.isEmpty();\r\n+        for (Registry referenceRegistry : referenceRegistries.values()) {\r\n+            if (referenceRegistry.isAvailable()) {\r\n+                available = true;\r\n+            }\r\n+        }\r\n+        if (!available) {\r\n+            return false;\r\n+        }\r\n+        return true;\r\n+    }\r\n+\r\n+    @Override\r\n+    public void destroy() {\r\n+        Set<Registry> registries = new HashSet<Registry>(serviceRegistries.values());\r\n+        registries.addAll(referenceRegistries.values());\r\n+        for (Registry registry : registries) {\r\n+            registry.destroy();\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void register(URL url) {\r\n+        super.register(url);\r\n+        for (Registry registry : serviceRegistries.values()) {\r\n+            registry.register(url);\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void unregister(URL url) {\r\n+        super.unregister(url);\r\n+        for (Registry registry : serviceRegistries.values()) {\r\n+            registry.unregister(url);\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void subscribe(URL url, NotifyListener listener) {\r\n+        MultipleNotifyListenerWrapper multipleNotifyListenerWrapper = new MultipleNotifyListenerWrapper(listener);\r\n+        multipleNotifyListenerMap.put(listener, multipleNotifyListenerWrapper);\r\n+        for (Registry registry : referenceRegistries.values()) {\r\n+            SingleNotifyListener singleNotifyListener = new SingleNotifyListener(multipleNotifyListenerWrapper, registry);\r\n+            multipleNotifyListenerWrapper.putRegistryMap(registry.getUrl(), singleNotifyListener);\r\n+            registry.subscribe(url, singleNotifyListener);\r\n+        }\r\n+        super.subscribe(url, multipleNotifyListenerWrapper);\r\n+    }\r\n+\r\n+    @Override\r\n+    public void unsubscribe(URL url, NotifyListener listener) {\r\n+        MultipleNotifyListenerWrapper notifyListener = multipleNotifyListenerMap.remove(listener);\r\n+        for (Registry registry : referenceRegistries.values()) {\r\n+            SingleNotifyListener singleNotifyListener = notifyListener.registryMap.get(registry.getUrl());\r\n+            registry.unsubscribe(url, singleNotifyListener);\r\n+        }\r\n+\r\n+        if (notifyListener != null) {\r\n+            super.unsubscribe(url, notifyListener);\r\n+            notifyListener.destroy();\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public List<URL> lookup(URL url) {\r\n+        List<URL> urls = new ArrayList<URL>();\r\n+        for (Registry registry : referenceRegistries.values()) {\r\n+            List<URL> tmpUrls = registry.lookup(url);\r\n+            if (!CollectionUtils.isEmpty(tmpUrls)) {\r\n+                urls.addAll(tmpUrls);\r\n+            }\r\n+        }\r\n+        return urls;\r\n+    }\r\n+\r\n+    protected void init() {\r\n+    }\r\n+\r\n+    protected List<String> filterServiceRegistry(List<String> serviceRegistryURLs) {\r\n+        return serviceRegistryURLs;\r\n+    }\r\n+\r\n+    protected List<String> filterReferenceRegistry(List<String> referenceRegistryURLs) {\r\n+        return referenceRegistryURLs;\r\n+    }\r\n+\r\n+\r\n+    protected void checkApplicationName(String applicationName) {\r\n+    }\r\n+\r\n+    protected String getApplicationName() {\r\n+        return applicationName;\r\n+    }\r\n+\r\n+    public Map<String, Registry> getServiceRegistries() {\r\n+        return serviceRegistries;\r\n+    }\r\n+\r\n+    public Map<String, Registry> getReferenceRegistries() {\r\n+        return referenceRegistries;\r\n+    }\r\n+\r\n+    public List<String> getOrigServiceRegistryURLs() {\r\n+        return origServiceRegistryURLs;\r\n+    }\r\n+\r\n+    public List<String> getOrigReferenceRegistryURLs() {\r\n+        return origReferenceRegistryURLs;\r\n+    }\r\n+\r\n+    public List<String> getEffectServiceRegistryURLs() {\r\n+        return effectServiceRegistryURLs;\r\n+    }\r\n+\r\n+    public List<String> getEffectReferenceRegistryURLs() {\r\n+        return effectReferenceRegistryURLs;\r\n+    }\r\n+\r\n+    static protected class MultipleNotifyListenerWrapper implements NotifyListener {\r\n+\r\n+        Map<URL, SingleNotifyListener> registryMap = new ConcurrentHashMap<URL, SingleNotifyListener>(4);\r\n+        NotifyListener sourceNotifyListener;\r\n+\r\n+        public MultipleNotifyListenerWrapper(NotifyListener sourceNotifyListener) {\r\n+            this.sourceNotifyListener = sourceNotifyListener;\r\n+        }\r\n+\r\n+        public void putRegistryMap(URL registryURL, SingleNotifyListener singleNotifyListener) {\r\n+            this.registryMap.put(registryURL, singleNotifyListener);\r\n+        }\r\n+\r\n+        public void destroy() {\r\n+            for (SingleNotifyListener singleNotifyListener : registryMap.values()) {\r\n+                if (singleNotifyListener != null) {\r\n+                    singleNotifyListener.destroy();\r\n+                }\r\n+            }\r\n+            registryMap.clear();\r\n+            sourceNotifyListener = null;\r\n+        }\r\n+\r\n+        public synchronized void notifySourceListener() {\r\n+            List<URL> notifyURLs = new ArrayList<URL>();\r\n+            URL emptyURL = null;\r\n+            for (SingleNotifyListener singleNotifyListener : registryMap.values()) {\r\n+                List<URL> tmpUrls = singleNotifyListener.getUrlList();\r\n+                if (CollectionUtils.isEmpty(tmpUrls)) {\r\n+                    continue;\r\n+                }\r\n+                // empty protocol\r\n+                if (tmpUrls.size() == 1\r\n+                        && tmpUrls.get(0) != null\r\n+                        && EMPTY_PROTOCOL.equals(tmpUrls.get(0).getProtocol())) {\r\n+                    // if only one empty\r\n+                    if (emptyURL == null) {\r\n+                        emptyURL = tmpUrls.get(0);\r\n+                    }\r\n+                    continue;\r\n+                }\r\n+                notifyURLs.addAll(tmpUrls);\r\n+            }\r\n+            // if no notify URL, add empty protocol URL\r\n+            if (emptyURL != null && notifyURLs.isEmpty()) {\r\n+                notifyURLs.add(emptyURL);\r\n+            }\r\n+            this.notify(notifyURLs);\r\n+        }\r\n+\r\n+        @Override\r\n+        public void notify(List<URL> urls) {\r\n+            sourceNotifyListener.notify(urls);\r\n+        }\r\n+\r\n+        public Map<URL, SingleNotifyListener> getRegistryMap() {\r\n+            return registryMap;\r\n+        }\r\n+    }\r\n+\r\n+    static protected class SingleNotifyListener implements NotifyListener {\r\n+\r\n+        MultipleNotifyListenerWrapper multipleNotifyListenerWrapper;\r\n+        Registry registry;\r\n+        volatile List<URL> urlList;\r\n+\r\n+        public SingleNotifyListener(MultipleNotifyListenerWrapper multipleNotifyListenerWrapper, Registry registry) {\r\n+            this.registry = registry;\r\n+            this.multipleNotifyListenerWrapper = multipleNotifyListenerWrapper;\r\n+        }\r\n+\r\n+        @Override\r\n+        public synchronized void notify(List<URL> urls) {\r\n+            this.urlList = urls;\r\n+            if (multipleNotifyListenerWrapper != null) {\r\n+                this.multipleNotifyListenerWrapper.notifySourceListener();\r\n+            }\r\n+        }\r\n+\r\n+        public void destroy() {\r\n+            this.multipleNotifyListenerWrapper = null;\r\n+            this.registry = null;\r\n+        }\r\n+\r\n+        public List<URL> getUrlList() {\r\n+            return urlList;\r\n+        }\r\n+    }\r\n+}\r\n"}, {"source1": "org/apache/dubbo/registry/multiple/MultipleRegistryFactory.java", "source2": "org/apache/dubbo/registry/multiple/MultipleRegistryFactory.java", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1,33 +1,33 @@\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.registry.multiple;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.registry.Registry;\n-import org.apache.dubbo.registry.support.AbstractRegistryFactory;\n-\n-/**\n- * MultipleRegistryFactory\n- */\n-public class MultipleRegistryFactory extends AbstractRegistryFactory {\n-\n-    @Override\n-    protected Registry createRegistry(URL url) {\n-        return new MultipleRegistry(url);\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.registry.multiple;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.registry.Registry;\r\n+import org.apache.dubbo.registry.support.AbstractRegistryFactory;\r\n+\r\n+/**\r\n+ * MultipleRegistryFactory\r\n+ */\r\n+public class MultipleRegistryFactory extends AbstractRegistryFactory {\r\n+\r\n+    @Override\r\n+    protected Registry createRegistry(URL url) {\r\n+        return new MultipleRegistry(url);\r\n+    }\r\n+\r\n+}\r\n"}, {"source1": "org/apache/dubbo/registry/multiple/MultipleRegistryServiceDiscovery.java", "source2": "org/apache/dubbo/registry/multiple/MultipleRegistryServiceDiscovery.java", "comments": ["Line-ending 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.registry.multiple;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.common.constants.CommonConstants;\n-import org.apache.dubbo.common.utils.DefaultPage;\n-import org.apache.dubbo.common.utils.Page;\n-import org.apache.dubbo.event.ConditionalEventListener;\n-import org.apache.dubbo.registry.client.AbstractServiceDiscovery;\n-import org.apache.dubbo.registry.client.ServiceDiscovery;\n-import org.apache.dubbo.registry.client.ServiceDiscoveryFactory;\n-import org.apache.dubbo.registry.client.ServiceInstance;\n-import org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent;\n-import org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener;\n-\n-import java.util.ArrayList;\n-import java.util.HashSet;\n-import java.util.List;\n-import java.util.Map;\n-import java.util.Set;\n-import java.util.concurrent.ConcurrentHashMap;\n-\n-public class MultipleRegistryServiceDiscovery extends AbstractServiceDiscovery {\n-    public static final String REGISTRY_PREFIX_KEY = \"child.\";\n-    private final Map<String, ServiceDiscovery> serviceDiscoveries = new ConcurrentHashMap<>();\n-    private URL registryURL;\n-    private String applicationName;\n-\n-    @Override\n-    public void initialize(URL registryURL) throws Exception {\n-        this.registryURL = registryURL;\n-        this.applicationName = registryURL.getParameter(CommonConstants.APPLICATION_KEY);\n-\n-        Map<String, String> parameters = registryURL.getParameters();\n-        for (String key : parameters.keySet()) {\n-            if (key.startsWith(REGISTRY_PREFIX_KEY)) {\n-                URL url = URL.valueOf(registryURL.getParameter(key)).addParameter(CommonConstants.APPLICATION_KEY, applicationName)\n-                        .addParameter(\"registry-type\", \"service\");\n-                ServiceDiscovery serviceDiscovery = ServiceDiscoveryFactory.getExtension(url).getServiceDiscovery(url);\n-                serviceDiscovery.initialize(url);\n-                serviceDiscoveries.put(key, serviceDiscovery);\n-            }\n-        }\n-    }\n-\n-    @Override\n-    public URL getUrl() {\n-        return registryURL;\n-    }\n-\n-    @Override\n-    public void destroy() throws Exception {\n-        for (ServiceDiscovery serviceDiscovery : serviceDiscoveries.values()) {\n-            serviceDiscovery.destroy();\n-        }\n-    }\n-\n-    @Override\n-    public void doRegister(ServiceInstance serviceInstance) {\n-        serviceDiscoveries.values().forEach(serviceDiscovery -> serviceDiscovery.register(serviceInstance));\n-    }\n-\n-    @Override\n-    public void doUpdate(ServiceInstance serviceInstance) {\n-        serviceDiscoveries.values().forEach(serviceDiscovery -> serviceDiscovery.update(serviceInstance));\n-    }\n-\n-    @Override\n-    public void unregister(ServiceInstance serviceInstance) throws RuntimeException {\n-        serviceDiscoveries.values().forEach(serviceDiscovery -> serviceDiscovery.unregister(serviceInstance));\n-    }\n-\n-    @Override\n-    public void addServiceInstancesChangedListener(ServiceInstancesChangedListener listener) throws NullPointerException, IllegalArgumentException {\n-        MultiServiceInstancesChangedListener multiListener = new MultiServiceInstancesChangedListener(listener);\n-\n-        for (String registryKey : serviceDiscoveries.keySet()) {\n-            SingleServiceInstancesChangedListener singleListener = new SingleServiceInstancesChangedListener(listener.getServiceNames(), serviceDiscoveries.get(registryKey), multiListener);\n-            multiListener.putSingleListener(registryKey, singleListener);\n-            serviceDiscoveries.get(registryKey).addServiceInstancesChangedListener(singleListener);\n-        }\n-    }\n-\n-    @Override\n-    public Page<ServiceInstance> getInstances(String serviceName, int offset, int pageSize, boolean healthyOnly) throws NullPointerException, IllegalArgumentException, UnsupportedOperationException {\n-\n-        List<ServiceInstance> serviceInstanceList = new ArrayList<>();\n-        for (ServiceDiscovery serviceDiscovery : serviceDiscoveries.values()) {\n-            Page<ServiceInstance> serviceInstancePage = serviceDiscovery.getInstances(serviceName, offset, pageSize, healthyOnly);\n-            serviceInstanceList.addAll(serviceInstancePage.getData());\n-        }\n-\n-        return new DefaultPage<>(offset, pageSize, serviceInstanceList, serviceInstanceList.size());\n-    }\n-\n-    @Override\n-    public Set<String> getServices() {\n-        Set<String> services = new HashSet<>();\n-        for (ServiceDiscovery serviceDiscovery : serviceDiscoveries.values()) {\n-            services.addAll(serviceDiscovery.getServices());\n-        }\n-        return services;\n-    }\n-\n-    protected static class MultiServiceInstancesChangedListener implements ConditionalEventListener<ServiceInstancesChangedEvent> {\n-        private final ServiceInstancesChangedListener sourceListener;\n-        private final Map<String, SingleServiceInstancesChangedListener> singleListenerMap = new ConcurrentHashMap<>();\n-\n-        public MultiServiceInstancesChangedListener(ServiceInstancesChangedListener sourceListener) {\n-            this.sourceListener = sourceListener;\n-        }\n-\n-        @Override\n-        public boolean accept(ServiceInstancesChangedEvent event) {\n-            return sourceListener.getServiceNames().contains(event.getServiceName());\n-        }\n-\n-        @Override\n-        public void onEvent(ServiceInstancesChangedEvent event) {\n-            List<ServiceInstance> serviceInstances = new ArrayList<>();\n-            for (SingleServiceInstancesChangedListener singleListener : singleListenerMap.values()) {\n-                if (null != singleListener.event && null != singleListener.event.getServiceInstances()) {\n-                    for (ServiceInstance serviceInstance : singleListener.event.getServiceInstances()) {\n-                        if (!serviceInstances.contains(serviceInstance)) {\n-                            serviceInstances.add(serviceInstance);\n-                        }\n-                    }\n-                }\n-            }\n-\n-            sourceListener.onEvent(new ServiceInstancesChangedEvent(event.getServiceName(), serviceInstances));\n-        }\n-\n-        public void putSingleListener(String registryKey, SingleServiceInstancesChangedListener singleListener) {\n-            singleListenerMap.put(registryKey, singleListener);\n-        }\n-    }\n-\n-    protected static class SingleServiceInstancesChangedListener extends ServiceInstancesChangedListener {\n-        private final MultiServiceInstancesChangedListener multiListener;\n-        volatile ServiceInstancesChangedEvent event;\n-\n-        public SingleServiceInstancesChangedListener(Set<String> serviceNames, ServiceDiscovery serviceDiscovery, MultiServiceInstancesChangedListener multiListener) {\n-            super(serviceNames, serviceDiscovery);\n-            this.multiListener = multiListener;\n-        }\n-\n-        @Override\n-        public void onEvent(ServiceInstancesChangedEvent event) {\n-            this.event = event;\n-            if (multiListener != null) {\n-                multiListener.onEvent(event);\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.registry.multiple;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.common.constants.CommonConstants;\r\n+import org.apache.dubbo.common.utils.DefaultPage;\r\n+import org.apache.dubbo.common.utils.Page;\r\n+import org.apache.dubbo.event.ConditionalEventListener;\r\n+import org.apache.dubbo.registry.client.AbstractServiceDiscovery;\r\n+import org.apache.dubbo.registry.client.ServiceDiscovery;\r\n+import org.apache.dubbo.registry.client.ServiceDiscoveryFactory;\r\n+import org.apache.dubbo.registry.client.ServiceInstance;\r\n+import org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent;\r\n+import org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener;\r\n+\r\n+import java.util.ArrayList;\r\n+import java.util.HashSet;\r\n+import java.util.List;\r\n+import java.util.Map;\r\n+import java.util.Set;\r\n+import java.util.concurrent.ConcurrentHashMap;\r\n+\r\n+public class MultipleRegistryServiceDiscovery extends AbstractServiceDiscovery {\r\n+    public static final String REGISTRY_PREFIX_KEY = \"child.\";\r\n+    private final Map<String, ServiceDiscovery> serviceDiscoveries = new ConcurrentHashMap<>();\r\n+    private URL registryURL;\r\n+    private String applicationName;\r\n+\r\n+    @Override\r\n+    public void initialize(URL registryURL) throws Exception {\r\n+        this.registryURL = registryURL;\r\n+        this.applicationName = registryURL.getParameter(CommonConstants.APPLICATION_KEY);\r\n+\r\n+        Map<String, String> parameters = registryURL.getParameters();\r\n+        for (String key : parameters.keySet()) {\r\n+            if (key.startsWith(REGISTRY_PREFIX_KEY)) {\r\n+                URL url = URL.valueOf(registryURL.getParameter(key)).addParameter(CommonConstants.APPLICATION_KEY, applicationName)\r\n+                        .addParameter(\"registry-type\", \"service\");\r\n+                ServiceDiscovery serviceDiscovery = ServiceDiscoveryFactory.getExtension(url).getServiceDiscovery(url);\r\n+                serviceDiscovery.initialize(url);\r\n+                serviceDiscoveries.put(key, serviceDiscovery);\r\n+            }\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public URL getUrl() {\r\n+        return registryURL;\r\n+    }\r\n+\r\n+    @Override\r\n+    public void destroy() throws Exception {\r\n+        for (ServiceDiscovery serviceDiscovery : serviceDiscoveries.values()) {\r\n+            serviceDiscovery.destroy();\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public void doRegister(ServiceInstance serviceInstance) {\r\n+        serviceDiscoveries.values().forEach(serviceDiscovery -> serviceDiscovery.register(serviceInstance));\r\n+    }\r\n+\r\n+    @Override\r\n+    public void doUpdate(ServiceInstance serviceInstance) {\r\n+        serviceDiscoveries.values().forEach(serviceDiscovery -> serviceDiscovery.update(serviceInstance));\r\n+    }\r\n+\r\n+    @Override\r\n+    public void unregister(ServiceInstance serviceInstance) throws RuntimeException {\r\n+        serviceDiscoveries.values().forEach(serviceDiscovery -> serviceDiscovery.unregister(serviceInstance));\r\n+    }\r\n+\r\n+    @Override\r\n+    public void addServiceInstancesChangedListener(ServiceInstancesChangedListener listener) throws NullPointerException, IllegalArgumentException {\r\n+        MultiServiceInstancesChangedListener multiListener = new MultiServiceInstancesChangedListener(listener);\r\n+\r\n+        for (String registryKey : serviceDiscoveries.keySet()) {\r\n+            SingleServiceInstancesChangedListener singleListener = new SingleServiceInstancesChangedListener(listener.getServiceNames(), serviceDiscoveries.get(registryKey), multiListener);\r\n+            multiListener.putSingleListener(registryKey, singleListener);\r\n+            serviceDiscoveries.get(registryKey).addServiceInstancesChangedListener(singleListener);\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public Page<ServiceInstance> getInstances(String serviceName, int offset, int pageSize, boolean healthyOnly) throws NullPointerException, IllegalArgumentException, UnsupportedOperationException {\r\n+\r\n+        List<ServiceInstance> serviceInstanceList = new ArrayList<>();\r\n+        for (ServiceDiscovery serviceDiscovery : serviceDiscoveries.values()) {\r\n+            Page<ServiceInstance> serviceInstancePage = serviceDiscovery.getInstances(serviceName, offset, pageSize, healthyOnly);\r\n+            serviceInstanceList.addAll(serviceInstancePage.getData());\r\n+        }\r\n+\r\n+        return new DefaultPage<>(offset, pageSize, serviceInstanceList, serviceInstanceList.size());\r\n+    }\r\n+\r\n+    @Override\r\n+    public Set<String> getServices() {\r\n+        Set<String> services = new HashSet<>();\r\n+        for (ServiceDiscovery serviceDiscovery : serviceDiscoveries.values()) {\r\n+            services.addAll(serviceDiscovery.getServices());\r\n+        }\r\n+        return services;\r\n+    }\r\n+\r\n+    protected static class MultiServiceInstancesChangedListener implements ConditionalEventListener<ServiceInstancesChangedEvent> {\r\n+        private final ServiceInstancesChangedListener sourceListener;\r\n+        private final Map<String, SingleServiceInstancesChangedListener> singleListenerMap = new ConcurrentHashMap<>();\r\n+\r\n+        public MultiServiceInstancesChangedListener(ServiceInstancesChangedListener sourceListener) {\r\n+            this.sourceListener = sourceListener;\r\n+        }\r\n+\r\n+        @Override\r\n+        public boolean accept(ServiceInstancesChangedEvent event) {\r\n+            return sourceListener.getServiceNames().contains(event.getServiceName());\r\n+        }\r\n+\r\n+        @Override\r\n+        public void onEvent(ServiceInstancesChangedEvent event) {\r\n+            List<ServiceInstance> serviceInstances = new ArrayList<>();\r\n+            for (SingleServiceInstancesChangedListener singleListener : singleListenerMap.values()) {\r\n+                if (null != singleListener.event && null != singleListener.event.getServiceInstances()) {\r\n+                    for (ServiceInstance serviceInstance : singleListener.event.getServiceInstances()) {\r\n+                        if (!serviceInstances.contains(serviceInstance)) {\r\n+                            serviceInstances.add(serviceInstance);\r\n+                        }\r\n+                    }\r\n+                }\r\n+            }\r\n+\r\n+            sourceListener.onEvent(new ServiceInstancesChangedEvent(event.getServiceName(), serviceInstances));\r\n+        }\r\n+\r\n+        public void putSingleListener(String registryKey, SingleServiceInstancesChangedListener singleListener) {\r\n+            singleListenerMap.put(registryKey, singleListener);\r\n+        }\r\n+    }\r\n+\r\n+    protected static class SingleServiceInstancesChangedListener extends ServiceInstancesChangedListener {\r\n+        private final MultiServiceInstancesChangedListener multiListener;\r\n+        volatile ServiceInstancesChangedEvent event;\r\n+\r\n+        public SingleServiceInstancesChangedListener(Set<String> serviceNames, ServiceDiscovery serviceDiscovery, MultiServiceInstancesChangedListener multiListener) {\r\n+            super(serviceNames, serviceDiscovery);\r\n+            this.multiListener = multiListener;\r\n+        }\r\n+\r\n+        @Override\r\n+        public void onEvent(ServiceInstancesChangedEvent event) {\r\n+            this.event = event;\r\n+            if (multiListener != null) {\r\n+                multiListener.onEvent(event);\r\n+            }\r\n+        }\r\n+    }\r\n+}\r\n"}, {"source1": "org/apache/dubbo/registry/multiple/MultipleRegistryServiceDiscoveryFactory.java", "source2": "org/apache/dubbo/registry/multiple/MultipleRegistryServiceDiscoveryFactory.java", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1,28 +1,28 @@\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.registry.multiple;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.registry.client.AbstractServiceDiscoveryFactory;\n-import org.apache.dubbo.registry.client.ServiceDiscovery;\n-\n-public class MultipleRegistryServiceDiscoveryFactory extends AbstractServiceDiscoveryFactory  {\n-    @Override\n-    protected ServiceDiscovery createDiscovery(URL registryURL) {\n-        return new MultipleRegistryServiceDiscovery();\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.registry.multiple;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.registry.client.AbstractServiceDiscoveryFactory;\r\n+import org.apache.dubbo.registry.client.ServiceDiscovery;\r\n+\r\n+public class MultipleRegistryServiceDiscoveryFactory extends AbstractServiceDiscoveryFactory  {\r\n+    @Override\r\n+    protected ServiceDiscovery createDiscovery(URL registryURL) {\r\n+        return new MultipleRegistryServiceDiscovery();\r\n+    }\r\n+}\r\n"}]}
